don't convert NULL structures to strings
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * tools/gst-launch.c: (event_loop):
4           don't convert NULL structures to strings
5
6 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7
8         * docs/gst/gstreamer-sections.txt:
9           made some defines private
10         * docs/gst/tmpl/gstconfig.sgml:
11         * docs/gst/tmpl/gstqueue.sgml:
12         * docs/gst/tmpl/gsttaglist.sgml:
13         * docs/gst/tmpl/gsttypes.sgml:
14         * docs/gst/tmpl/gstutils.sgml:
15         * docs/pwg/appendix-porting.xml:
16         * gst/base/gstbasesink.h:
17         * gst/base/gstbasesrc.c:
18         * gst/base/gstbasesrc.h:
19         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
20         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
21         * gst/gstelement.c: (gst_element_class_init):
22         * gst/gstpad.c: (gst_pad_class_init):
23         * gst/gstqueue.c: (gst_queue_class_init):
24         * gst/gstxml.c: (gst_xml_class_init):
25           documented all undocumented signal inline
26         * libs/gst/controller/gst-controller.h:
27           added padding
28
29 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30
31         * docs/pwg/appendix-porting.xml:
32           Document _set_link_function -> _set_setcaps_function.
33
34 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
35
36         * check/Makefile.am:
37           add a .check target for running the check
38         * check/gst-libs/controller.c: (GST_START_TEST):
39           cosmetic fixups
40         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
41           complete checks for gstbuffer; would be nice if I could get the
42           gcov stuff to work so I can see if I actually completed gstbuffer.c
43         * check/gstcheck.h:
44           add ASSERT_BUFFER_REFCOUNT
45
46 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
47
48         * docs/gst/gstreamer-sections.txt:
49         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
50         * gst/gsttag.h:
51           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
52           spew out a warning if a tag that is already registered
53           is re-registered, unless it is re-registered with a 
54           different type (#308438).
55
56 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
57
58         * docs/pwg/appendix-porting.xml:
59         * docs/pwg/building-state.xml:
60           Add some paragraphs about state changes in 0.9 to the PWG
61           and the porting guide, in particular about the new meaning
62           of GST_STATE_PAUSED and how to write state change functions
63           with concurrent access by multiple threads in mind.
64
65 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
66
67         * docs/gst/gstreamer-docs.sgml:
68         * docs/libs/gstreamer-libs-docs.sgml:
69           added deprecation and since indexes
70         * libs/gst/controller/gst-controller.c:
71         * libs/gst/controller/gst-helper.c:
72           added since tags
73
74
75 2005-08-11  Wim Taymans  <wim@fluendo.com>
76
77         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
78         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
79         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
80         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
81         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
82         (gst_ghost_pad_set_target):
83         Actually implement (re)setting the target on a ghostpad
84         as described in the docs.
85
86 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
87
88         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
89           Check whether GST_DEBUG_NO_COLOR environment variable is
90           set and disable coloured debug output if that is the case.
91
92 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
93
94         * gst/base/gsttypefindhelper.c: (helper_find_peek),
95         (gst_type_find_helper):
96           The memory returned by gst_type_find_peek() needs to
97           stay valid until the end of a typefind function, and
98           typefind functions may keep results from different 
99           offsets around, so we can't just unref the buffer from
100           the previous _peek(), but have to save all buffers 
101           returned by _peek() until typefinding is done and only
102           free them then.
103
104 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
105
106         * docs/gst/gstreamer-sections.txt:
107         * gst/gstutils.h:
108           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
109
110 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
111
112         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
113           Fix a pretty good memleak.
114
115 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
116
117         * gst/gstiterator.h:
118           Fix wrong include and 'make distcheck'.
119
120 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
121
122         * gst/gstbin.c: (bin_bus_handler):
123           Use gst_element_post_message() instead.
124
125 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
126
127         * gst/base/gstadapter.h:
128         * gst/base/gstbasesink.h:
129         * gst/base/gstbasesrc.h:
130         * gst/base/gstbasetransform.h:
131         * gst/base/gstcollectpads.h:
132         * gst/base/gstpushsrc.h:
133         * gst/gstiterator.h:
134           Add padding to our base elements' class and instance structs and
135           to GstIterator (you will need to rebuild all plugins and apps!)
136
137 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
138
139         * gst/gstbin.c: (bin_bus_handler):
140           Make default message forwarding from child->bus to bin->bus
141           threadsafe and make it not emit warnings if the parent has no bus.
142
143 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
144
145         * gst/gstelement.c: (activate_pads):
146           On paused->ready, set pad->caps to NULL, as is the documented
147           behaviour in this state change. Fixes playback of series of
148           media files when visualization is enabled in Totem.
149
150 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
151
152         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
153           Allow NULL as filter-caps (which means "any").
154
155 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
156
157         * docs/libs/gstreamer-libs-sections.txt:
158         * libs/gst/controller/gst-controller.c:
159         * libs/gst/controller/gst-controller.h:
160         * libs/gst/controller/gst-helper.c:
161           adding more entries to the docs and fix small doc-bugs
162
163 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
164
165         * docs/gst/gstreamer-docs.sgml:
166         * docs/gst/gstreamer-sections.txt:
167         * docs/gst/gstreamer.types:
168         * docs/gst/tmpl/gstbasesink.sgml:
169         * docs/gst/tmpl/gstbasesrc.sgml:
170         * docs/gst/tmpl/gstbasetransform.sgml:
171         * docs/gst/tmpl/gstfakesrc.sgml:
172         * gst/base/gstcollectpads.c:
173         * gst/base/gstcollectpads.h:
174         * libs/gst/controller/gst-controller.c:
175         * libs/gst/controller/gst-controller.h:
176         * libs/gst/controller/gst-helper.c:
177         * libs/gst/controller/gst-interpolation.c:
178         * libs/gst/controller/lib.c:
179           added long/short desc for controller docs
180           added collectpads base class docs
181           added correct includes to base-class docs
182
183 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
184
185         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
186         (gst_test_mono_source_set_property),
187         (gst_test_mono_source_class_init), (GST_START_TEST),
188         (gst_controller_suite):
189         * docs/gst/gstreamer-docs.sgml:
190         * docs/gst/gstreamer-sections.txt:
191         * docs/gst/gstreamer.types:
192         * docs/libs/gstreamer-libs-docs.sgml:
193         * docs/libs/gstreamer-libs-sections.txt:
194         * gst/base/gstadapter.c:
195         * libs/gst/controller/gst-controller.c:
196         (gst_controlled_property_new), (gst_controlled_property_free),
197         (gst_controller_new_valist),
198         (gst_controller_remove_properties_valist),
199         (gst_controller_sink_values), (_gst_controller_finalize):
200         * libs/gst/controller/gst-controller.h:
201         * libs/gst/controller/gst-helper.c:
202         (gst_object_control_properties), (gst_object_uncontrol_properties),
203         (gst_object_get_controller), (gst_object_set_controller),
204         (gst_object_sink_values), (gst_object_get_value_arrays),
205         (gst_object_get_value_array):
206           more tests (and fixes) for the controller
207           more docs for the controller
208           integrated companies docs for the adapter 
209
210 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
211
212         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
213         (GST_START_TEST), (fakesrc_suite):
214           add tests for sizetype
215
216 2005-08-04  Andy Wingo  <wingo@pobox.com>
217
218         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
219         fixes buffer_alloc proxying among other things.
220
221         * gst/base/gstbasetransform.c:
222         * gst/base/gstbasetransform.h:
223         Revert patch to gstbasetransform from 7-28 removing
224         delay_configure.
225
226         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
227         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
228         Semantics changed, should return not the size of the output buffer
229         but the byte size of a buffer with a given caps.
230
231         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
232         debug object.
233         (gst_base_transform_configure_caps): Don't set out_size here: (in,
234         out) are not the pad caps until setcaps finishes.
235         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
236         not-in-place case as well. Deal with changing from in-place to
237         not-in-place within calling pad_alloc_buffer. Still a bit
238         concerned about the overhead here...
239
240 2005-08-03  Andy Wingo  <wingo@pobox.com>
241
242         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
243         fixating is an error.
244
245 2005-08-04  Edward Hervey  <edward@fluendo.com>
246
247         * gst/base/gstadapter.h: 
248         Added gst_adapter_get_type() to the header
249
250 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
251
252         * check/Makefile.am:
253         * check/gst-libs/controller.c:
254         * libs/gst/controller/gst-controller.c:
255         (gst_controller_new_valist):
256           added check test suite for the controller
257         * gst/base/gstpushsrc.c:
258           fixed a doc typo
259
260 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
261
262         * docs/gst/Makefile.am:
263         * docs/gst/gstreamer-docs.sgml:
264         * docs/gst/gstreamer-sections.txt:
265         * docs/gst/gstreamer.types:
266         * docs/gst/tmpl/gstfakesrc.sgml:
267         * gst/base/README:
268         * gst/base/gstbasesink.c:
269         * gst/base/gstbasesink.h:
270         * gst/base/gstbasesrc.c:
271         * gst/base/gstbasesrc.h:
272         * gst/base/gstbasetransform.c:
273         * gst/base/gstpushsrc.c:
274         * gst/base/gstpushsrc.h:
275           add short/long description docs to base classes
276           add pushsrc to the docs
277           remove consolidated doc fragments
278
279 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
280
281         * configure.ac:
282         * docs/libs/Makefile.am:
283         * docs/libs/gstreamer-libs-docs.sgml:
284         * docs/libs/gstreamer-libs-sections.txt:
285         * docs/libs/gstreamer-libs.types:
286         * examples/Makefile.am:
287         * examples/controller/.cvsignore:
288         * examples/controller/Makefile.am:
289         * examples/controller/audio-example.c: (main):
290         * libs/gst/Makefile.am:
291         * libs/gst/controller/.cvsignore:
292         * libs/gst/controller/Makefile.am:
293         * libs/gst/controller/gst-controller.c:
294         (on_object_controlled_property_changed), (gst_timed_value_compare),
295         (gst_timed_value_find),
296         (gst_controlled_property_set_interpolation_mode),
297         (gst_controlled_property_new), (gst_controlled_property_free),
298         (gst_controller_find_controlled_property),
299         (gst_controller_new_valist), (gst_controller_new),
300         (gst_controller_remove_properties_valist),
301         (gst_controller_remove_properties), (gst_controller_set),
302         (gst_controller_set_from_list), (gst_controller_unset),
303         (gst_controller_get), (gst_controller_get_all),
304         (gst_controller_sink_values), (gst_controller_get_value_arrays),
305         (gst_controller_get_value_array),
306         (gst_controller_set_interpolation_mode),
307         (_gst_controller_finalize), (_gst_controller_init),
308         (_gst_controller_class_init), (gst_controller_get_type):
309         * libs/gst/controller/gst-controller.h:
310         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
311         (g_object_uncontrol_properties), (g_object_get_controller),
312         (g_object_set_controller), (g_object_sink_values),
313         (g_object_get_value_arrays), (g_object_get_value_array):
314         * libs/gst/controller/gst-interpolation.c:
315         (gst_controlled_property_find_timed_value_node),
316         (interpolate_none_get), (interpolate_trigger_get),
317         (interpolate_trigger_get_value_array):
318         * libs/gst/controller/lib.c: (gst_controller_init):
319         * pkgconfig/Makefile.am:
320         * pkgconfig/gstreamer-control-uninstalled.pc.in:
321         * pkgconfig/gstreamer-control.pc.in:
322         * testsuite/Makefile.am:
323         * testsuite/controller/.cvsignore:
324         * testsuite/controller/Makefile.am:
325         * testsuite/controller/interpolator.c: (main):
326           added controller code
327           removed dparam pc files
328
329 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
330         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
331         (gst_collectpads_stop):
332           Broadcast the condition when shutting down, to make sure we wake all
333           threads up. Shut down pads on finalize, for safety.
334
335 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
336         * gst/base/gstbasetransform.c: (gst_base_transform_init),
337         (gst_base_transform_handle_buffer),
338         (gst_base_transform_change_state):
339           Handle PAUSED->READY->PAUSED transition after negotiation
340           occurred already.
341         * gst/gstmessage.c: (gst_message_init):
342           Extra piece of debug for new messages.
343
344 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
345
346         * configure.ac:
347         * docs/gst/tmpl/gstbasesrc.sgml:
348         * docs/gst/tmpl/gstelement.sgml:
349         * docs/gst/tmpl/gstevent.sgml:
350         * docs/gst/tmpl/gstfakesrc.sgml:
351         * docs/gst/tmpl/gstformat.sgml:
352         * docs/gst/tmpl/gstghostpad.sgml:
353         * docs/gst/tmpl/gstpad.sgml:
354         * docs/gst/tmpl/gstquery.sgml:
355         * docs/gst/tmpl/gststructure.sgml:
356         * docs/gst/tmpl/gsttaglist.sgml:
357         * docs/gst/tmpl/gstvalue.sgml:
358         * docs/libs/gstreamer-libs-docs.sgml:
359         * docs/libs/gstreamer-libs-sections.txt:
360         * docs/libs/gstreamer-libs.types:
361         * libs/gst/Makefile.am:
362         * libs/gst/control/.cvsignore:
363         * libs/gst/control/Makefile.am:
364         * libs/gst/control/control.c:
365         * libs/gst/control/control.h:
366         * libs/gst/control/dparam.c:
367         * libs/gst/control/dparam.h:
368         * libs/gst/control/dparam_smooth.c:
369         * libs/gst/control/dparam_smooth.h:
370         * libs/gst/control/dparamcommon.h:
371         * libs/gst/control/dparammanager.c:
372         * libs/gst/control/dparammanager.h:
373         * libs/gst/control/dplinearinterp.c:
374         * libs/gst/control/dplinearinterp.h:
375         * libs/gst/control/unitconvert.c:
376         * libs/gst/control/unitconvert.h:
377         * testsuite/Makefile.am:
378         * testsuite/dynparams/.cvsignore:
379         * testsuite/dynparams/Makefile.am:
380         * testsuite/dynparams/dparamstest.c:
381         * tools/Makefile.am:
382         * tools/gst-inspect.c: (print_element_info), (main):
383         * tools/gst-xmlinspect.c: (print_element_info), (main):
384           deactivate and remove dparams (libgstcontrol)
385
386 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
387
388         * gst/elements/gsttypefindelement.c:
389         (gst_type_find_element_have_type), (gst_type_find_element_init),
390         (stop_typefinding), (gst_type_find_element_handle_event),
391         (gst_type_find_element_chain), (gst_type_find_element_getrange):
392         * gst/elements/gsttypefindelement.h:
393           Set caps on all outgoing buffers, not just the first one.
394
395 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
396
397         * gst/elements/gsttypefindelement.c:
398         (gst_type_find_element_have_type),
399         (gst_type_find_element_check_set_buffer_caps),
400         (gst_type_find_element_init), (stop_typefinding),
401         (gst_type_find_element_handle_event),
402         (gst_type_find_element_chain), (gst_type_find_element_getrange):
403         * gst/elements/gsttypefindelement.h:
404           Set caps on first outgoing buffer when we've found the type.
405
406 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
407
408         * docs/gst/gstreamer-docs.sgml:
409         * docs/gst/gstreamer-sections.txt:
410         * docs/gst/tmpl/gstscheduler.sgml:
411         * docs/gst/tmpl/gstschedulerfactory.sgml:
412           Remove some old cruft from docs.
413
414 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
415
416         * gst/gstpad.h:
417           Fix inline docs for GstPadLinkReturn.
418           
419         * gst/gststructure.c: (gst_structure_has_name):
420         * gst/gststructure.h:
421         * docs/gst/gstreamer-sections.txt:
422           New API: gst_structure_has_name().
423
424 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
425
426         * configure.ac:
427           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
428           and _LARGEFILE_SOURCE in config.h as required. Do not 
429           export those flags in our .pc files any longer (#142209).
430
431           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
432
433         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
434         (gst_file_sink_do_seek), (gst_file_sink_event),
435         (gst_file_sink_get_current_offset), (gst_file_sink_render):
436           Redo seek/tell calls with large file support in mind; add some
437           debugging messages; add log message that tells us when large
438           file support is unavailable or not enabled for some reason.
439
440         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
441           Add log message that tells us when large file support 
442           is unavailable or not enabled for some reason.
443
444 2005-07-29  Wim Taymans  <wim@fluendo.com>
445
446         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
447         Added test for removing an element with ghostpad from a bin.
448         Fixed test as current implementation does the right thing.
449
450         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
451         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
452         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
453         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
454         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
455         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
456         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
457         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
458         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
459         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
460         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
461         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
462         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
463         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
464         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
465         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
466         * gst/gstghostpad.h:
467         Clean up ghostpads, remove properties for internal stuff.
468         Make threadsafe.
469         Fix refcounting.
470         Prepare for switching targets, not all use cases work yet.
471
472 2005-07-29  Wim Taymans  <wim@fluendo.com>
473
474         * docs/design/part-gstghostpad.txt:
475         Small update.
476
477         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
478         (gst_bin_remove_func):
479         Unlinking pads while holding the bin LOCK is not a good
480         idea.
481
482         * gst/gstpad.c: (gst_pad_class_init),
483         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
484         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
485         No prob setting template after creating the pad.
486
487 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
488
489         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
490         (gst_bus_peek), (gst_bus_source_dispatch),
491         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
492         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
493           gst_bus_poll may be called from other threads. Handle
494           this nicely by not making poll_data disappear off the
495           stack once gst_bus_poll returns.
496           gst_bus_peek now increments the refcount on the returned
497           message.
498
499 2005-07-29  Wim Taymans  <wim@fluendo.com>
500
501         * docs/design/part-gstghostpad.txt:
502         Overview of current GhostPad datastructures and use
503         cases for changing the target.
504
505 2005-07-28  Wim Taymans  <wim@fluendo.com>
506
507         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
508         Added checks for hierarchy consistency whan adding linked
509         elements to bins.
510
511         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
512         Added check to test element scheduling without bin/pipeline.
513
514         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
515         First add elements to bin, then link.
516         
517         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
518         (gst_bin_remove_func):
519         Unlink pads from elements added/removed from bin to maintain
520         hierarchy consistency.
521
522 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
523
524         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
525         (gst_base_transform_handle_buffer):
526         * gst/base/gstbasetransform.h:
527           Remove broken delay_configure (fixes renegotiation of software
528           scaling pipelines); remove some leftover printf()s.
529
530 2005-07-28  Wim Taymans  <wim@fluendo.com>
531
532         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
533         Added some more tests for wrong hierarchy
534
535         * docs/design/part-overview.txt:
536         Some updates.
537
538         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
539         Cleanups.
540
541         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
542         (gst_element_dispose):
543         Some more cleanups.
544
545         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
546         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
547         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
548         (gst_pad_set_caps), (gst_pad_send_event):
549         Check for correct hierarchy when linking pads. Moving to
550         strict requirement for ghostpads when linking elements in
551         different bins.
552
553         * gst/gstpad.h:
554         Clean ups. Added WRONG_HIERARCHY return value.
555
556 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
557
558         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
559           Better debug if no transform is possible.
560
561 2005-07-27  Wim Taymans  <wim@fluendo.com>
562
563         * docs/random/wtay/network-transp:
564         Some old doc I had.
565
566 2005-07-27  Wim Taymans  <wim@fluendo.com>
567
568         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
569         (gst_dp_event_from_packet):
570         Fix serialization of seek events.
571
572 2005-07-27  Wim Taymans  <wim@fluendo.com>
573
574         * check/gst-libs/gdp.c: (GST_START_TEST):
575         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
576         Fix compilation and fix event serialization.
577
578 2005-07-27  Wim Taymans  <wim@fluendo.com>
579
580         * CHANGES-0.9:
581         * docs/design/part-TODO.txt:
582         * docs/design/part-events.txt:
583         Some docs updates
584
585         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
586         (gst_base_sink_event), (gst_base_sink_do_sync),
587         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
588         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
589         (gst_base_src_do_seek), (gst_base_src_event_handler),
590         (gst_base_src_loop):
591         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
592         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
593         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
594         (gst_base_transform_event), (gst_base_transform_handle_buffer),
595         (gst_base_transform_set_passthrough),
596         (gst_base_transform_is_passthrough):
597         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
598         * gst/elements/gstfilesink.c: (gst_file_sink_event):
599         Event updates.
600
601         * gst/gstbuffer.h:
602         Use faster casts.
603
604         * gst/gstelement.c: (gst_element_seek):
605         * gst/gstelement.h:
606         Update gst_element_seek.
607
608         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
609         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
610         (gst_event_new_flush_start), (gst_event_new_flush_stop),
611         (gst_event_new_eos), (gst_event_new_newsegment),
612         (gst_event_parse_newsegment), (gst_event_new_tag),
613         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
614         (gst_event_parse_qos), (gst_event_new_seek),
615         (gst_event_parse_seek), (gst_event_new_navigation):
616         * gst/gstevent.h:
617         Make GstEvent use GstStructure. Add parsing code, make sure the
618         API is sufficiently generic.
619         Mark possible directions of events and serialization.
620
621         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
622         (_gst_message_copy), (gst_message_new_segment_start),
623         (gst_message_new_segment_done), (gst_message_new_custom),
624         (gst_message_parse_segment_start),
625         (gst_message_parse_segment_done):
626         Small cleanups.
627
628         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
629         (gst_pad_set_caps), (gst_pad_send_event):
630         Update for new events. 
631         Catch events sent in wrong directions.
632
633         * gst/gstqueue.c: (gst_queue_link_src),
634         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
635         (gst_queue_handle_src_query):
636         Event updates.
637
638         * gst/gsttag.c:
639         * gst/gsttag.h:
640         Remove event code from this file.
641
642         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
643         (gst_dp_event_from_packet):
644         Event updates.
645
646 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
647
648         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
649         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
650         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
651           Make debugging actually useful.
652
653 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
654
655         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
656         (gst_pad_fixate_caps):
657           Implement default fixation once again, so that gst_pad_fixate()
658           actually does anything at all. This probably needs to be some
659           sort of a last resort, and use profile-based fixation first, but
660           since that doesn't exist yet, this is the best we have. Fixes
661           visualization in Totem.
662
663 2005-07-22  Wim Taymans  <wim@fluendo.com>
664
665         * docs/design/part-events.txt:
666         Small update.
667
668         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
669         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
670         (gst_base_sink_activate_pull):
671         Some more comments.
672
673         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
674         (gst_fake_src_create):
675         Fix handoff marshall.
676
677         * gst/elements/gstidentity.c: (gst_identity_class_init),
678         (gst_identity_transform_ip):
679         We're a real inplace element.
680
681         * gst/gstbus.c: (gst_bus_post):
682         Added some comments.
683
684         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
685         * tests/muxing/case1.c: (main):
686         * tests/sched/dynamic-pipeline.c: (main):
687         * tests/sched/interrupt1.c: (main):
688         * tests/sched/interrupt2.c: (main):
689         * tests/sched/interrupt3.c: (main):
690         * tests/sched/runxml.c: (main):
691         * tests/sched/sched-stress.c: (main):
692         * tests/seeking/seeking1.c: (event_received), (main):
693         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
694         (main):
695         * tests/threadstate/threadstate3.c: (main):
696         * tests/threadstate/threadstate4.c: (main):
697         * tests/threadstate/threadstate5.c: (main):
698         Fix the tests.
699
700 2005-07-21  Wim Taymans  <wim@fluendo.com>
701
702         * docs/design/part-seeking.txt:
703         Some small additions.
704
705         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
706         (gst_base_sink_get_times), (gst_base_sink_do_sync),
707         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
708         * gst/base/gstbasesink.h:
709         discont values are gint64, handle the math correctly.
710
711         * gst/base/gstbasesrc.c: (gst_base_src_loop):
712         Make the basesrc report error if the source pad is not linked.
713
714         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
715         (gst_queue_loop), (gst_queue_handle_src_query),
716         (gst_queue_src_activate_push):
717         Make queue collect data even if the srcpad is not linked.
718         Start pushing out data as soon as it is linked.
719
720         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
721         * gst/gstutils.h:
722         Added gst_flow_get_name() to ease error reporting.
723
724 2005-07-20  Wim Taymans  <wim@fluendo.com>
725
726         * gst/gstmessage.c: (gst_message_new_segment_start),
727         (gst_message_new_segment_done), (gst_message_parse_segment_start),
728         (gst_message_parse_segment_done):
729         * gst/gstmessage.h:
730         Added a bunch of messages for advanced seeking.
731
732         * gst/parse/grammar.y:
733         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
734         (gst_dpman_state_changed):
735         Fix some new-pad -> pad-added signals
736
737 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
738
739         * docs/manual/appendix-porting.xml:
740         * docs/pwg/appendix-porting.xml:
741           Document new-pad/state-change signal renames and the FixedList
742           type rename.
743
744 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
745
746         * docs/manual/advanced-autoplugging.xml:
747         * docs/manual/basics-helloworld.xml:
748         * docs/manual/basics-pads.xml:
749         * docs/random/ds/0.9-suggested-changes:
750         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
751         * gst/gstelement.h:
752         * gst/gstevent.h:
753         * gst/gstformat.h:
754         * gst/gstquery.h:
755         * gst/gststructure.c: (gst_structure_value_get_generic_type),
756         (gst_structure_parse_array), (gst_structure_parse_value):
757         * gst/gstvalue.c: (gst_type_is_fixed),
758         (gst_value_list_prepend_value), (gst_value_list_append_value),
759         (gst_value_list_get_size), (gst_value_list_get_value),
760         (gst_value_transform_array_string), (gst_value_serialize_array),
761         (gst_value_deserialize_array), (gst_value_intersect_array),
762         (gst_value_is_fixed), (_gst_value_initialize):
763         * gst/gstvalue.h:
764           GstElement::new-pad -> pad-added, GstElement::state-change ->
765           state-changed, GstValueFixedList -> GstValueArray, add format and
766           flags as their own arguments in gst_element_seek() (should improve
767           "bindeability"), remove function generators since they don't work
768           under a whole bunch of compilers (they were deprecated already
769           anyway).
770
771 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
772
773         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
774         (_gst_debug_register_funcptr):
775         * gst/gstinfo.h:
776           Fix illegal cast on some platforms (#309253).
777
778 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
779
780         * gst/gstmessage.c: (gst_message_new_custom):
781         * gst/gstmessage.h:
782           Add _new_custom, make _new_application a macro to _new_custom.
783
784 2005-07-20  Wim Taymans  <wim@fluendo.com>
785
786         * gst/base/gstbasesrc.c: (gst_base_src_init),
787         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
788         * gst/base/gstbasesrc.h:
789         Add a gboolean to decide when to push out a discont.
790
791         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
792         (gst_queue_loop), (gst_queue_handle_src_query),
793         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
794         (gst_queue_set_property), (gst_queue_get_property):
795         Some cleanups.
796
797         * tests/threadstate/threadstate1.c: (main):
798         Make a thread test compile and run... very silly..
799
800
801 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
802
803         * docs/manual/appendix-porting.xml:
804           Mention removal of libgstgconf-0.9.la and existence of gconf
805           elements.
806
807 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
808
809         * docs/pwg/advanced-clock.xml:
810         * docs/pwg/appendix-porting.xml:
811         * docs/pwg/intro-preface.xml:
812         * docs/pwg/other-base.xml:
813         * docs/pwg/other-manager.xml:
814         * docs/pwg/other-nton.xml:
815         * docs/pwg/other-ntoone.xml:
816         * docs/pwg/other-oneton.xml:
817         * docs/pwg/pwg.xml:
818           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
819           demuxer), remove n-to-n (was never written), fix some code examples
820           and links and update the porting section to include all this.
821
822 2005-07-19  Wim Taymans  <wim@fluendo.com>
823
824         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
825         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
826         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
827         (gst_queue_src_activate_push), (gst_queue_change_state),
828         (gst_queue_get_property):
829         * gst/gstqueue.h:
830         Propagate GstFlowReturn more intelligently upstream and output
831         an ERROR/EOS when streaming stopped due to fatal error.
832
833 2005-07-19  Wim Taymans  <wim@fluendo.com>
834
835         * tools/gst-launch.c: (check_intr), (event_loop), (main):
836         Don't block forever for the state change to complete, the
837         pipeline already did with a sensible timeout.
838
839 2005-07-19  Wim Taymans  <wim@fluendo.com>
840
841         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
842         Make sure we never call the create function is we
843         got deactivated.
844
845 2005-07-19  Andy Wingo  <wingo@pobox.com>
846
847         * gst/parse/parse.l: Attempt to solve bug #172815.
848
849 2005-07-19  Wim Taymans  <wim@fluendo.com>
850
851         * docs/design/part-clocks.txt:
852         * docs/design/part-events.txt:
853         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
854         Small docs updates.
855         Only update the seeking values when we are not
856         busy streaming.
857
858 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
859
860         * gst/base/gstbasesrc.c: (gst_base_src_loop):
861           Oops, ignore the result of gst_pad_push_event here.
862
863 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
864
865         * gst/base/gstbasesrc.c: (gst_base_src_loop),
866         (gst_base_src_activate_push):
867           Send discont event from the loop function, as pads
868           aren't activated yet in the activate_push handler.
869
870         * gst/gstbin.c: (bin_bus_handler):
871           Don't leak element name.
872
873 2005-07-18  Andy Wingo  <wingo@pobox.com>
874
875         * configure.ac: Use AS_LIBTOOL_TAGS.
876
877 2005-07-18  Wim Taymans  <wim@fluendo.com>
878
879         * docs/gst/gstreamer.types:
880         Remove deleted types.
881
882 2005-07-18  Wim Taymans  <wim@fluendo.com>
883
884         * check/elements/gstfakesrc.c: (GST_START_TEST):
885         * configure.ac:
886         * gst/Makefile.am:
887         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
888         (init_popt_callback):
889         * gst/gst.h:
890         * gst/gst_private.h:
891         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
892         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
893         * gst/gstbin.h:
894         * gst/gstbus.h:
895         * gst/gstconfig.h.in:
896         * gst/gstelement.c: (gst_element_class_init),
897         (gst_element_set_base_time), (gst_element_get_base_time),
898         (iterator_fold_with_resync), (gst_element_change_state),
899         (gst_element_dispose), (gst_element_get_bus):
900         * gst/gstelement.h:
901         * gst/gstelementfactory.h:
902         * gst/gsterror.c: (_gst_core_errors_init):
903         * gst/gsterror.h:
904         * gst/gstevent.h:
905         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
906         * gst/gstindex.c:
907         * gst/gstinfo.c: (_gst_debug_init):
908         * gst/gstmessage.c: (_gst_message_copy):
909         * gst/gstmessage.h:
910         * gst/gstminiobject.h:
911         * gst/gstobject.c:
912         * gst/gstobject.h:
913         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
914         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
915         * gst/gstpad.h:
916         * gst/gstparse.h:
917         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
918         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
919         (gst_pipeline_get_last_stream_time):
920         * gst/gstpipeline.h:
921         * gst/gstpluginfeature.h:
922         * gst/gstquery.h:
923         * gst/gstscheduler.c:
924         * gst/gstscheduler.h:
925         * gst/gststructure.h:
926         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
927         (gst_task_finalize), (gst_task_func), (gst_task_create),
928         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
929         (gst_task_stop), (gst_task_pause):
930         * gst/gsttask.h:
931         * gst/gsttypefind.h:
932         * gst/gsttypes.h:
933         * gst/registries/gstlibxmlregistry.c: (load_feature),
934         (gst_xml_registry_load), (gst_xml_registry_save_feature):
935         * gst/registries/gstxmlregistry.c:
936         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
937         * gst/schedulers/threadscheduler.c:
938         * libs/gst/control/dparammanager.h:
939         * tools/gst-inspect.c: (print_element_list),
940         (print_plugin_features), (print_element_features):
941         * tools/gst-xmlinspect.c: (print_element_list),
942         (print_plugin_info), (main):
943         Removed plugable schedulers.
944         Removed Scheduler/Manager from elements.
945         Removed gsttypes.h, rearranged includes.
946         Removed dependency pad<->element, element<>pipeline, and
947         various others,  fix includes.
948         implement gst_pad_get_parent() with gst_object_get_parent()
949         Make GstTask sefcontained.
950         Fix _get_state() on GstBin, it did not return ASYNC with a 0
951         timeout.
952         Fix endless loop in iterator_fold_with_resync.
953
954
955 2005-07-18  Wim Taymans  <wim@fluendo.com>
956
957         * gst/Makefile.am:
958         * gst/gstarch.h:
959         Remove old file.
960
961 2005-07-18  Wim Taymans  <wim@fluendo.com>
962
963         * gst/Makefile.am:
964         No more cothreads.h
965
966 2005-07-18  Wim Taymans  <wim@fluendo.com>
967
968         * gst/cothreads.c:
969         * gst/cothreads.h:
970         Let's remove these.
971
972 2005-07-18  Wim Taymans  <wim@fluendo.com>
973
974         * docs/design/part-dynamic.txt:
975         * docs/design/part-events.txt:
976         * docs/design/part-seeking.txt:
977         Some more docs in the works.
978
979         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
980         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
981         (gst_base_transform_setcaps), (gst_base_transform_get_size),
982         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
983         (gst_base_transform_handle_buffer),
984         (gst_base_transform_sink_activate_push),
985         (gst_base_transform_src_activate_pull),
986         (gst_base_transform_set_passthrough),
987         (gst_base_transform_is_passthrough):
988         Refcounting fixes.
989
990         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
991         Cleanups.
992
993         * gst/gstevent.c: (gst_event_finalize):
994         Set SRC to NULL.
995
996         * gst/gstutils.c: (gst_element_unlink),
997         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
998         (gst_pad_proxy_setcaps):
999         * gst/gstutils.h:
1000         Add _get_parent_element() to get a pads parent as an element.
1001
1002 2005-07-18  Wim Taymans  <wim@fluendo.com>
1003
1004         * check/gst/gstbin.c: (GST_START_TEST):
1005         Remove bogus test.
1006
1007 2005-07-18  Wim Taymans  <wim@fluendo.com>
1008
1009         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1010         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1011         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1012         (gst_base_sink_event), (gst_base_sink_do_sync),
1013         (gst_base_sink_chain), (gst_base_sink_loop),
1014         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1015         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1016         Refcounting fixes.
1017         Fix logic for returning ASYNC when not prerolled.
1018
1019 2005-07-18  Wim Taymans  <wim@fluendo.com>
1020
1021         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1022         Fix nasty refcount bug.
1023
1024 2005-07-16 Philippe Khalaf <burger@speedy.org>
1025         * gst/elements/gstfdsrc.c:
1026         * gst/elements/gstfdsrc.h:
1027         * gst/elements/gstelements.c:
1028         * gst/elements/Makefile.am:
1029         Ported fdsrc to 0.9.
1030
1031 2005-07-16  Wim Taymans  <wim@fluendo.com>
1032
1033         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1034         (gst_base_sink_do_sync):
1035         Fix compile error.
1036
1037 2005-07-16  Wim Taymans  <wim@fluendo.com>
1038
1039         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1040         (gst_base_sink_event), (gst_base_sink_get_times),
1041         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1042         * gst/base/gstbasesink.h:
1043         Store and use discont values when syncing buffers as described
1044         in design docs.
1045         
1046         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1047         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1048         (gst_base_src_activate_push):
1049         Push discont event when starting.
1050
1051         * gst/elements/gstidentity.c: (gst_identity_transform):
1052         Small cleanups.
1053
1054         * gst/gstbin.c: (gst_bin_change_state):
1055         Small cleanups in base_time  distribution.
1056
1057         * gst/gstelement.c: (gst_element_set_base_time),
1058         (gst_element_get_base_time), (gst_element_change_state):
1059         * gst/gstelement.h:
1060         Added methods for the base_time of the element.
1061         Some MT fixes.
1062
1063         * gst/gstpipeline.c: (gst_pipeline_send_event),
1064         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1065         (gst_pipeline_get_last_stream_time):
1066         * gst/gstpipeline.h:
1067         MT fixes.
1068         Handle seeking as described in design doc, remove stream_time
1069         hack.
1070         Cleanups clock and stream_time selection code. Added accessors
1071         for the stream_time.
1072         
1073
1074 2005-07-16  Andy Wingo  <wingo@pobox.com>
1075
1076         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1077         (#305291).
1078
1079 2005-07-16  Wim Taymans  <wim@fluendo.com>
1080
1081         * check/gst/gstbin.c: (GST_START_TEST):
1082         Make elements silent as the deep_notify refs the
1083         parent, which might make the test fail.
1084
1085         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1086         Don't hold the lock for too long.
1087
1088 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1089
1090         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1091           Don't unref the caps we passed to gst_caps_make_writable() after
1092           passing them. gst_caps_make_writable() will do that for us.
1093
1094 2005-07-15  Andy Wingo  <wingo@pobox.com>
1095
1096         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1097         (#157311).
1098
1099         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1100         own marshalling function for the handoff signal. Properly type the
1101         buffer as a buffer. Fixes some warnings. Should do a more general
1102         solution.
1103         (gst_identity_class_init): Plug into the right marshaller.
1104
1105 2005-07-15  Wim Taymans  <wim@fluendo.com>
1106
1107         * docs/design/part-TODO.txt:
1108         * docs/design/part-clocks.txt:
1109         * docs/design/part-element-sink.txt:
1110         * docs/design/part-events.txt:
1111         * docs/design/part-gstpipeline.txt:
1112         Updated docs, mostly DISCONT related.
1113
1114 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1115
1116         * docs/pwg/building-pads.xml:
1117           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1118
1119 2005-07-15  Andy Wingo  <wingo@pobox.com>
1120
1121         * tools/gst-typefind.c: Update, add copyright block.
1122
1123         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1124         Normalize and truncate caps before fixation.
1125
1126         * gst/gstcaps.h:
1127         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1128         discards all but the first structure from its argument.
1129
1130 2005-07-15  Wim Taymans  <wim@fluendo.com>
1131
1132         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1133         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1134         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1135         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1136         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1137         (gst_base_transform_chain), (gst_base_transform_change_state),
1138         (gst_base_transform_set_passthrough),
1139         (gst_base_transform_is_passthrough):
1140         * gst/base/gstbasetransform.h:
1141         Make passthrough work using the bufferpools.
1142         Changed API a bit, subclasses have to write into a buffer
1143         provided by the base class.
1144         More debug info in nego functions.
1145         
1146         * gst/elements/gstidentity.c: (gst_identity_init),
1147         (gst_identity_transform):
1148         Port to new base class.
1149
1150 2005-07-15  Wim Taymans  <wim@fluendo.com>
1151
1152         * gst/gstmessage.c: (gst_message_new_state_changed):
1153         * tools/gst-launch.c: (event_loop), (main):
1154         Totally dump messages in -launch with the -m option.
1155         Fix message name for State messages,
1156
1157 2005-07-14  Wim Taymans  <wim@fluendo.com>
1158
1159         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1160         Post error messages on errors.
1161
1162 2005-07-14  Wim Taymans  <wim@fluendo.com>
1163
1164         * gst/gstcaps.c: (gst_caps_do_simplify):
1165         Remove debug info.
1166
1167         * gst/gsterror.h:
1168         Define error for stream stopped.
1169
1170         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1171         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1172         Do proper return values.
1173
1174         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1175         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1176         (gst_pad_get_range):
1177         Better return values.
1178
1179         * gst/gstpad.h:
1180         Reorganise return values, add macro to check for fatal errors.
1181
1182         * gst/gstqueue.c: (gst_queue_chain):
1183         Return proper GstFlowReturn values,
1184
1185 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1186
1187         * docs/gst/gstreamer-sections.txt:
1188         * docs/gst/gstreamer.types:
1189         * docs/gst/tmpl/gst.sgml:
1190         * docs/gst/tmpl/gstbasesink.sgml:
1191         * docs/gst/tmpl/gstbasesrc.sgml:
1192         * docs/gst/tmpl/gstbasetransform.sgml:
1193         * docs/gst/tmpl/gstbin.sgml:
1194         * docs/gst/tmpl/gstbuffer.sgml:
1195         * docs/gst/tmpl/gstcaps.sgml:
1196         * docs/gst/tmpl/gstclock.sgml:
1197         * docs/gst/tmpl/gstcompat.sgml:
1198         * docs/gst/tmpl/gstconfig.sgml:
1199         * docs/gst/tmpl/gstelement.sgml:
1200         * docs/gst/tmpl/gstelementdetails.sgml:
1201         * docs/gst/tmpl/gstelementfactory.sgml:
1202         * docs/gst/tmpl/gstenumtypes.sgml:
1203         * docs/gst/tmpl/gsterror.sgml:
1204         * docs/gst/tmpl/gstevent.sgml:
1205         * docs/gst/tmpl/gstfakesink.sgml:
1206         * docs/gst/tmpl/gstfakesrc.sgml:
1207         * docs/gst/tmpl/gstfilesink.sgml:
1208         * docs/gst/tmpl/gstfilesrc.sgml:
1209         * docs/gst/tmpl/gstfilter.sgml:
1210         * docs/gst/tmpl/gstformat.sgml:
1211         * docs/gst/tmpl/gstghostpad.sgml:
1212         * docs/gst/tmpl/gstimplementsinterface.sgml:
1213         * docs/gst/tmpl/gstindex.sgml:
1214         * docs/gst/tmpl/gstindexfactory.sgml:
1215         * docs/gst/tmpl/gstinfo.sgml:
1216         * docs/gst/tmpl/gstiterator.sgml:
1217         * docs/gst/tmpl/gstmacros.sgml:
1218         * docs/gst/tmpl/gstmemchunk.sgml:
1219         * docs/gst/tmpl/gstminiobject.sgml:
1220         * docs/gst/tmpl/gstobject.sgml:
1221         * docs/gst/tmpl/gstpad.sgml:
1222         * docs/gst/tmpl/gstpadtemplate.sgml:
1223         * docs/gst/tmpl/gstparse.sgml:
1224         * docs/gst/tmpl/gstpipeline.sgml:
1225         * docs/gst/tmpl/gstplugin.sgml:
1226         * docs/gst/tmpl/gstpluginfeature.sgml:
1227         * docs/gst/tmpl/gstquery.sgml:
1228         * docs/gst/tmpl/gstqueue.sgml:
1229         * docs/gst/tmpl/gstregistry.sgml:
1230         * docs/gst/tmpl/gstregistrypool.sgml:
1231         * docs/gst/tmpl/gstscheduler.sgml:
1232         * docs/gst/tmpl/gstschedulerfactory.sgml:
1233         * docs/gst/tmpl/gststructure.sgml:
1234         * docs/gst/tmpl/gstsystemclock.sgml:
1235         * docs/gst/tmpl/gsttaglist.sgml:
1236         * docs/gst/tmpl/gsttagsetter.sgml:
1237         * docs/gst/tmpl/gsttrace.sgml:
1238         * docs/gst/tmpl/gsttrashstack.sgml:
1239         * docs/gst/tmpl/gsttypefind.sgml:
1240         * docs/gst/tmpl/gsttypefindfactory.sgml:
1241         * docs/gst/tmpl/gsttypes.sgml:
1242         * docs/gst/tmpl/gsturihandler.sgml:
1243         * docs/gst/tmpl/gsturitype.sgml:
1244         * docs/gst/tmpl/gstutils.sgml:
1245         * docs/gst/tmpl/gstvalue.sgml:
1246         * docs/gst/tmpl/gstversion.sgml:
1247         * docs/gst/tmpl/gstxml.sgml:
1248         * docs/libs/tmpl/gstcontrol.sgml:
1249         * docs/libs/tmpl/gstdataprotocol.sgml:
1250         * docs/libs/tmpl/gstdparam.sgml:
1251         * docs/libs/tmpl/gstdplinint.sgml:
1252         * docs/libs/tmpl/gstdpman.sgml:
1253         * docs/libs/tmpl/gstdpsmooth.sgml:
1254         * docs/libs/tmpl/gstgetbits.sgml:
1255         * docs/libs/tmpl/gstunitconvert.sgml:
1256         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1257         (gst_push_src_base_init), (gst_push_src_class_init),
1258         (gst_push_src_init), (gst_push_src_create):
1259         * gst/base/gstpushsrc.h:
1260         * gst/elements/gstelements.c:
1261         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1262         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1263         (gst_fake_sink_init), (gst_fake_sink_set_property),
1264         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1265         (gst_fake_sink_event), (gst_fake_sink_preroll),
1266         (gst_fake_sink_render), (gst_fake_sink_change_state):
1267         * gst/elements/gstfakesink.h:
1268         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1269         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1270         (gst_fake_src_base_init), (gst_fake_src_class_init),
1271         (gst_fake_src_init), (gst_fake_src_event_handler),
1272         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1273         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1274         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1275         (gst_fake_src_create_buffer), (gst_fake_src_create),
1276         (gst_fake_src_start), (gst_fake_src_stop):
1277         * gst/elements/gstfakesrc.h:
1278         * gst/elements/gstfilesink.c: (_do_init),
1279         (gst_file_sink_base_init), (gst_file_sink_class_init),
1280         (gst_file_sink_init), (gst_file_sink_dispose),
1281         (gst_file_sink_set_location), (gst_file_sink_set_property),
1282         (gst_file_sink_get_property), (gst_file_sink_open_file),
1283         (gst_file_sink_close_file), (gst_file_sink_query),
1284         (gst_file_sink_event), (gst_file_sink_render),
1285         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1286         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1287         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1288         * gst/elements/gstfilesink.h:
1289         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1290         (gst_file_src_class_init), (gst_file_src_init),
1291         (gst_file_src_finalize), (gst_file_src_set_location),
1292         (gst_file_src_set_property), (gst_file_src_get_property),
1293         (gst_file_src_map_region), (gst_file_src_map_small_region),
1294         (gst_file_src_create_mmap), (gst_file_src_create_read),
1295         (gst_file_src_create), (gst_file_src_is_seekable),
1296         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1297         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1298         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1299         (gst_file_src_uri_handler_init):
1300         * gst/elements/gstfilesrc.h:
1301           more autistic cleanliness in functions/names/defines
1302
1303 2005-07-13  Andy Wingo  <wingo@pobox.com>
1304
1305         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1306         source couldn't negotiate.
1307
1308         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1309         connections again.
1310
1311         * gst/gstutils.h:
1312         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1313         function. I am channeling Hades. Put your boots on suckers!!!
1314
1315 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1316
1317         * testsuite/caps/Makefile.am:
1318         * testsuite/caps/value_compare.c:
1319         * testsuite/caps/value_intersect.c:
1320         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1321           move two testsuite apps over to the check dir
1322
1323 2005-07-12  Wim Taymans  <wim@fluendo.com>
1324
1325         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1326         Added more debug info in the negotiate process.
1327
1328         * gst/gstmessage.h:
1329         Prepare for segment playback.
1330
1331         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1332         Better debugging.
1333
1334         * gst/gstutils.c:
1335         Some more docs.
1336
1337         * tools/gst-launch.c: (main):
1338         NULL pipeline on errors.
1339
1340 2005-07-12  Andy Wingo  <wingo@pobox.com>
1341
1342         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1343         not it comes from a malloc region. Make sure our copy gets freed.
1344
1345 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1346
1347         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1348         * check/gst/gstmessage.c: (GST_START_TEST):
1349         * check/gst/gststructure.c: (GST_START_TEST),
1350         (gst_structure_suite), (main):
1351           more testing
1352         * gst/gstelement.c: (gst_element_message_full):
1353           clean up GError and debug string now that they get copied
1354         * gst/gstmessage.c: (gst_message_new_error),
1355         (gst_message_new_warning), (gst_message_parse_error),
1356         (gst_message_parse_warning):
1357           use GST_TYPE_G_ERROR for structure_new, and take copies of
1358           arguments, so that we don't mess up refcounting
1359
1360 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1361
1362         * check/Makefile.am:
1363           add per-test valgrind targets
1364         * check/gst-libs/gdp.c: (GST_START_TEST),
1365         (gst_data_protocol_suite), (main):
1366           clean up
1367
1368 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1369
1370         * check/Makefile.am:
1371           instate more valgrindable tests
1372         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1373         (GST_START_TEST), (fakesrc_suite):
1374         * check/gst/gstpad.c: (GST_START_TEST):
1375         * check/gst/gststructure.c: (GST_START_TEST):
1376           fix test leaks
1377         * docs/gst/tmpl/gstminiobject.sgml:
1378         * gst/gstpad.c: (gst_pad_finalize):
1379           fix the static mutex leak
1380
1381 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1382
1383         * check/Makefile.am:
1384           add two more tests for valgrinding
1385         * check/gst/gstvalue.c: (GST_START_TEST):
1386           test refcount of deserialized buffer, found a leak
1387         * docs/gst/gstreamer-docs.sgml:
1388         * docs/gst/gstreamer-sections.txt:
1389         * docs/gst/gstreamer.types:
1390         * docs/gst/tmpl/gstminiobject.sgml:
1391           add miniobject to docs
1392         * gst/gstminiobject.c:
1393           add some docs
1394         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1395         (gst_string_unwrap):
1396           fix a hard-to-find invalid write for one of the tests
1397           fix a leak for deserialized buffers
1398
1399 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1400
1401         * docs/pwg/advanced-events.xml:
1402         * docs/pwg/advanced-request.xml:
1403         * docs/pwg/advanced-scheduling.xml:
1404         * docs/pwg/appendix-porting.xml:
1405         * docs/pwg/building-boiler.xml:
1406         * docs/pwg/intro-preface.xml:
1407         * docs/pwg/other-ntoone.xml:
1408           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1409           of example code and explanation for pad activation, loop() and
1410           getrange() functions and a bit more. Remove old comments pointing
1411           to loop-functions.
1412         * examples/pwg/Makefile.am:
1413           Add loop/getrange examples.
1414
1415 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1416
1417         * configure.ac:
1418           check for valgrind binary + some fixes
1419         * check/gst.supp:
1420           valgrind suppressions for the tests
1421         * check/Makefile.am:
1422           add a valgrind: target that valgrinds the unit tests
1423         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1424         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1425         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1426         * check/gst/gstghostpad.c:
1427           added some cleanup
1428         * check/gst/gstdata.c:
1429           removed
1430         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1431         (thread_unref), (gst_mini_object_suite), (main):
1432           added
1433         * gst/gst.c: (gst_deinit):
1434         * gst/gst.h:
1435           add a method to clean up.
1436         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1437         (gst_system_clock_obtain):
1438           allow for disposing the system clock.
1439         * tools/gst-launch.c: (main):
1440           deinit
1441
1442 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1443
1444         * docs/gst/tmpl/gstbasesrc.sgml:
1445         * docs/gst/tmpl/gstfakesrc.sgml:
1446         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1447         (gst_base_src_init), (gst_base_src_set_property),
1448         (gst_base_src_get_property), (gst_base_src_get_range),
1449         (gst_base_src_start):
1450         * gst/base/gstbasesrc.h:
1451           add num-buffers property
1452         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1453         (gst_fakesrc_init), (gst_fakesrc_set_property),
1454         (gst_fakesrc_get_property), (gst_fakesrc_create),
1455         (gst_fakesrc_start):
1456           remove num-buffers property
1457
1458 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1459
1460         * docs/gst/gstreamer-sections.txt:
1461         * docs/gst/tmpl/gstbasesink.sgml:
1462         * docs/gst/tmpl/gstbasesrc.sgml:
1463         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1464         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1465         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1466         (gst_base_sink_set_property), (gst_base_sink_get_property),
1467         (gst_base_sink_handle_object), (gst_base_sink_event),
1468         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1469         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1470         (gst_base_sink_loop), (gst_base_sink_deactivate),
1471         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1472         (gst_base_sink_change_state):
1473         * gst/base/gstbasesink.h:
1474         * gst/base/gstbasesrc.h:
1475         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1476         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1477         (gst_filesink_init):
1478           more macro splitting
1479
1480 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1481
1482         * gst/gstelement.c: (gst_element_get_bus):
1483           add debug
1484         * tools/gst-launch.c: (check_intr), (event_loop):
1485           fix bus leaks
1486
1487 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1488
1489         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1490           fix a caps leak
1491
1492 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1493
1494         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1495         (gst_base_src_finalize):
1496           add finalize method and clean up properly
1497         * gst/gstpipeline.c: (gst_pipeline_dispose):
1498           add debug
1499
1500 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1501
1502         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1503         (gst_bin_suite):
1504           add more things to check
1505         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1506         * gst/gstelement.c:
1507           more debug
1508
1509 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1510
1511         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1512         (GST_START_TEST), (fakesrc_suite):
1513         * check/gst-libs/gdp.c: (GST_START_TEST):
1514         * check/gst/gst.c: (GST_START_TEST):
1515         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1516         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1517         * check/gst/gstbus.c: (GST_START_TEST):
1518         * check/gst/gstcaps.c: (GST_START_TEST):
1519         * check/gst/gstdata.c: (GST_START_TEST):
1520         * check/gst/gstelement.c: (GST_START_TEST):
1521         * check/gst/gstghostpad.c: (GST_START_TEST):
1522         * check/gst/gstiterator.c: (GST_START_TEST):
1523         * check/gst/gstmessage.c: (GST_START_TEST):
1524         * check/gst/gstobject.c: (GST_START_TEST):
1525         * check/gst/gstpad.c: (GST_START_TEST):
1526         * check/gst/gststructure.c: (GST_START_TEST):
1527         * check/gst/gstsystemclock.c: (GST_START_TEST),
1528         (gst_systemclock_suite):
1529         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1530         * check/gst/gstvalue.c: (GST_START_TEST):
1531         * check/pipelines/cleanup.c: (GST_START_TEST):
1532         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1533         * check/states/sinks.c: (GST_START_TEST):
1534         * check/gstcheck.c: (gst_check_init):
1535         * check/gstcheck.h:
1536           add debugging category
1537           use GST_START_TEST now, so we add a debug line
1538
1539 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1540
1541         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1542           add test for state change message on a bin
1543         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1544           add another test
1545         * gst/gstbin.c: (gst_bin_init):
1546         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1547         * gst/gstelement.c: (gst_element_post_message),
1548         (gst_element_set_state):
1549         * gst/gstelementfactory.c: (gst_element_factory_create):
1550         * gst/gstmessage.c: (gst_message_new):
1551         * gst/gstscheduler.c:
1552           various debugging additions and cleanups
1553
1554 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1555
1556         * check/Makefile.am:
1557         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1558         (main):
1559           adding tests for elements
1560         * gst/gstelement.c: (gst_element_dispose):
1561
1562 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1563
1564         * gst/registries/gstlibxmlregistry.c: (load_feature):
1565           plug more leaks.  A simple gst_init() now is leakfree, yay.
1566
1567 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1568
1569         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1570         (gst_xml_registry_load):
1571           plug another memleak
1572
1573 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1574
1575         * configure.ac:
1576           use GST_SET_ERROR_CFLAGS
1577         * docs/faq/cvs.xml:
1578           change to ERROR_CFLAGS
1579
1580 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1581
1582         * configure.ac:
1583           make GST_ERROR_CFLAGS overridable and re-enable Werror
1584         * docs/faq/cvs.xml:
1585           add a note about error CFLAGS
1586         * docs/gst/tmpl/gstfakesrc.sgml:
1587         * gst/elements/gstfakesrc.c:
1588           comment out some unused code
1589         * gst/gst.c: (split_and_iterate):
1590         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1591         (load_feature):
1592           plug some memleaks
1593
1594 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1595
1596         * common/Makefile.am:
1597         * common/gtk-doc.mak:
1598         * docs/gst/Makefile.am:
1599           factor out gtk-doc.mak
1600
1601 2005-07-07  Wim Taymans  <wim@fluendo.com>
1602
1603         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1604         (gst_thread_scheduler_dispose):
1605         Unlock the STREAM_LOCK completely.
1606
1607 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1608
1609         * check/Makefile.am:
1610         * check/elements/.cvsignore:
1611         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1612         (START_TEST), (fakesrc_suite), (main):
1613         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1614         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1615         (gst_fakesrc_create), (gst_fakesrc_start):
1616         * gst/elements/gstfakesrc.h:
1617           adding a first element test
1618
1619 2005-07-07  Andy Wingo  <wingo@pobox.com>
1620
1621         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1622         debug message.
1623
1624 2005-07-07  Wim Taymans  <wim@fluendo.com>
1625
1626         * gst/gstquery.c:
1627         * gst/gstquery.h:
1628         Remove old types
1629
1630 2005-07-07  Wim Taymans  <wim@fluendo.com>
1631
1632         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1633         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1634         Allow subclasses to implement their own negotiation.
1635
1636 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1637
1638         * docs/design/part-gstbin.txt:
1639         * docs/design/part-gstpipeline.txt:
1640           Update design notes to reflect the movement of
1641           responsibility for bus handling from GstPipeline to
1642           GstBin
1643
1644 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1645
1646         * configure.ac:
1647           Remove unnecessary queue2/3/4 examples.
1648
1649 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1650
1651         * examples/Makefile.am:
1652         * examples/helloworld/helloworld.c: (event_loop), (main):
1653         * examples/queue/queue.c: (event_loop), (main):
1654         * examples/queue2/queue2.c: (main):
1655           Update a couple of the examples to work again.
1656
1657         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1658         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1659          Spelling corrections and extra debug.
1660         
1661         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1662         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1663         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1664         * gst/gstbin.h:
1665         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1666         (gst_pipeline_change_state):
1667         * gst/gstpipeline.h:
1668           Move the bus handler for children to the GstBin, and create a
1669           separate bus for receiving messages from children to the one the
1670           bus sends 'upwards' on.
1671
1672 2005-07-06  Wim Taymans  <wim@fluendo.com>
1673
1674         * gst/base/README:
1675         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1676         (gst_base_sink_handle_object), (gst_base_sink_loop),
1677         (gst_base_sink_change_state):
1678         * gst/base/gstbasesink.h:
1679         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1680         (gst_base_src_init), (gst_base_src_setcaps),
1681         (gst_base_src_getcaps), (gst_base_src_loop),
1682         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1683         (gst_base_src_start), (gst_base_src_change_state):
1684         * gst/base/gstbasesrc.h:
1685         Make basesrc negotiate.
1686         Handle the case where preroll fails in basesink.
1687         Update README.
1688
1689 2005-07-06  Wim Taymans  <wim@fluendo.com>
1690
1691         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1692         Implement the fixate function.
1693         Clean up acceptcaps.
1694
1695 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1696
1697         * docs/pwg/building-filterfactory.xml:
1698         * docs/pwg/pwg.xml:
1699           Remove never-written filter-factory chapter; I'll add the various
1700           base classes to part 4 ("other element types") later on.
1701
1702 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1703
1704         * docs/pwg/advanced-negotiation.xml:
1705         * docs/pwg/building-boiler.xml:
1706         * docs/pwg/building-pads.xml:
1707         * docs/pwg/pwg.xml:
1708         * examples/pwg/Makefile.am:
1709           Add a chapter on caps negotiation, simplify the original code
1710           samples a bit w.r.t. caps negotiation, add link to the advanced
1711           section. Add a bunch of examples showing different use cases of
1712           different types of caps negotiation. Upstream renegotiation isn't
1713           fully documented yet since nobody knows how that works.
1714
1715 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1716
1717         * check/gst/gstpad.c:
1718         * check/gstcheck.c:
1719         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1720           if pad has no parent, return NULL as list of internal links
1721
1722 2005-07-05  Andy Wingo  <wingo@pobox.com>
1723
1724         * gst/elements/gstfilesrc.c:
1725         * gst/elements/gstfakesrc.c: 
1726         * gst/base/gstpushsrc.c:
1727         * gst/base/gstbasesrc.h: 
1728         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1729         
1730 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1731
1732         * Makefile.am:
1733           better report generation target (lcov needs a patch)
1734
1735 2005-07-05  Andy Wingo  <wingo@pobox.com>
1736
1737         * gst/elements, testsuite: Null if we got it...
1738
1739 2005-07-05  Wim Taymans  <wim@fluendo.com>
1740
1741         * configure.ac:
1742         * libs/gst/dataprotocol/Makefile.am:
1743         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1744         * libs/gst/dataprotocol/dataprotocol.h:
1745         * pkgconfig/Makefile.am:
1746         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1747         * pkgconfig/gstreamer-dataprotocol.pc.in:
1748         Ported dataprotol to 0.9. 
1749         Added pkgconfig files.
1750
1751 2005-07-05  Andy Wingo  <wingo@pobox.com>
1752
1753         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1754         Default to returning TRUE for the case when tranform_caps returns
1755         a fixed caps, like for identity or volume.
1756
1757         * check/gst/gstbus.c (pound_bus_with_messages): 
1758         * check/gst/gstmessage.c (START_TEST): 
1759         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1760         message API change.
1761
1762         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1763         logic weaks here: always run transform_caps, trying passthrough
1764         operation only if the original caps intersects with the transform.
1765
1766         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1767         source and sink caps.
1768
1769         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1770         Intersect the peer caps with the pad template before going into
1771         transform_caps.
1772         (gst_base_transform_transform_caps): More debugging.
1773
1774         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1775         src argument.
1776
1777 2005-07-04  Edward Hervey  <edward@fluendo.com>
1778
1779         * gst/gstutils.c:
1780         * gst/gstutils.h:
1781         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1782         in bindings.
1783
1784 2005-07-04  Andy Wingo  <wingo@pobox.com>
1785
1786         * check/gst/gstpad.c: Only set explicit caps on pads.
1787
1788 2005-07-01  Andy Wingo  <wingo@pobox.com>
1789
1790         * tests/network-clock.scm: Commentary update.
1791
1792         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1793         Didn't really make sense, not implementable with basetransform,
1794         etc.
1795         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1796         attempt at implementing the sync property, needs an unlock method.
1797
1798         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1799         New func, by default returns the same caps (the identity
1800         transformation).
1801         (gst_base_transform_getcaps): Uses transform_caps to return
1802         something sensible.
1803         (gst_base_transform_setcaps): Complicated logic to get caps on
1804         both pads, even if they are different, and to call set_caps once
1805         for every time both pads get their caps set.
1806         (gst_base_transform_handle_buffer): Give the ref to the transform
1807         function. Allows in-place modification of the buffer.
1808
1809         * gst/base/gstbasetransform.h (transform_caps): New class method.
1810         Given caps on one side, what can I do on the other.
1811         (set_caps): Take two caps, one for each side of the element.
1812
1813         * gst/gstpad.h:
1814         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1815         caps in place. This is safe because we can check the mutability of
1816         the caps, and a good idea because fixate functions are just called
1817         as a matter of last resort. (Not actually implemented.)
1818         (gst_pad_set_caps): If the caps we're setting is actually the same
1819         as the existing pad caps, just update the pointer without calling
1820         setcaps. Assert that caps is either NULL or fixed, as per the
1821         docs.
1822
1823         * gst/gstghostpad.c: Update for fixate changes.
1824
1825 2005-07-02  Andy Wingo  <wingo@pobox.com>
1826
1827         * gst/gstcaps.c:
1828         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1829         two refcounts makes it immutable, which is enough. Doc more.
1830
1831 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1832
1833         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1834           Put the mini_object into GValue as a mini_object,
1835           not a gpointer, since that's how we declared
1836           the signal.
1837
1838 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1839
1840         * examples/pwg/Makefile.am:
1841           Fix buildbot again.
1842
1843 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1844
1845         * docs/pwg/building-testapp.xml:
1846           Add extra check.
1847         * examples/pwg/Makefile.am:
1848           Fix buildbot.
1849
1850 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1851
1852         * configure.ac:
1853         * examples/Makefile.am:
1854         * examples/pwg/Makefile.am:
1855         * examples/pwg/extract.pl:
1856           Enable building the PWG examples.
1857         * docs/pwg/advanced-interfaces.xml:
1858           Add URI interface stub.
1859         * docs/pwg/advanced-types.xml:
1860         * docs/pwg/other-autoplugger.xml:
1861         * docs/pwg/appendix-porting.xml:
1862         * docs/pwg/pwg.xml:
1863           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1864         * docs/pwg/building-boiler.xml:
1865         * docs/pwg/building-chainfn.xml:
1866         * docs/pwg/building-pads.xml:
1867         * docs/pwg/building-props.xml:
1868         * docs/pwg/building-state.xml:
1869         * docs/pwg/building-testapp.xml:
1870           Update the building-*.xml parts for 0.9 changes. All examples
1871           code blocks compile in examples/pwg/*.
1872
1873 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1874
1875         * docs/manual/advanced-autoplugging.xml:
1876         * docs/manual/appendix-checklist.xml:
1877         * docs/manual/appendix-integration.xml:
1878         * docs/manual/highlevel-components.xml:
1879           Fix playbin/decodebin examples, update docs a bit, mention bus
1880           instead of signals in various places, mention kmplayer and
1881           kaffeine since they have a working GStreamer backend in the KDE
1882           section.
1883
1884 2005-06-30  Wim Taymans  <wim@fluendo.com>
1885
1886         * CHANGES-0.9:
1887         * docs/design/draft-ghostpads.txt:
1888         * docs/design/draft-push-pull.txt:
1889         * docs/design/draft-query.txt:
1890         * docs/design/part-TODO.txt:
1891         * docs/design/part-query.txt:
1892         Added CHANGES-0.9 doc, updated status of other docs.
1893         
1894         * gst/gstquery.h:
1895         Remove "hmm" macro
1896
1897 2005-06-30  Wim Taymans  <wim@fluendo.com>
1898
1899         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1900         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1901         (gst_base_sink_change_state):
1902         * gst/base/gstbasesink.h:
1903         Some tweaks, only EOS and a buffer complete a preroll.
1904
1905 2005-06-30  Andy Wingo  <wingo@pobox.com>
1906
1907         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1908         activate_push down to the internal pad as well.
1909
1910 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1911
1912         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1913
1914         * gst/gsttaginterface.c:
1915           Some documentation fixes (#307394 and #307397).
1916
1917 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1918
1919         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1920
1921         * gst/gstvalue.c: (gst_value_intersect_list):
1922           Fix memleak (#309125).
1923
1924 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1925
1926         * docs/manual/advanced-dataaccess.xml:
1927           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1928         * docs/manual/basics-pads.xml:
1929           Add reference for filtered caps to above chapter.
1930
1931 2005-06-30  Wim Taymans  <wim@fluendo.com>
1932
1933         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1934         (gst_bin_change_state):
1935         Probes are gone.
1936         Lame attempt at making the state change function a bit
1937         more readable.
1938
1939 2005-06-30  Wim Taymans  <wim@fluendo.com>
1940
1941         * docs/design/part-clocks.txt:
1942         * docs/design/part-element-sink.txt:
1943         * docs/design/part-events.txt:
1944         * docs/design/part-preroll.txt:
1945         * docs/design/part-states.txt:
1946         Some more tweeks and additions to the docs.
1947
1948 2005-06-30  Wim Taymans  <wim@fluendo.com>
1949
1950         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1951         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1952         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1953         (gst_pad_check_pull_range), (gst_pad_get_range),
1954         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1955         * gst/gstpad.h:
1956         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1957         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1958         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1959         (gst_pad_remove_buffer_probe):
1960         Removed atomic operations, use existing LOCK.
1961         Move exception handling out of main code path.
1962
1963 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1964
1965         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1966         (silly_return_true_function), (gst_pad_class_init),
1967         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1968         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1969         (gst_pad_send_event):
1970           Fix accumulator, add default value by using _emitv() instead
1971           of _emit() for signal emission.
1972
1973 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1974
1975         * docs/manual/advanced-dataaccess.xml:
1976         * examples/manual/Makefile.am:
1977           Add probe example.
1978         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1979           Make work (??).
1980
1981 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1982
1983         * gst/elements/gstfilesink.c: (gst_filesink_render):
1984           Simplify code so that we don't have to handle short
1985           writes and return GST_FLOW_ERROR if an error occured.
1986
1987 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1988
1989         * docs/gst/gstreamer-docs.sgml:
1990           Remove probes more.
1991
1992 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1993
1994         * docs/gst/gstreamer-sections.txt:
1995         * docs/gst/tmpl/gstpad.sgml:
1996         * docs/gst/tmpl/gstprobe.sgml:
1997         * gst/Makefile.am:
1998         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1999         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2000         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2001         (gst_pad_push_event), (gst_pad_send_event):
2002         * gst/gstpad.h:
2003         * gst/gstutils.c: (gst_pad_add_data_probe),
2004         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2005         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2006         (gst_pad_remove_buffer_probe):
2007         * gst/gstutils.h:
2008           Remove old probes, add new g-signal-based probes and some utility
2009           functions.
2010
2011 2005-06-29  Edward Hervey  <edward@fluendo.com>
2012
2013         * gst/gstelementfactory.c:
2014         * gst/gstutils.h:
2015         * gst/gstutils.c:
2016         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2017         the definition to the header file.
2018
2019 2005-06-29  Andy Wingo  <wingo@pobox.com>
2020
2021         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2022         plugins from the source directory.
2023
2024 2005-06-29  Wim Taymans  <wim@fluendo.com>
2025
2026         * docs/gst/tmpl/gstbuffer.sgml:
2027         * docs/gst/tmpl/gstclock.sgml:
2028         Some fixings for blantently wrong text.
2029
2030 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2031
2032         * check/Makefile.am:
2033         * gst/gst.c: (add_path_func), (init_pre):
2034         * gst/gstregistry.c: (gst_registry_add_path):
2035           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2036           only scan the GST_PLUGIN_PATH locations, and not add
2037           system locations
2038
2039 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2040
2041         * docs/gst/gstreamer-sections.txt:
2042         * docs/gst/tmpl/gstbasesrc.sgml:
2043         * gst/gstelement.c:
2044         * gst/gstelement.h:
2045         * gst/gstevent.c:
2046         * gst/gstutils.c:
2047           doc fixes
2048
2049 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2050
2051         * docs/manual/advanced-autoplugging.xml:
2052           Fix autoplugging example.
2053
2054 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2055
2056         * docs/manual/advanced-autoplugging.xml:
2057         * docs/manual/mime-world.fig:
2058           Try to get autoplugging working, fix type detection. Fix text
2059           in hello-world image.
2060
2061 2005-06-29  Wim Taymans  <wim@fluendo.com>
2062
2063         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2064         (gst_base_sink_change_state):
2065         Small debug line.
2066
2067         * gst/gstclock.h:
2068         map SIGNAL and BROADCAST to the right function.
2069
2070         * gst/gstobject.h:
2071         Remove redundant braces.
2072
2073         * gst/gstpad.c: (gst_pad_set_caps):
2074         Don't call setcaps function when reseting caps to NULL.
2075
2076         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2077         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2078         (gst_system_clock_id_unschedule):
2079         Use BROADCAST as this is what we do.
2080
2081 2005-06-29  Wim Taymans  <wim@fluendo.com>
2082
2083         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2084         We are actually prerolling before commiting the state
2085         change. 
2086
2087 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2088
2089         * docs/manual/advanced-clocks.xml:
2090         * docs/manual/advanced-interfaces.xml:
2091         * docs/manual/advanced-metadata.xml:
2092         * docs/manual/advanced-position.xml:
2093         * docs/manual/advanced-schedulers.xml:
2094         * docs/manual/advanced-threads.xml:
2095         * docs/manual/appendix-porting.xml:
2096         * docs/manual/basics-bins.xml:
2097         * docs/manual/basics-bus.xml:
2098         * docs/manual/basics-elements.xml:
2099         * docs/manual/basics-helloworld.xml:
2100         * docs/manual/basics-pads.xml:
2101         * docs/manual/highlevel-components.xml:
2102         * docs/manual/manual.xml:
2103         * docs/manual/thread.fig:
2104           Update (until threads/scheduling) Application Development Manual;
2105           remove GstThread, add GstBus, add simple porting checklist, add
2106           documentation for tag writing, clocks, make all examples until this
2107           part compile and run.
2108         * examples/manual/Makefile.am:
2109           Update from changes to Application Development Manual; add bus
2110           example, remove thread example.
2111
2112 2005-06-28  Wim Taymans  <wim@fluendo.com>
2113
2114         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2115         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2116         (gst_bus_source_dispatch):
2117         Add debugging messages.
2118         Make internal methods static.
2119         Handle the case where the bus is flushed in the handler.
2120         
2121         * gst/gstelement.c: (gst_element_get_bus):
2122         Fix refcount in _get_bus();
2123
2124         * gst/gstpipeline.c: (gst_pipeline_change_state),
2125         (gst_pipeline_get_clock_func):
2126         Clock refcounting fixes.
2127         Handle the case where preroll timed out more gracefully.
2128         
2129         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2130         Clean up the internal thread in dispose. This is needed
2131         for subclasses that actually get disposed.
2132         
2133         * gst/schedulers/threadscheduler.c:
2134         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2135         (gst_thread_scheduler_dispose):
2136         Free thread pool in dispose.
2137
2138 2005-06-28  Andy Wingo  <wingo@pobox.com>
2139
2140         * tests/network-clock-utils.scm (debug, print-event): New utils.
2141
2142         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2143         (*packet-loss*): Unified loss probability.
2144         (network-time): Report out-of-band events.
2145
2146         * tests/plot-data: Add support for out-of-band events. Hack it
2147         into this script instead of passing it down the pipe; should fix
2148         this later.
2149
2150 2005-06-28  Wim Taymans  <wim@fluendo.com>
2151
2152         * docs/gst/gstreamer.types:
2153         * docs/gst/tmpl/gstbasesrc.sgml:
2154         * docs/gst/tmpl/gstpad.sgml:
2155         Docs fixes.
2156
2157 2005-06-28  Wim Taymans  <wim@fluendo.com>
2158
2159         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2160         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2161         (gst_proxy_pad_do_fixatecaps):
2162         Correctly proxy the check_pull_range function.
2163
2164 2005-06-28  Andy Wingo  <wingo@pobox.com>
2165
2166         * tests/network-clock.scm: Removed need for slib.
2167         
2168 2005-06-28  Wim Taymans  <wim@fluendo.com>
2169
2170         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2171         (gst_basesink_preroll_queue_flush):
2172         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2173         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2174         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2175         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2176         (gst_proxy_pad_set_property):
2177         * gst/gstpad.c:
2178         * gst/gstpad.h:
2179         * gst/gstqueue.c: (gst_queue_init):
2180         The deprecated pad loop function is removed now.
2181
2182 2005-06-28  Andy Wingo  <wingo@pobox.com>
2183
2184         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2185         New parameters, simulate network packet loss.
2186
2187         * tests/network-clock-utils.scm: Initialize the RNG.
2188
2189 2005-06-28  Wim Taymans  <wim@fluendo.com>
2190
2191         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2192         (gst_basesink_event), (gst_basesink_deactivate):
2193         Flushing the preroll queue always needs to unlock the waiters.
2194
2195 2005-06-28  Edward Hervey  <edward@fluendo.com>
2196
2197         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2198         Wheen a seek was successful on a pipeline, set the stream_time to the
2199         seek offset in order to have a synchronized stream_time.
2200
2201 2005-06-28  Wim Taymans  <wim@fluendo.com>
2202
2203         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2204         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2205         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2206         (gst_proxy_pad_do_fixatecaps):
2207         Call wrapper function instead of just calling the function
2208         pointers. This takes care of any locking and whatmore.
2209
2210 2005-06-28  Wim Taymans  <wim@fluendo.com>
2211
2212         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2213         (gst_pad_pull_range):
2214         * gst/gstpad.h:
2215         CONNECTED -> LINKED.
2216
2217 2005-06-28  Andy Wingo  <wingo@pobox.com>
2218
2219         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2220         source-munging commit!!!
2221
2222         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2223         (gst_object_sink): Take gpointer arguments, not GstObject --
2224         avoids casts. Like GLib.
2225
2226         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2227         activate.
2228
2229 2005-06-27  Andy Wingo  <wingo@pobox.com>
2230
2231         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2232         remaining buffer.
2233
2234         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2235         returns a sorted copy of the trace list.
2236         (gst_alloc_trace_print_live): New API, only prints traces with
2237         live objects. Sort the list.
2238         (gst_alloc_trace_print_all): Sort the list.
2239         (gst_alloc_trace_print): Align columns.
2240
2241         * gst/elements/gstttypefindelement.c:
2242         * gst/elements/gsttee.c:
2243         * gst/base/gstbasesrc.c:
2244         * gst/base/gstbasesink.c:
2245         * gst/base/gstbasetransform.c:
2246         * gst/gstqueue.c: Adapt for pad activation changes.
2247
2248         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2249         sched.
2250         (gst_pipeline_dispose): Drop ref on sched.
2251
2252         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2253         (gst_pad_activate_default): Push mode by default.
2254         (pre_activate_switch, post_activate_switch): New stubs, things to
2255         do before and after switching activation modes on pads.
2256         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2257         the pad's activate function to choose which mode to activate.
2258         Shortcut on deactivation and call the right function directly.
2259         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2260         mode.
2261         (gst_pad_activate_push): New API, same for push mode.
2262         (gst_pad_set_activate_function) 
2263         (gst_pad_set_activatepull_function) 
2264         (gst_pad_set_activatepush_function): Setters for new API.
2265
2266         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2267         Trace all miniobjects.
2268         (gst_mini_object_make_writable): Unref the arg if we copy, like
2269         gst_caps_make_writable.
2270
2271         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2272
2273         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2274         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2275         Adapt for new pad API.
2276
2277         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2278
2279         * gst/gstelement.h:
2280         * gst/gstelement.c (gst_element_iterate_src_pads) 
2281         (gst_element_iterate_sink_pads): New API functions.
2282         
2283         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2284         should fold into gstiterator.c in some form.
2285         (gst_element_pads_activate): Simplified via use of fold and
2286         delegation of decisions to gstpad->activate.
2287
2288         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2289         help in debugging.
2290
2291         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2292         class once in init, like gstmessage. Didn't run into this issue
2293         but it seems correct. Don't initialize a trace, gstminiobject does
2294         that.
2295
2296         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2297         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2298         to the bus.
2299         (assert_live_count): New util function, uses alloc traces to check
2300         cleanup.
2301
2302         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2303         To be modified when unlink drops the internal pad.
2304
2305 2005-06-27  Wim Taymans  <wim@fluendo.com>
2306
2307         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2308         (gst_bin_change_state):
2309         Cleanup the get_state() function a little, make sure it
2310         iterates the same set of elements.
2311         Added stub iterate_state_order().
2312
2313 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2314
2315         * docs/gst/gstreamer-docs.sgml:
2316         * docs/gst/gstreamer-sections.txt:
2317         * docs/gst/gstreamer.types:
2318         * docs/gst/tmpl/gstbasesink.sgml:
2319         * docs/gst/tmpl/gstbasesrc.sgml:
2320         * docs/gst/tmpl/gstbasetransform.sgml:
2321         * docs/gst/tmpl/gstelement.sgml:
2322         * docs/gst/tmpl/gstiterator.sgml:
2323         * gst/base/gstbasesrc.c:
2324         * gst/base/gstbasesrc.h:
2325         * gst/base/gstbasetransform.h:
2326         * gst/gstelement.c:
2327         * gst/gstiterator.h:
2328           adding basetransform and iterator docs
2329
2330 2005-06-27  Andy Wingo  <wingo@pobox.com>
2331
2332         * docs/design/part-activation.txt: Notes on how activation should
2333         work -- not quite implemented yet.
2334
2335 2005-06-25  Wim Taymans  <wim@fluendo.com>
2336
2337         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2338         At least get the chain function correct, needs more
2339         fixing.
2340
2341 2005-06-25  Wim Taymans  <wim@fluendo.com>
2342
2343         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2344         (gst_basesink_handle_object), (gst_basesink_event),
2345         (gst_basesink_do_sync), (gst_basesink_handle_event),
2346         (gst_basesink_change_state):
2347         * gst/gsttask.h:
2348         Right, two problems here: ghostpads don't take locks and
2349         glib _rec_mutex_lock_full() with depth==0 still locks.
2350         Catch illegal locking and g_warn them.
2351
2352 2005-06-25  Wim Taymans  <wim@fluendo.com>
2353
2354         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2355         Have to check for completion now...
2356
2357 2005-06-25  Wim Taymans  <wim@fluendo.com>
2358
2359         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2360         (gst_basesink_handle_object), (gst_basesink_event),
2361         (gst_basesink_do_sync), (gst_basesink_handle_event),
2362         (gst_basesink_change_state):
2363         * gst/gstpad.h:
2364         Unlock STREAM_LOCK whatever the recursion was.
2365
2366 2005-06-25  Wim Taymans  <wim@fluendo.com>
2367
2368         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2369         (gst_basesink_preroll_queue_empty),
2370         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2371         (gst_basesink_event), (gst_basesink_do_sync),
2372         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2373         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2374         (gst_basesink_change_state):
2375         Reworked the base sink, handle event and buffer serialisation
2376         correctly and removed possible deadlock.
2377         Handle EOS correctly.
2378
2379 2005-06-25  Wim Taymans  <wim@fluendo.com>
2380
2381         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2382         (gst_pipeline_change_state):
2383         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2384         Allow elements to post EOS in the state change function.
2385         Fix up -launch, make it exit the poll loop when the
2386         pipeline actually changed state.
2387         Fix up warning parsing in -launch.
2388
2389 2005-06-25  Wim Taymans  <wim@fluendo.com>
2390
2391         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2392         (gst_tee_sink_activate):
2393         Core takes STREAM_LOCK for us now.
2394
2395 2005-06-25  Wim Taymans  <wim@fluendo.com>
2396
2397         * gst/gstelement.c: (gst_element_get_state_func),
2398         (gst_element_set_state):
2399         * gst/gstelement.h:
2400         * gst/gstmessage.c: (gst_message_parse_error),
2401         (gst_message_parse_warning):
2402         Keep track of current target state while performing a state
2403         change so that subclasses can do something interesting.
2404         Fix parsing of warning/error messages when GError is NULL.
2405
2406 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2407
2408         * docs/gst/Makefile.am:
2409         * docs/gst/gstreamer-docs.sgml:
2410         * docs/gst/gstreamer-sections.txt:
2411         * docs/gst/gstreamer.types:
2412         * docs/gst/tmpl/gstbasesink.sgml:
2413         * docs/gst/tmpl/gstbasesrc.sgml:
2414         * docs/gst/tmpl/gstbin.sgml:
2415         * docs/gst/tmpl/gstcompat.sgml:
2416         * docs/gst/tmpl/gstfakesink.sgml:
2417         * docs/gst/tmpl/gstfakesrc.sgml:
2418         * docs/gst/tmpl/gstfilesink.sgml:
2419         * docs/gst/tmpl/gstfilesrc.sgml:
2420         * docs/gst/tmpl/gstindex.sgml:
2421         * docs/manual/appendix-quotes.xml:
2422         * gst/base/gstbasesrc.h:
2423         * gst/elements/gstfakesrc.h:
2424         * gst/gstmessage.h:
2425           start pulling in base classes and elements in our docs
2426
2427 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2428
2429         * docs/gst/Makefile.am:
2430         * docs/libs/Makefile.am:
2431           fixed make distcheck with gtk-doc 1.3
2432
2433 2005-06-23  Wim Taymans  <wim@fluendo.com>
2434
2435         * gst/gstelement.c: (gst_element_get_state_func),
2436         (gst_element_set_state), (gst_element_change_state):
2437         When the state did not change, also report NO_PREROLL
2438         when it matters.
2439
2440 2005-06-23  Wim Taymans  <wim@fluendo.com>
2441
2442         * gst/gstpad.c: (gst_pad_event_default):
2443         * gst/gstqueue.c: (gst_queue_loop):
2444         No unsafe task pausing please.
2445
2446 2005-06-23  Wim Taymans  <wim@fluendo.com>
2447
2448         * gst/schedulers/threadscheduler.c:
2449         (gst_thread_scheduler_task_start),
2450         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2451         Ref the task before pushing it on the threadpool. This
2452         makes sure that we have a ref when the threadfunction is
2453         actually called.
2454
2455 2005-06-23  Andy Wingo  <wingo@pobox.com>
2456
2457         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2458         offset is greater than the file's size.
2459
2460         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2461         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2462         * gst/gstobject.c (gst_object_class_init): Make the class lock
2463         recursive. Wim won't let me drop deep_notify. Decodebin works
2464         again, whoopdy doo.
2465
2466         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2467         internal pad, and hacks accordingly. Doesn't do it on the target
2468         pad because we change its caps. Probably catches all cases of
2469         interest tho.
2470         (gst_ghost_pad_set_property): Connect to notify::caps as
2471         appropritate.
2472
2473         * tests/network-clock.scm (plot-simulation): Pipe data to the
2474         elite python skript.
2475
2476         * tests/network-clock-utils.scm (define-parameter): New macro,
2477         defines a parameter that can be set via the command line.
2478         (set-parameter!, parse-parameter-arguments): Command line args
2479         parser.
2480
2481         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2482         stdin.
2483
2484 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2485
2486         * gst/elements/gsttypefindelement.c:
2487         (gst_type_find_element_handle_event):
2488           Don't restart typefinding on a discont.
2489         * gst/gstelement.c: (gst_element_set_state):
2490           Debug spelling fix.
2491         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2492           Allow changing mode of an active pad.
2493           Debug output fixes.
2494         * gst/registries/gstlibxmlregistry.c: (load_feature):
2495           Don't cast a static pad template to a normal pad template.
2496
2497 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2498
2499         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2500         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2501           remove gst_strtoll completely, since it didn't actually do
2502           anything more than what g_ascii_strtoull already does.
2503           check for range errors when deserializing
2504           do a cast for the unsigned cases; but further fixing needs
2505           a decision on what the interpretation of "(int)" and
2506           deserialization should be for values that fall outside the
2507           type's boundaries (ie, refuse, or interpret as casting)
2508
2509 2005-06-23  Wim Taymans  <wim@fluendo.com>
2510
2511         * check/Makefile.am:
2512         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2513         * docs/design/part-live-source.txt:
2514         * docs/design/part-states.txt:
2515         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2516         (gst_basesrc_set_live), (gst_basesrc_is_live),
2517         (gst_basesrc_get_range), (gst_basesrc_activate),
2518         (gst_basesrc_change_state):
2519         * gst/base/gstbasesrc.h:
2520         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2521         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2522         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2523         * gst/gstelement.c: (gst_element_get_state_func),
2524         (gst_element_set_state):
2525         * gst/gstelement.h:
2526         * gst/gsttypes.h:
2527         * tools/gst-launch.c: (event_loop), (main):
2528         Added support for live sources and other elements that
2529         cannot do preroll.
2530         Updated design docs, added live-source design doc.
2531         Implemented live source functionality in basesrc
2532         Fix error condition in _bin_get_state()
2533         Implement live source handling in -launch.
2534         Added check for live sources.
2535         Fixed case in GstBin where elements were changed state
2536         multiple times.
2537
2538
2539 2005-06-23  Andy Wingo  <wingo@pobox.com>
2540
2541         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2542         borken refcounting.
2543
2544         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2545         gst_caps_replace takes care of this for us.
2546
2547         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2548         gst_pad_set_caps on the target, not just its setcaps() function.
2549
2550         * tests/network-clock.scm: 
2551         * tests/network-clock-utils.scm: A network clock simulator.
2552         Something of an algorithmic testbed before doing something in C.
2553
2554 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2555
2556         * check/Makefile.am:
2557         * check/gst/capslist.h:
2558           copy over from 0.8, and add two with bitmasks specified with
2559           (int) 0xFF...
2560         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2561           add test to parse everything from capslist.h
2562         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2563         (main):
2564           add test for structure deserialization
2565         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2566           add tests for deserialization of strings to int types
2567         * gst/gststructure.c: (gst_structure_nth_field_name):
2568         * gst/gststructure.h:
2569           add a way to get the name of a field referenced by index
2570         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2571           instead of checking if the resulting long long lies between
2572           min and max, we check if the long long would fit into
2573           a number of bytes for the final type.
2574           This fixes cases where a string represents 2^32 - 1, which
2575           when cast to int would be the (valid) -1, but is bigger than
2576           G_MAXINT
2577
2578 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2579
2580         * gst/parse/grammar.y:
2581           add a log line for type deserialization
2582
2583 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2584
2585         * check/gst/gstvalue.c: (START_TEST):
2586         * gst/gstvalue.c: (gst_value_deserialize):
2587           return long long, not int, so gint64 deserialization actually
2588           works.  Is there any flag that makes the compiler check this ?
2589           Fixes #308559
2590
2591 2005-06-22  Wim Taymans  <wim@fluendo.com>
2592
2593         * gst/gstbuffer.h:
2594         Added convenience macros for setting buffers in GValue.
2595
2596 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2597
2598         * check/gst/.cvsignore:
2599         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2600           add a test deserializing int64, and comment part out because
2601           it fails, yay !
2602
2603 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2604
2605         * check/Makefile.am:
2606         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2607         * testsuite/Makefile.am:
2608         * testsuite/caps/Makefile.am:
2609         * testsuite/caps/value_serialize.c:
2610         * testsuite/test_gst_init.c:
2611           move a value_serialize test over
2612
2613 2005-06-20  Wim Taymans  <wim@fluendo.com>
2614
2615         * gst/gstpad.c:
2616         Small doc updates.
2617         
2618         * gst/gstvalue.c: (gst_value_compare_buffer),
2619         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2620         (gst_value_compare_flags), (gst_value_serialize_flags),
2621         (gst_value_deserialize_flags), (_gst_value_initialize):
2622         Fix serialisation of buffers, they are not boxed types anymore
2623
2624 2005-06-20  Wim Taymans  <wim@fluendo.com>
2625
2626         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2627         Testcase to show error in buffer-on-caps serialisation.
2628
2629 2005-06-20  Andy Wingo  <wingo@pobox.com>
2630
2631         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2632         will be adding to later.
2633
2634         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2635         if its socks fill with rocks.
2636         (gst_system_clock_obtain): Set the name on object construction.
2637         Avoid double-checked locking.
2638
2639 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2640
2641         * gst/gsturi.c: (gst_element_make_from_uri):
2642           Fix potential endless loop.
2643
2644 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2645
2646         * check/Makefile.am:
2647           add gsttag
2648         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2649         (main):
2650           move over from testsuite dir and clean up
2651         * configure.ac:
2652         * gst/gsttag.c:
2653         * testsuite/Makefile.am:
2654         * testsuite/tags/.cvsignore:
2655         * testsuite/tags/Makefile.am:
2656         * testsuite/tags/merge.c:
2657           remove testsuite/tags
2658
2659 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2660
2661         * docs/gst/gstreamer-sections.txt:
2662         * docs/gst/tmpl/gstenumtypes.sgml:
2663         * win32/gstenumtypes.c:
2664           clean up documentation build a little
2665
2666 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2667
2668         * check/gstcheck.h:
2669           add macros for checking refcounts on objects and caps
2670         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2671           add some more unit tests
2672         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2673         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2674           fix leaked refcounts (I hope :)) so unittest works
2675         * gst/gstpad.h:
2676           whitespace removal
2677
2678 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2679
2680         * configure.ac: back to HEAD
2681
2682 === release 0.9.1 ===
2683
2684 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2685
2686         * NEWS:
2687         * RELEASE:
2688           updated
2689
2690 2005-06-17  Andy Wingo  <wingo@pobox.com>
2691
2692         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2693         assert; it's always possible that the pad gets deactivated in
2694         between the checks in gstpad.c and the implementation. Rely on
2695         finish_preroll() to return a FLUSHING or similar instead of on the
2696         assert.
2697         
2698         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2699         clock and post an EOS message if we come out of finish_preroll in
2700         the playing state.
2701
2702 2005-06-16  David Schleef  <ds@schleef.org>
2703
2704         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2705         (gst_capsfilter_set_property): Allow NULL as possible value
2706         for filter_caps property, indicating GST_CAPS_ANY.
2707
2708 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2709
2710         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2711           fix debug output
2712         * gst/schedulers/Makefile.am:
2713           use libgst prefix
2714         * gstreamer.spec.in:
2715           fix spec for it
2716
2717 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2718
2719         * gstreamer.spec.in:
2720           clean up
2721
2722 2005-06-08  Andy Wingo  <wingo@pobox.com>
2723
2724         * gst/gstutils.c: RPAD fixes all around.
2725         (gst_element_link_pads): Refcounting fixes.
2726
2727         * tools/gst-inspect.c:
2728         * tools/gst-xmlinspect.c:
2729         * parse/grammar.y:
2730         * gst/base/gsttypefindhelper.c:
2731         * gst/base/gstbasesink.c:
2732         * gst/gstqueue.c: RPAD fixes.
2733
2734         * gst/gstghostpad.h:
2735         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2736         pads. The tricky thing is they provide both source and sink
2737         interfaces, since they proxy the internal pad for the external
2738         pad, and vice versa. Implement with lower-level ProxyPad objects,
2739         with the interior proxy pad as a child of the exterior ghost pad.
2740         Should write a doc on this.
2741         
2742         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2743         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2744         gst_object API.
2745         
2746         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2747         pads are real pads. No ghost pads in this file. Not documenting
2748         the myriad s/RPAD/PAD/ and REALIZE fixes.
2749         (gst_pad_class_init): Add properties for "direction" and
2750         "template". Both are construct-only, so they can't change during
2751         the life of the pad. Fixes properly deriving from GstPad.
2752         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2753         derived objects, just set properties when creating the objects via
2754         g_object_new.
2755         (gst_pad_get_parent): Implement as a function, return NULL if the
2756         parent is not an element.
2757         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2758         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2759         
2760         * gst/gstobject.c (gst_object_class_init): Make name a construct
2761         property. Don't set it in the object init.
2762
2763         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2764         with UNKNOWN direction.
2765         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2766         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2767         (gst_element_remove_pad): Remove ghost-pad special cases.
2768         (gst_element_pads_activate): Remove rpad cruft.
2769
2770         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2771         catch the pad's-parent-not-an-element case.
2772
2773         * gst/gst.h: Include gstghostpad.h.
2774
2775         * gst/gst.c (init_post): No more real, ghost pads.
2776
2777         * gst/Makefile.am: Add gstghostpad.[ch].
2778
2779         * check/Makefile.am:
2780         * check/gst/gstbin.c:
2781         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2782         into a bin creates ghost pads, and that the refcounts are right.
2783         Partly moved from gstbin.c.
2784
2785 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2786
2787         * check/gst-libs/.cvsignore:
2788         * check/gst/.cvsignore:
2789         * check/pipelines/.cvsignore:
2790           ignore more
2791         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2792         (START_TEST), (cleanup_suite), (main):
2793           add some tests related to cleanup after running pipelines
2794
2795 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2796
2797         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2798           add a testsuite for GstBuffer
2799
2800 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2801
2802         * gst/gstminiobject.h:
2803           add defines for accessing the refcount
2804
2805 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2806
2807         * Makefile.am: added support for html unit test coverage reports
2808
2809 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2810
2811         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2812           Free existing caps if the capsfilter changes. Add a FIXME about
2813           setting those caps on the pads.
2814
2815         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2816           Before adding a ghost pad to a parent bin, check that there isn't
2817           already one for the element on the bin. Prevents infinite recursion
2818           when using decodebin in parse pipelines. Andy says he'll rewrite the
2819           way this works anyway, so ignore the hack.
2820
2821 2005-06-02  Andy Wingo  <wingo@pobox.com>
2822
2823         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2824         file size, pass it on to the type find helper.
2825
2826         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2827         segment_start and segment_end properly according to the seek
2828         method. Segment_end is still a bit flaky because offset can be
2829         negative for CUR and END cases, but it takes -1 as an "unset"
2830         value.
2831
2832 2005-06-02  Wim Taymans  <wim@fluendo.com>
2833
2834         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2835         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2836         (gst_basesink_activate):
2837         * gst/base/gstbasesink.h:
2838         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2839         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2840         (gst_pad_query), (gst_pad_start_task):
2841         * gst/gstpad.h:
2842         * gst/gstqueue.c: (gst_queue_bufferalloc),
2843         (gst_queue_handle_sink_event), (gst_queue_chain):
2844         Bufferalloc: return GstFlowReturn to more accuratly report
2845         why allocation failed.
2846
2847 2005-06-02  Wim Taymans  <wim@fluendo.com>
2848
2849         * gst/gstpipeline.c: (gst_pipeline_send_event):
2850         Take snapshot of state without blocking.
2851
2852 2005-06-02  Wim Taymans  <wim@fluendo.com>
2853
2854         * docs/design/part-TODO.txt:
2855         * docs/design/part-caps.txt:
2856         * docs/design/part-clocks.txt:
2857         * docs/design/part-negotiation.txt:
2858         * docs/design/part-preroll.txt:
2859         Small doc updates 
2860
2861 2005-05-30  Wim Taymans  <wim@fluendo.com>
2862
2863         * gst/elements/gstidentity.c: (gst_identity_event),
2864         (gst_identity_transform), (gst_identity_get_property):
2865         Protect last_message property as it is accessed from
2866         multiple threads.
2867
2868 2005-05-30  Wim Taymans  <wim@fluendo.com>
2869
2870         * gst/gstelement.c: (gst_element_init),
2871         (gst_element_pads_activate), (gst_element_change_state):
2872         Slicker pad activation code.
2873
2874 2005-05-30  Wim Taymans  <wim@fluendo.com>
2875
2876         * gst/Makefile.am:
2877         * gst/gstelement.h:
2878         * gst/gstelementfactory.h:
2879         * gst/gsttypes.h:
2880         Move elementfactory methods to separate .h file.
2881
2882 2005-05-30  Wim Taymans  <wim@fluendo.com>
2883
2884         * docs/design/part-overview.txt:
2885         * gst/gstsystemclock.h:
2886         Small typo fixes, doc updates.
2887
2888 2005-05-30  Wim Taymans  <wim@fluendo.com>
2889
2890         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2891         (init_popt_callback):
2892         Remove cpu-opt flag.
2893
2894 2005-05-30  Wim Taymans  <wim@fluendo.com>
2895
2896         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2897         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2898         * gst/gstbuffer.h:
2899         Avoid typechecking in places where not needed.
2900         Added accessor for malloc_data.
2901
2902 2005-05-30  Wim Taymans  <wim@fluendo.com>
2903
2904         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2905         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2906         (gst_pad_configure_sink), (gst_pad_configure_src),
2907         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2908         (gst_pad_start_task):
2909         Propagate errors from _set_caps() in configure_src/sink
2910         functions instead of returning TRUE.
2911         FLUSH events can travel up and downstream
2912
2913
2914 2005-05-30  Wim Taymans  <wim@fluendo.com>
2915
2916         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2917         (gst_basesink_activate):
2918         Handle EOS in preroll.
2919
2920 2005-05-30  Wim Taymans  <wim@fluendo.com>
2921
2922         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2923         (gst_queue_loop), (gst_queue_handle_src_event):
2924         Remove old pieces of code
2925         Flushing the queue in an upstream event is a very bad idea.
2926
2927 2005-05-26  Andy Wingo  <wingo@pobox.com>
2928
2929         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2930         gst_value_set_mini_object so as to add a ref on the object (which
2931         will be removed when the value is unset).
2932
2933         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2934         arg type in ::handoff.
2935
2936         * gst/gstelement.c (gst_element_change_state): Also deactivate
2937         pads in READY->NULL, just in case the element didn't make it to
2938         PAUSED. Wingo tested, Wim approved.
2939
2940 2005-05-26  Wim Taymans  <wim@fluendo.com>
2941
2942         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2943         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2944         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2945         A flushing pad cannot be used to alloc_buffer from.
2946
2947 2005-05-26  Wim Taymans  <wim@fluendo.com>
2948
2949         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2950         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2951         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2952         (gst_bus_create_watch), (gst_bus_add_watch_full):
2953         * gst/gstbus.h:
2954         Implement a real GSource and use g_main_context_wakeup() to
2955         signal new messages instead of the socketpair.
2956
2957 2005-05-25  Wim Taymans  <wim@fluendo.com>
2958
2959         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2960         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2961         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2962         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2963         (gst_pad_send_event), (gst_pad_start_task):
2964         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2965         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2966         (gst_queue_sink_activate), (gst_queue_src_activate),
2967         (gst_queue_change_state):
2968         * gst/gstqueue.h:
2969         Fix state changes for non sinks. We now change sinks, then elements
2970         with unconnected srcpads, then the rest.
2971         More efficient queue unlocking in flush and state changes.
2972         Set the pad activate mode even if it does not have an activate
2973         function.
2974
2975 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2976
2977         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2978           Don't go in pull mode for non-seekable sources.
2979         * gst/elements/gsttypefindelement.h:
2980         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2981         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2982         (free_entry), (stop_typefinding),
2983         (gst_type_find_element_handle_event), (find_peek),
2984         (gst_type_find_element_chain), (do_pull_typefind),
2985         (gst_type_find_element_change_state):
2986           Allow typefinding (w/o seeking) in push-mode, simplified version
2987           of what was in 0.8.
2988         * gst/gstutils.c: (gst_buffer_join):
2989         * gst/gstutils.h:
2990           gst_buffer_join() from 0.8.
2991
2992 2005-05-25  Wim Taymans  <wim@fluendo.com>
2993
2994         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2995         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2996         (gst_pad_send_event), (gst_pad_start_task):
2997         Disable attempt at mode switching until it is figured out.
2998
2999 2005-05-25  Wim Taymans  <wim@fluendo.com>
3000
3001         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3002         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3003         (gst_basesink_finish_preroll), (gst_basesink_chain),
3004         (gst_basesink_loop), (gst_basesink_activate),
3005         (gst_basesink_change_state):
3006         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3007         (gst_basesrc_get_range), (gst_basesrc_loop),
3008         (gst_basesrc_activate):
3009         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3010         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3011         (gst_real_pad_init), (gst_real_pad_set_property),
3012         (gst_real_pad_get_property), (gst_pad_set_active),
3013         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3014         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3015         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3016         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3017         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3018         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3019         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3020         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3021         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3022         (gst_pad_stop_task):
3023         * gst/gstpad.h:
3024         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3025         (gst_queue_loop), (gst_queue_src_activate):
3026         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3027         (gst_task_get_state):
3028         * gst/gsttask.h:
3029         * gst/schedulers/threadscheduler.c:
3030         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3031         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3032         in task function.
3033         Remove ACTIVE pad flag, use FLUSHING everywhere
3034         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3035         functions.
3036         Add locks around IS_FLUSHING when reading.
3037         Take STREAM lock in chain(), get_range() functions so plugins
3038         don't need to take it anymore.
3039         
3040
3041
3042 2005-05-25  Wim Taymans  <wim@fluendo.com>
3043
3044         * tools/gst-launch.c: (event_loop):
3045         Unref message after using its contents instead of
3046         before.
3047
3048 2005-05-24  Wim Taymans  <wim@fluendo.com>
3049
3050         * docs/design/draft-ghostpads.txt:
3051         * docs/design/draft-push-pull.txt:
3052         * docs/design/draft-query.txt:
3053         * docs/design/part-overview.txt:
3054         Docs updates, added general overview doc.
3055
3056 2005-05-21  David Schleef  <ds@schleef.org>
3057
3058         * docs/gst/tmpl/old/GstBin.sgml:
3059         * docs/gst/tmpl/old/GstBuffer.sgml:
3060         * docs/gst/tmpl/old/GstCaps.sgml:
3061         * docs/gst/tmpl/old/GstClock.sgml:
3062         * docs/gst/tmpl/old/GstCompat.sgml:
3063         * docs/gst/tmpl/old/GstData.sgml:
3064         * docs/gst/tmpl/old/GstElement.sgml:
3065         * docs/gst/tmpl/old/GstEvent.sgml:
3066         * docs/gst/tmpl/old/GstIndex.sgml:
3067         * docs/gst/tmpl/old/GstStructure.sgml:
3068         * docs/gst/tmpl/old/GstTag.sgml:
3069         * docs/gst/tmpl/old/cothreads.sgml:
3070         * docs/gst/tmpl/old/cothreads_compat.sgml:
3071         * docs/gst/tmpl/old/gettext.sgml:
3072         * docs/gst/tmpl/old/gobject2gtk.sgml:
3073         * docs/gst/tmpl/old/grammar.tab.sgml:
3074         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3075         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3076         * docs/gst/tmpl/old/gst_private.sgml:
3077         * docs/gst/tmpl/old/gstaggregator.sgml:
3078         * docs/gst/tmpl/old/gstarch.sgml:
3079         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3080         * docs/gst/tmpl/old/gstbufferstore.sgml:
3081         * docs/gst/tmpl/old/gstdata_private.sgml:
3082         * docs/gst/tmpl/old/gstdisksink.sgml:
3083         * docs/gst/tmpl/old/gstdisksrc.sgml:
3084         * docs/gst/tmpl/old/gstelementfactory.sgml:
3085         * docs/gst/tmpl/old/gstextratypes.sgml:
3086         * docs/gst/tmpl/old/gstfakesink.sgml:
3087         * docs/gst/tmpl/old/gstfakesrc.sgml:
3088         * docs/gst/tmpl/old/gstfdsink.sgml:
3089         * docs/gst/tmpl/old/gstfdsrc.sgml:
3090         * docs/gst/tmpl/old/gstfilesink.sgml:
3091         * docs/gst/tmpl/old/gstfilesrc.sgml:
3092         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3093         * docs/gst/tmpl/old/gstidentity.sgml:
3094         * docs/gst/tmpl/old/gstindexfactory.sgml:
3095         * docs/gst/tmpl/old/gstmarshal.sgml:
3096         * docs/gst/tmpl/old/gstmd5sink.sgml:
3097         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3098         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3099         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3100         * docs/gst/tmpl/old/gstpipefilter.sgml:
3101         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3102         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3103         * docs/gst/tmpl/old/gstshaper.sgml:
3104         * docs/gst/tmpl/old/gstspider.sgml:
3105         * docs/gst/tmpl/old/gstspideridentity.sgml:
3106         * docs/gst/tmpl/old/gststatistics.sgml:
3107         * docs/gst/tmpl/old/gsttee.sgml:
3108         * docs/gst/tmpl/old/gsttimecache.sgml:
3109         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3110         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3111         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3112         * docs/gst/tmpl/old/types.sgml:
3113           I didn't intend to add these or check them in.
3114
3115 2005-05-19  David Schleef  <ds@schleef.org>
3116
3117         * configure.ac: Use -no-common everywhere.  In a sane world, it
3118           would be the default in libtool, because without it, you can't
3119           build DLLs on Windows.
3120         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3121         * docs/gst/gstreamer-sections.txt:
3122         * docs/gst/tmpl/gstcpu.sgml:
3123         * docs/gst/tmpl/gstdata.sgml:
3124         * docs/gst/tmpl/gstthread.sgml:
3125
3126 2005-05-19  David Schleef  <ds@schleef.org>
3127
3128         * gst/gstminiobject.c: (gst_value_set_mini_object),
3129         (gst_value_take_mini_object), (gst_value_get_mini_object):
3130         * gst/gstminiobject.h: Add GValue set/get functions.
3131
3132 2005-05-19  Wim Taymans  <wim@fluendo.com>
3133
3134         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3135         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3136         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3137         * gst/gstbuffer.h:
3138         * gst/gstbus.c: (gst_bus_post):
3139         * gst/gstelement.c: (gst_element_get_random_pad):
3140         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3141         Make subbufer unref the parent in finalize.
3142         some more debugging info.
3143
3144
3145 2005-05-19  Wim Taymans  <wim@fluendo.com>
3146
3147         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3148         (gst_basesink_init), (gst_basesink_finalize),
3149         (gst_basesink_activate), (gst_basesink_change_state):
3150         Don't free preroll queue too early.
3151
3152 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3153
3154         * gst/Makefile.am:
3155         * gst/ROADMAP:
3156           Hi, I'm outdated. Please shoot me.
3157
3158 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3159
3160         * gst/gstpipeline.c: (gst_pipeline_send_event):
3161           Do not access variables after they have been deleted.
3162
3163 2005-05-19  Wim Taymans  <wim@fluendo.com>
3164
3165         * tools/gst-inspect.c: (print_plugin_features):
3166         A plugin feature does unfortunatly not use the
3167         object name yet...
3168
3169 2005-05-18  Wim Taymans  <wim@fluendo.com>
3170
3171         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3172         Port _span() functions to new subbuffers.
3173
3174 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3175
3176         * gst/gstbin.c: (gst_bin_add_func):
3177           Fix clock settery in bins when adding kids after the clock has
3178           been selected.
3179
3180 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3181
3182         * gst/elements/gstidentity.c: (gst_identity_class_init):
3183           Workaround until signals support GstMiniObject.
3184
3185 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3186
3187         * gst/gstbuffer.c:
3188         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3189
3190 2005-05-18  Wim Taymans  <wim@fluendo.com>
3191
3192         * gst/base/Makefile.am:
3193         * gst/base/gstadapter.c: (gst_adapter_base_init),
3194         (gst_adapter_class_init), (gst_adapter_init),
3195         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3196         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3197         (gst_adapter_flush), (gst_adapter_available),
3198         (gst_adapter_available_fast):
3199         * gst/base/gstadapter.h:
3200         Ported and added adapter to the base classes.
3201
3202 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3203
3204         * gst/gst.c:
3205         * gst/gstmessage.c:
3206           Make sure the class is reffed/unreffed once before threads can be
3207           used.  Fixes #304551.
3208
3209 2005-05-17  Wim Taymans  <wim@fluendo.com>
3210
3211         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3212         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3213         * gst/gstminiobject.c: (gst_mini_object_get_type),
3214         (gst_mini_object_free):
3215         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3216         (gst_pad_push), (gst_pad_push_event):
3217         * gst/gstqueue.c: (gst_queue_change_state):
3218         Don't queue buffers in basesink when we are flushing.
3219         Unref buffer when flushing in basesink.
3220         Flush queue when going to READY
3221         Unref buffer when _push() returns an error.
3222         Don't free MiniObject instance when refcount is incremented
3223         in _finalize() so that we can recover objects.
3224
3225 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3226
3227         * docs/manual/advanced-schedulers.xml:
3228         * docs/manual/appendix-checklist.xml:
3229         * docs/pwg/advanced-clock.xml:
3230         * docs/pwg/advanced-interfaces.xml:
3231         * docs/pwg/advanced-request.xml:
3232         * docs/pwg/advanced-types.xml:
3233         * docs/pwg/intro-preface.xml:
3234         * examples/plugins/example.c: (gst_example_get_type),
3235         (gst_example_class_init), (gst_example_chain),
3236         (gst_example_set_property), (gst_example_get_property),
3237         (gst_example_change_state), (plugin_init):
3238         * examples/plugins/example.h:
3239           small doc fixes
3240
3241 2005-05-17  Wim Taymans  <wim@fluendo.com>
3242
3243         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3244         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3245         * gst/gstqueue.c: (gst_queue_change_state):
3246         Clear queue when going to READY.
3247         Remove IN_SETCAPS flag too.
3248
3249 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3250
3251         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3252           Remove implicit cast from gboolean to GstElementStateReturn;
3253           make sure we still return failure in paused => ready case if
3254           the parent class fails to change state and our own stop 
3255           vfunc succeeds.
3256
3257 2005-05-17  Wim Taymans  <wim@fluendo.com>
3258
3259         * tools/gst-launch.c: (event_loop):
3260         Message was unreffed too soon.
3261
3262 2005-05-16  Andy Wingo  <wingo@pobox.com>
3263
3264         * gst/gstbin.c (sink_iterator_filter): Err... um...
3265
3266         * check/gst/gstbin.c (test_ghost_pads): New test for the
3267         ghosting-if-elements-not-in-same-bin behavior.
3268
3269 2005-05-16  David Schleef  <ds@schleef.org>
3270
3271         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3272         accessing refcount directly.
3273
3274 2005-05-15  David Schleef  <ds@schleef.org>
3275
3276         * check/Makefile.am: remove GstData checks
3277         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3278         * gst/Makefile.am: add miniobject, remove data
3279         * gst/gst.h: add miniobject, remove data
3280         * gst/gstdata.c: remove
3281         * gst/gstdata.h: remove
3282         * gst/gstdata_private.h: remove
3283         * gst/gsttypes.h: remove GstEvent and GstMessage
3284         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3285         * gst/gstmarshal.list: change BOXED -> OBJECT
3286
3287         Implement GstMiniObject.
3288         * gst/gstminiobject.c:
3289         * gst/gstminiobject.h:
3290
3291         Modify to be subclasses of GstMiniObject.
3292         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3293         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3294         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3295         (gst_subbuffer_get_type), (gst_subbuffer_init),
3296         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3297         (gst_buffer_span):
3298         * gst/gstbuffer.h:
3299         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3300         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3301         (_gst_event_copy), (gst_event_new):
3302         * gst/gstevent.h:
3303         * gst/gstmessage.c: (_gst_message_initialize),
3304         (gst_message_get_type), (gst_message_class_init),
3305         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3306         (gst_message_new), (gst_message_new_error),
3307         (gst_message_new_warning), (gst_message_new_tag),
3308         (gst_message_new_state_changed), (gst_message_new_application):
3309         * gst/gstmessage.h:
3310         * gst/gstprobe.c: (gst_probe_perform),
3311         (gst_probe_dispatcher_dispatch):
3312         * gst/gstprobe.h:
3313         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3314         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3315         (_gst_query_copy), (gst_query_new):
3316
3317         Update elements for GstData -> GstMiniObject changes
3318         * gst/gstquery.h:
3319         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3320         (gst_queue_chain), (gst_queue_loop):
3321         * gst/elements/gstbufferstore.c:
3322         (gst_buffer_store_add_buffer_func),
3323         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3324         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3325         (gst_fakesink_render):
3326         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3327         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3328         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3329         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3330         (gst_filesrc_create_read):
3331         * gst/elements/gstidentity.c: (gst_identity_class_init):
3332         * gst/elements/gsttypefindelement.c:
3333         (gst_type_find_element_src_event), (free_entry_buffers),
3334         (gst_type_find_element_handle_event):
3335         * libs/gst/dataprotocol/dataprotocol.c:
3336         (gst_dp_header_from_buffer):
3337         * libs/gst/dataprotocol/dataprotocol.h:
3338         * libs/gst/dataprotocol/dp-private.h:
3339
3340 2005-05-15  David Schleef  <ds@schleef.org>
3341
3342         * gst/elements/gstelements.c: Don't include headers that were
3343         just removed.
3344
3345 2005-05-15  David Schleef  <ds@schleef.org>
3346
3347         * gst/elements/Makefile.am: Remove some elements that don't
3348         need to be in the core (or even exist at all).
3349         * gst/elements/gstaggregator.c:
3350         * gst/elements/gstaggregator.h:
3351         * gst/elements/gstmd5sink.c:
3352         * gst/elements/gstmd5sink.h:
3353         * gst/elements/gstmultifilesrc.c:
3354         * gst/elements/gstmultifilesrc.h:
3355         * gst/elements/gstpipefilter.c:
3356         * gst/elements/gstpipefilter.h:
3357         * gst/elements/gstshaper.c:
3358         * gst/elements/gstshaper.h:
3359         * gst/elements/gststatistics.c:
3360         * gst/elements/gststatistics.h:
3361         * po/POTFILES.in: Remove above files.
3362
3363 2005-05-14  Andy Wingo  <wingo@pobox.com>
3364
3365         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3366         so as to get the refs right.
3367         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3368         unreffing objects that don't pass the filter.
3369
3370         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3371         gst_element_set_bus.
3372         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3373         normal cases, this will destroy the bus.
3374
3375         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3376         object.
3377
3378         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3379         has no sinks.
3380
3381 2005-05-13  Andy Wingo  <wingo@pobox.com>
3382
3383         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3384         gst_pad_link, call pad_link_maybe_ghosting,
3385         (pad_link_maybe_ghosting): Links pads, making sure that the
3386         elements being linked are in the same bin.
3387         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3388         Helpers for pad_link_maybe_ghosting.
3389
3390 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3391
3392         * configure.ac:
3393           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3394
3395 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3396
3397         * docs/design/part-element-source.txt:
3398           Mention GstPushSrc
3399
3400 2005-05-12  Wim Taymans  <wim@fluendo.com>
3401
3402         * gst/base/gstbasesink.c: (gst_basesink_init),
3403         (gst_basesink_activate):
3404         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3405         (gst_basesrc_is_seekable):
3406         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3407         (bin_element_is_sink), (gst_bin_change_state):
3408         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3409         * gst/gstelement.h:
3410         Identify sinks by their flag to avoid overly complicated
3411         checks (fow now).
3412         Do state changes even for elements not reachable from the
3413         sinks.
3414         BaseSink is a sink now :)
3415         Some more debugging info in the basesrc.
3416
3417
3418 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3419
3420         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3421           Implement _query on a bin, similar to _send_event.
3422
3423 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3424
3425         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3426           Discont event offset format should be GST_FORMAT_BYTES,
3427           not GST_FORMAT_TIME.
3428
3429 2005-05-12  Wim Taymans  <wim@fluendo.com>
3430
3431         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3432         Same fix as Ronald's but without the signal. 
3433
3434 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3435
3436         * gst/gstutils.c: (gst_element_query_position):
3437           No, an element is not a pad.
3438
3439 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3440
3441         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3442         (gst_bin_get_state):
3443           If a child is removed from a bin while we remove the child from
3444           the bin and while we're retrieving its state, signal this to the
3445           get_state function so we abort the wait (instead of waiting for
3446           a timeout) and can immediately re-iterate over all other elements.
3447
3448 2005-05-12  Wim Taymans  <wim@fluendo.com>
3449
3450         * gst/base/Makefile.am:
3451         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3452         (gst_basesrc_start):
3453         * gst/base/gstbasesrc.h:
3454         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3455         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3456         (gst_pushsrc_init), (gst_pushsrc_create):
3457         * gst/base/gstpushsrc.h:
3458         Added is_seekable to BaseSrc
3459         Added simple PushSrc.
3460
3461 2005-05-11  Wim Taymans  <wim@fluendo.com>
3462
3463         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3464         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3465         (gst_element_link_pads), (gst_element_query_position),
3466         (gst_element_query_convert), (intersect_caps_func),
3467         (gst_pad_query_position), (gst_pad_query_convert):
3468         Fix refcounting in utils function.
3469         No point in trying to activate a pad when it's added, it could
3470         be added from the state change function and then we deadlock, the
3471         element has to decide what to do.
3472
3473 2005-05-10  Andy Wingo  <wingo@pobox.com>
3474
3475         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3476         *all* the arguments.
3477
3478         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3479         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3480         lock (according to the docs -- if this is wrong change the docs).
3481
3482         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3483         flush messages in the NULL state.
3484
3485         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3486         message immediately and return.
3487         (gst_bus_set_flushing): New function. If a bus is flushing, it
3488         flushes out any queued messages and immediately unrefs new
3489         messages. This is so when an element goes to NULL, all of the
3490         unhandled messages coming from it can be freed, and their
3491         references to the element dropped. In other words: message source
3492         ref considered harmful :P
3493
3494         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3495         we're finished with it.
3496
3497         * gst/gstmessage.c (gst_message_new_state_changed): 
3498
3499 2005-05-10  Wim Taymans  <wim@fluendo.com>
3500
3501         * gst/gstvalue.c: (gst_value_compare_flags),
3502         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3503         (_gst_value_initialize):
3504         Added flags serialize/deserialize/compare code.
3505
3506 2005-05-09  Andy Wingo  <wingo@pobox.com>
3507
3508         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3509         Intersect the peer's caps with our caps.
3510
3511 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3512
3513         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3514         * gst/elements/gsttypefindelement.c: (find_peek):
3515           Handle negative offsets better. Fixes decodebin.
3516
3517 2005-05-09  Wim Taymans  <wim@fluendo.com>
3518
3519         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3520         (gst_base_transform_event):
3521         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3522         Implement accept_caps.
3523         Fix silly lock/unlock mismatch in base class.
3524
3525 2005-05-09  Wim Taymans  <wim@fluendo.com>
3526
3527         * docs/design/draft-push-pull.txt:
3528         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3529         * gst/elements/gstfilesink.c: (gst_filesink_init),
3530         (gst_filesink_query):
3531         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3532         (gst_type_find_handle_src_query), (find_element_get_length):
3533         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3534         * gst/gstelement.h:
3535         * gst/gstmessage.c:
3536         * gst/gstmessage.h:
3537         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3538         (gst_real_pad_get_caps_unlocked),
3539         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3540         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3541         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3542         (gst_real_pad_dispose), (gst_real_pad_finalize),
3543         (gst_pad_load_and_link), (gst_pad_save_thyself),
3544         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3545         (gst_pad_check_pull_range), (gst_pad_pull_range),
3546         (gst_pad_template_get_type), (gst_pad_template_class_init),
3547         (gst_pad_template_init), (gst_pad_template_dispose),
3548         (name_is_valid), (gst_static_pad_template_get),
3549         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3550         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3551         (gst_pad_get_element_private), (gst_pad_start_task),
3552         (gst_pad_pause_task), (gst_pad_stop_task),
3553         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3554         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3555         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3556         (gst_ghost_pad_new):
3557         * gst/gstpad.h:
3558         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3559         (gst_query_new_position), (gst_query_set_position),
3560         (gst_query_parse_position), (gst_query_new_convert),
3561         (gst_query_set_convert), (gst_query_parse_convert):
3562         * gst/gstquery.h:
3563         * gst/gstqueryutils.c:
3564         * gst/gstqueryutils.h:
3565         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3566         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3567         (gst_queue_handle_src_query):
3568         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3569         (gst_element_query_position), (gst_element_query_convert),
3570         (intersect_caps_func), (gst_pad_query_position),
3571         (gst_pad_query_convert):
3572         * gst/gstutils.h:
3573         * tools/gst-inspect.c: (print_pad_info):
3574         * tools/gst-xmlinspect.c: (print_element_info):
3575         Remove old query functions. Ported old code.
3576         Added position/convert helper functions to gstutils.
3577         Reordered gstpad.c code, grouping relevant things.
3578         Remove gst_message_new(), always need to speficy a specific
3579         message.
3580
3581
3582 2005-05-09  Andy Wingo  <wingo@pobox.com>
3583
3584         * gst/gstiterator.h: Add some includes.
3585
3586         * gst/gstqueryutils.h: Include more headers.
3587
3588         * gst/gstpad.h:
3589         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3590         some uses of gst_pad_query.
3591
3592         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3593         NULL out parameters.
3594         (gst_query_new_position): New proc, allocates a new position
3595         query.
3596
3597         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3598         gstqueryutils.c to the build.
3599
3600         * gst/gststructure.c (gst_structure_set_valist): Implement with
3601         the generic G_VALUE_COLLECT.
3602         
3603 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3604
3605         * gst/Makefile.am: (gst_headers):
3606         Added gstqueryutils.h to the list of headers to install, that was
3607         a 'nachty' move wingo :)
3608
3609 2005-05-06  Andy Wingo  <wingo@pobox.com>
3610
3611         * gst/gstquery.h
3612         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3613         GstData, init a memchunk.
3614         (standard_definitions): Add a few query types, deprecate a few.
3615         (gst_query_get_type): New proc.
3616         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3617         implementation.
3618         (gst_query_new_application, gst_query_get_structure): New public
3619         procs.
3620
3621         * docs/design/draft-query.txt: Removed LINKS from the query types,
3622         because all the rest can be dispatched to other pads -- seemed
3623         ugly to have a query that couldn't be dispatched. internal_links
3624         is fine as a pad method.
3625
3626         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3627         in gstpad.c, but maintain binary compatibility for the moment.
3628         Will fix before 0.9 is out.
3629
3630         * gst/gstqueryutils.c: 
3631         * gst/gstqueryutils.h: New files, implement 3 methods for each
3632         query type: parse_query, parse_response, and set. Probably need an
3633         allocator as well.
3634
3635         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3636
3637         * gst/elements/gstfilesink.c (gst_filesink_query2):
3638         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3639         query_types, and formats methods.
3640
3641         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3642         (gst_pad_set_query2_function): New functions.
3643         (gst_real_pad_init): Set query2_default as the default query2
3644         function. Basically just dispatches to internally linked pads.
3645
3646         Needs review!
3647         
3648         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3649         without using the atomic operations. Only one thread can possibly
3650         be accessing the data at this point. Changed so as to avoid
3651         gst_atomic operations.
3652
3653 2005-05-06  Wim Taymans  <wim@fluendo.com>
3654
3655         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3656         Also set caps if we use the fallback buffer alloc.
3657
3658 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3659
3660         * docs/gst/Makefile.am:
3661         * docs/gst/gstreamer-docs.sgml:
3662         * docs/gst/gstreamer-sections.txt:
3663         * docs/gst/tmpl/gstatomic.sgml:
3664         * docs/gst/tmpl/gstmemchunk.sgml:
3665         * testsuite/elements/struct_i386.h:
3666         * win32/GStreamer.vcproj:
3667         * win32/Makefile:
3668           Purge GstAtomic stuff from docs and win32 makefiles as well
3669
3670 2005-05-06  Wim Taymans  <wim@fluendo.com>
3671
3672         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3673         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3674         * gst/gstpad.c: (gst_pad_peer_get_caps):
3675         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3676         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3677         (gst_queue_src_activate), (gst_queue_change_state):
3678         * gst/gstqueue.h:
3679         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3680         (intersect_caps_func):
3681         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3682         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3683         Some fixes for the peer_get_caps() change.
3684
3685 2005-05-06  Wim Taymans  <wim@fluendo.com>
3686
3687         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3688         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3689         (gst_basesink_activate):
3690         Actually do something with error codes returned from the push
3691         functions.
3692
3693 2005-05-06  Wim Taymans  <wim@fluendo.com>
3694
3695         * docs/design/part-element-sink.txt:
3696         * docs/design/part-element-source.txt:
3697         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3698         (gst_basesink_event), (gst_basesink_activate):
3699         * gst/base/gstbasesink.h:
3700         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3701         (gst_basesrc_activate):
3702         * gst/base/gstbasesrc.h:
3703         * gst/gstelement.c: (gst_element_pads_activate):
3704         Some more documentation.
3705         Fixed scheduling decision in _pads_activate().
3706
3707 2005-05-05  Andy Wingo  <wingo@pobox.com>
3708
3709         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3710         the test suite.
3711
3712 2005-05-05  Wim Taymans  <wim@fluendo.com>
3713
3714         * gst/base/Makefile.am:
3715         * gst/base/gstbasesink.h:
3716         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3717         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3718         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3719         (gst_collectpads_class_init), (gst_collectpads_init),
3720         (gst_collectpads_finalize), (gst_collectpads_new),
3721         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3722         (find_pad), (gst_collectpads_remove_pad),
3723         (gst_collectpads_is_active), (gst_collectpads_collect),
3724         (gst_collectpads_collect_range), (gst_collectpads_start),
3725         (gst_collectpads_stop), (gst_collectpads_peek),
3726         (gst_collectpads_pop), (gst_collectpads_available),
3727         (gst_collectpads_read), (gst_collectpads_flush),
3728         (gst_collectpads_chain):
3729         * gst/base/gstcollectpads.h:
3730         * gst/elements/Makefile.am:
3731         * gst/elements/gstelements.c:
3732         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3733         (gst_fakesink_get_times), (gst_fakesink_event),
3734         (gst_fakesink_preroll), (gst_fakesink_render):
3735         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3736         (gst_filesink_init), (gst_filesink_set_location),
3737         (gst_filesink_open_file), (gst_filesink_close_file),
3738         (gst_filesink_pad_query), (gst_filesink_event),
3739         (gst_filesink_render), (gst_filesink_change_state):
3740         * gst/elements/gstfilesink.h:
3741         Added object to help in making collect pad based elements.
3742         Ported filesink.
3743         Make event function in sink baseclass return gboolean.
3744
3745 2005-05-05  Wim Taymans  <wim@fluendo.com>
3746
3747         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3748         (gst_bin_get_by_name):
3749         * gst/gstbuffer.h:
3750         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3751         (gst_clock_finalize):
3752         * gst/gstdata.c: (gst_data_replace):
3753         * gst/gstdata.h:
3754         * gst/gstelement.c: (gst_element_request_pad),
3755         (gst_element_pads_activate):
3756         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3757         (gst_object_unref):
3758         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3759         (gst_pad_set_checkgetrange_function),
3760         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3761         (gst_pad_check_pull_range), (gst_pad_pull_range),
3762         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3763         (gst_pad_pause_task), (gst_pad_stop_task):
3764         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3765         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3766         Fix name lookup in GstBin.
3767         Added _data_replace() function and _buffer_replace()
3768         Use finalize method to clean up clock.
3769         Fix refcounting on request pads.
3770         Fix pad schedule mode error.
3771         Some more object refcounting debug info,
3772
3773
3774 2005-05-04  Andy Wingo <wingo@pobox.com>
3775
3776         * check/Makefile.am:
3777         * docs/gst/tmpl/gstatomic.sgml:
3778         * docs/gst/tmpl/gstplugin.sgml:
3779         * gst/base/gstbasesink.c: (gst_basesink_activate):
3780         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3781         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3782         (gst_basesrc_query), (gst_basesrc_set_property),
3783         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3784         (gst_basesrc_activate):
3785         * gst/base/gstbasesrc.h:
3786         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3787         (gst_base_transform_src_activate):
3788         * gst/elements/gstelements.c:
3789         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3790         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3791         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3792         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3793         (gst_type_find_element_checkgetrange),
3794         (gst_type_find_element_activate):
3795         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3796         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3797         (gst_caps_load_thyself):
3798         * gst/gstelement.c: (gst_element_pads_activate),
3799         (gst_element_save_thyself), (gst_element_restore_thyself):
3800         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3801         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3802         * gst/gstpad.h:
3803         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3804         (gst_xml_parse_file), (gst_xml_parse_memory),
3805         (gst_xml_get_element), (gst_xml_make_element):
3806         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3807         (_file_index_id_save_xml), (gst_file_index_commit):
3808         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3809         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3810         (load_paths):
3811         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3812         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3813         * tools/gst-complete.c: (main):
3814         * tools/gst-compprep.c: (main):
3815         * tools/gst-inspect.c: (print_element_properties_info):
3816         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3817         * tools/gst-xmlinspect.c: (print_element_properties):
3818         GCC 4 fixen.
3819         
3820 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3821
3822         * gst/gstplugin.c: (gst_plugin_check_module),
3823         (gst_plugin_check_file), (gst_plugin_load_file):
3824             apply patch from #172526 to make register work on MacOSX
3825
3826 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3827
3828         * docs/gst/tmpl/gstconfig.sgml:
3829         * gst/gstconfig.h.in:
3830           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3831         * testsuite/debug/printf_extension.c: (main):
3832           Do not use GST_PTR_FORMAT on pointers to types with
3833           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3834         * testsuite/elements/property.h:
3835           use correct printf format
3836
3837 2005-05-02  Wim Taymans  <wim@fluendo.com>
3838
3839         * docs/design/draft-push-pull.txt:
3840         * docs/design/draft-query.txt:
3841         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3842         (gst_basesrc_start):
3843         Added draft for new query API.
3844         Added draft for better selecting scheduling methods.
3845         Make basesrc ignore length if the subclass does not support
3846         it.
3847
3848 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3849
3850         * gst/Makefile.am:
3851           possible fixes for automake-1.5 - _LIBADD is reserved
3852
3853 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3854
3855         * docs/faq/Makefile.am:
3856         * docs/manual/Makefile.am:
3857         * docs/manuals.mak:
3858         * docs/pwg/Makefile.am:
3859         * gst/Makefile.am:
3860           possible fixes for automake-1.5
3861
3862 2005-04-28  Wim Taymans  <wim@fluendo.com>
3863
3864         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3865         (gst_basesink_pad_getcaps), (gst_basesink_init),
3866         (gst_basesink_do_sync):
3867         * gst/gstclock.c: (gst_clock_entry_new):
3868         * gst/gstevent.c: (gst_event_discont_get_value):
3869         * gst/gstpipeline.c: (pipeline_bus_handler),
3870         (gst_pipeline_change_state):
3871         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3872         Better debugging of clocking info.
3873         Allow NULL values when getting discont values.
3874
3875 2005-04-27  Wim Taymans  <wim@fluendo.com>
3876
3877         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3878         * check/gst/gstpad.c: (gst_pad_suite):
3879         Increase timeout for checks.
3880
3881 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3882
3883         * check/Makefile.am:
3884           fix the broken rule for cleanup.  Apparently this rule is
3885           only needed on FC2, so maybe this warrants further autotool
3886           inspection.
3887
3888 2005-04-26  Wim Taymans  <wim@fluendo.com>
3889
3890         * gst/gsttrashstack.h:
3891         Ooohh. a nasty one! After having a failed pop() from the stack,
3892         it's possible that the stack is empty. In that case, don't
3893         follow the NULL pointer.
3894
3895 2005-04-25  Wim Taymans  <wim@fluendo.com>
3896
3897         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3898         (gst_pad_set_checkgetrange_function),
3899         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3900         (gst_pad_check_pull_range), (gst_pad_pull_range),
3901         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3902         (gst_pad_pause_task), (gst_pad_stop_task):
3903         * gst/gstplugin.c: (gst_plugin_load):
3904         * gst/gstplugin.h:
3905         Remove gst_library_load as it does more harm than good with
3906         the new g_module flags.
3907         Revert bogus caps template check in pad linking, pad caps
3908         are important when linking not the template, which is more
3909         general than the current caps.
3910
3911 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3912
3913         * gst/autoplug/.cvsignore:
3914         * gst/autoplug/Makefile.am:
3915         * gst/autoplug/gstsearchfuncs.c:
3916         * gst/autoplug/gstsearchfuncs.h:
3917         * gst/autoplug/gstspider.c:
3918         * gst/autoplug/gstspider.h:
3919         * gst/autoplug/gstspideridentity.c:
3920         * gst/autoplug/gstspideridentity.h:
3921         * gst/autoplug/spidertest.c:
3922           Die, spider, die.
3923
3924 2005-04-25  Wim Taymans  <wim@fluendo.com>
3925
3926         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3927         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3928         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3929         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3930         * gst/gstpad.h:
3931         Added stubs for unimplemented functions. 
3932
3933 2005-04-24  David Schleef  <ds@schleef.org>
3934
3935         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3936         please fix.
3937
3938 2005-04-24  David Schleef  <ds@schleef.org>
3939
3940         Convert everything from GstAtomicInt to g_atomic_int_*, and
3941         remove gstatomic.
3942         * gst/Makefile.am:
3943         * gst/gstatomic.c:
3944         * gst/gstatomic.h:
3945         * gst/gstatomic_impl.h:
3946         * gst/gstbuffer.c:
3947         * gst/gstcaps.c:
3948         * gst/gstcaps.h:
3949         * gst/gstclock.c:
3950         * gst/gstclock.h:
3951         * gst/gstdata.c:
3952         * gst/gstdata.h:
3953         * gst/gstdata_private.h:
3954         * gst/gstevent.c:
3955         * gst/gstinfo.c:
3956         * gst/gstinfo.h:
3957         * gst/gstmessage.c:
3958         * gst/gstobject.c:
3959         * gst/gstobject.h:
3960         * gst/gststructure.c:
3961         * gst/gststructure.h:
3962         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3963         * gst/gstutils.h:
3964
3965 2005-04-24  David Schleef  <ds@schleef.org>
3966
3967         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3968         make the regressions tests work.  Remove some code that is no
3969         longer true.
3970         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3971         Disable warning for pads without templates.
3972
3973 2005-04-24  David Schleef  <ds@schleef.org>
3974
3975         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3976         functions that handle filtered links.
3977         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3978         removed functions.
3979         * gst/gstutils.c: Fix/remove utility functions that handle
3980         filtered caps.
3981         * gst/gstutils.h:
3982         * gst/gstvalue.c: Add serialization/deserialization of caps
3983         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3984         requires fixing so that the filter caps notation creates
3985         a capsfilter element and sets the filter_caps property.  I
3986         think everyone probably wants to keep the shorthand notation.
3987         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3988         * docs/gst/tmpl/gstpad.sgml:
3989
3990         * gst/elements/gstelements.c: Register capsfilter element.
3991         * gst/Makefile.am: fix spacing
3992         * docs/random/ds/0.9-suggested-changes: random
3993
3994 2005-04-23  David Schleef  <ds@schleef.org>
3995
3996         * gst/elements/Makefile.am:
3997         * gst/elements/gstcapsfilter.c: New element that acts like an
3998         identity, but filters caps.  Will eventually replace filtered
3999         caps in pad linking.
4000         * gst/gstutils.c: (gst_element_create_all_pads): New function
4001         to create all the ALWAYS pads that are registered with an
4002         element class.  This functionality should eventually be
4003         merged in with GstElement initialization.
4004         * gst/gstutils.h:
4005         * testsuite/trigger/README: part of trigger test code that should
4006         have been checked in a long time ago.
4007
4008 2005-04-23  David Schleef  <ds@schleef.org>
4009
4010         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4011         needed with new versions of libtool (nobody will confirm this),
4012         and hard to carry around.
4013         * gst/autoplug/Makefile.am:
4014         * gst/base/Makefile.am:
4015         * gst/elements/Makefile.am:
4016         * gst/indexers/Makefile.am:
4017         * gst/schedulers/Makefile.am:
4018         * libs/gst/bytestream/Makefile.am:
4019         * libs/gst/control/Makefile.am:
4020         * libs/gst/dataprotocol/Makefile.am:
4021         * libs/gst/getbits/Makefile.am:
4022
4023 2005-04-21  Wim Taymans  <wim@fluendo.com>
4024
4025         * docs/design/draft-push-pull.txt:
4026         * docs/design/part-MT-refcounting.txt:
4027         * docs/design/part-TODO.txt:
4028         * docs/design/part-caps.txt:
4029         * docs/design/part-events.txt:
4030         * docs/design/part-gstbus.txt:
4031         * docs/design/part-gstpipeline.txt:
4032         * docs/design/part-messages.txt:
4033         * docs/design/part-push-pull.txt:
4034         * docs/design/part-query.txt:
4035         Some more docs.
4036
4037 2005-04-21  Wim Taymans  <wim@fluendo.com>
4038
4039         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4040         (gst_message_new), (gst_message_new_error),
4041         (gst_message_new_warning), (gst_message_new_tag),
4042         (gst_message_new_state_changed), (gst_message_new_application),
4043         (gst_message_get_structure):
4044         * gst/gstmessage.h:
4045         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4046         (gst_structure_copy_conditional):
4047         Use parent refcount in GstMessage to ensure GstStructure
4048         consistency.
4049         Cleaned up headers a bit.
4050         
4051
4052 2005-04-20  Wim Taymans  <wim@fluendo.com>
4053
4054         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4055         (gst_basesink_pad_getcaps), (gst_basesink_init),
4056         (gst_basesink_chain_unlocked):
4057         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4058         (gst_type_find_helper):
4059         * gst/elements/gsttypefindelement.c:
4060         (gst_type_find_element_have_type), (gst_type_find_element_init),
4061         (stop_typefinding), (gst_type_find_element_handle_event),
4062         (find_suggest), (gst_type_find_element_chain),
4063         (gst_type_find_element_checkgetrange),
4064         (gst_type_find_element_getrange), (do_typefind),
4065         (gst_type_find_element_activate):
4066         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4067         (gst_buffer_default_free), (gst_buffer_default_copy),
4068         (gst_buffer_set_caps):
4069         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4070         (gst_caps_replace):
4071         * gst/gstmessage.c: (gst_message_new),
4072         (gst_message_new_state_changed):
4073         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4074         (gst_pad_set_checkgetrange_function),
4075         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4076         (gst_pad_set_caps), (gst_pad_check_pull_range),
4077         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4078         * gst/gstpad.h:
4079         * gst/gsttypefind.c: (gst_type_find_register):
4080         Make gst_caps_replace() work like other _replace() functions.
4081         Use _caps_replace() where possible.
4082         Make sure _message_new() initialises its field.
4083         Add gst_static_pad_template_get_caps()
4084
4085
4086 2005-04-18  Andy Wingo  <wingo@pobox.com>
4087
4088         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4089         on the peer, not the pad. I think that was a typo. Pass an extra
4090         arg to see if random access is possible. Activate the pads as
4091         PULL_RANGE if possible.
4092
4093         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4094
4095         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4096         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4097         to PROP_....
4098
4099 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4100
4101         * docs/faq/using.xml:
4102           Add note on gstreamer-properties (#154996).
4103
4104 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4105
4106         * docs/random/bbb/optional-properties:
4107           Some analysis on optional properties.
4108
4109 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4110
4111         * docs/gst/tmpl/gstelementfactory.sgml:
4112         * gst/gstelement.h:
4113         * gst/gstelementfactory.c: (gst_element_factory_init),
4114         (gst_element_factory_cleanup), (gst_element_register),
4115         (__gst_element_factory_add_static_pad_template),
4116         (gst_element_factory_get_static_pad_templates),
4117         (gst_element_factory_can_src_caps),
4118         (gst_element_factory_can_sink_caps):
4119         * gst/registries/Makefile.am:
4120         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4121         (gst_xml_registry_class_init), (gst_xml_registry_init),
4122         (gst_xml_registry_new), (gst_xml_registry_set_property),
4123         (gst_xml_registry_get_property), (get_time), (make_dir),
4124         (gst_xml_registry_get_perms_func),
4125         (plugin_times_older_than_recurse), (plugin_times_older_than),
4126         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4127         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4128         (add_to_char_array), (read_string), (read_uint), (read_enum),
4129         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4130         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4131         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4132         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4133         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4134         (gst_xml_registry_rebuild):
4135         * gst/registries/gstlibxmlregistry.h:
4136         * tools/gst-compprep.c: (main):
4137         * tools/gst-inspect.c: (print_pad_templates_info):
4138         * tools/gst-xmlinspect.c: (print_element_info):
4139           Use libxml2 for registry parsing, use staticpadtemplates in
4140           elementfactories. Makes gst_init() +/- 10x faster.
4141
4142 2005-04-12  Wim Taymans  <wim@fluendo.com>
4143
4144         * gst/base/Makefile.am:
4145         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4146         (gst_basesink_pad_getcaps), (gst_basesink_init),
4147         (gst_basesink_event), (gst_basesink_change_state):
4148         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4149         (gst_basesrc_init), (gst_basesrc_query),
4150         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4151         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4152         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4153         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4154         (gst_basesrc_stop), (gst_basesrc_activate),
4155         (gst_basesrc_change_state):
4156         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4157         (helper_find_suggest), (gst_type_find_helper):
4158         * gst/base/gsttypefindhelper.h:
4159         * gst/elements/Makefile.am:
4160         * gst/elements/gstelements.c:
4161         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4162         (gst_fakesink_get_times), (gst_fakesink_event),
4163         (gst_fakesink_preroll), (gst_fakesink_render):
4164         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4165         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4166         (gst_fakesrc_get_property), (gst_fakesrc_create),
4167         (gst_fakesrc_start), (gst_fakesrc_stop):
4168         * gst/elements/gstfakesrc.h:
4169         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4170         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4171         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4172         (gst_filesrc_create_read), (gst_filesrc_create),
4173         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4174         (gst_filesrc_start):
4175         * gst/elements/gsttypefindelement.c:
4176         (gst_type_find_element_have_type), (gst_type_find_element_init),
4177         (start_typefinding), (stop_typefinding), (push_buffer_store),
4178         (gst_type_find_element_handle_event),
4179         (gst_type_find_element_chain),
4180         (gst_type_find_element_checkgetrange),
4181         (gst_type_find_element_getrange), (do_typefind),
4182         (gst_type_find_element_activate),
4183         (gst_type_find_element_change_state):
4184         * gst/elements/gsttypefindelement.h:
4185         * gst/gstpipeline.c: (pipeline_bus_handler):
4186         Added typefind helper.
4187         Small preroll fix in the base sink.
4188         Disable typefind code in basesrc.
4189         Crude port of typefindelement.
4190         Fakesrc cleanups.
4191
4192
4193 2005-04-11  Wim Taymans  <wim@fluendo.com>
4194
4195         * check/gst/gstbus.c: (gstbus_suite):
4196         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4197         * check/gstcheck.h:
4198           Fix up the timeout so that the test does not fail.
4199
4200 2005-04-06  Wim Taymans  <wim@fluendo.com>
4201
4202         * gst/base/README:
4203         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4204         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4205         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4206         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4207         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4208         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4209         (gst_basesrc_stop), (gst_basesrc_activate),
4210         (gst_basesrc_change_state), (basesrc_find_peek),
4211         (basesrc_find_suggest), (gst_basesrc_type_find):
4212         * gst/base/gstbasesrc.h:
4213         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4214         (gst_filesrc_class_init), (gst_filesrc_init),
4215         (gst_filesrc_finalize), (gst_filesrc_set_location),
4216         (gst_filesrc_set_property), (gst_filesrc_get_property),
4217         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4218         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4219         (gst_filesrc_create_read), (gst_filesrc_create),
4220         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4221         * gst/elements/gstfilesrc.h:
4222         * gst/gstelement.c: (gst_element_get_state_func),
4223         (gst_element_lost_state), (gst_element_pads_activate):
4224         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4225         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4226         (gst_pad_pull_range):
4227         * gst/gstpad.h:
4228         More work on the generic source base class, implement seeking,
4229         query.
4230         Make filesrc extend the base source class.
4231         Added gst_pad_set_checkgetrange_function to GstPad.
4232
4233 2005-04-06  Andy Wingo  <wingo@pobox.com>
4234
4235         * pkgconfig/gstreamer-base.pc.in:
4236         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4237
4238         * pkgconfig/Makefile.am:
4239         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4240
4241 2005-04-04  Wim Taymans  <wim@fluendo.com>
4242
4243         * gst/base/Makefile.am:
4244         * gst/base/README:
4245         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4246         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4247         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4248         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4249         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4250         (gst_basesrc_base_init), (gst_basesrc_class_init),
4251         (gst_basesrc_init), (gst_basesrc_get_formats),
4252         (gst_basesrc_get_query_types), (gst_basesrc_query),
4253         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4254         (gst_basesrc_set_property), (gst_basesrc_get_property),
4255         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4256         (gst_basesrc_loop), (gst_basesrc_activate),
4257         (gst_basesrc_change_state):
4258         * gst/base/gstbasesrc.h:
4259         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4260         (gst_fakesrc_class_init), (gst_fakesrc_init),
4261         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4262         (gst_fakesrc_get_property), (gst_fakesrc_create):
4263         * gst/elements/gstfakesrc.h:
4264         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4265         (gst_filesrc_open_file), (gst_filesrc_loop),
4266         (gst_filesrc_activate), (filesrc_find_peek),
4267         (gst_filesrc_type_find):
4268         Made base source class, make fakesrc extend it.
4269         Add comments to basesink class.
4270         Some filesrc cleanup.
4271
4272 2005-03-31  David Schleef  <ds@schleef.org>
4273
4274         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4275         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4276         expected to link against libgstreamer.
4277         * gst/base/Makefile.am: link against libgstreamer
4278         * gst/elements/Makefile.am: same
4279
4280 2005-03-31  Andy Wingo  <wingo@pobox.com>
4281
4282         * tests/instantiate/Makefile.am:
4283         * tests/instantiate/caps.c: Add test to test speed of caps copy
4284         and free.
4285
4286         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4287         GMemChunk to be fair.
4288
4289         * gst/gsttrashstack.h: Remove warning about using the fallback
4290         trash stack implementation, it's still faster than malloc.
4291
4292 2005-03-30  Andy Wingo  <wingo@pobox.com>
4293
4294         * tests/complexity.c: Add a copyright.
4295
4296 2005-03-31  Wim Taymans  <wim@fluendo.com>
4297
4298         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4299         (gst_base_transform_class_init), (gst_base_transform_init),
4300         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4301         (gst_base_transform_get_property),
4302         (gst_base_transform_sink_activate),
4303         (gst_base_transform_src_activate),
4304         (gst_base_transform_change_state):
4305         * gst/base/gstbasetransform.h:
4306         * gst/elements/gstidentity.c: (gst_identity_class_init),
4307         (gst_identity_event), (gst_identity_check_perfect),
4308         (gst_identity_transform), (gst_identity_start),
4309         (gst_identity_stop):
4310         Added start/stop methods to transform base class so subclasses 
4311         don't need to deal with state changes even.
4312
4313 2005-03-31  Wim Taymans  <wim@fluendo.com>
4314
4315         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4316         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4317         * gst/gstevent.h:
4318         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4319         (gst_pad_pull_range):
4320         Added rate to the discont event to prepare for variable speed
4321         and reverse playback.
4322
4323 2005-03-29  David Schleef  <ds@schleef.org>
4324
4325         * configure.ac:
4326         * testsuite/trigger/Makefile.am:
4327         * testsuite/trigger/trigger.c: A little example program to show
4328         how trigger-based elements can work.
4329
4330 2005-03-29  Wim Taymans  <wim@fluendo.com>
4331
4332         * gst/base/Makefile.am:
4333         * gst/base/README:
4334         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4335         (gst_basesink_base_init), (gst_basesink_class_init),
4336         (gst_basesink_pad_getcaps), (gst_basesink_init),
4337         (gst_basesink_activate), (gst_basesink_change_state):
4338         * gst/base/gstbasesink.h:
4339         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4340         (gst_base_transform_base_init), (gst_base_transform_finalize),
4341         (gst_base_transform_class_init), (gst_base_transform_init),
4342         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4343         (gst_base_transform_event), (gst_base_transform_getrange),
4344         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4345         (gst_base_transform_set_property),
4346         (gst_base_transform_get_property),
4347         (gst_base_transform_sink_activate),
4348         (gst_base_transform_src_activate),
4349         (gst_base_transform_change_state):
4350         * gst/base/gstbasetransform.h:
4351         * gst/elements/gstidentity.c: (gst_identity_finalize),
4352         (gst_identity_class_init), (gst_identity_init),
4353         (gst_identity_event), (gst_identity_check_perfect),
4354         (gst_identity_transform), (gst_identity_set_property),
4355         (gst_identity_get_property), (gst_identity_change_state):
4356         * gst/elements/gstidentity.h:
4357         * gst/gstelement.c: (gst_element_get_state_func),
4358         (gst_element_lost_state), (gst_element_pads_activate):
4359         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4360         (gst_pad_check_pull_range), (gst_pad_pull_range):
4361         * gst/gstpad.h:
4362         Simplify pad activation.
4363         Added function to check if pull_range can be performed.
4364         Error out when pulling inactive or flushing pads.
4365         Removed const from refcounted types as it does not make sense.
4366         Simplify pad templates in basesink
4367         Added base class for simple 1-to-1 transforms.
4368         Make identity subclass the base transform.
4369
4370 2005-03-29  Andy Wingo  <wingo@pobox.com>
4371
4372         * docs/libs/gstreamer-libs-overrides.txt: 
4373         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4374         really don't understand what's going on, but like whatever. I want
4375         green buildbot!
4376
4377         * docs/gst/Makefile.am:
4378         * docs/libs/Makefile.am: Dist the overrides files.
4379
4380         * check/Makefile.am (clean-local): Remove .libs directories.
4381
4382         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4383         elements to EXTRA_DIST, so po/ files are happy.
4384
4385         * po/POTFILES.in: Er, remove it here.
4386
4387         * po/POTFILES: Remove gstspider.c.
4388
4389         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4390
4391         * docs/libs/gstreamer-libs-docs.sgml: 
4392         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4393         bytestream.
4394
4395         * tests/complexity.c (main): Set the length of the preroll queue
4396         on the sinks to prevent a lockup.
4397
4398         * libs/gst/dataprotocol/Makefile.am: 
4399         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4400         the same as the one in check/gst-libs/gdp.c.
4401
4402         * po/, docs/gst/: Commit automatic changes to docs and po files.
4403
4404         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4405         the versioned libgstbase.
4406
4407         * check/Makefile.am: Depend on an unversioned gst-register, seems
4408         to make autoconf happier.
4409
4410         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4411
4412 2005-03-28  Wim Taymans  <wim@fluendo.com>
4413
4414         * configure.ac:
4415         * docs/design/part-gstelement.txt:
4416         * docs/design/part-negotiation.txt:
4417         * docs/design/part-preroll.txt:
4418         * docs/design/part-scheduling.txt:
4419         * docs/design/part-states.txt:
4420         * gst/Makefile.am:
4421         * gst/base/Makefile.am:
4422         * gst/base/README:
4423         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4424         (gst_basesink_base_init), (gst_basesink_class_init),
4425         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4426         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4427         (gst_basesink_set_pad_functions),
4428         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4429         (gst_basesink_set_property), (gst_basesink_get_property),
4430         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4431         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4432         (gst_basesink_preroll_queue_push),
4433         (gst_basesink_preroll_queue_empty),
4434         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4435         (gst_basesink_event), (gst_basesink_get_times),
4436         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4437         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4438         (gst_basesink_loop), (gst_basesink_activate),
4439         (gst_basesink_change_state):
4440         * gst/base/gstbasesink.h:
4441         * gst/elements/Makefile.am:
4442         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4443         (gst_fakesink_class_init), (gst_fakesink_init),
4444         (gst_fakesink_set_property), (gst_fakesink_get_property),
4445         (gst_fakesink_get_times), (gst_fakesink_event),
4446         (gst_fakesink_preroll), (gst_fakesink_render),
4447         (gst_fakesink_change_state):
4448         * gst/elements/gstfakesink.h:
4449         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4450         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4451         * gst/gstelement.c: (gst_element_add_pad),
4452         (gst_element_get_state_func), (gst_element_abort_state),
4453         (gst_element_commit_state), (gst_element_lost_state),
4454         (gst_element_set_state), (gst_element_pads_activate):
4455         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4456         * gst/gstpipeline.c: (gst_pipeline_send_event),
4457         (gst_pipeline_change_state):
4458         Added state change code.
4459         Added/updated docs.
4460         Added sink base class, make fakesink extend the base class.
4461         Small cleanups in GstPipeline.
4462
4463 2005-03-26  David Schleef  <ds@schleef.org>
4464
4465         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4466         is broken and should be implemented in a different library.
4467         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4468         * gst/gst.h: remove gstcpu.h
4469         * gst/gstcpu.c: remove
4470         * gst/gstcpu.h: remove
4471         * gst/Makefile.am.future: Remove this file.  It's ancient.
4472
4473 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4474
4475         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4476         (gst_bin_send_event):
4477           Add default event/set_manager handlers. The set_manager handler
4478           takes care that the manager is distributed over kids that were
4479           already in the bin before the manager was set. The event handler
4480           is a utility virtual function that sends the event over all sinks,
4481           so that gst_element_send_event (bin, event); has the expected
4482           behaviour.
4483         * gst/gstpad.c: (gst_pad_event_default):
4484           Re-install default event handling for discontinuities, so that
4485           seeking works without requiring hacks in applications or extra
4486           code in sinks.
4487         * gst/gstpipeline.c: (gst_pipeline_class_init),
4488         (gst_pipeline_send_event):
4489           Half hack, half utility: set a pipeline to PAUSED for seek events,
4490           since that is the only way we can guarantee a/v sync. Means that
4491           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4492           and it "just works".
4493
4494 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4495
4496         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4497           Lock/unlock mismatch.
4498
4499 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4500
4501         * docs/faq/gst-uninstalled:
4502           add gst-plugins-base
4503         * docs/gst/Makefile.am:
4504           don't error out until docs are fixed
4505         * docs/gst/gstreamer.types:
4506           remove thread
4507
4508 2005-03-22  Wim Taymans  <wim@fluendo.com>
4509
4510         * check/Makefile.am:
4511         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4512         * gst/gststructure.c: (gst_structure_set_valist),
4513         (gst_structure_copy_conditional):
4514         Activated more tests.
4515         Added message test.
4516         Added G_TYPE_POINTER to GstStructure.
4517         
4518
4519 2005-03-22  Wim Taymans  <wim@fluendo.com>
4520
4521         * docs/design/part-TODO.txt:
4522         * docs/design/part-events.txt:
4523         * docs/design/part-gstbin.txt:
4524         * docs/design/part-gstbus.txt:
4525         * docs/design/part-gstpipeline.txt:
4526         * docs/design/part-messages.txt:
4527         * gst/gstbus.c:
4528         * gst/gstmessage.c:
4529         Docs updates
4530
4531 2005-03-21  Wim Taymans  <wim@fluendo.com>
4532
4533         * gst/gstbus.c: (gst_bus_post):
4534         Fix copy-and-paste error.
4535
4536 2005-03-21  Wim Taymans  <wim@fluendo.com>
4537
4538         * check/Makefile.am:
4539         * gst/Makefile.am:
4540         * gst/elements/Makefile.am:
4541         * gst/elements/gstelements.c:
4542         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4543         (gst_fakesink_event), (gst_fakesink_chain):
4544         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4545         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4546         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4547         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4548         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4549         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4550         (gst_fakesrc_loop), (gst_fakesrc_activate),
4551         (gst_fakesrc_change_state):
4552         * gst/elements/gstfakesrc.h:
4553         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4554         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4555         (gst_filesrc_open_file), (gst_filesrc_loop),
4556         (gst_filesrc_activate), (gst_filesrc_change_state),
4557         (filesrc_find_peek), (filesrc_find_suggest),
4558         (gst_filesrc_type_find):
4559         * gst/elements/gstidentity.c: (gst_identity_finalize),
4560         (gst_identity_class_init), (gst_identity_init),
4561         (gst_identity_proxy_getcaps), (identity_queue_push),
4562         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4563         (gst_identity_getrange), (gst_identity_chain),
4564         (gst_identity_sink_loop), (gst_identity_src_loop),
4565         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4566         (gst_identity_set_property), (gst_identity_get_property),
4567         (gst_identity_change_state):
4568         * gst/elements/gstidentity.h:
4569         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4570         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4571         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4572         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4573         (gst_tee_sink_activate):
4574         * gst/elements/gsttee.h:
4575         * gst/gst.c: (gst_register_core_elements), (init_post):
4576         * gst/gst.h:
4577         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4578         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4579         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4580         (gst_bin_change_state):
4581         * gst/gstbin.h:
4582         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4583         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4584         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4585         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4586         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4587         (bus_watch_callback), (bus_watch_destroy),
4588         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4589         (poll_timeout), (gst_bus_poll):
4590         * gst/gstbus.h:
4591         * gst/gstcaps.h:
4592         * gst/gstdata.h:
4593         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4594         (gst_element_post_message), (gst_element_message_full),
4595         (gst_element_get_state_func), (gst_element_get_state),
4596         (gst_element_abort_state), (gst_element_commit_state),
4597         (gst_element_lost_state), (gst_element_set_state),
4598         (gst_element_pads_activate), (gst_element_change_state),
4599         (gst_element_dispose), (gst_element_set_manager_func),
4600         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4601         (gst_element_set_manager), (gst_element_get_manager),
4602         (gst_element_set_bus), (gst_element_get_bus),
4603         (gst_element_set_scheduler), (gst_element_get_scheduler):
4604         * gst/gstelement.h:
4605         * gst/gstevent.c: (gst_event_new_segment_seek),
4606         (gst_event_new_flush):
4607         * gst/gstevent.h:
4608         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4609         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4610         (gst_message_new_eos), (gst_message_new_error),
4611         (gst_message_new_warning), (gst_message_new_tag),
4612         (gst_message_new_state_changed), (gst_message_new_application),
4613         (gst_message_get_structure), (gst_message_parse_tag),
4614         (gst_message_parse_state_changed), (gst_message_parse_error),
4615         (gst_message_parse_warning):
4616         * gst/gstmessage.h:
4617         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4618         (gst_real_pad_set_property), (gst_pad_set_active),
4619         (gst_pad_is_active), (gst_pad_set_blocked_async),
4620         (gst_pad_set_blocked), (gst_pad_is_blocked),
4621         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4622         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4623         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4624         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4625         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4626         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4627         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4628         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4629         (gst_pad_set_caps), (gst_pad_configure_sink),
4630         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4631         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4632         (gst_real_pad_dispose), (gst_real_pad_finalize),
4633         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4634         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4635         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4636         * gst/gstpad.h:
4637         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4638         (pipeline_bus_handler), (gst_pipeline_change_state),
4639         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4640         * gst/gstpipeline.h:
4641         * gst/gstprobe.h:
4642         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4643         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4644         (gst_queue_link_src), (gst_queue_bufferalloc),
4645         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4646         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4647         (gst_queue_loop), (gst_queue_handle_src_event),
4648         (gst_queue_handle_src_query), (gst_queue_src_activate),
4649         (gst_queue_change_state):
4650         * gst/gstqueue.h:
4651         * gst/gstscheduler.c: (gst_scheduler_init),
4652         (gst_scheduler_dispose), (gst_scheduler_create_task),
4653         (gst_scheduler_factory_create):
4654         * gst/gstscheduler.h:
4655         * gst/gststructure.c: (gst_structure_get_type),
4656         (gst_structure_copy_conditional):
4657         * gst/gststructure.h:
4658         * gst/gsttaginterface.h:
4659         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4660         (gst_task_init), (gst_task_dispose), (gst_task_create),
4661         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4662         (gst_task_pause):
4663         * gst/gsttask.h:
4664         * gst/gstthread.c:
4665         * gst/gstthread.h:
4666         * gst/gsttypes.h:
4667         * gst/schedulers/Makefile.am:
4668         * gst/schedulers/cothreads_compat.h:
4669         * gst/schedulers/entryscheduler.c:
4670         * gst/schedulers/faircothreads.c:
4671         * gst/schedulers/faircothreads.h:
4672         * gst/schedulers/fairscheduler.c:
4673         * gst/schedulers/gstbasicscheduler.c:
4674         * gst/schedulers/gstoptimalscheduler.c:
4675         * gst/schedulers/gthread-cothreads.h:
4676         * gst/schedulers/threadscheduler.c:
4677         (gst_thread_scheduler_task_get_type),
4678         (gst_thread_scheduler_task_class_init),
4679         (gst_thread_scheduler_task_init),
4680         (gst_thread_scheduler_task_start),
4681         (gst_thread_scheduler_task_stop),
4682         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4683         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4684         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4685         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4686         (plugin_init):
4687         * libs/gst/Makefile.am:
4688         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4689         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4690         (gst_file_pad_parent_set):
4691         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4692         (gst_dp_event_from_packet):
4693         * tests/complexity.c: (main):
4694         * tests/mass_elements.c: (main):
4695         * testsuite/states/locked.c: (message_received), (main):
4696         * testsuite/states/parent.c: (main):
4697         * tools/gst-inspect.c: (print_element_flag_info),
4698         (print_implementation_info), (print_pad_info):
4699         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4700         (main):
4701         * tools/gst-md5sum.c: (event_loop), (main):
4702         * tools/gst-typefind.c: (main):
4703         * tools/gst-xmlinspect.c: (print_element_info):
4704         Next big merge.
4705         Added GstBus for mainloop integration.
4706         Added GstMessage for sending notifications on the bus.
4707         Added GstTask as an abstraction for pipeline entry points.
4708         Removed GstThread.
4709         Removed Schedulers.
4710         Simplified GstQueue for multithreaded core.
4711         Made _link threadsafe, removed old capsnego.
4712         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4713         Added pad blocking functions.
4714         Reworked scheduling functions in GstPad to prepare for
4715         scheduling updates soon.
4716         Moved events out of data stream.
4717         Simplified GstEvent types.
4718         Added return values to push/pull.
4719         Removed clocking from GstElement.
4720         Added prototypes for state change function for next merge.
4721         Removed iterate from bins and state change management.
4722         Fixed some elements, disabled others for now.
4723         Fixed -inspect and -launch.
4724         Added check for GstBus.
4725
4726 2005-03-10  Wim Taymans  <wim@fluendo.com>
4727
4728         * docs/design/part-MT-refcounting.txt:
4729         * docs/design/part-clocks.txt:
4730         * docs/design/part-gstelement.txt:
4731         * docs/design/part-gstobject.txt:
4732         * docs/design/part-standards.txt:
4733         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4734         (gst_bin_remove_func), (gst_bin_remove):
4735         * gst/gstbin.h:
4736         * gst/gstbuffer.c:
4737         * gst/gstcaps.h:
4738         * testsuite/clock/clock1.c: (main):
4739         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4740         (main):
4741         * testsuite/dlopen/loadgst.c: (do_test):
4742         * testsuite/refcounting/bin.c: (add_remove_test1),
4743         (add_remove_test2), (main):
4744         * testsuite/refcounting/element.c: (main):
4745         * testsuite/refcounting/element_pad.c: (main):
4746         * testsuite/refcounting/pad.c: (main):
4747         * tools/gst-launch.c: (sigint_handler_sighandler):
4748         * tools/gst-typefind.c: (main):
4749         Doc updates.
4750         Added doc about clock.
4751         removed gst_bin_iterate_recurse_up(), marked methods
4752         for removal.
4753         Fix more testsuites.
4754
4755 2005-03-09  Wim Taymans  <wim@fluendo.com>
4756
4757         * gst/gstpad.c: (gst_pad_get_direction),
4758         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4759         (gst_pad_collect_valist):
4760         * testsuite/bins/interface.c: (main):
4761         * testsuite/caps/audioscale.c: (test_caps):
4762         * testsuite/caps/caps.c: (test1), (test2), (test3):
4763         * testsuite/caps/deserialize.c: (main):
4764         * testsuite/caps/enumcaps.c: (main):
4765         * testsuite/caps/filtercaps.c: (main):
4766         * testsuite/caps/intersect2.c: (main):
4767         * testsuite/caps/random.c: (main):
4768         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4769         * testsuite/caps/sets.c: (check_caps):
4770         * testsuite/caps/simplify.c: (check_caps), (main):
4771         * testsuite/caps/subtract.c: (check_caps):
4772         Fix _pad_get_direction wrt ghostpads.
4773         Fix caps testsuite.
4774
4775 2005-03-09  Wim Taymans  <wim@fluendo.com>
4776
4777         * check/Makefile.am:
4778         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4779         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4780         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4781         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4782         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4783         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4784         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4785         (bin_element_is_sink), (gst_bin_iterate_sinks),
4786         (gst_bin_iterate_all_by_interface):
4787         * gst/gstbin.h:
4788         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4789         (gst_element_change_state), (gst_element_dispose),
4790         (gst_element_finalize), (gst_element_set_loop_function):
4791         * gst/gstelement.h:
4792         * gst/gstiterator.c: (find_custom_fold_func):
4793         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4794         (gst_pad_collectv), (gst_pad_collect_valist),
4795         (gst_pad_template_new):
4796         * gst/gstpipeline.c: (gst_pipeline_class_init),
4797         (gst_pipeline_dispose), (gst_pipeline_set_property),
4798         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4799         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4800         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4801         * gst/gstutils.h:
4802         * gst/schedulers/entryscheduler.c:
4803         * gst/schedulers/gstbasicscheduler.c:
4804         (gst_basic_scheduler_cothreaded_chain),
4805         (gst_basic_scheduler_chain_add_element):
4806         * testsuite/bins/interface.c: (main):
4807         Added GstBin test.
4808         Added GstSystemClock test.
4809         Implemented clock distribution code in GstBin.
4810         Implemented iterate sinks method for future use.
4811         Rearranged gstelement.h
4812         Fix GstIterator comparison bug.
4813         Moved some code to GstPipeline, mostly clocking related.
4814
4815 2005-03-09  Wim Taymans  <wim@fluendo.com>
4816
4817         * configure.ac:
4818         * gst/gst_private.h:
4819         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4820         (gst_bin_remove_func), (gst_bin_remove),
4821         (gst_bin_get_by_name_recurse_up):
4822         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4823         (gst_clock_id_compare_func), (gst_clock_id_wait),
4824         (gst_clock_id_wait_async), (gst_clock_init),
4825         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4826         * gst/gstelement.h:
4827         * gst/gstinfo.c: (_gst_debug_init):
4828         * gst/gstobject.h:
4829         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4830         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4831         * gst/gstpad.h:
4832         Bump version number, we're now 0.9.0
4833         Add future debugging category.
4834         Fix NULL _unref() in _get_by_name_recurse_up
4835         Rearrange gstpad.h.
4836         Update some docs.
4837
4838 2005-03-08  Wim Taymans  <wim@fluendo.com>
4839
4840         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4841         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4842         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4843         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4844         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4845         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4846         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4847         * gst/elements/gstidentity.c: (gst_identity_class_init):
4848         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4849         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4850         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4851         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4852         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4853         (gst_tee_link):
4854         * gst/gstelement.c: (gst_element_class_init),
4855         (gst_element_base_class_init), (gst_element_init),
4856         (gst_element_get_random_pad), (gst_element_wait_state_change),
4857         (gst_element_change_state), (gst_element_dispose),
4858         (gst_element_finalize), (gst_element_set_loop_function):
4859         * gst/gstelement.h:
4860         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4861         * gst/gstthread.c: (gst_thread_class_init),
4862         (gst_thread_release_children_locks), (gst_thread_change_state):
4863         * gst/schedulers/gstbasicscheduler.c:
4864         (gst_basic_scheduler_loopfunc_wrapper),
4865         (gst_basic_scheduler_chain_wrapper),
4866         (gst_basic_scheduler_src_wrapper),
4867         (gst_basic_scheduler_remove_element):
4868         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4869         Remove threadsafe properties. Fix elements because GObject
4870         complains when installing a property before declaring a
4871         set/get_property handler.
4872         Rearrange gstelement.h file, use STATE macros for state locks.
4873         Free mutexes in the finalize method instead of dispose.
4874
4875 2005-03-08  Wim Taymans  <wim@fluendo.com>
4876
4877         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4878         * gst/gstthread.c: (gst_thread_release_children_locks):
4879         Added parentage check.
4880         Fix build og GstThread again.
4881
4882 2005-03-08  Wim Taymans  <wim@fluendo.com>
4883
4884         * docs/design/part-MT-refcounting.txt:
4885         * docs/design/part-conventions.txt:
4886         * docs/design/part-gstobject.txt:
4887         * docs/design/part-relations.txt:
4888         * docs/design/part-standards.txt:
4889         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4890         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4891         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4892         (gst_bin_iterate_all_by_interface):
4893         * gst/gstbuffer.h:
4894         * gst/gstclock.h:
4895         * gst/gstelement.c: (gst_element_class_init),
4896         (gst_element_change_state), (gst_element_set_loop_function):
4897         * gst/gstelement.h:
4898         * gst/gstiterator.c:
4899         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4900         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4901         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4902         (gst_object_set_parent), (gst_object_unparent),
4903         (gst_object_check_uniqueness):
4904         * gst/gstobject.h:
4905         Docs updates, clean up some headers.
4906
4907 2005-03-07  Wim Taymans  <wim@fluendo.com>
4908
4909         * check/.cvsignore:
4910         * check/Makefile.am:
4911         * check/gst-libs/.cvsignore:
4912         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4913         * check/gst/.cvsignore:
4914         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4915         (START_TEST), (gstbus_suite), (main):
4916         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4917         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4918         (gst_data_suite), (main):
4919         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4920         (add_fold_func), (gstiterator_suite), (main):
4921         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4922         (thread_name_object), (thread_name_object_default),
4923         (gst_object_name_compare), (gst_object_suite), (main):
4924         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4925         (gst_pad_suite), (main):
4926         * check/gstcheck.c: (gst_check_log_message_func),
4927         (gst_check_log_critical_func), (gst_check_init):
4928         * check/gstcheck.h:
4929         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4930         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4931         Added checks.
4932
4933 2005-03-07  Wim Taymans  <wim@fluendo.com>
4934
4935         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4936         (gst_list_iterator_next), (gst_list_iterator_resync),
4937         (gst_list_iterator_free), (gst_iterator_new_list),
4938         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4939         (gst_iterator_free), (gst_iterator_push), (filter_next),
4940         (filter_resync), (filter_uninit), (filter_free),
4941         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4942         (gst_iterator_foreach), (find_custom_fold_func),
4943         (gst_iterator_find_custom):
4944         * gst/gstiterator.h:
4945         Added missing files.
4946
4947 2005-03-07  Wim Taymans  <wim@fluendo.com>
4948
4949         * Makefile.am:
4950         * configure.ac:
4951         * docs/design/part-MT-refcounting.txt:
4952         * docs/design/part-conventions.txt:
4953         * docs/design/part-gstobject.txt:
4954         * docs/design/part-relations.txt:
4955         * examples/mixer/mixer.c: (main):
4956         * examples/thread/thread.c: (eos), (main):
4957         * gst/Makefile.am:
4958         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4959         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4960         (gst_spider_plug_from_srcpad):
4961         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4962         (gst_spider_identity_change_state),
4963         (gst_spider_identity_sink_loop_type_finding):
4964         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4965         * gst/elements/gstidentity.c: (gst_identity_init):
4966         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4967         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4968         * gst/elements/gsttypefindelement.c: (free_entry):
4969         * gst/gst.c:
4970         * gst/gst.h:
4971         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4972         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4973         (gst_bin_set_index), (gst_bin_set_element_sched),
4974         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4975         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4976         (gst_bin_iterate_elements), (iterate_child_recurse),
4977         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4978         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4979         (compare_interface), (gst_bin_get_by_interface),
4980         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4981         * gst/gstbin.h:
4982         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4983         (gst_buffer_default_free), (gst_buffer_default_copy),
4984         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4985         (gst_buffer_create_sub):
4986         * gst/gstbuffer.h:
4987         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4988         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4989         (gst_caps_unref), (gst_static_caps_get),
4990         (gst_caps_remove_and_get_structure), (gst_caps_append),
4991         (gst_caps_append_structure), (gst_caps_remove_structure),
4992         (gst_caps_copy_nth), (gst_caps_set_simple),
4993         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4994         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4995         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4996         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4997         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4998         (gst_caps_structure_figure_out_union),
4999         (gst_caps_switch_structures), (gst_caps_do_simplify),
5000         (gst_caps_replace), (gst_caps_from_string),
5001         (gst_caps_copy_conditional):
5002         * gst/gstcaps.h:
5003         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5004         (_gst_clock_id_free), (gst_clock_id_unref),
5005         (gst_clock_id_compare_func), (gst_clock_id_wait),
5006         (gst_clock_id_wait_async), (gst_clock_class_init),
5007         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5008         (gst_clock_get_time), (gst_clock_set_time_adjust),
5009         (gst_clock_set_property), (gst_clock_get_property):
5010         * gst/gstclock.h:
5011         * gst/gstcompat.h:
5012         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5013         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5014         * gst/gstdata.h:
5015         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5016         (gst_element_requires_clock), (gst_element_provides_clock),
5017         (gst_element_set_clock), (gst_element_clock_wait),
5018         (gst_element_wait), (gst_element_set_time_delay),
5019         (gst_element_is_indexable), (gst_element_add_pad),
5020         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5021         (pad_compare_name), (gst_element_get_static_pad),
5022         (gst_element_request_pad), (gst_element_get_request_pad),
5023         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5024         (gst_element_class_get_pad_template_list),
5025         (gst_element_class_get_pad_template), (gst_element_error_func),
5026         (gst_element_get_random_pad), (gst_element_get_event_masks),
5027         (gst_element_send_event), (gst_element_seek),
5028         (gst_element_get_query_types), (gst_element_query),
5029         (gst_element_get_formats), (gst_element_convert),
5030         (gst_element_is_locked_state), (gst_element_set_locked_state),
5031         (gst_element_sync_state_with_parent), (gst_element_change_state),
5032         (gst_element_finalize), (gst_element_yield),
5033         (gst_element_interrupt), (gst_element_set_scheduler),
5034         (gst_element_get_scheduler), (gst_element_set_loop_function):
5035         * gst/gstelement.h:
5036         * gst/gstevent.h:
5037         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5038         (gst_format_get_by_nick), (gst_format_get_details),
5039         (gst_format_iterate_definitions):
5040         * gst/gstformat.h:
5041         * gst/gstindex.c: (gst_index_gtype_resolver):
5042         * gst/gstinfo.c:
5043         * gst/gstinfo.h:
5044         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5045         (gst_mem_chunk_free):
5046         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5047         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5048         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5049         (gst_object_dispatch_properties_changed),
5050         (gst_object_set_name_default), (gst_object_set_name),
5051         (gst_object_get_name), (gst_object_set_name_prefix),
5052         (gst_object_get_name_prefix), (gst_object_set_parent),
5053         (gst_object_get_parent), (gst_object_unparent),
5054         (gst_object_check_uniqueness), (gst_object_save_thyself),
5055         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5056         (gst_object_set_property), (gst_object_get_property),
5057         (gst_object_get_path_string):
5058         * gst/gstobject.h:
5059         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5060         (gst_real_pad_init), (gst_real_pad_get_property),
5061         (gst_pad_custom_new), (gst_pad_get_direction),
5062         (gst_pad_set_active), (gst_pad_is_active),
5063         (gst_pad_set_event_function), (gst_pad_is_linked),
5064         (gst_pad_link_free), (gst_pad_link_intersect),
5065         (gst_pad_link_fixate), (gst_pad_set_caps),
5066         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5067         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5068         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5069         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5070         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5071         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5072         (gst_pad_realize), (gst_pad_get_allowed_caps),
5073         (gst_real_pad_dispose), (gst_real_pad_finalize),
5074         (gst_pad_collectv), (gst_pad_collect_valist),
5075         (gst_pad_template_dispose), (gst_pad_template_new),
5076         (gst_pad_get_internal_links):
5077         * gst/gstpad.h:
5078         * gst/gstpipeline.c: (gst_pipeline_dispose),
5079         (gst_pipeline_change_state):
5080         * gst/gstpipeline.h:
5081         * gst/gstplugin.c:
5082         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5083         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5084         * gst/gstpluginfeature.h:
5085         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5086         * gst/gstquery.c: (_gst_query_type_initialize),
5087         (gst_query_type_register), (gst_query_type_get_by_nick),
5088         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5089         * gst/gstquery.h:
5090         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5091         * gst/gstscheduler.c: (gst_scheduler_add_element),
5092         (gst_scheduler_factory_create):
5093         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5094         (gst_structure_free), (gst_structure_set_name),
5095         (gst_structure_id_set_value), (gst_structure_set_value),
5096         (gst_structure_set_valist), (gst_structure_remove_field),
5097         (gst_structure_remove_fields),
5098         (gst_structure_remove_fields_valist),
5099         (gst_structure_remove_all_fields), (gst_structure_foreach),
5100         (gst_structure_map_in_place),
5101         (gst_caps_structure_fixate_field_nearest_int),
5102         (gst_caps_structure_fixate_field_nearest_double):
5103         * gst/gststructure.h:
5104         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5105         (gst_system_clock_init), (gst_system_clock_dispose),
5106         (gst_system_clock_async_thread),
5107         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5108         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5109         * gst/gstsystemclock.h:
5110         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5111         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5112         * gst/gsttaginterface.c:
5113         * gst/gstthread.c: (gst_thread_dispose),
5114         (gst_thread_release_children_locks), (gst_thread_change_state),
5115         (gst_thread_main_loop):
5116         * gst/gsttrashstack.h:
5117         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5118         * gst/gsttypes.h:
5119         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5120         (gst_element_request_pad), (gst_element_get_pad_from_template),
5121         (gst_element_request_compatible_pad),
5122         (gst_element_get_compatible_pad_filtered),
5123         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5124         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5125         (gst_element_link_many), (gst_element_link),
5126         (gst_element_link_pads), (gst_element_unlink_pads),
5127         (gst_element_unlink_many), (gst_element_unlink),
5128         (gst_pad_can_link_filtered), (gst_pad_can_link),
5129         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5130         (gst_object_default_error), (gst_bin_add_many),
5131         (gst_bin_remove_many), (gst_element_populate_std_props),
5132         (gst_element_class_install_std_props), (gst_buffer_merge),
5133         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5134         (link_fold_func), (gst_pad_proxy_setcaps):
5135         * gst/gstutils.h:
5136         * gst/gstvalue.c: (gst_value_deserialize_string):
5137         * gst/parse/grammar.y:
5138         * gst/schedulers/gstbasicscheduler.c:
5139         (gst_basic_scheduler_cothreaded_chain),
5140         (gst_basic_scheduler_chain_recursive_add),
5141         (gst_basic_scheduler_pad_link):
5142         * gst/schedulers/gstoptimalscheduler.c:
5143         (get_group_schedule_function),
5144         (gst_opt_scheduler_state_transition),
5145         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5146         * libs/gst/bytestream/bytestream.c:
5147         * libs/gst/dataprotocol/dataprotocol.c:
5148         (gst_dp_header_from_buffer):
5149         * po/nb.po:
5150         * po/ru.po:
5151         * tests/threadstate/threadstate2.c: (eos):
5152         * tools/gst-compprep.c: (main):
5153         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5154         (print_pad_info), (print_children_info):
5155         * tools/gst-launch.c: (idle_func), (main):
5156         * tools/gst-md5sum.c: (idle_func), (main):
5157         * tools/gst-xmlinspect.c: (print_element_info):
5158         First THREADED backport attempt, focusing on adding locks and
5159         making sure the API is threadsafe. Needs more work. More docs
5160         follow this week.
5161
5162 2005-02-24  Andy Wingo  <wingo@pobox.com>
5163
5164         * tests/bench-complexity.scm:
5165         * tests/complexity.gnuplot: New files, good for running complexity
5166         benchmarks.
5167
5168         * tests/Makefile.am:
5169         * tests/complexity.c: New test, sets up N elements, at each level
5170         teeing into M streams per element. Eeeenteresting.
5171
5172         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5173         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5174         running bench-mass_elements.scm.
5175
5176         * tests/bench-mass_elements.scm: New script, runs mass_elements
5177         for various numbers of identities, outputting the results to a
5178         file. Requires guile 1.6. Just for testing.
5179
5180 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5181
5182         * gst/schedulers/fairscheduler.c:
5183           compile with debug disabled
5184
5185 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5186
5187         * configure.ac:
5188           hunting season on 0.9 is now OPEN
5189
5190 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5191
5192         * docs/libs/tmpl/gstcontrol.sgml:
5193         * docs/libs/tmpl/gstdparam.sgml:
5194         * docs/libs/tmpl/gstdplinint.sgml:
5195         * docs/libs/tmpl/gstdpman.sgml:
5196         * docs/libs/tmpl/gstdpsmooth.sgml:
5197         * docs/libs/tmpl/gstunitconvert.sgml:
5198           more docs for the state of dparams
5199
5200 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5201
5202         * gst/gstelementfactory.c: (gst_element_factory_create):
5203         * gst/gstobject.c: (gst_object_init),
5204         (gst_object_set_name_default), (gst_object_set_name):
5205           name objects by default, not in gst_element_factory_create. Allows
5206           using elements created with g_object_new. (fixes #167283)
5207
5208 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5209
5210         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5211           make the time that debugging functions print relative to when
5212           gst_init was called
5213
5214 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5215
5216         * gst/gsttaginterface.c:
5217           Fix inline docs: tag setter vararg functions are NULL-terminated,
5218           GST_TAG_INVALID doesn't exist any more.
5219
5220 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5221
5222         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5223         Allocate the 1 byte more memory that was forgotten!!!!!
5224         fixes memory corruption on 64bit platforms
5225
5226 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5227
5228         * docs/pwg/building-pads.xml:
5229         * docs/pwg/intro-basics.xml:
5230           fixed a few typos, relabeled introductionary list of types
5231         * docs/random/ensonic/dparams.txt:
5232           more notes abut dparam changes
5233         * libs/gst/control/dparam.c: (gst_dparam_attach):
5234         * libs/gst/control/dparammanager.c:
5235         * libs/gst/control/dparammanager.h:
5236           - many comments and notes on dparam implementation
5237           - new dparams are were not initialized to the default value
5238             from param spec
5239
5240 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5241
5242         submitted by: Peter Astakhov
5243
5244         * po/LINGUAS:
5245         * po/ru.po:
5246           adding Russian translation
5247
5248 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5249
5250         * configure.ac:
5251         * docs/gst/Makefile.am:
5252         * docs/libs/Makefile.am:
5253           make sure popt is added to gtk-doc flags.  Fixes #147782.
5254
5255 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5256
5257         * docs/faq/using.xml:
5258           Fix typo in FAQ (artssink => artsdsink)
5259
5260 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5261
5262         * tools/gst-launch.1.in:
5263           Fix typo (#166699).
5264
5265 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5266
5267         * docs/faq/using.xml:
5268           Add -v argument to fakesrc/fakesink gst-launch line,
5269           so that the promised output will actually show up.
5270
5271 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5272
5273         * gst/gstthread.c: (gst_thread_change_state):
5274           Implement state-change error handling (#166073).
5275
5276 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5277
5278         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5279           Release interrupt after handling (#166250).
5280
5281 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5282
5283         * configure.ac:
5284           back to HEAD
5285
5286 === release 0.8.9 ===
5287
5288 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5289
5290         * NEWS:
5291         * RELEASE:
5292         * configure.ac:
5293           releasing 0.8.9, "Like Eating Glass"
5294
5295 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5296
5297         submitted by: Clytie Siddall
5298
5299         * po/vi.po: Added Vietnamese translation
5300
5301 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5302
5303         patch by: Tim Philipp-Müller
5304
5305         * configure.ac:
5306         * gst/gstpad.c:
5307           unref data when probe function returns FALSE.  Fixes #166362
5308
5309 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5310
5311         * gst/gst.c: (gst_init_get_popt_table):
5312           Fix typo (#166269).
5313
5314 2005-02-04  Andy Wingo  <wingo@pobox.com>
5315
5316         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5317         the debugging on whether the caps are compatible.
5318
5319 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5320
5321         * docs/manual/basics-elements.xml:
5322           Fix two typos.
5323
5324 2005-02-02  Wim Taymans  <wim@fluendo.com>
5325
5326         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5327         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5328         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5329         Remove some FIXMEs after analysing and commenting why they
5330         are not issues.
5331
5332 2005-02-02  Wim Taymans  <wim@fluendo.com>
5333
5334         * gst/schedulers/gstoptimalscheduler.c:
5335         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5336         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5337         (get_invalid_call), (chain_invalid_call),
5338         (get_group_schedule_function), (loop_group_schedule_function),
5339         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5340         (gst_opt_scheduler_state_transition),
5341         (gst_opt_scheduler_add_element),
5342         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5343         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5344         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5345         (gst_opt_scheduler_show):
5346         Added lock to protect scheduler data structures.
5347
5348 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5349
5350         * testsuite/threads/threadi.c: (cb_data):
5351           Fix buglet in test.
5352
5353 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5354
5355         * testsuite/threads/Makefile.am:
5356         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5357           On Wim's request, split the test in three separately-compiled
5358           tests that each test a very specific bug. Two of them still fail,
5359           will create bugs for those. threadi.c indicates why they fail.
5360
5361 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5362
5363         * gst/schedulers/gstoptimalscheduler.c:
5364         (get_group_schedule_function):
5365           Try to work with the threading mess that queue_link is.
5366
5367 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5368
5369         * gst/gstbin.c: (gst_bin_remove_func):
5370           Explicitely make an element release locks in a group when being
5371           remove from a bin.
5372         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5373           If there's no scheduler, always return immediately (similar to
5374           gst_element_interrupt).
5375
5376 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5377
5378         * gst/gstbin.c: (gst_bin_child_state_change_func):
5379           Remove a piece of code that could never be reached.
5380         * docs/gst/gstreamer-sections.txt:
5381         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5382         (gst_pad_call_get_function):
5383         * gst/gstpad.h:
5384         * testsuite/pad/Makefile.am:
5385           Fix #150546, enable tests.
5386
5387 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5388
5389         * docs/pwg/advanced-types.xml:
5390           Fix description for buffer-frames=0.
5391         * docs/gst/tmpl/gstbin.sgml:
5392         * gst/gstbin.c: (gst_bin_child_state_change_func),
5393         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5394         * gst/gstbin.h:
5395         * testsuite/threads/Makefile.am:
5396         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5397         (cb_state), (cb_play), (main):
5398           Fix non-recursive state changes to *really* change the state
5399           of the object, and not just call parent_class->state_change.
5400           Fix a lot of lockups caused by this. Fixes #132775. Add test
5401           for the problem. Also enable test to show #142588 (fixed).
5402         * gst/gstthread.c: (gst_thread_change_state),
5403         (gst_thread_child_state_change):
5404           Don't exit the thread if we go to NULL and are inside thread
5405           context. Instead, return control to the main thread context
5406           and exit from there.
5407         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5408           Don't unset virtual functions, since those may still be used.
5409           That's not necessarily correct, but suffices for now.
5410         * configure.ac:
5411         * testsuite/Makefile.am:
5412         * testsuite/pad/Makefile.am:
5413         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5414         (gst_test_sink_base_init), (gst_test_sink_chain),
5415         (gst_test_sink_init), (main):
5416         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5417         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5418         (main):
5419         * testsuite/pad/link.c: (gst_test_element_class_init),
5420         (gst_test_element_base_init), (gst_test_src_get),
5421         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5422         (gst_test_filter_loop), (gst_test_filter_init),
5423         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5424         (cb_error), (main):
5425           Add tests to show #150546. Pass, but should fail (currently
5426           disabled from the testsuite).
5427         * gst/gstscheduler.c: (gst_scheduler_dispose):
5428           Dereference child schedulers on dispose (#94464).
5429         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5430           Fix typo.
5431         * testsuite/threads/thread.c: (main):
5432           Add more debug.
5433
5434 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5435
5436         * gst/gstpad.c: (gst_pad_push):
5437           Oops, revert previous commit, broke testsuite...
5438
5439 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5440
5441         * gst/gstpad.c: (gst_pad_push):
5442           Add check that the pad on which the push is performed is not a
5443           get-based pad (#150546).
5444
5445 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5446
5447         * gst/elements/gsttypefindelement.c:
5448         (gst_type_find_element_handle_event):
5449           Fix buffer pushing if stream EOSes during typefinding.
5450
5451 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5452
5453         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5454
5455         * gst/gstvalue.c: (gst_string_wrap):
5456           Allow NULL-strings as argument (#165365).
5457
5458 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5459
5460         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5461
5462         * gst/schedulers/faircothreads.c:
5463         (gst_fair_scheduler_cothread_queue_show):
5464           Fix build without debug enabled.
5465
5466 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5467
5468         * docs/gst/gstreamer-sections.txt:
5469         * docs/libs/gstreamer-libs-docs.sgml:
5470         * docs/libs/gstreamer-libs-sections.txt:
5471         * docs/libs/tmpl/gstcontrol.sgml:
5472         * docs/libs/tmpl/gstdparam.sgml:
5473         * docs/libs/tmpl/gstdplinint.sgml:
5474         * docs/libs/tmpl/gstdpman.sgml:
5475         * docs/libs/tmpl/gstdpsmooth.sgml:
5476         * docs/libs/tmpl/gstputbits.sgml:
5477         * docs/libs/tmpl/gstunitconvert.sgml:
5478         * libs/gst/control/dparam.c:
5479         * libs/gst/control/dparam.h:
5480         * libs/gst/control/dparammanager.c:
5481         (gst_dpman_add_required_dparam_callback),
5482         (gst_dpman_add_required_dparam_direct),
5483         (gst_dpman_add_required_dparam_array),
5484         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5485         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5486         (gst_dpman_get_manager)
5487           restructured DParam docs
5488
5489 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5490
5491         * gst-element-check.m4:
5492           Only check for gst-inspect if we haven't already
5493           found it in previous element check runs
5494
5495 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5496
5497         * docs/gst/Makefile.am:
5498         * docs/libs/Makefile.am:
5499           fixed install rules to treat style.css as optional
5500
5501 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5502
5503         * docs/gst/Makefile.am:
5504         * docs/libs/Makefile.am:
5505           install style.css along with docs
5506         * docs/gst/tmpl/gstbin.sgml:
5507         * docs/gst/tmpl/gstclock.sgml:
5508         * docs/gst/tmpl/gstdata.sgml:
5509         * docs/gst/tmpl/gstelement.sgml:
5510         * gst/gstbin.h:
5511         * gst/gstelement.c: (gst_element_class_init):
5512         * gst/gstelement.h:
5513           fixing incomplete docs
5514
5515 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5516
5517         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5518           Don't unref seek event twice when fflush() fails
5519           
5520 2005-01-22  David Schleef  <ds@schleef.org>
5521
5522         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5523
5524 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5525
5526         * docs/gst/Makefile.am:
5527         * docs/libs/Makefile.am:
5528           added params for deprecation guards
5529         * gst/gst.c:
5530         * gst/gst.h:
5531         * gst/gsterror.c: (_gst_resource_errors_init),
5532         (_gst_stream_errors_init):
5533         * gst/gsterror.h:
5534           documented some more enums
5535
5536 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5537         * gst/autoplug/gstspideridentity.c:
5538         Cosmetic fix - spider_find_peek should be static
5539         * gst/parse/parse.l:
5540         Applying fix for #164261
5541
5542 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5543
5544         * docs/gst/gstreamer-sections.txt:
5545         * docs/gst/tmpl/gstplugin.sgml:
5546         * docs/libs/gstreamer-libs-sections.txt:
5547         * docs/libs/tmpl/gstcontrol.sgml:
5548         * gst/gstbuffer.h:
5549         * gst/gsttag.h:
5550         * gst/gstvalue.c:
5551           added docs for the TAG defines
5552
5553 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5554
5555         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5556           Only unref entry if there is an entry.
5557
5558 2005-01-17  Wim Taymans  <wim@fluendo.com>
5559
5560         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5561         (remove_from_group), (schedule_group), (normalize_group),
5562         (gst_opt_scheduler_iterate):
5563         Also ref/unref decoupled elements before iterating the
5564         group since they are not added to the list of elements.
5565
5566 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5567
5568         * docs/manual/highlevel-components.xml:
5569           Add subtitle/streamselection as new features to playbin.
5570
5571 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5572
5573         * docs/manual/manual.xml:
5574           Re-enable dataaccess docs (oops).
5575
5576 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5577
5578         * docs/pwg/advanced-types.xml:
5579         * docs/random/mimetypes:
5580           Add documentation on libsndfile types (#163309), by Steve Baker
5581           <steve@stevebaker.org>.
5582         * gst/gstelement.c: (gst_element_release_request_pad):
5583           If an element has no explicit function, just remove the pad.
5584
5585 2005-01-17  Luca Ognibene  <luogni@tin.it>
5586
5587         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5588
5589         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5590           Fix memleak (#163801).
5591
5592 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5593
5594         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5595           I think this is actually more correct...
5596
5597 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5598
5599         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5600           Another workaround for memory access while destroyed in callback.
5601           Please, someone with refcount knowledge, have a look at this.
5602
5603 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5604
5605         * docs/faq/faq.xml:
5606         * docs/faq/legal.xml:
5607           move the legal Q&A here
5608
5609 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5610
5611         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5612         (gst_tee_request_new_pad):
5613           Fix negotiation.
5614
5615 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5616
5617         * docs/random/omega/caps2:
5618         * testsuite/caps/caps_strings:
5619           replace framerate aproximations by their real value
5620           (24000/1001, 30000/1001, 60000/1001)
5621           Partially fixes bug #164049
5622
5623 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5624
5625         * docs/gst/Makefile.am:
5626           don't fail on the stupid GstPoptOption
5627
5628 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5629
5630         * gst/gstpad.h:
5631         * gst/gstprobe.c:
5632           allow probes to work on ghost pads by realizing the pad
5633           probe debugging
5634
5635 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5636
5637         * docs/gst/gstreamer-sections.txt:
5638         * docs/gst/tmpl/gstpad.sgml:
5639         * gst/gstpad.c: (gst_pad_set_active_recursive):
5640         * gst/gstpad.h:
5641           Add gst_pad_set_active_recursive().
5642
5643 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5644
5645         * docs/random/release:
5646           updates
5647         * gst/gst_private.h:
5648         * gst/gstinfo.c:
5649         * gst/gstobject.c:
5650           move deep_notify logging to a new category
5651         * gst/gstprobe.c:
5652         * gst/gstprobe.h:
5653           add stuff so bindings can wrap probes
5654
5655 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5656
5657         * gst/gstplugin.c: (gst_plugin_load):
5658           Fix plugin loading if plugin/lib was already loaded. Fixes
5659           #163383
5660
5661 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5662
5663         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5664
5665         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5666           Protect plugin loading by a mutex so it's threadsafe. Fixes
5667           #163234.
5668
5669 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5670
5671         * gst/gstevent.c: (_gst_event_copy):
5672           Reference source object when copying events, since it'll be
5673           dereferenced on event dereferencing as well.
5674
5675 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5676
5677         * docs/gst/gstreamer-sections.txt:
5678         * docs/gst/tmpl/gstevent.sgml:
5679         * gst/gstevent.c: (gst_event_new_filler_stamped),
5680         (gst_event_filler_get_duration):
5681         * gst/gstevent.h:
5682           Add two new functions for filler events (which are used to
5683           synchronize streams if one of them is not having any data
5684           for a while) without interrupting the actual data-stream.
5685           Basically a no-op.
5686         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5687         (gst_queue_link_sink), (gst_queue_link_src),
5688         (gst_queue_change_state):
5689           Allow for renegotiation while filled. Required for stream
5690           switching while playing.
5691
5692 2005-01-08  Benjamin Otte  <otte@gnome.org>
5693
5694         * gst/gstelement.c: (gst_element_link_many):
5695           fix up g_return_if_fail's
5696         * po/LINGUAS:
5697         * po/de.po:
5698           add German translation, that was somehow not included
5699
5700 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5701
5702         * docs/random/mimetypes:
5703           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5704           do not add them to riff-lib as they are not common
5705
5706 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5707
5708         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5709           Check for existence of probe after performing the probe before
5710           re-accessing it to prevent segfaults caused by removal of the
5711           probe in the callback.
5712
5713 2005-01-05  David Schleef  <ds@schleef.org>
5714
5715         * testsuite/registry/Makefile.am:
5716         * testsuite/registry/gst-print-formats.c:
5717         (print_pad_templates_info), (print_element_list),
5718         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5719         (g_list_uniqify), (get_pad_templates_info),
5720         (get_element_mime_list), (print_mime_list), (main): A little
5721         program that looks through the registry to find elements of
5722         a given type.  Not particularly interesting as a test, except
5723         that there's no other test covering the same area.
5724
5725 2005-01-05  David Schleef  <ds@schleef.org>
5726
5727         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5728         (fault_handler_sigaction), (fault_spin),
5729         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5730         in signal.h-type signal handlers by not calling forbidden functions,
5731         including gst_element_set_state().
5732
5733 2005-01-05  David Schleef  <ds@schleef.org>
5734
5735         * gst/gstvalue.h: Mark _gst_reserved[] as private
5736
5737 2005-01-05  David Schleef  <ds@schleef.org>
5738
5739         * gst/gstvalue.c: Fix doc build problem.
5740
5741 2005-01-05  David Schleef  <ds@schleef.org>
5742
5743         * gst/gstvalue.c: Add some documentation
5744
5745 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5746
5747         * docs/README:
5748           another shell oneliner for empty return value docs
5749         * gst/gstcaps.c:
5750         * gst/gstvalue.c:
5751         * libs/gst/control/dparam.c:
5752           more doc fixes (parameters and return values)
5753
5754 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5755
5756         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5757
5758         * gst/gstregistry.h:
5759         * gst/registries/gstxmlregistry.c:
5760           Fix macro's for Mingw (fixes #162276).
5761
5762 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5763
5764         * docs/README:
5765           quick shell oneliner to find undocumented members
5766         * docs/gst/tmpl/gstplugin.sgml:
5767         * docs/gst/tmpl/gstscheduler.sgml:
5768         * docs/gst/tmpl/gstthread.sgml:
5769           more enumtypes cleanup
5770         * gst/gsterror.h:
5771           activated documentation comments, now someone needs to document
5772           the enums :(
5773
5774 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5775
5776         * docs/manual/manual.xml:
5777           Add dataaccess part (doh!).
5778
5779 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5780
5781         * docs/manual/advanced-autoplugging.xml:
5782           Fix typo (intiate -> initiate).
5783
5784 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5785
5786         * docs/random/bbb/streamselection:
5787           Add some notes on how to handle multi-subtitle/-audio streams.
5788
5789 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5790
5791         * docs/gst/gstreamer-docs.sgml:
5792         * docs/gst/gstreamer-sections.txt:
5793         * docs/gst/tmpl/gstenumtypes.sgml:
5794         * docs/gst/tmpl/gsterror.sgml:
5795         * docs/gst/tmpl/gstevent.sgml:
5796         * docs/gst/tmpl/gstpad.sgml:
5797         * docs/gst/tmpl/gstpadtemplate.sgml:
5798         * docs/gst/tmpl/gstthread.sgml:
5799           removed gstenumtypes section from docs and put all the enums into
5800           their sections
5801
5802 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5803
5804         * gst/gstplugin.c:
5805           document gst_library_load a bit more (riff special case + return
5806           value if already loaded)
5807         * testsuite/bytestream/filepadsink.c:
5808           plugin name is 'gstbytestream', not 'bytestream'
5809
5810 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5811
5812         * docs/random/bbb/subtitles:
5813           Add some first mind rumblings on proper subtitle support.
5814
5815 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5816
5817         * po/ca.po:
5818         * po/sv.po:
5819           updated translations
5820
5821 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5822
5823         * docs/manual/advanced-dataaccess.xml:
5824           Add section on how to use fakesrc/fakesink/identity in your
5825           application, plus section on how to embed plugins. Also mention
5826           probes.
5827         * docs/manual/appendix-checklist.xml:
5828         * docs/manual/appendix-debugging.xml:
5829         * docs/manual/appendix-gnome.xml:
5830         * docs/manual/appendix-integration.xml:
5831           Debug -> checklist, GNOME -> integration, add sections on Linux,
5832           KDE integration and add other things useful for application
5833           development.
5834         * docs/manual/manual.xml:
5835           Remove some fixmes, update some file pointers.
5836         * docs/pwg/appendix-checklist.xml:
5837           Fix typo.
5838         * docs/pwg/building-boiler.xml:
5839           Remove ugly header and add commented fixme.
5840         * docs/pwg/pwg.xml:
5841           Add fixme.
5842         * examples/manual/Makefile.am:
5843           Add example for added docs.
5844
5845 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5846
5847         * configure.ac:
5848           back to HEAD
5849
5850 === release 0.8.8 ===
5851
5852 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5853
5854         * NEWS:
5855         * RELEASE:
5856         * configure.ac:
5857           Releasing 0.8.8, "I'll Take Care Of You"
5858
5859 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5860
5861         * configure.ac:
5862           second prerelease
5863
5864 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5865
5866         patch by: Wim Taymans
5867
5868         * gst/gstbin.c:
5869           Fix for #159852 - make iterate emission threadsafe
5870
5871 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5872
5873         * docs/faq/cvs.xml:
5874           notes about new fdo account request
5875
5876 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5877
5878         * docs/gst/gstreamer-docs.sgml:
5879         * docs/gst/tmpl/gstenumtypes.sgml:
5880         * docs/gst/tmpl/gstplugin.sgml:
5881         * docs/libs/gstreamer-libs-docs.sgml:
5882           Added missing short docs. Added ids for navigation.
5883
5884 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5885
5886         * docs/manual/advanced-autoplugging.xml:
5887         * docs/manual/advanced-schedulers.xml:
5888         * docs/manual/advanced-threads.xml:
5889           Rewrites. Remove cothreads, go a bit into opt specifically,
5890           document threads and their gotchas, and do some technical stuff
5891           on autoplugging plus add some working examples. Fixes #157395.
5892         * examples/manual/Makefile.am:
5893           Add typefind/autoplugger example (one that actually works).
5894           Remove queue example since it's a duplicate of the thread one.
5895
5896 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5897
5898         * gst/gstvalue.c: (gst_value_deserialize_string):
5899           use deprecated g_value_set_string_take_ownership to keep compatible
5900           with glib 2.2
5901
5902 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5903
5904         * gst/gstvalue.c: (gst_value_deserialize_string):
5905           revert last patch, only dom a g_utf8_validate now before accepting
5906           the string - caps parsing strips " from strings so we can't rely on
5907           them
5908         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5909           disable a test that tested the above and comment it
5910
5911 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5912
5913         Patch reviewed by David Schleef  <ds@schleef.org>
5914
5915         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5916         bug #153882)
5917         * win32/gstenumtypes.h: same
5918
5919 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5920
5921         * gst/gstpad.c: (gst_pad_query):
5922           Do query on realized pad, similar to how convert/send_event handle
5923           this. Also makes sense, since this pad belongs to the function to
5924           which this query will be sent. Fixes #158163.
5925
5926 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5927
5928         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5929
5930 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5931
5932         * docs/faq/general.xml: fix pipeline to actually work
5933
5934 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5935
5936         * gst/gstvalue.c: (gst_value_deserialize_string):
5937           check that a simple string that gets deserialized does not contain
5938           invalid characters
5939         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5940           remove a test that tested a wring behaviour
5941
5942 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5943
5944         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5945
5946         * docs/manual/intro-motivation.xml:
5947           Fix typos.
5948
5949 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5950
5951         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5952
5953         * docs/gst/tmpl/gstprobe.sgml:
5954           Fix documentation of probe callback - it is supposed to return
5955           FALSE, not TRUE, to remove data from the stream (#159087).
5956
5957 2004-12-16  Daniel Gazard  <dany42@free.fr>
5958
5959         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5960
5961         * gst/gstelementfactory.c: (gst_element_factory_create):
5962           Fix compile failure if compiling without libxml2 support (#149936).
5963
5964 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5965
5966         * docs/manual/advanced-autoplugging.xml:
5967         * docs/manual/highlevel-components.xml:
5968           Move spider from autoplugging to components. Autoplugging is for
5969           internals, not for solutions. ;-).
5970
5971 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5972
5973         * docs/random/ds/0.9-suggested-changes:
5974           Make note on device/location/uri property names.
5975
5976 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5977
5978         * docs/manual/advanced-autoplugging.xml:
5979         * docs/manual/advanced-clocks.xml:
5980         * docs/manual/advanced-interfaces.xml:
5981         * docs/manual/advanced-metadata.xml:
5982         * docs/manual/advanced-position.xml:
5983         * docs/manual/advanced-schedulers.xml:
5984         * docs/manual/advanced-threads.xml:
5985         * docs/manual/appendix-gnome.xml:
5986         * docs/manual/appendix-programs.xml:
5987         * docs/manual/appendix-quotes.xml:
5988         * docs/manual/autoplugging.xml:
5989         * docs/manual/basics-bins.xml:
5990         * docs/manual/basics-data.xml:
5991         * docs/manual/basics-elements.xml:
5992         * docs/manual/basics-helloworld.xml:
5993         * docs/manual/basics-init.xml:
5994         * docs/manual/basics-pads.xml:
5995         * docs/manual/basics-plugins.xml:
5996         * docs/manual/bins-api.xml:
5997         * docs/manual/bins.xml:
5998         * docs/manual/buffers-api.xml:
5999         * docs/manual/buffers.xml:
6000         * docs/manual/clocks.xml:
6001         * docs/manual/components.xml:
6002         * docs/manual/cothreads.xml:
6003         * docs/manual/debugging.xml:
6004         * docs/manual/dparams-app.xml:
6005         * docs/manual/dynamic.xml:
6006         * docs/manual/elements-api.xml:
6007         * docs/manual/elements.xml:
6008         * docs/manual/factories.xml:
6009         * docs/manual/gnome.xml:
6010         * docs/manual/goals.xml:
6011         * docs/manual/helloworld.xml:
6012         * docs/manual/helloworld2.xml:
6013         * docs/manual/highlevel-components.xml:
6014         * docs/manual/highlevel-xml.xml:
6015         * docs/manual/init-api.xml:
6016         * docs/manual/intro-basics.xml:
6017         * docs/manual/intro-motivation.xml:
6018         * docs/manual/intro-preface.xml:
6019         * docs/manual/intro.xml:
6020         * docs/manual/links-api.xml:
6021         * docs/manual/links.xml:
6022         * docs/manual/manual.xml:
6023         * docs/manual/motivation.xml:
6024         * docs/manual/pads-api.xml:
6025         * docs/manual/pads.xml:
6026         * docs/manual/plugins-api.xml:
6027         * docs/manual/plugins.xml:
6028         * docs/manual/programs.xml:
6029         * docs/manual/queues.xml:
6030         * docs/manual/quotes.xml:
6031         * docs/manual/schedulers.xml:
6032         * docs/manual/states-api.xml:
6033         * docs/manual/states.xml:
6034         * docs/manual/threads.xml:
6035         * docs/manual/typedetection.xml:
6036         * docs/manual/win32.xml:
6037         * docs/manual/xml.xml:
6038           Try 2. This time, include a short preface as a "general
6039           introduction", also add code blocks around all code samples
6040           so they get compiled. We still need a way to tell readers
6041           the filename of the code sample. In some cases, don't show
6042           all code in the documentation, but do include it in the generated
6043           code. This allows for focussing on specific bits in the docs,
6044           while still having a full test application available.
6045         * examples/manual/Makefile.am:
6046           Fix up examples for new ADM. Add several of the new examples that
6047           were either added or were missing from the build system.
6048         * examples/manual/extract.pl:
6049           Allow nameless blocks.
6050
6051 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6052
6053         * docs/manual/elements-api.xml:
6054         * docs/manual/helloworld.xml:
6055         * examples/manual/extract.pl:
6056           fix last example.  Add example of adding code blocks that are not
6057           shown in docbook output.
6058
6059 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6060
6061         * docs/manual/dynamic.xml:
6062         * docs/manual/elements-api.xml:
6063         * docs/manual/gnome.xml:
6064         * docs/manual/helloworld2.xml:
6065         * docs/manual/init-api.xml:
6066         * docs/manual/queues.xml:
6067         * docs/manual/threads.xml:
6068         * docs/manual/xml.xml:
6069         * examples/manual/extract.pl:
6070           Make it possible to extract example code from separate blocks.
6071           Should make Ronald happy.
6072
6073 2004-12-15  Wim Taymans  <wim@fluendo.com>
6074
6075         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6076         (remove_from_group), (group_elements_set_visited),
6077         (normalize_group), (gst_opt_scheduler_iterate):
6078         Fix bug where a flag was not updated on a decoupled entry point 
6079         because we were just checking the group element list and decoupled
6080         elements are not in that list..
6081
6082 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6083
6084         * docs/manual/advanced-autoplugging.xml:
6085         * docs/manual/advanced-clocks.xml:
6086         * docs/manual/advanced-dparams.xml:
6087         * docs/manual/advanced-interfaces.xml:
6088         * docs/manual/advanced-metadata.xml:
6089         * docs/manual/advanced-position.xml:
6090         * docs/manual/advanced-schedulers.xml:
6091         * docs/manual/advanced-threads.xml:
6092         * docs/manual/appendix-debugging.xml:
6093         * docs/manual/appendix-gnome.xml:
6094         * docs/manual/appendix-programs.xml:
6095         * docs/manual/appendix-quotes.xml:
6096         * docs/manual/appendix-win32.xml:
6097         * docs/manual/autoplugging.xml:
6098         * docs/manual/basics-bins.xml:
6099         * docs/manual/basics-data.xml:
6100         * docs/manual/basics-elements.xml:
6101         * docs/manual/basics-helloworld.xml:
6102         * docs/manual/basics-init.xml:
6103         * docs/manual/basics-pads.xml:
6104         * docs/manual/basics-plugins.xml:
6105         * docs/manual/bins-api.xml:
6106         * docs/manual/bins.xml:
6107         * docs/manual/buffers-api.xml:
6108         * docs/manual/buffers.xml:
6109         * docs/manual/clocks.xml:
6110         * docs/manual/components.xml:
6111         * docs/manual/cothreads.xml:
6112         * docs/manual/debugging.xml:
6113         * docs/manual/dparams-app.xml:
6114         * docs/manual/dynamic.xml:
6115         * docs/manual/elements-api.xml:
6116         * docs/manual/elements.xml:
6117         * docs/manual/factories.xml:
6118         * docs/manual/gnome.xml:
6119         * docs/manual/goals.xml:
6120         * docs/manual/helloworld.xml:
6121         * docs/manual/helloworld2.xml:
6122         * docs/manual/highlevel-components.xml:
6123         * docs/manual/highlevel-xml.xml:
6124         * docs/manual/init-api.xml:
6125         * docs/manual/intro-motivation.xml:
6126         * docs/manual/intro-preface.xml:
6127         * docs/manual/intro.xml:
6128         * docs/manual/links-api.xml:
6129         * docs/manual/links.xml:
6130         * docs/manual/manual.xml:
6131         * docs/manual/motivation.xml:
6132         * docs/manual/pads-api.xml:
6133         * docs/manual/pads.xml:
6134         * docs/manual/plugins-api.xml:
6135         * docs/manual/plugins.xml:
6136         * docs/manual/programs.xml:
6137         * docs/manual/queues.xml:
6138         * docs/manual/quotes.xml:
6139         * docs/manual/schedulers.xml:
6140         * docs/manual/states-api.xml:
6141         * docs/manual/states.xml:
6142         * docs/manual/threads.xml:
6143         * docs/manual/typedetection.xml:
6144         * docs/manual/win32.xml:
6145         * docs/manual/xml.xml:
6146           First try at rewriting the ADM. Needs lotsamore work, but some
6147           parts might already be somewhat useful.
6148         * docs/pwg/advanced-interfaces.xml:
6149           Remove properties interface, it never actually existed (except for
6150           on my HD...).
6151
6152 2004-12-13  David Schleef  <ds@schleef.org>
6153
6154         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6155         be NULL (bug #160220).
6156
6157 2004-12-13  David Schleef  <ds@schleef.org>
6158
6159         * configure.ac: remove all mmx stuff, because it's not used.
6160         * docs/random/ds/0.9-suggested-changes: additional notes
6161         * include/Makefile.am: we don't use these anymore
6162         * include/mmx.h: remove
6163         * include/sse.h: remove
6164
6165 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6166
6167         * docs/random/mimetypes:
6168           Add FOURCC code for h264 codec (VSSH)
6169           Add alternate FOURCC codes for h263 related codecs
6170
6171 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6172
6173         * docs/manual/programs.xml:
6174           Added more gst-launch examples.
6175
6176 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6177
6178         * gst/gstqueue.c: (gst_queue_handle_src_query):
6179           Check for availability again.
6180
6181 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6182
6183         * gst/gstcaps.c: (gst_caps_compare_structures):
6184           Simple caps go first. This has the nice side-effect of fixing an
6185           obscure warning.
6186
6187 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6188
6189         * gst/gstversion.h.in:
6190           Protect header.
6191
6192 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6193
6194         * gst/schedulers/gstoptimalscheduler.c:
6195         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6196         (gst_opt_scheduler_get_wrapper):
6197           When we're recursing into a chain run, only run the directly
6198           related group, not all queued ones. This will fix a possible
6199           deadlock in chains with more than two groups.
6200
6201 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6202
6203         * autogen.sh:
6204           remove patch if autopoint fails
6205
6206 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6207
6208         * docs/gst/gstreamer-sections.txt:
6209           Document Thomas' addition, fix build, make Luis the sheriff happy.
6210
6211 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6212
6213         * gst/gstplugin.c:
6214         * gst/gstplugin.h:
6215           add accessor for version field
6216
6217 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6218
6219         submitted by: Luca Ferretti <elle.uca@infinito.it>
6220
6221         * po/LINGUAS:
6222         * po/it.po:
6223           New tranlation added: Italian
6224
6225 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6226
6227         * gst/gstpad.c: (gst_pad_is_negotiated),
6228         (gst_pad_get_negotiated_caps):
6229           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6230           it doesn't actually check the contents), so be sure to hand it
6231           a RealPad else we'll crash.
6232
6233 2004-12-03  Wim Taymans  <wim@fluendo.com>
6234
6235         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6236         (gst_queue_link), (gst_queue_handle_src_query):
6237         Reverted to 1.110 until this makes the testsuite and various
6238         apps work.
6239
6240 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6241
6242         * docs/upload.mak: fix included CVS conflict strings
6243
6244 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6245
6246         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6247
6248         * gst/gstelement.c: (gst_element_error_full):
6249           Use g_error_new_literal because error text may have
6250           percentage signs in it. Fixes #160019.
6251
6252 2004-12-01  Benjamin Otte  <otte@gnome.org>
6253
6254         * gst/elements/gstbufferstore.c:
6255         (gst_buffer_store_add_buffer_func):
6256           don't try to make subbuffers bigger than they can be. (fixes
6257           #159970)
6258
6259 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6260
6261         * docs/gst/gstreamer-sections.txt:
6262         * docs/gst/tmpl/gstvalue.sgml:
6263           Add new function to docs to fix build.
6264
6265 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6266
6267         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6268         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6269         (_gst_pad_default_fixate_foreach):
6270         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6271         * gst/gstvalue.h:
6272           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6273           in some cases (arrays), the fixedness depends on the content.
6274         * gst/gstqueue.c: (gst_queue_handle_src_query):
6275           Check for availability before doing something.
6276
6277 2004-11-29  Wim Taymans  <wim@fluendo.com>
6278
6279         * testsuite/threads/Makefile.am:
6280         * testsuite/threads/signals.c: (gst_test_get_type),
6281         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6282         (gst_test_set_property), (gst_test_get_property),
6283         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6284         (gst_test_do_prop), (run_thread), (main):
6285         Added a bunch of testcases that show threadsafety bugs in glib.
6286
6287 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6288
6289         * docs/manual/programs.xml:
6290           Added a first batch of gst-launch examples, as provided by Ronald
6291           and others from the devel-mlist
6292
6293 2004-11-28  Benjamin Otte  <otte@gnome.org>
6294
6295         * gst/gstelement.c: (gst_element_negotiate_pads):
6296           simplify
6297         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6298         (gst_value_serialize_string), (gst_value_deserialize_string):
6299           add unwrapping of previously wrapped strings. Fix bug in wrapping
6300           while at it.
6301         * testsuite/caps/value_serialize.c: (test1),
6302         (test_string_serialization), (test_string_deserialization), (main):
6303           add tests for string (de)serialization
6304
6305 2004-11-26  Wim Taymans  <wim@fluendo.com>
6306
6307         * testsuite/threads/159566.c: (object_deep_notify), (main):
6308         * testsuite/threads/Makefile.am:
6309         Added testsuite to show bug #159566
6310
6311 2004-11-25  Wim Taymans  <wim@fluendo.com>
6312
6313         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6314         (gst_thread_child_state_change), (gst_thread_main_loop):
6315         Ref the thread object in the GThread mainloop. Break out of the
6316         thread mainloop if it holds the last ref. This properly exits
6317         the threads when disposing the thread from its own context. It
6318         also avoids possible deadlocks in the dispose function.
6319
6320 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6321
6322         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6323         it is necessary to wait.
6324
6325 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6326
6327         * docs/pwg/building-boiler.xml:
6328           Make description somewhat clearer.
6329
6330 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6331
6332         * docs/upload.mak:
6333           Apparently docs changed location on FDO's server.
6334
6335 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6336
6337         * docs/pwg/appendix-checklist.xml:
6338           Add some random notes on things to check when writing an element.
6339           This list can be extended as people see fit.
6340
6341 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6342
6343         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6344         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6345         pad. The queue will now wait until it is empty and forward the new
6346         caps to the source.
6347         * gst/gstbin.c (gst_bin_set_element_sched)
6348         (gst_bin_unset_element_sched): Make sure that all elements and
6349         links are registered and unregistered with the scheduler exactly
6350         once. This elaborates on a fix by Benjamin Otte, but
6351         guarantees that decoupled elements are also registered.
6352
6353 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6354
6355         * docs/manual/quotes.xml:
6356           add a quote
6357         * configure.ac:
6358         * gst/gst.c:
6359         * gst/gstinfo.c:
6360           add LIBDIR and move init message higher up so it's at the start
6361
6362 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6363
6364         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6365         * gstreamer.spec.in: add fair
6366
6367 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6368
6369         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6370         * gst/elements/gstidentity.c: (gst_identity_class_init):
6371           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6372           <teuf@gnome.org> (#157263).
6373         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6374         (gst_type_find_handle_src_query):
6375           Subtract size of internally stored data from position queries.
6376
6377 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6378
6379         * gst/schedulers/fairscheduler.c:
6380         * gst/schedulers/faircothreads.c:
6381         * gst/schedulers/faircothreads.h:
6382         New cothread based scheduler: Fair scheduler.
6383         * gst/schedulers/gthread-cothreads.h: 
6384         Add the standard #if around the whole file.
6385         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6386         compilation of the functions defined in this file. This is
6387         necessary to be able to use this file as a normal header.
6388         * gst/schedulers/Makefile.am: Add compiling support for fair
6389         scheduler.
6390         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6391         scheduler cothreads layer from documentation generation.
6392
6393 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6394
6395         * gst/autoplug/gstspideridentity.c:
6396         (gst_spider_identity_sink_loop_type_finding):
6397           Don't crash if that function is not implemented.
6398
6399 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6400
6401         * docs/pwg/advanced-types.xml:
6402           Another typo.
6403
6404 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6405
6406         * docs/pwg/intro-preface.xml:
6407           Hm, ok, so the brackets weren't really useful...
6408         * docs/pwg/other-ntoone.xml:
6409           Fix embarassing typo.
6410
6411 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6412
6413         * docs/pwg/intro-preface.xml:
6414           Rewrite preface.
6415
6416 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6417
6418         * docs/pwg/advanced-scheduling.xml:
6419         * docs/pwg/advanced-tagging.xml:
6420         * docs/pwg/advanced-types.xml:
6421         * docs/pwg/building-boiler.xml:
6422         * docs/pwg/building-chainfn.xml:
6423         * docs/pwg/building-signals.xml:
6424         * docs/pwg/building-state.xml:
6425         * docs/pwg/building-testapp.xml:
6426         * docs/pwg/intro-basics.xml:
6427         * docs/pwg/other-manager.xml:
6428         * docs/pwg/other-source.xml:
6429           Typo fixes.
6430         * docs/pwg/other-manager.xml:
6431           Add some first content. No example code yet.
6432         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6433           Remove double newlines.
6434
6435 2004-11-04  Wim Taymans  <wim@fluendo.com>
6436
6437         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6438         (remove_from_group), (normalize_group), (group_migrate_connected),
6439         (gst_opt_scheduler_iterate):
6440         * testsuite/schedulers/.cvsignore:
6441         * testsuite/schedulers/Makefile.am:
6442         * testsuite/schedulers/queue_link.c: (main):
6443         Added testcase for scheduler segfault.
6444         Fix scheduler segfault when removing a decoupled
6445         entry point as the last element from a group.
6446
6447 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6448
6449         * gst/gstmarshal.list: add missing marshaller, fixes build
6450
6451 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6452
6453         * docs/random/signal: added notes about using BOXED for GstBuffer
6454         signal marshallers, not POINTER
6455
6456 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6457
6458         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6459         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6460         POINTER=>BOXED changes to marshal GstBuffers
6461
6462 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6463
6464         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6465         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6466
6467 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6468
6469         * docs/gst/gstreamer-sections.txt:
6470         * docs/gst/tmpl/gstcaps.sgml:
6471         * docs/gst/tmpl/gsterror.sgml:
6472         * docs/gst/tmpl/gstinfo.sgml:
6473         * docs/gst/tmpl/gstmacros.sgml:
6474         * docs/gst/tmpl/gstutils.sgml:
6475         * docs/random/ensonic/interfaces.txt:
6476         * gst/gstinfo.h:
6477           added some more docs, removed two obsolete defines
6478
6479 2004-11-02  Kjartan Maraas <as at gnome.org>
6480
6481         reviewed by: Wim Taymans, Ronald Bultje.
6482
6483         * gst/cothreads.c: (cothread_create):
6484         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6485         (gst_bin_child_state_change_func):
6486         * gst/gstbuffer.c: (gst_buffer_span):
6487         * gst/gstelement.c: (gst_element_get_index),
6488         (gst_element_get_event_masks), (gst_element_get_query_types),
6489         (gst_element_get_formats):
6490         * gst/gsterror.c: (_gst_core_errors_init),
6491         (_gst_library_errors_init), (_gst_resource_errors_init),
6492         (_gst_stream_errors_init):
6493         * gst/gstobject.c: (gst_object_default_deep_notify):
6494         * gst/gstpad.c: (gst_pad_get_event_masks),
6495         (gst_pad_get_internal_links_default):
6496         * gst/gstplugin.c: (gst_plugin_register_func),
6497         (gst_plugin_get_module):
6498         * gst/gststructure.c: (gst_structure_get_string),
6499         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6500         (gst_structure_to_abbr):
6501         * gst/gstutils.c: (gst_print_element_args):
6502         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6503         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6504         Aplied part of patch #157127: Cleanup of issues reported by 
6505         sparse.
6506         Also do not try to use cothreads when there is no cothread
6507         context yet.
6508
6509 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6510
6511         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6512         (gst_opt_scheduler_iterate):
6513         Applied patch #154061. Running a pipeline in which an element 
6514         calls GST_ELEMENT_ERROR in the chain function, the opt 
6515         scheduler doesn't unref the chain so it never gets freed.
6516
6517 2004-11-02  Wim Taymans  <wim@fluendo.com>
6518
6519         * gst/gststructure.c: (gst_structure_get_abbrs),
6520         (gst_structure_from_abbr), (gst_structure_to_abbr):
6521         Remove that ugly if-then thing in the code that converts
6522         between strings and types.
6523
6524 2004-11-02  Wim Taymans  <wim@fluendo.com>
6525
6526         * gst/gstscheduler.c: (gst_scheduler_add_element),
6527         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6528         Aplied clock distribution patch, this should fix bug
6529         #148787.
6530
6531 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6532
6533         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6534
6535         * po/LINGUAS:
6536         * po/nb.po:
6537           Added Norwegian Bokmaal translation
6538
6539 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6540
6541         * tools/gst-inspect.c: (print_signal_info):
6542           print signal arguments as pointers if they are
6543
6544 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6545
6546         * docs/pwg/building-boiler.xml:
6547           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6548
6549 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6550
6551         * gst/parse/parse.l:
6552         * testsuite/parse/parse1.c: (main):
6553         Since parse can do 'element name=a:b' make 'a:b.' work as
6554         well. 
6555         Added testcase to verify fix.
6556
6557 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6558
6559         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6560         Use the realpad when printing the direction.
6561         Add extra \n when printing extensions of typefind factories.
6562
6563 2004-10-13  David Schleef  <ds@schleef.org>
6564
6565         * examples/manual/Makefile.am: $< isn't portable in Makefile
6566         rules.
6567
6568 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6569
6570         * docs/gst/tmpl/gstobject.sgml:
6571         * docs/gst/tmpl/gstplugin.sgml:
6572         * docs/gst/tmpl/gstpluginfeature.sgml:
6573         * docs/gst/tmpl/gstregistry.sgml:
6574         * docs/gst/tmpl/gstversion.sgml:
6575         * gst/gstbin.c:
6576           more api documentation
6577         * gst/gstplugin.c: (gst_plugin_register_func),
6578         (gst_plugin_check_file), (gst_plugin_load_file):
6579           better error signaling and logging
6580
6581 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6582
6583         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6584           Subtract current queue contents from position queries.
6585
6586 2004-10-11  Johan Dahlin  <johan@gnome.org>
6587
6588         * gst/gsturi.c (gst_uri_get_location): unescape string
6589         (gst_uri_construct): escape string.
6590
6591 2004-10-11  Benjamin Otte  <otte@gnome.org>
6592
6593         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6594         (gst_pad_try_set_caps_nonfixed):
6595           allow renegotiation of unconnected pads (as inside spider). Simply
6596           return OK if unconnected - mimic try_set_caps there.
6597
6598 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6599
6600         * gst/gstbin.c: (gst_bin_sync_children_state):
6601           Add missing break.
6602
6603 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6604
6605         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6606         Set element to EOS before sending EOS event
6607
6608 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6609
6610         * gst/elements/gsttypefindelement.c:
6611         (gst_type_find_element_handle_event):
6612         Handle EOS events when doing the transition from
6613         typefind to data passing. This should fix the
6614         infinite loops in short files.
6615
6616 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6617
6618         * gst/gstthread.c: (gst_thread_change_state),
6619         (gst_thread_child_state_change):
6620         Make sure no iteration happens while performing
6621         the state change as it could mess up the internal
6622         consistency of the thread state.
6623
6624 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6625
6626         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6627         (gst_thread_change_state), (gst_thread_child_state_change):
6628         Do not try to grab the iterate lock in the state change method
6629         when we are in the same thread as the iterate or else we
6630         could deadlock. Some other cleanups.
6631
6632 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6633
6634         * configure.ac:
6635           bump nano to cvs
6636
6637 === release 0.8.7 ===
6638
6639 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6640
6641         * configure.ac:
6642         * NEWS:
6643         * RELEASE:
6644         * configure.ac:
6645           releasing 0.8.7, "A Cruise"
6646
6647 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6648
6649         * docs/random/mimetypes:
6650         Add an entry for Sony ATRAC3 audio format with mime-type
6651         used by rmdemux et riff-read
6652
6653 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6654
6655         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6656         Push the buffer store instead of clearing it in case that
6657         the stream is not seekable.
6658
6659 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6660
6661         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6662         (gst_thread_main_loop):
6663         Lock the iteration and the state change so that automatic
6664         negotiation and fixation does not happen at the same time
6665         as the in stream negotiation.
6666
6667 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6668
6669         * configure.ac:
6670           bump nano to cvs
6671
6672 === release 0.8.6 ===
6673
6674 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6675
6676         * configure.ac:
6677         * NEWS:
6678         * RELEASE:
6679         * configure.ac:
6680           releasing 0.8.6, "Narc"
6681
6682 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6683
6684         * configure.ac:
6685           prerel bump
6686
6687 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6688
6689         patch by: Steve Lhomme
6690
6691         * gst/elements/gstfakesrc.c:
6692         * gst/elements/gstidentity.c:
6693         * gst/gstthread.c:
6694           Fix for #153881
6695
6696 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6697
6698         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6699         Fix threadsafety of the crc checking function.
6700
6701 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6702
6703         patch by: Ronald Bultje
6704
6705         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6706         (gst_type_find_element_handle_event),
6707         (gst_type_find_element_chain):
6708         * gst/elements/gsttypefindelement.h:
6709          #153657.
6710          Filter out discont event from seekable sources when typefind
6711          asks them to seek.  Fixes typefind with demuxers for
6712          avi, asf and matroska.
6713
6714 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6715
6716         * docs/gst/gstreamer-sections.txt:
6717         * gst/gstcaps.c:
6718         * gst/gstcaps.h:
6719         * gst/gstpad.c:
6720           Revert preferred caps: (#147789)
6721
6722 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6723
6724         * win32/dirent.c:
6725           fix a memory leak
6726
6727 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6728
6729         * configure.ac:
6730           bump for prerelease
6731
6732 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6733
6734         * docs/Makefile.am:
6735         * docs/manual/elements-api.xml:
6736           restructure so that common stuff is shown first
6737         * docs/manual/init-api.xml:
6738           convert to examples
6739         * docs/manual/manual.xml:
6740         * docs/manuals.mak:
6741         * docs/url.entities:
6742           link to API on the website, possibly override later in build
6743         * examples/manual/.cvsignore:
6744           ignore more
6745         * examples/manual/Makefile.am:
6746           add more examples
6747         * examples/manual/extract.pl:
6748           error out on failure
6749
6750 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6751
6752         * docs/gst/tmpl/gstthread.sgml:
6753         * docs/manual/init-api.xml:
6754         * examples/manual/Makefile.am:
6755           convert two code bits to examples
6756
6757 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6758
6759         * gst/gstelement.c: (gst_element_change_state):
6760           Well, actually, I was about to remove this insane assert when
6761           I noticed Wim already did that. A warning is nice so we can
6762           fix actual ugs (using --g-fatal-warnings and backtraces), so
6763           I added that instead.
6764
6765 2004-09-06  Wim Taymans  <wim@fluendo.com>
6766
6767         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6768         (gst_element_threadsafe_properties_post_run),
6769         (gst_element_set_state), (gst_element_change_state):
6770         Added extra refcounting around various places. 
6771
6772 2004-09-06  Wim Taymans  <wim@fluendo.com>
6773
6774         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6775         Fix debug info.
6776
6777 2004-09-06  Wim Taymans  <wim@fluendo.com>
6778
6779         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6780         (remove_from_group):
6781         Some more debug info.
6782
6783 2004-09-03  Wim Taymans  <wim@fluendo.com>
6784
6785         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6786         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6787         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6788         (gst_fakesrc_get), (gst_fakesrc_change_state):
6789         * gst/elements/gstfakesrc.h:
6790         * gst/elements/gstidentity.c: (gst_identity_class_init),
6791         (gst_identity_init), (gst_identity_chain),
6792         (gst_identity_set_property), (gst_identity_get_property),
6793         (gst_identity_change_state):
6794         * gst/elements/gstidentity.h:
6795         Added datarate properties to limit the datarate.
6796
6797 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6798
6799         * gst/autoplug/gstspider.c: (plugin_init):
6800           don't set a rank. We don't want to autoplug by inserting spiders.
6801
6802 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6803
6804         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6805         (gst_spider_identity_plug):
6806           add a template for spider's sink
6807         * gst/gst.c: (gst_register_core_elements):
6808           queue's rank should be NULL, we don't want spider to add it.
6809
6810 2004-08-18  David Schleef  <ds@schleef.org>
6811
6812         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6813         * docs/libs/Makefile.am: same
6814         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6815         * docs/random/ds/0.9-planning: random additions
6816         * docs/random/ds/0.9-suggested-changes: same
6817         * gst/gstxml.h: remove vestigal GstXMLNs definition
6818
6819         Preferred caps: (#147789)
6820         * docs/gst/gstreamer-sections.txt: Add symbols
6821         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6822         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6823         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6824         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6825         (gst_caps_get_preferred), (gst_caps_set_preferred),
6826         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6827         (gst_caps_use_preferred): Handle caps preferences
6828         * gst/gstcaps.h: Add caps preferences
6829         * gst/gstpad.c: (gst_pad_link_get_preferred),
6830         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6831         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6832         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6833         negotiation.
6834
6835 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6836
6837         * gst/autoplug/gstspideridentity.c:
6838         (gst_spider_identity_request_new_pad):
6839         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6840         (gst_aggregator_init):
6841         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6842         (gst_fakesink_init):
6843         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6844         (gst_fakesrc_init):
6845         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6846         (gst_fdsink_init):
6847         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6848         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6849         (gst_filesink_init):
6850         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6851         (gst_filesrc_init):
6852         * gst/elements/gstidentity.c: (gst_identity_base_init),
6853         (gst_identity_init):
6854         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6855         (gst_multifilesrc_init):
6856         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6857         (gst_pipefilter_init):
6858         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6859         (gst_statistics_init):
6860         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6861         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6862           s/gst_pad_new/&_from_template/
6863           register pad templates in the base_init function
6864           add static pad template definitions
6865
6866 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6867
6868         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6869         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6870         * testsuite/refcounting/pad.c: (main):
6871         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6872           s/gst_pad_new/&_from_template/
6873           prepare deprecation of gst_pad_new
6874
6875 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6876
6877         patch by: Luca Ognibene <skaboy81@virgilio.it>
6878
6879         * gst/gstcaps.c:
6880         * gst/gstelement.c:
6881         * gst/gstpad.c:
6882         * gst/gstxml.c:
6883           fix memleaks.  Fixes #150001
6884
6885 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6886
6887         * docs/random/ds/0.9-suggested-changes:
6888           add notes - mostly about pad templates
6889
6890 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6891
6892         * win32/GStreamer.vcproj:
6893           temporary locale files are .gmo not .mo
6894
6895 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6896
6897         * configure.ac: bump nano to cvs
6898
6899 === release 0.8.5 ===
6900
6901 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6902
6903         * configure.ac:
6904           releasing 0.8.5, "Stuttgart"
6905         * NEWS:
6906         * RELEASE:
6907         * configure.ac:
6908         * docs/random/release:
6909           updates for release
6910
6911 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6912
6913         patch by: Wim Taymans (wim@fluendo.com)
6914
6915         * gst/gstbuffer.c:
6916         * gst/gstindex.h:
6917         * libs/gst/dataprotocol/dataprotocol.c:
6918           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6919
6920 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6921
6922         * Makefile.am:
6923         * win32/MANIFEST:
6924           add win32 dir to the build.  Fixes #149981.
6925
6926 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6927
6928         * configure.ac:
6929           bump libtool versioning
6930         * gst/gststructure.c:
6931           mark function as static
6932         * po/af.po:
6933         * po/az.po:
6934         * po/ca.po:
6935         * po/cs.po:
6936         * po/en_GB.po:
6937         * po/fr.po:
6938         * po/nl.po:
6939         * po/sq.po:
6940         * po/sr.po:
6941         * po/sv.po:
6942         * po/tr.po:
6943         * po/uk.po:
6944           translations update
6945         * win32/README.txt:
6946           trademark protection
6947
6948 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6949
6950         * configure.ac:
6951           fix GST_ORIGIN
6952           set GST_PACKAGE to source, and distinguish between release and other
6953         * tools/gst-inspect.c:
6954           print out plugin an element factory is part of so we see this info
6955
6956 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6957
6958         * docs/gst/gstreamer-sections.txt:
6959         * docs/gst/tmpl/gstbuffer.sgml:
6960         * docs/gst/tmpl/gstschedulerfactory.sgml:
6961           reorder docs a little, make GstBuffer's more sensible.
6962         * gst/gstbuffer.h:
6963           API: added GST_BUFFER_FLAG_DELTA_UNIT
6964         * gst/gstscheduler.c:
6965           comment API addition
6966
6967 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6968
6969         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6970           work with non-regular files that can be mmapped (like /dev/zero)
6971         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6972           get rid of typefinds that require a seek when we can't seek instead
6973           of trying them over and over again
6974         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6975           return non-zero failure value when the pipeline was interrupted or
6976           an error occurred
6977
6978 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6979
6980         * win32/config.h:
6981         * win32/GStreamer.vcproj:
6982           compile and install the locales
6983
6984 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6985
6986         * gst/gstvalue.c:
6987           fix a possible memory leak under Windows
6988
6989 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6990
6991         * win32/GStreamer.vcproj:
6992           fix a memory leak that occured under Windows
6993         * win32/gstreamer.def:
6994           add gst_scheduler_register
6995
6996 2004-08-11  Benjamin Otte  <otte@gnome.org>
6997
6998         * docs/gst/gstreamer-sections.txt:
6999         * gst/gstscheduler.c: (gst_scheduler_register):
7000         * gst/gstscheduler.h:
7001           API:
7002           add gst_scheduler_register shortcut similar to gst_element_register
7003         * gst/schedulers/entryscheduler.c: (plugin_init):
7004         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7005         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7006           use it
7007
7008 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7009
7010         * gst/gstvalue.h:
7011           fix a memory leak that occured under Windows
7012
7013 2004-08-10  Colin Walters  <walters@redhat.com>
7014
7015         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7016         Don't use O_EXCL to open temporary registry.  It will prevent
7017         registry creation if a temporary one already exists, which
7018         is unnecessary.
7019
7020 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7021
7022         * docs/gst/gstreamer-sections.txt:
7023         * docs/gst/tmpl/gstvalue.sgml:
7024           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7025
7026 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7027
7028         * win32/gstbytestream.vcproj:
7029         * win32/gstelements.vcproj:
7030         * win32/gstgetbits.vcproj:
7031         * win32/gst-inspect.vcproj:
7032         * win32/gst-launch.vcproj:
7033         * win32/gstoptimalscheduler.vcproj:
7034         * win32/GStreamer.vcproj:
7035         * win32/gst-register.vcproj:
7036         * win32/gstspider.vcproj:
7037           update the include and lib dirs to fit standard libraries as
7038           described in the Win32 manual
7039
7040 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7041
7042         * win32/config.h:
7043         * win32/gstversion.h:
7044           enable NLS again, push the version number for the coming 0.8.5 release
7045
7046 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7047
7048         * gst/gstvalue.h:
7049           export gst_type_XXX for windows DLLs
7050
7051 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7052
7053         * docs/faq/gst-uninstalled:
7054           fix PKG_CONFIG_PATH and PYTHONPATH
7055         * gst/schedulers/Makefile.am:
7056           cleanup
7057         * libs/gst/bytestream/bytestream.c:
7058           remove newline
7059         * po/LINGUAS:
7060         * po/sq.po:
7061           adding Albanian translation (Laurent Dhima)
7062         * po/cs.po:
7063           updated
7064
7065 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7066
7067         * po/ca.po:
7068         * po/sv.po:
7069           updated translations
7070
7071 2004-08-04  Benjamin Otte  <otte@gnome.org>
7072
7073         * tests/mass_elements.c: (main):
7074           allow specifying src and sink element explicitly, so I can test
7075           videotestsrc instead of fakesrc
7076
7077 2004-08-04  Benjamin Otte  <otte@gnome.org>
7078
7079         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7080         (gst_structure_id_empty_new), (gst_structure_empty_new),
7081         (gst_structure_copy):
7082           add gst_structure_id_empty_new_with_size to allow preallocating
7083           value array sizes. Use this in gst_structure_copy to get rid of
7084           reallocs.
7085           don't do quark=>string=>quark when copying structures
7086
7087 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7088
7089         * docs/manual/win32.xml:
7090         * win32/README.txt:
7091           update documentation with the clean version of dependencies
7092
7093 2004-08-03  Benjamin Otte  <otte@gnome.org>
7094
7095         * gst/schedulers/entryscheduler.c:
7096         (gst_entry_scheduler_remove_element):
7097           fix for GST_DISABLE_DEBUG
7098         * tools/gst-launch.c: (print_tag):
7099           fixes for G_DISABLE_ASSERT
7100
7101 2004-08-03  Benjamin Otte  <otte@gnome.org>
7102
7103         * gst/gst.c: (gst_register_core_elements):
7104           fix for G_DISABLE_ASSERT
7105         * gst/gstinfo.c: (__gst_in_valgrind):
7106           add for GST_DISABLE_DEBUG
7107
7108 2004-08-03  Benjamin Otte  <otte@gnome.org>
7109
7110         * gst/parse/parse.l:
7111           fix for G_DISABLE_ASSERT
7112
7113 2004-08-03  Wim Taymans  <wim@fluendo.com>
7114
7115         * gst/gstbin.c: (gst_bin_get_type),
7116         (gst_bin_child_state_change_func):
7117         * gst/gstthread.c: (gst_thread_change_state):
7118         Backported some debug logging from a reverted patch
7119         Don't try to destroy the thread twice. Added some more
7120         debugging in GstThread. Unlock and signal even if we
7121         are in the thread context.
7122
7123 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7124
7125         * po/uk.po:
7126           updated translation
7127
7128 2004-07-30  David Schleef  <ds@schleef.org>
7129
7130         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7131
7132 2004-07-29  David Schleef  <ds@schleef.org>
7133
7134         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7135         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7136
7137 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7138
7139         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7140         (gst_bin_add_func), (gst_bin_remove_func),
7141         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7142         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7143         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7144         (gst_bin_sync_children_state):
7145         * gst/gstbin.h:
7146         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7147         (gst_thread_change_state):
7148         * testsuite/states/Makefile.am:
7149           revert state change patches as agreed so we can rework them
7150           gradually
7151
7152 2004-07-29  Benjamin Otte  <otte@gnome.org>
7153
7154         * libs/gst/control/Makefile.am:
7155           link to libgstreamer (fixes Debian bug 262019, see
7156           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7157
7158 2004-07-29  Wim Taymans  <wim@fluendo.com>
7159
7160         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7161         (check_from_fraction_convert), (transform_test), (main):
7162         Make the test less pedantic about float roundoff errors.
7163
7164 2004-07-29  Benjamin Otte  <otte@gnome.org>
7165
7166         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7167         (gst_filesrc_srcpad_event):
7168           make seek events to before start/after end of file not fail, but
7169           seek to start/end instead
7170         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7171           add more output
7172
7173 2004-07-29  Benjamin Otte  <otte@gnome.org>
7174
7175         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7176           check that caps are fixed
7177         * gst/gstpad.c: (gst_pad_template_new):
7178           don't try to simplify caps, costs too much time on gst_init
7179         * gst/gstplugin.c: (gst_plugin_add_feature):
7180           G_ERROR if features are added twice
7181         * gst/gsttypefind.c: (gst_type_find_register):
7182         * gst/gstelementfactory.c: (gst_element_register):
7183           don't add features twice
7184         * docs/random/ds/0.9-suggested-changes:
7185           add note about possible gst_init optimization
7186
7187 2004-07-28  David Schleef  <ds@schleef.org>
7188
7189         * testsuite/elements/Makefile.am:
7190         * testsuite/elements/struct_i386.h:
7191         * testsuite/elements/struct_size.c: (main):  A little test
7192         to keep distcheck from working if someone changes a structure
7193         size accidentally.
7194
7195 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7196
7197         * docs/libs/Makefile.am:
7198         * docs/libs/gstreamer-libs-docs.sgml:
7199         * docs/libs/gstreamer-libs-sections.txt:
7200         * docs/libs/tmpl/gstbytestream.sgml:
7201         * docs/libs/tmpl/gstcontrol.sgml:
7202         * docs/libs/tmpl/gstdataprotocol.sgml:
7203         * docs/libs/tmpl/gstgetbits.sgml:
7204         * libs/gst/bytestream/Makefile.am:
7205         * libs/gst/bytestream/bytestream.c:
7206         * libs/gst/bytestream/bytestream.h:
7207         * libs/gst/control/Makefile.am:
7208         * libs/gst/dataprotocol/Makefile.am:
7209         * libs/gst/getbits/Makefile.am:
7210         * libs/gst/getbits/getbits.h:
7211           various doc and style fixes, adding bytestream to libs docs.
7212
7213 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7214
7215         * docs/gst/gstreamer-docs.sgml:
7216         * docs/libs/Makefile.am:
7217         * docs/libs/gstreamer-libs-docs.sgml:
7218         * docs/libs/gstreamer-libs-sections.txt:
7219         * libs/gst/control/dparam.c:
7220           more doc fixes.  gst-libs docs now build the same way as gst.
7221
7222 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7223
7224         * configure.ac:
7225         * testsuite/Makefile.am:
7226         * testsuite/bins/Makefile.am:
7227         * testsuite/caps/Makefile.am:
7228         * testsuite/cleanup/Makefile.am:
7229         * testsuite/clock/Makefile.am:
7230         * testsuite/debug/Makefile.am:
7231         * testsuite/dlopen/Makefile.am:
7232         * testsuite/dynparams/Makefile.am:
7233         * testsuite/elements/.cvsignore:
7234         * testsuite/elements/Makefile.am:
7235         * testsuite/enumcaps/Makefile.am:
7236         * testsuite/enumcaps/enumcaps.c:
7237         * testsuite/ghostpads/Makefile.am:
7238         * testsuite/indexers/Makefile.am:
7239         * testsuite/negotiation/Makefile.am:
7240         * testsuite/parse/Makefile.am:
7241         * testsuite/plugin/Makefile.am:
7242         * testsuite/refcounting/Makefile.am:
7243         * testsuite/schedulers/.cvsignore:
7244         * testsuite/states/Makefile.am:
7245         * testsuite/tags/Makefile.am:
7246         * testsuite/threads/Makefile.am:
7247           fold enumcaps into caps dir
7248           clean up Makefile.am's for testsuite
7249
7250 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7251
7252         * docs/gst/Makefile.am:
7253         * docs/libs/Makefile.am:
7254           clean up docs build.  Fixes needless rebuilding of template files.
7255
7256 2004-07-28  Wim Taymans  <wim@fluendo.com>
7257
7258         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7259         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7260         Make sure that a bin state change tries to keep the children
7261         in sync. 
7262         Added debug logging to the thread.
7263
7264 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7265
7266         * win32/GStreamer.vcproj:
7267         * win32/gstreamer.def:
7268           more exports for the plugins
7269
7270 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7271
7272         * win32/gstgetbits.vcproj:
7273         * win32/gstgetbits.def:
7274         * win32/msvc71.sln:
7275           add support for the getbits plugin
7276
7277 2004-07-27  Wim Taymans  <wim@fluendo.com>
7278
7279         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7280         (gst_value_transform_fraction_double), (_gst_value_initialize):
7281         * testsuite/caps/Makefile.am:
7282         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7283         (check_from_fraction_convert), (transform_test), (main):
7284         Added transform functions between double and fraction.
7285         Added testcase to verify transforms
7286
7287 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7288
7289         * win32/GStreamer.vcproj:
7290           rename GStreamer-0.8.lib to libgstreamer.lib
7291
7292 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7293
7294         * win32/gstelements.vcproj:
7295         * win32/gstoptimalscheduler.vcproj:
7296           fixes for the Release build
7297
7298 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7299
7300         * win32/config.h:
7301           update the version number
7302
7303 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7304
7305         * win32/GStreamer.vcproj:
7306           add gstinterface to the build
7307
7308 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7309
7310         * win32/gstreamer.def:
7311           add many definitions needed by plugins,
7312           GST_CAT_DEFAULT only available in the Debug build ?
7313
7314 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7315
7316         * gst/gstelement.c: (gst_element_set_eos_recursive):
7317           various whitespace fixes.
7318           doc fix, fixes #148497
7319
7320 2004-07-25  Benjamin Otte  <otte@gnome.org>
7321
7322         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7323           don't delay links on the sink elements, it causes unnegotiated
7324           links.
7325         * gst/elements/gsttypefindelement.c:
7326         (gst_type_find_element_base_init):
7327           add our padtemplates, we indeed do have some.
7328         * gst/elements/gsttypefindelement.c:
7329         (gst_type_find_element_handle_event),
7330         (gst_type_find_element_chain):
7331           don't push data when typefinding failed.
7332         * gst/gstpad.c: (gst_pad_link_fixate):
7333           check that no fixate function returns empty caps.
7334         * gst/gstpad.c: (gst_pad_push):
7335           check that the link is negotiated before data gets pushed.
7336         * tools/gst-register.c: (main):
7337           don't assert (fixes #148283)
7338
7339 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7340
7341         * docs/gst/gstreamer-sections.txt:
7342         * docs/gst/tmpl/gstconfig.sgml:
7343           add GST_PLUGIN_EXPORT definition
7344
7345 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7346
7347         * gst/gstplugin.h:
7348         * gst/gstconfig.h.in:
7349         * win32/gstconfig.h:
7350         * win32/gstelements.def:
7351         * win32/gstelements.vcproj:
7352         * win32/gstoptimalscheduler.def:
7353         * win32/gstoptimalscheduler.vcproj:
7354         * win32/gstspider.def:
7355         * win32/gstspider.vcproj:
7356           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7357
7358 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7359
7360         * docs/gst/gstreamer-sections.txt:
7361           remove GST_CAT_DEFAULT because the type has changed
7362
7363 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7364
7365         * win32/gstbytestream.vcproj:
7366         * win32/gstelements.vcproj:
7367         * win32/gst-inspect.vcproj:
7368         * win32/gst-launch.vcproj:
7369         * win32/gstoptimalscheduler.vcproj:
7370         * win32/GStreamer.vcproj:
7371         * win32/gst-register.vcproj:
7372         * win32/gstspider.vcproj:
7373         * win32/msvc71.sln:
7374           Copy the files where needed after building, The testsuite will be
7375           built separately
7376
7377 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7378
7379         * win32/config.h:
7380         * win32/README.txt:
7381         * docs/manual/win32.xml:
7382         Fixed the plugin and GStreamer location
7383
7384 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7385
7386         * win32/gstreamer.def:
7387         More exports for the plugins
7388
7389 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7390
7391         * gst/gstinfo.h:
7392         Marc was right, we need to export literally GST_CAT_DEFAULT
7393
7394 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7395
7396         * win32/config.h:
7397         NLS crashes in gettext, disabled until this is solved
7398
7399 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7400
7401         * win32/gst-inspect.vcproj:
7402         * win32/gst-launch.vcproj:
7403         Should use NLS when available
7404
7405 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7406
7407         * gst/registries/gstxmlregistry.c:
7408         removing the file doesn't seem to be a good idea on Linux
7409
7410 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7411
7412         * gst/registries/gstxmlregistry.c:
7413         Remove the registry before renaming the tempfile (needed for Windows)
7414
7415 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7416
7417         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7418         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7419         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7420         * gst/elements/gstmultifilesrc.h:
7421         Added newmedia property so it generates newmedia events between each
7422         file when property is set, as well as fixed eos handling
7423
7424 2004-07-22  David Schleef  <ds@schleef.org>
7425
7426         * gst/gststructure.c: (gst_structure_id_empty_new),
7427         (gst_structure_empty_new):  Set type field correctly.
7428         * gst/gststructure.h: Check type field correctly.
7429         * testsuite/caps/Makefile.am:
7430         * testsuite/caps/structure.c: (test1), (main): Add a very small
7431         test for structures.
7432
7433 2004-07-22  David Schleef  <ds@schleef.org>
7434
7435         * docs/random/ds/0.9-suggested-changes: more comments
7436         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7437
7438 2004-07-22  Benjamin Otte  <otte@gnome.org>
7439
7440         * gst/gstelementfactory.c: (gst_element_register):
7441           set the factory in the class struct, so gst_element_get_factory
7442           actually works
7443         * gst/parse/grammar.y:
7444           set element to playing when it gets unlocked as we can't rely on the
7445           bin state - all elements in the bin state might still be locked in
7446           NULL)
7447
7448 2004-07-22  Benjamin Otte  <otte@gnome.org>
7449
7450         * gst/gstelement.c: (gst_element_set_state_func):
7451           make this a static function
7452
7453 2004-07-22  Wim Taymans  <wim@fluendo.com>
7454
7455         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7456         (gst_opt_scheduler_pad_link):
7457         fix 147894-2 and the group_link problem.
7458
7459 2004-07-22  Wim Taymans  <wim@fluendo.com>
7460
7461         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7462         (handoff_identity), (main):
7463         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7464         (handoff_identity), (main):
7465         * testsuite/schedulers/Makefile.am:
7466         * testsuite/schedulers/group_link.c: (main):
7467         Show bug in scheduler when linking chain and loop based element 
7468         where the chain based element was not yet in a group.
7469
7470 2004-07-21  Benjamin Otte  <otte@gnome.org>
7471
7472         * gst/.cvsignore:
7473         * gst/autoplug/.cvsignore:
7474         * gst/elements/.cvsignore:
7475         * gst/indexers/.cvsignore:
7476         * libs/gst/bytestream/.cvsignore:
7477         * libs/gst/control/.cvsignore:
7478         * libs/gst/getbits/.cvsignore:
7479         * testsuite/states/.cvsignore:
7480         * testsuite/threads/.cvsignore:
7481           keep this up to date, since I seem to be the only one who cares
7482           about not missing files on commits (editor's note: no you don't,
7483           but feel free to change them at the time you add stuff instead
7484           of later on)
7485
7486 2004-07-21  Benjamin Otte  <otte@gnome.org>
7487
7488         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7489         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7490         (gst_bin_child_state_change_func), (set_kid_state_func),
7491         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7492           make state changes work correctly and reentrant (so removing
7493           elements from bins during state changes of bins doesn't cause
7494           segfaults or even wrong states)
7495           add debugging category and debugging output to print children states
7496         * gst/gstbin.c: (gst_bin_dispose): 
7497           add some assertion checks
7498         * gst/gstbin.h:
7499         * gst/gstbin.c: (gst_bin_sync_children_state):
7500           deprecate this function - it just does gst_bin_set_state (bin,
7501           GST_STATE (bin)) 
7502         * testsuite/threads/queue.c: (main):
7503           don't use gst_bin_sync_children_state anymore
7504         * testsuite/states/Makefile.am:
7505         * testsuite/states/bin.c:
7506           test that the state changes of bins work as expected
7507         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7508           some adjustments to change states correctly, too
7509         * gst/gstthread.c: (gst_thread_change_state):
7510           don't enable/disable "threadsafe" properties, they're unused and
7511           cause random segfaults
7512         * testsuite/threads/Makefile.am:
7513           the queue check randomly passes now, ignore it
7514
7515 2004-07-21  Benjamin Otte  <otte@gnome.org>
7516
7517         * gst/gstpad.c:
7518           check if data is NULL before outputting debug info. (fixes #145100)
7519
7520 2004-07-21  Benjamin Otte  <otte@gnome.org>
7521
7522         * gst/schedulers/entryscheduler.c:
7523         (gst_entry_scheduler_loop_wrapper),
7524         (gst_entry_scheduler_chain_wrapper),
7525         (gst_entry_scheduler_get_wrapper):
7526           reset the state when the cothread starts, so we don't get assertion
7527           failures on restarting of cothreads
7528
7529 2004-07-20  Benjamin Otte  <otte@gnome.org>
7530
7531         * gst/gstelement.c: (gst_element_link_pads_filtered):
7532           use correct sinkpad, if only sinkpad is specified, but not srcpad
7533           (fixes #147889)
7534         * gst/gstelement.c: (gst_element_set_state_func),
7535         (gst_element_change_state): ref/unref the element, signal handlers
7536         could get rid of the element otherwise
7537
7538 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7539
7540         * docs/random/ds/0.9-suggested-changes:
7541           Make note about renaming fixed-list to array.
7542         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7543         (_gst_value_initialize):
7544           Add array intersections.
7545         * testsuite/caps/intersect2.c: (main):
7546           Add test for array intersections.
7547
7548 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7549
7550         * configure.ac: back to cvs
7551
7552 === release 0.8.4 ===
7553
7554 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7555
7556         * configure.ac:
7557           releasing 0.8.4, "Paella"
7558           bump libtool versioning
7559
7560 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7561
7562         * po/LINGUAS:
7563         * po/ca.po:
7564           adding Catalan translation (Jordi Mallach)
7565
7566 2004-07-20  Wim Taymans  <wim@fluendo.com>
7567
7568         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7569         (handoff_identity), (main):
7570         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7571         (handoff_identity), (main):
7572         * testsuite/schedulers/Makefile.am:
7573         Added failing testcase for variant of #147894
7574
7575 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7576
7577         patch by: David Moore
7578
7579         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7580         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7581         (group_migrate_connected):
7582         * testsuite/schedulers/Makefile.am:
7583           fix for #142813 (Deadlock in optimal scheduler)
7584
7585 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7586
7587         patch by: Wim Taymans
7588
7589         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7590         (gst_opt_scheduler_schedule_run_queue),
7591         (gst_opt_scheduler_get_wrapper), (get_group),
7592         (group_migrate_connected):
7593         * testsuite/schedulers/Makefile.am:
7594           fix for #147819 (Add some checks in the opt scheduler)
7595
7596 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7597
7598         patch by: Benjamin Otte
7599
7600         * gst/gstelementfactory.c: (__gst_element_details_set):
7601           fix for #147929: running gst-register in non-utf8 locale can cause
7602           invalid registry
7603
7604 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7605
7606         patch by: Wim Taymans
7607
7608         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7609         (group_has_element), (element_get_reachables_func),
7610         (group_migrate_connected):
7611           fix for #147894 (opt scheduler decoupled elements mismanagement)
7612         * testsuite/schedulers/Makefile.am:
7613           testsuite app now passes
7614
7615 2004-07-19  Wim Taymans  <wim@fluendo.com>
7616
7617         * testsuite/schedulers/147819.c: (handoff_identity1),
7618         (handoff_identity2), (main):
7619         * testsuite/schedulers/Makefile.am:
7620         Added testcase for bug 147819
7621
7622 2004-07-19  Wim Taymans  <wim@fluendo.com>
7623
7624         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7625         (handoff_identity), (main):
7626         * testsuite/schedulers/Makefile.am:
7627         Added testcase for bug 147894
7628
7629 2004-07-16  Wim Taymans  <wim@fluendo.com>
7630
7631         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7632         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7633         * testsuite/schedulers/Makefile.am:
7634         Added testsuite for bug 142183 in its two incarnations. Refcount
7635         is not increased for scheduled elements and threadsafe properties
7636         mutexes are not properly unlocked.
7637
7638 2004-07-16  Wim Taymans  <wim@fluendo.com>
7639
7640         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7641         (create_chain), (destroy_chain), (create_group), (destroy_group),
7642         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7643         (group_dec_link), (gst_opt_scheduler_pad_link),
7644         (group_inc_links_for_element), (group_migrate_connected):
7645         Call group_inc_link with the proper src->sink ordering -- 
7646         break this, and we break sort_chain. patch from wingo for bug
7647         147713.
7648         Partially revert patch 1.89. When adding a loop based element to 
7649         the scheduler, the links to other groups are automatically followed
7650         and incremented. This should not happen because the bin will call
7651         pad_link explicitly for those connection, resulting in them counted 
7652         twice. Results in assertion failure on pipeline cleanup.
7653
7654 2004-07-16  Wim Taymans  <wim@fluendo.com>
7655
7656         * testsuite/schedulers/143777-2.c: (main):
7657         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7658         (main):
7659         * testsuite/schedulers/Makefile.am:
7660         Added cleanup code to testcase 143777-2.
7661         Added testcase to show bug 147713, does not really show the
7662         deadlock as I can't figure out how to trigger it, but it does
7663         demonstrate bad ordering in the scheduler.
7664
7665 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7666
7667         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7668           change strndup to g_strndup.  Fixes #147707
7669
7670 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7671
7672         * po/af.po:
7673         * po/az.po:
7674         * po/cs.po:
7675         * po/en_GB.po:
7676         * po/fr.po:
7677         * po/nl.po:
7678         * po/sr.po:
7679         * po/sv.po:
7680         * po/tr.po:
7681         * po/uk.po:
7682           updated translations
7683
7684 2004-07-16  Benjamin Otte  <otte@gnome.org>
7685
7686         * gst/gstvalue.c: (gst_greatest_common_divisor):
7687           use ints and return ints, fractions only use ints, too, so this
7688           avoids accidently casting multiplications to unsigned
7689         (gst_value_lcopy_fraction): it's ints, not uint32
7690         (gst_value_set_fraction): disallow minint, multiplying and negation
7691           are broken with it
7692         (gst_value_fraction_multiply): fix to make large numbers work and get
7693         rid of the assumption that the multiplication of two ints fits an
7694         int64 - dunno if that's true for all systems
7695         * testsuite/caps/Makefile.am:
7696         * testsuite/caps/fraction-multiply-and-zero.c:
7697         (check_multiplication), (check_equal), (zero_test), (main):
7698           add tests for all the stuff above
7699         * testsuite/caps/value_compare.c: (test1):
7700           fix comment
7701         * tests/.cvsignore:
7702         * testsuite/caps/.cvsignore:
7703         * testsuite/debug/.cvsignore:
7704         * testsuite/dlopen/.cvsignore:
7705         * testsuite/states/.cvsignore:
7706           get up to date
7707
7708 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7709
7710         * docs/manual/bins-api.xml:
7711         * docs/manual/factories.xml:
7712         * docs/manual/helloworld.xml:
7713         * docs/manual/links-api.xml: 
7714           fixes for out of date info, incorrect info and grammar
7715
7716 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7717
7718         * docs/manual/pads.xml:
7719         * docs/manual/pads-api.xml: grammar fix
7720
7721 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7722
7723         * docs/manual/pads-api.xml: typo + grammar fix
7724
7725 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7726
7727         * docs/gst/gstreamer-sections.txt:
7728           add new symbols
7729         * docs/gst/tmpl/gstelement.sgml:
7730         * docs/gst/tmpl/gstpad.sgml:
7731         * docs/gst/tmpl/gsttypes.sgml:
7732         * docs/gst/tmpl/gstvalue.sgml:
7733           update docs
7734         * gst/gststructure.c: (gst_structure_set_valist),
7735         (gst_structure_from_abbr), (gst_structure_to_abbr):
7736         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7737         (gst_greatest_common_divisor), (gst_value_init_fraction),
7738         (gst_value_copy_fraction), (gst_value_collect_fraction),
7739         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7740         (gst_value_get_fraction_numerator),
7741         (gst_value_get_fraction_denominator),
7742         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7743         (gst_value_deserialize_fraction),
7744         (gst_value_transform_fraction_string),
7745         (gst_value_transform_string_fraction),
7746         (gst_value_compare_fraction), (_gst_value_initialize):
7747         * gst/gstvalue.h:
7748           adding GstFraction GValue type, get/set, and multiply
7749         * testsuite/caps/Makefile.am:
7750         * testsuite/caps/fraction.c: (test), (main):
7751         * testsuite/caps/string-conversions.c: (main):
7752         * testsuite/caps/value_compare.c: (test1), (main):
7753           add regression tests for GstFraction
7754
7755 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7756         
7757         * docs/manual/init-api.xml: Grammar fix
7758
7759 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7760
7761         * docs/manual/states.xml: Fix inconsistent information
7762
7763 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7764
7765         * gst/gstelement.c: (gst_element_set_state):
7766         * gst/gstpad.c: (gst_pad_try_set_caps):
7767         * gst/gststructure.c:
7768         * gst/gstthread.c: (gst_thread_child_state_change):
7769         * gst/gstvalue.c: (gst_value_compare_double):
7770         * gst/gstvalue.h:
7771         * testsuite/parse/parse1.c: (main):
7772           debugging additions and style cleanups
7773
7774 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7775
7776         * docs/manual/states.xml: Grammar fix
7777
7778 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7779
7780         * docs/manual/pads.xml: Grammar fix
7781
7782 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7783
7784         * docs/manual/elements.xml: Fixed image reference
7785
7786 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7787
7788         * docs/manual/goals.xml: Grammar fix
7789
7790 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7791
7792         * docs/manual/motivation.xml:
7793         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7794
7795 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7796
7797         * docs/manual/motivation.xml: Fix spelling
7798
7799 2004-07-15  Benjamin Otte  <otte@gnome.org>
7800
7801         * gst/gstelement.h: 
7802           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7803           strings.
7804         * gst/gstelement.c (gst_element_class_init):
7805           GError's are boxed, not objects
7806         * gst/gstmarshal.list:
7807           update list for the fixed error signal
7808
7809 2004-07-14  Andy Wingo  <wingo@pobox.com>
7810
7811         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7812         there all along, but the function wasn't. (guile-gstreamer's build
7813         system uses the address of the function -- I wasn't actually
7814         trying to use this.)
7815
7816 2004-07-14  Andy Wingo  <wingo@pobox.com>
7817
7818         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7819         as gst_pad_proxy_pad_link) just link to every other pad when they
7820         are called. In the case where the graph has cycles, this will mean
7821         that a call to try_set_caps will recurse. Allow this recursion
7822         and return OK, while we wait for the first try_set_caps to give a
7823         proper return value.
7824         (gst_pad_link_call_link_functions): Since this function is the
7825         only one to set the NEGOTIATING flag on a pad, if the flag is set
7826         it means that the link functions have indirectly recursed. If this
7827         happens, error out to avoid infinite recursion and an eventual
7828         SEGV.
7829         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7830         (gst_pad_proxy_getcaps): Intersect the result with the template
7831         caps to ensure that the return value is valid.
7832
7833 2004-07-14  Andy Wingo  <wingo@pobox.com>
7834
7835         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7836         one refcount, the calling function is the owner of the buffer.
7837
7838 2004-07-14  Wim Taymans  <wim@fluendo.com>
7839
7840         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7841         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7842         Fix stupid warning when an element is to be migrated but
7843         is already migrated.
7844
7845 2004-07-14  Wim Taymans  <wim@fluendo.com>
7846
7847         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7848         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7849         Make sure that a single non-loop-based element does not 
7850         end up in a group. This fixes the testsuite again.
7851
7852 2004-07-14  Wim Taymans  <wim@fluendo.com>
7853
7854         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7855         (add_to_group), (merge_groups), (schedule_group),
7856         (gst_opt_scheduler_get_wrapper), (group_elements),
7857         (group_dec_link), (gst_opt_scheduler_pad_link),
7858         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7859         (gst_opt_scheduler_iterate):
7860         move isolated groups to a new chain.
7861         Emit a warning instead of segfaulting in some error cases.
7862         Fix a bug where the link count between groups was not calculated 
7863         correctly. Fixes #144510.
7864
7865 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7866         * gst/elements/gstfilesrc.c:
7867           Binary files support under Windows now OK
7868       
7869 2004-07-13  Benjamin Otte  <otte@gnome.org>
7870
7871           compatibility fixes for Solaris 8/gcc 2.95
7872         * configure.ac:
7873           include libintl libs in LDFLAGS
7874         * gstvalue.c (gst_value_deserialize_buffer):
7875           cast isxdigit stuff to int to silence compiler warning
7876
7877 2004-07-12  Benjamin Otte  <otte@gnome.org>
7878
7879         * gst/gsttypes.h:
7880           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7881           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7882           just causes support madness
7883         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7884           make it work without this
7885         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7886         (gst_file_index_commit):
7887           glib IO channels don't want binary mode
7888         * testsuite/bytestream/filepadsink.c: (main):
7889         * testsuite/bytestream/test1.c: (read_param_file):
7890           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7891
7892 2004-07-12  Benjamin Otte  <otte@gnome.org>
7893
7894         * gst/gstelement.c: (gst_element_class_init),
7895         (gst_element_set_state), (gst_element_set_state_func):
7896           virutalize gst_element_set_state, use set_state member in class
7897           struct that was already added in 0.7 for this.
7898         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7899         (gst_bin_change_state):
7900           make gst_bin_foreach works similar to other foreach functions, plug
7901           memleaks in it. Make functions using it work with the new approach.
7902           Document gst_bin_foreach, so it can be exported if we want to
7903         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7904           use virtualized set_state to make set_state on bins set the state of
7905           all its children.
7906
7907 2004-07-12  Benjamin Otte  <otte@gnome.org>
7908
7909         * configure.ac:
7910           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7911           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7912         * gst/gstpad.c: (gst_pad_alloc_buffer):
7913           allow buffer_alloc functions to return NULL and allocate a normal
7914           buffer in that case
7915
7916 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7917         * gst/elements/gstfilesink.c:
7918         * gst/elements/gstfilesrc.c:
7919         * gst/indexers/gstfileindex.c:
7920         * gst/gsttypes.h:
7921         * testsuite/bytestream/filepadsink.c:
7922         * testsuite/bytestream/test1.c:
7923           Handle binary files under Windows
7924
7925 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7926         * docs/manual/win32.xml:
7927         * win32/config.h:
7928         * win32/gst-register.vcproj:
7929         * win32/gstreamer.def:
7930           Update to another gettext public build
7931
7932 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7933         * gst/gstplugin.c:
7934           Fix an impossible C syntax
7935         * win32/config.h:
7936           Disable i18n under Windows for the moment
7937         * win32/gst-register.vcproj:
7938           Use this configuration
7939
7940 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7941         * docs/manual/quotes.xml:
7942           Keep the quotes file alive
7943         * docs/random/ds/0.9-suggested-changes:
7944           Add the suggestion of including a 'rowstride' as part of video
7945           format caps
7946
7947 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7948
7949         * gst/gstelement.c: (gst_element_set_state),
7950         (gst_element_change_state):
7951           d'oh.  Set PENDING state correctly before forcing bin to change.
7952         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7953         (gst_structure_parse_fixed_list):
7954         * gst/schedulers/gstoptimalscheduler.c:
7955         (gst_opt_scheduler_state_transition):
7956         * testsuite/states/parent.c: (main):
7957           remove comment now that it's fixed.
7958
7959 2004-07-11  Benjamin Otte  <otte@gnome.org>
7960
7961         * gst/gstclock.h:
7962           GST_SECOND shouldn't cause a conversion to unsigned.
7963         * testsuite/clock/.cvsignore:
7964         * testsuite/clock/Makefile.am:
7965         * testsuite/clock/signedness.c: (main):
7966           make sure it never will again
7967
7968 2004-07-11  Andy Wingo  <wingo@pobox.com>
7969
7970         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7971         whose state is higher than the bin state, raise the bin state to
7972         ensure that bin state := highest child state.
7973         
7974 2004-07-11  Andy Wingo  <wingo@pobox.com>
7975
7976         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7977         procedure on the children of a bin. Assumes that the procedure can
7978         change the set of children.
7979         (set_kid_state_func): New static function.
7980         (gst_bin_change_state): Use gst_bin_foreach to call
7981         set_kid_state_func. Fixes a bug: if a child had a state-change
7982         handler that removes it from the bin, there would be a segfault.
7983         Hopefully it should also work in the case where the state-change
7984         handler on one child adds or removes other children. In any case,
7985         fixes should go to gst_bin_foreach.
7986
7987 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7988
7989         * gst/gstelement.c: (gst_element_set_state):
7990           compatibility fix for latest plugins release.  Change loop back
7991           to while {}
7992
7993 2004-07-09  Wim Taymans  <wim@fluendo.com>
7994
7995         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7996         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7997         (gst_thread_main_loop):
7998         Since remove is virtual in GstBin we must not assume the 
7999         elements GList to have anothing useful.
8000         Add some more logging to GstThread and be a bit more paranoid
8001         when resetting the scheduler.
8002         Set the state of the bin to NULL before removing the children.
8003
8004 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8005
8006         * testsuite/threads/Makefile.am:
8007         * testsuite/threads/threadg.c:
8008           added test to check if problem when removing all elements from a
8009           GstThread before setting GstThread state to NULL
8010
8011 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8012
8013         * docs/gst/tmpl/gstelement.sgml:
8014         * docs/gst/tmpl/gsttypes.sgml:
8015         * gst/gstbin.c: (gst_bin_change_state):
8016         * gst/gstelement.c: (gst_element_set_state),
8017         (gst_element_change_state):
8018           rework so that for bins we try to set the state on all children
8019           as well even if the bin is in the correct state already.
8020           change while to do so at least one iteration is done.
8021           For regular elements, we fall back to the previous behaviour for
8022           now since we first need a new plugins release.
8023         * testsuite/states/parent.c: (main):
8024           test for this case
8025           Fixes #123774
8026
8027 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8028
8029         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8030         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8031         (gst_queue_release_locks), (gst_queue_change_state),
8032         (gst_queue_set_property):
8033           add proper lock debugging.  Change dispose to finalize, since
8034           we're freeing mutexes and other stuff which should happen only once.
8035
8036 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8037
8038         * docs/gst/tmpl/gstelement.sgml:
8039         * docs/gst/tmpl/gstplugin.sgml:
8040         * docs/gst/tmpl/gsttypes.sgml:
8041         * docs/pwg/building-state.xml:
8042         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8043         * gst/gstelement.c: (gst_element_change_state):
8044         * gst/gstthread.c: (gst_thread_change_state):
8045           catch wrong state changes in element base class.
8046
8047 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8048
8049         * gst/gstinfo.h:
8050           clean up layout a little.
8051
8052 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8053
8054         * configure.ac:
8055         * testsuite/Makefile.am:
8056         * testsuite/states/Makefile.am:
8057         * testsuite/states/parent.c: (main):
8058           re-enable states testsuite dir.  Add test for state changes and
8059           parent behaviour
8060
8061 2004-07-09  Wim Taymans  <wim@fluendo.com>
8062
8063         * gst/schedulers/gstoptimalscheduler.c:
8064         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8065         (element_get_reachables_func), (element_get_reachables),
8066         (debug_element), (rechain_group), (group_migrate_connected),
8067         (gst_opt_scheduler_pad_unlink):
8068         Do not try to migrate decoupled elements to a new group since
8069         they are not added to groups.
8070
8071 2004-07-08  Benjamin Otte  <otte@gnome.org>
8072
8073         * gst/gstelement.c: (gst_element_error_func):
8074           make reentrant (= allow removing elements in error handler)
8075
8076 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8077
8078         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8079         (gst_pad_send_event), (gst_pad_call_chain_function):
8080           events sent to elements below PAUSED cannot be handled, so
8081           don't try to
8082
8083 2004-07-08  Wim Taymans  <wim@fluendo.com>
8084
8085         * gst/schedulers/gstoptimalscheduler.c:
8086         (chain_recursively_migrate_group), (create_group),
8087         (schedule_group), (gst_opt_scheduler_pad_link),
8088         (group_elements_set_visited), (element_get_reachables_func),
8089         (element_get_reachables), (group_can_reach_group), (debug_element),
8090         (rechain_group), (group_migrate_connected),
8091         (gst_opt_scheduler_pad_unlink):
8092         * testsuite/schedulers/Makefile.am:
8093         Implemented group splitting and rechaining.
8094         Fixes 143777 and 143777-2 in the testsuite.
8095
8096 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8097
8098         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8099           extra debugging
8100         * gst/gstevent.h:
8101         * gst/gstinfo.c: (gst_debug_log_default):
8102           print time nicely.  add thread pointer until someone figures out
8103           a completely portable way of getting at thread id's.
8104         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8105         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8106         (gst_pad_call_chain_function):
8107           extra debugging
8108         * gst/schedulers/gstoptimalscheduler.c:
8109         (get_group_schedule_function), (loop_group_schedule_function),
8110         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8111         (pad_clear_queued), (gst_opt_scheduler_iterate):
8112           rename BUFPEN and friends to DATAPEN since that's what they are.
8113
8114 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8115
8116         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8117         * gst/gstbuffer.h:
8118         * gst/gstpad.c:
8119           cleanups and debugging
8120
8121 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8122
8123         * configure.ac:
8124         * gst/gstvalue.c: (gst_value_compare_enum),
8125         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8126         (gst_value_can_compare), (gst_value_compare):
8127         * testsuite/Makefile.am:
8128         * testsuite/enumcaps/Makefile.am:
8129         * testsuite/enumcaps/enumcaps.c:
8130           Fix enum serialization, deserialization, comparison in caps, add
8131           a test to ensure that this continues working in the future.
8132
8133 2004-07-06  David Schleef  <ds@schleef.org>
8134
8135         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8136         Fix memleak.
8137
8138 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8139
8140         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8141         * gst/gstplugin.h:
8142         * gst/registries/gstxmlregistry.c:
8143         (plugin_times_older_than_recurse), (plugin_times_older_than),
8144         (gst_xml_registry_parse_padtemplate):
8145           only rebuild registry when actual plugins have a newer time than
8146           the registry.  Fixes #145520
8147
8148 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8149
8150         * docs/manual/manual.xml:
8151         * docs/manual/win32.xml:
8152           add chapter on win32 building.  fixes #142422
8153
8154 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8155
8156         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8157
8158         * gst/autoplug/gstspider.c: (gst_spider_init),
8159         (gst_spider_dispose):
8160           fix spider memleaks.  fixes #137863
8161
8162 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8163
8164         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8165
8166         * gst/schedulers/gstoptimalscheduler.c:
8167         (gst_opt_scheduler_pad_unlink):
8168           fix SIGBUS error, fixes #145338
8169
8170 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8171
8172         * gst/gstobject.c: (gst_object_replace):
8173         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8174         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8175           clean up clock lifecycle.  Fixes #109831
8176
8177 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8178
8179         * po/LINGUAS:
8180         * po/cs.po:
8181           added Czech translation (Miloslav Trmac)
8182
8183 2004-07-04  David Schleef  <ds@schleef.org>
8184
8185         * tools/Makefile.am:
8186         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8187
8188 2004-07-04  David Schleef  <ds@schleef.org>
8189
8190         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8191
8192 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8193
8194         * gst/gstbin.c: (gst_bin_restore_thyself):
8195           chain to parent restore so the bins get restored correctly
8196           in the editor
8197
8198 2004-07-03  David Schleef  <ds@schleef.org>
8199
8200         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8201         Actually do something in these functions, like before the big
8202         caps change.  (bug #145137)
8203
8204 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8205
8206         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8207         (gst_element_get_compatible_pad_filtered):
8208         * gst/gstthread.c: (gst_thread_main_loop):
8209           more debugging
8210
8211 2004-07-02  David Schleef  <ds@schleef.org>
8212
8213         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8214         * gst/gstobject.h:
8215         * gst/gstparse.h:
8216         * gst/gsttrace.h:
8217         * gst/gstxml.h:
8218
8219 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8220
8221         * gst/gstpad.c: (gst_pad_check_schedulers),
8222         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8223         (gst_pad_link_prepare):
8224           revert until testsuite is fixed
8225
8226 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8227
8228         * testsuite/Makefile.am:
8229         * testsuite/caps/filtercaps.c: (main):
8230         * testsuite/clock/clock1.c: (main):
8231         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8232           fix some more tests
8233
8234 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8235
8236         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8237         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8238         * testsuite/cleanup/cleanup4.c: (main):
8239           fix testsuite
8240
8241 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8242
8243         * libs/gst/control/control.c:
8244         * libs/gst/control/dparam.c:
8245         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8246         * libs/gst/control/dparammanager.c:
8247         * libs/gst/control/dparammanager.h:
8248         * testsuite/dynparams/Makefile.am:
8249         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8250         (gst_dptest_change_state), (gst_dptest_chain), (main):
8251           fix testcase for dparams
8252           add debugging category
8253
8254 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8255
8256         * testsuite/Rules:
8257           change path
8258
8259 2004-07-02  Benjamin Otte  <otte@gnome.org>
8260
8261         * tests/.cvsignore:
8262         * tests/Makefile.am:
8263         * tests/mass_elements.c: (gst_get_current_time), (main):
8264           add simple benchmark to test various speeds of fakesrc ! identity !
8265           identity ! ... ! fakesink.
8266           Usage: mass_elements [num_identities] [num_buffers]
8267           If not specified they default to 1000.
8268
8269 2004-07-02  Benjamin Otte  <otte@gnome.org>
8270
8271         * gst/gstpad.c: (gst_pad_check_schedulers),
8272         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8273         (gst_pad_link_prepare):
8274           check that pads that get linked belong to the same manager. The old
8275           code allowed linking elements before putting them into bins, so it
8276           worked to link them and then put them in different threads, which
8277           lead to weird behaviour.
8278           Since this effectively disallows linking elements before putting
8279           them in a bin, some applications might not work after this and error
8280           out. If these applications are too critical, we might need to revert
8281           that patch. Please test this before the next release...
8282
8283 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8284
8285         * gst/gstpad.c: (gst_pad_get_caps):
8286           throw an error if the getcaps function does not return a subset of
8287           the template caps.
8288         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8289           make disconts without position info an error in debugging
8290         * tests/spidey_bench.c: (handoff), (main):
8291           don't count first try when averaging
8292
8293 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8294
8295         * gst/gstplugin.c: (gst_plugin_load_file):
8296           figure out problem with dynamic test
8297
8298 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8299
8300         * docs/gst/Makefile.am:
8301           fix docs build
8302
8303 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8304
8305         * po/POTFILES.in:
8306         * po/af.po:
8307         * po/az.po:
8308         * po/en_GB.po:
8309         * po/fr.po:
8310         * po/nl.po:
8311         * po/sr.po:
8312         * po/sv.po:
8313         * po/tr.po:
8314         * po/uk.po:
8315         * tools/gst-register.c: (plugin_added_func), (main):
8316           i18n-ize -register, fix plural
8317
8318 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8319
8320         * gst/elements/gstidentity.c: (gst_identity_class_init),
8321         (gst_identity_init), (gst_identity_chain),
8322         (gst_identity_set_property), (gst_identity_get_property):
8323         * gst/elements/gstidentity.h:
8324           check for perfect stream
8325
8326 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8327
8328         * gst/elements/gstidentity.c: (gst_identity_chain):
8329           print offset_end
8330
8331 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8332
8333         * docs/gst/Makefile.am:
8334         * docs/gst/gstreamer-docs.sgml:
8335           doc fixes
8336
8337 2004-06-24  David Schleef  <ds@schleef.org>
8338
8339         * autogen.sh:  Remove call to env, since the buildbot isn't
8340         broken anymore.
8341
8342 2004-06-24  Wim Taymans  <wim@fluendo.com>
8343
8344         * gst/elements/Makefile.am:
8345         * gst/elements/gstelements.c:
8346         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8347         (gst_multifdsink_class_init), (gst_multifdsink_init),
8348         (gst_multifdsink_add), (gst_multifdsink_remove),
8349         (gst_multifdsink_clear), (gst_multifdsink_chain),
8350         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8351         * gst/elements/gstmultifdsink.h:
8352         Added an element that writes to multiple filedescriptors at once.
8353
8354 2004-06-24  Benjamin Otte  <otte@gnome.org>
8355
8356         * gst/parse/grammar.y:
8357           don't try to link elements before they have been added to bins
8358
8359 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8360
8361         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8362         (gst_file_pad_get_length):
8363         * libs/gst/bytestream/filepad.h:
8364           add 2 new functions
8365
8366 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8367
8368         * docs/gst/gstreamer-sections.txt:
8369         remove from docs, the define that Benjamin removed from gstelement.h
8370
8371 2004-06-22  Benjamin Otte  <otte@gnome.org>
8372
8373         * gst/gstelement.h:
8374           remove define that referenced a nonexisting GstElement struct member
8375
8376 2004-06-20  Benjamin Otte  <otte@gnome.org>
8377
8378         * gst/gstdata.c: (gst_data_is_writable):
8379           whoops, return values were wrong, so writable data was marked as
8380           non-writable and vice versa. (fixes #143953, spotted by Francis
8381           Labonte)
8382           Shows how rarely we need to copy data ;)
8383
8384 2004-06-20  Benjamin Otte  <otte@gnome.org>
8385
8386         * testsuite/schedulers/.cvsignore:
8387         * testsuite/schedulers/Makefile.am:
8388         * testsuite/schedulers/143777-2.c: (main):
8389           add test for opt breakage in bug #143777
8390
8391 2004-06-20  Benjamin Otte  <otte@gnome.org>
8392
8393         * gst/gstpad.c: (gst_pad_call_chain_function):
8394           check for if we were unlinked while inside the chainfunction (fixes
8395           entrygthread having issues with #143777)
8396         * testsuite/schedulers/143777.c: (main):
8397         * testsuite/schedulers/Makefile.am:
8398           add a test for that fix
8399
8400 2004-06-20  Benjamin Otte  <otte@gnome.org>
8401
8402         * gst/gstvalue.c: (gst_value_set_int_range):
8403           test that start is smaller then end
8404         * libs/gst/bytestream/Makefile.am:
8405         * libs/gst/bytestream/filepad.c: 
8406         * libs/gst/bytestream/filepad.h:
8407           add GstFilePad - a pad that behaves like a FILE*
8408         * testsuite/bytestream/.cvsignore:
8409         * testsuite/bytestream/Makefile.am:
8410         * testsuite/bytestream/filepadsink.c: 
8411           test for the GstFilePad
8412
8413 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8414
8415         * gst/elements/gstidentity.c: (gst_identity_class_init),
8416         (gst_identity_init), (gst_identity_set_clock),
8417         (gst_identity_chain), (gst_identity_set_property),
8418         (gst_identity_get_property):
8419         * gst/elements/gstidentity.h:
8420         * gst/gstclock.c: (gst_clock_id_wait):
8421           add a "sync" property to sync to the clock
8422
8423 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8424
8425         * gst/gstelementfactory.c: (gst_element_factory_create):
8426           make the freakin "elementfactory bla has no type" message more
8427           useful. So we actually can do something when someone shows up
8428           complaining about it.
8429
8430 2004-06-15  Johan Dahlin  <johan@gnome.org>
8431
8432         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8433         found. This matches the old behavior better. Thanks to Thomas for
8434         pointing out.
8435
8436 2004-06-14  David Schleef  <ds@schleef.org>
8437
8438         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8439         -fomit-frame-pointer.  Appears to generate correct code in
8440         other cases as well.
8441
8442 2004-06-14  Johan Dahlin  <johan@gnome.org>
8443
8444         * tools/gst-inspect.c (main): Add two new command line options: -a
8445         to print all elements and -n to print the name on each line. Also
8446         fix some error reporting.
8447         (main): Simplify, remove -n and always print names if -a is specified
8448
8449 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8450
8451         * win32/gstconfig.h:
8452         * win32/GSTreamer.vcproj:
8453         * win32/Makefile:
8454         * gst/gstconfig.h.in:
8455         * gst/gst.h:
8456         * gst/gstbin.h:
8457         * gst/gstelement.h:
8458         * gst/gstevent.h:
8459         * gst/gstobject.h:
8460         * gst/gstpad.h:
8461         * docs/gst/gstreamer-sections.txt:
8462         * docs/gst/tmpl/gstconfig.sgml:
8463           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8464
8465 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8466         * docs/gst/gstreamer-sections.txt:
8467         * docs/gst/tmpl/gstconfig.sgml:
8468         Add the GSTREAMER_EXPORT macro to the docs
8469
8470 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8471
8472         * tools/gst-compprep.c: (handle_xmlerror), (main):
8473         Add a check for the version that introduced SetStructuredError to fix
8474         the build on FC1
8475
8476 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8477
8478         * win32/msvc71.sln:
8479         * win32/testsuite/:
8480           prepare to compile the testsuite with MSVC
8481
8482 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8483
8484         * docs/manual/win32.xml:
8485           attempt to transform the Win32 README into an XML doc
8486
8487 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8488
8489         * gst/gst.c:
8490         * gst/gstbin.*:
8491         * gst/config.h.in:
8492         * gst/gstelement.*:
8493         * gst/gstevent.h:
8494         * gst/gstobject.*:
8495         * gst/gstpad.h:
8496         * tools/gst-register.c:
8497         * win32/gstreamer.def:
8498           extern symbols are now exported for the Windows DLL
8499
8500 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8501
8502         * gst/gstinfo.h:
8503           fix a problem to enable/disable DEBUG under MSVC
8504
8505 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8506
8507         * win32/:
8508           enable more debug code in DEBUG build
8509
8510 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8511
8512         * win32/config.h:
8513         * gst/gst-i18n-app.h:
8514           enable NLS under Windows
8515
8516 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8517         * tools/gst-compprep.c: (handle_xmlerror), (main):
8518           Make an error that baffled me a bit clearer
8519
8520 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8521
8522         * gst/gstqueue.c:
8523           don't use g_queue_get_length () because it's 2.4, use ->length
8524
8525 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8526
8527         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8528
8529         * tools/gst-inspect.c: (print_signal_info):
8530           don't free random data twice. (fixes #144185)
8531
8532 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8533
8534         * gst/gstqueue.c:
8535         * gst/gstqueue.h:
8536           fix removing from the wrong queue on event timeout
8537           fix disposing of the event queue by casting correctly
8538           add mutexes for handling the event queue
8539           someone was sleeping when fixing queue last time around :)
8540
8541 2004-06-10  Johan Dahlin  <johan@gnome.org>
8542
8543         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8544         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8545
8546 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8547
8548         * docs/random/gdp:
8549         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8550         * libs/gst/dataprotocol/dataprotocol.c:
8551         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8552         (gst_dp_buffer_from_header):
8553         * libs/gst/dataprotocol/dataprotocol.h:
8554         * libs/gst/dataprotocol/dp-private.h:
8555           rev version to 0.1, add buffer flags and copy them
8556
8557 2004-06-09  Johan Dahlin  <johan@gnome.org>
8558
8559         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8560         the flags from the buffer we're copying.
8561
8562 2004-06-09  Wim Taymans  <wim@fluendo.com>
8563
8564         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8565         * gst/elements/gstidentity.c: (gst_identity_init),
8566         (gst_identity_chain):
8567         Print more buffer info in fakesink.
8568         Make identity output similar to fakesink.
8569
8570 2004-06-07  Daniel Gazard  <dany42@free.fr>
8571
8572         reviewed by Benjamin Otte  <otte@gnome.org>
8573
8574         * configure.ac:
8575           fix cross compiling not working. (fixes #143741)
8576
8577 2004-06-07  Benjamin Otte  <otte@gnome.org>
8578
8579         * gst/gstelement.c: (gst_element_set_time_delay):
8580           add failure check
8581         * gst/gstinfo.h:
8582           put brackets around macro arguments of GST_TIME_ARGS, add note to
8583           move it to correct header in 0.9
8584
8585 2004-06-07  Benjamin Otte  <otte@gnome.org>
8586
8587         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8588         (gst_file_index_load), (_file_index_id_save_entries),
8589         (gst_file_index_commit), (gst_file_index_add_association),
8590         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8591         (gst_file_index_plugin_init):
8592           make debugging use a default category
8593
8594 2004-06-06  David Moore  <dcm@acm.org>
8595
8596         reviewed by Benjamin Otte  <otte@gnome.org>
8597
8598         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8599         (gst_fdsrc_change_state):
8600           reset offset counter when going READY => PAUSED. (fixes #142903)
8601
8602 2004-06-06  ed@catmur.co.uk
8603
8604         reviewed by Benjamin Otte  <otte@gnome.org>
8605
8606         * gst/registries/gstxmlregistry.c:
8607         (gst_xml_registry_rebuild_recurse):
8608           don't rely on g_dir_open to figure out if a file is a directory, use
8609           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8610           directories. (fixes #142850)
8611
8612 2004-06-06  Benjamin Otte  <otte@gnome.org>
8613
8614         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8615           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8616         * libs/gst/bytestream/adapter.c:
8617         * libs/gst/bytestream/adapter.h:
8618           fix copyright in header and typo in debugging category name
8619
8620 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8621
8622         * configure.ac:
8623           bump nano to cvs
8624
8625 === release 0.8.3 ===
8626
8627 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8628
8629         * configure.ac:
8630           update libtool versioning
8631           do a new release
8632         * docs/gst/tmpl/gstelement.sgml:
8633         * docs/gst/tmpl/gsttypes.sgml:
8634         * gst/gstinfo.c: (_gst_debug_init):
8635           put back GST_CAT_DATAFLOW to fix API breakage
8636
8637 2004-06-04  David Schleef  <ds@schleef.org>
8638
8639         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8640
8641 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8642
8643         * configure.ac:
8644           bump nano to cvs
8645
8646 === release 0.8.2 ===
8647
8648 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8649
8650         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8651           check GST_DEBUG environment variable which is parsed the same way
8652           as --gst-debug=
8653
8654 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8655
8656         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8657                             gstmd5sink.c gstshaper.c gsttee.c
8658                             gsttypefindelement.c
8659         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8660
8661           - removing trailing commas at end of enums
8662             it is correct C99 code but C90 compilers would complain
8663             (AIX, Forte, ...)
8664             ('should' fix #143290, at least partially)
8665
8666 2004-05-27  Wim Taymans  <wim@fluendo.com>
8667
8668         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8669         (chain_group_set_enabled), (create_group), (add_to_group),
8670         (merge_groups), (setup_group_scheduler), (group_elements),
8671         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8672         Don't try to follow the pad connections with other groups
8673         when a loop based element is added to the scheduler because
8674         the bin will inform the scheduler about the pad links a little
8675         later.
8676
8677 2004-05-27  Wim Taymans  <wim@fluendo.com>
8678
8679         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8680         (remove_from_chain), (chain_group_set_enabled),
8681         (setup_group_scheduler), (group_element_set_enabled),
8682         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8683         (gst_opt_scheduler_show):
8684         Elements without a group can do a state change as well, just wait
8685         with the setup of the scheduling function when it is added to a
8686         chain.
8687
8688 2004-05-27  Wim Taymans  <wim@fluendo.com>
8689
8690         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8691         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8692         (merge_groups), (setup_group_scheduler),
8693         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8694         (gst_opt_scheduler_show):
8695         Fixes to maintain internal consistency of the scheduler data
8696         structures. 
8697          - adding an enabled group to a chain should increment the
8698            number of enabled elements in that chain.
8699          - removing an enabled group from a chain could disable the
8700            chain.
8701          - removing a disabled group from a chain could enable the
8702            chain.
8703          - add g_assert when internal inconsistency is detected.
8704          - adding an element to a group could increase the number of
8705            links this group has with other groups.
8706          - merging two groups also merges the chains.
8707          - also show group links in the _show method.
8708            
8709
8710 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8711
8712         * gst/gstcaps.c: (gst_caps_structure_simplify):
8713           don't print error messages when there is no error
8714         * gst/gstvalue.c: (gst_value_compare_int_range):
8715           compare the second value, too
8716         * testsuite/caps/Makefile.am:
8717         * testsuite/caps/random.c: (assert_on_error), (main):
8718           add tests to make sure the two things above are checked for
8719
8720 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8721
8722         * configure.ac:
8723         * libs/gst/dataprotocol/Makefile.am:
8724         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8725         * libs/gst/dataprotocol/dataprotocol.h:
8726           wrap header in GST_ENABLE_NEW.  make code use it
8727
8728 2004-05-23  Johan Dahlin  <johan@gnome.org>
8729
8730         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8731         so verbose and print GstElement signal names all the time.
8732
8733 2004-05-22  David Schleef  <ds@schleef.org>
8734
8735         * gst/registries/gstxmlregistry.c:
8736         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8737         (bug #142957)
8738
8739 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8740
8741         * configure.ac:
8742           scrub cflags for glib2 so gcc doesn't complain when glib is in
8743           /usr/local
8744
8745 2004-05-21  Johan Dahlin  <johan@gnome.org>
8746
8747         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8748         __GNUC__, patch from Brian Cameron, fixes bug #142804
8749
8750 2004-05-20  David Schleef  <ds@schleef.org>
8751
8752         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8753         comparison code.  (bug #142819)
8754
8755 2004-05-20  Wim Taymans  <wim@fluendo.com>
8756
8757         * gst/gstbuffer.c: (gst_buffer_default_copy):
8758         * gst/gstbuffer.h:
8759         Added Comment to a flag.
8760         copy relevant flags in _buffer_copy.
8761
8762 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8763
8764         reviewed by: Wim Taymans <wim at fluendo dot com>
8765
8766         * gst/gstbuffer.h:
8767           add GST_BUFFER_IN_CAPS buffer flag
8768         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8769         (gst_structure_parse_any_list), (gst_structure_parse_list),
8770         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8771         * gst/gstvalue.c: (gst_value_serialize_any_list),
8772         (gst_value_transform_any_list_string),
8773         (gst_value_list_prepend_value), (gst_value_list_append_value),
8774         (gst_value_list_get_size), (gst_value_list_get_value),
8775         (gst_value_transform_list_string),
8776         (gst_value_transform_fixed_list_string),
8777         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8778         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8779         (_gst_value_initialize):
8780         * gst/gstvalue.h:
8781           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8782           < , > as a format.
8783         * testsuite/caps/string-conversions.c: (main):
8784           add regression tests for < >
8785
8786 2004-05-20  Johan Dahlin  <johan@gnome.org>
8787
8788         * docs/gst/Makefile.am (all-local): Re-add
8789
8790 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8791
8792         * docs/gst/Makefile.am:
8793         * docs/gst/gstreamer-docs.sgml:
8794         * docs/libs/Makefile.am:
8795         * docs/libs/gstreamer-libs-docs.sgml:
8796           fix distcheck issues
8797
8798 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8799
8800         * libs/gst/dataprotocol/Makefile.am:
8801           add to autotest
8802
8803 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8804
8805         * libs/gst/dataprotocol/Makefile.am:
8806         * libs/gst/dataprotocol/dataprotocol.c:
8807         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8808         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8809         * libs/gst/dataprotocol/dp-private.h:
8810           use GST macros to read/write fixed length ints
8811           add some more asserts
8812
8813 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8814
8815         * docs/libs/gstreamer-libs-docs.sgml:
8816         * docs/libs/gstreamer-libs-sections.txt:
8817           remove idct and putbits
8818         * configure.ac:
8819         * docs/libs/tmpl/gstdataprotocol.sgml:
8820         * libs/gst/Makefile.am:
8821         * libs/gst/dataprotocol/Makefile.am:
8822         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8823         (buffer_test), (caps_test), (event_test), (main):
8824         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8825         (gst_dp_dump_byte_array), (gst_dp_init),
8826         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8827         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8828         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8829         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8830         (gst_dp_validate_header), (gst_dp_validate_payload),
8831         (gst_dp_validate_packet), (plugin_init):
8832         * libs/gst/dataprotocol/dataprotocol.h:
8833         * libs/gst/dataprotocol/dp-private.h:
8834           add dataprotocol
8835
8836 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8837
8838         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8839           fix int variable deserialization and add a helper so we can actually
8840           debug this.
8841
8842 2004-05-18  David Schleef  <ds@schleef.org>
8843
8844         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8845           argv[0].  Calling yourself is probably not the best way to
8846           construct a test like this, btw.
8847
8848 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8849
8850         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8851           don't claim to be more intelligent than a scheduler when the
8852           scheduler claims the pipeline is stopped
8853         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8854         (safe_cothread_destroy),
8855         (gst_entry_scheduler_remove_all_cothreads),
8856         (gst_entry_scheduler_reset), (_remove_cothread),
8857         (gst_entry_scheduler_state_transition):
8858           hold off cothread destruction if we're not in main cothread
8859         * configure.ac:
8860         * testsuite/Makefile.am:
8861           add new test dir
8862         * testsuite/schedulers/.cvsignore:
8863         * testsuite/schedulers/Makefile.am:
8864           add tests
8865         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8866           check relinking and adding/removing elements from a running pipeline
8867         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8868           check unlinking in a running pipeline
8869         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8870           check unreffing a running pipeline
8871         * testsuite/schedulers/useless_iteration.c: (main):
8872           check iterating a pipeline that contains running threads works
8873
8874 2004-05-18  David Schleef  <ds@schleef.org>
8875
8876         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8877           is false.
8878
8879 2004-05-18  Wim Taymans  <wim@fluendo.com>
8880
8881         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8882         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8883         Fixed an error introduced with patch for 1.63. When setting
8884         a get based element as the entry point in a group, make sure
8885         to mark the group as GET based.
8886
8887 2004-05-18  Wim Taymans  <wim@fluendo.com>
8888
8889         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8890         (setup_group_scheduler), (loop_group_schedule_function),
8891         (gst_opt_scheduler_pad_link):
8892         Added some more debug info and fixed a bug where the group
8893         type was set to LOOP but it was in fact unknown.
8894
8895 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8896
8897         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8898           make resetting scheduler work twice in a row
8899
8900 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8901
8902         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8903         (CREATE_USERIALIZATION), (_gst_value_initialize),
8904         (gst_value_compare_float), (gst_value_serialize_float),
8905         (gst_value_deserialize_float), (gst_value_compare_enum),
8906         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8907           add serialization and comparison functions for long, int64, enum and
8908           float values
8909         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8910           use best serialization function in type hierarchy instead of only a
8911           matching one. This is required for enums to work.
8912         * gst/parse/grammar.y:
8913           use gst_caps_deserialize
8914         * testsuite/parse/Makefile.am:
8915           parse1 now works
8916         * testsuite/parse/parse1.c: (main):
8917           remove aggregator check, aggregator is broken, this test works now
8918           but fails because of bug #138012
8919         * testsuite/parse/parse2.c: (main):
8920           s/xvideosink/xvimagesink - this test looks a lot like we should
8921           disable it
8922
8923 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8924
8925         * gst/gstelement.c: (gst_element_class_init):
8926           whoops, store the signal id correctly
8927         * gst/schedulers/gstbasicscheduler.c:
8928         (gst_basic_scheduler_chain_wrapper):
8929           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8930           chain function isn't linked
8931
8932 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8933         * configure.ac:
8934         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8935         support until we decide where the flags should be used
8936         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8937         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8938         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8939         Output refused caps in the debug info
8940
8941 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8942
8943         * gst/elements/gstidentity.c: (gst_identity_chain):
8944           add duration debug
8945         * gst/gstinfo.c: (gst_debug_log_default):
8946           add timestamp
8947
8948 2004-05-13  Benjamin Otte  <otte@gnome.org>
8949
8950         * gst/gstpipeline.c: (gst_pipeline_dispose),
8951         (gst_pipeline_change_state):
8952           call gst_scheduler_reset on dispose (fixes #141416)
8953
8954 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8955
8956         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8957           compute mapsize correctly
8958         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8959           use correct datatypes when calling a varargs function
8960         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8961           push a DISCONT event as first thing
8962         * gst/gst_private.h:
8963         * gst/gstinfo.c: (_gst_debug_init):
8964           remove GST_DATAFLOW debugging category
8965         * gst/gstbin.c: (gst_bin_iterate):
8966           use GST_SCHEDULING category
8967         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8968         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8969         (gst_pad_call_get_function):
8970           add GST_DATAFLOW to easily track flow of buffers or events.
8971         * gst/gstqueue.c: (gst_queue_get_type),
8972         (gst_queue_handle_pending_events), (gst_queue_chain),
8973         (gst_queue_get), (gst_queue_handle_src_event):
8974           use own static debugging category GST_DATAFLOW for dataflow,
8975           use DEBUG category for showing which path events go, use LOG
8976           category for buffers.
8977
8978 2004-05-10  David Schleef  <ds@schleef.org>
8979
8980         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8981
8982 2004-05-10  David Schleef  <ds@schleef.org>
8983
8984         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8985         symbols, because otherwise we don't know what they are.  Thanks,
8986         the GStreamer team.
8987         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8988
8989 2004-05-10  David Schleef  <ds@schleef.org>
8990
8991         (from Steve Lhomme)
8992         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8993         are deleted.  Fix.
8994         * win32/Makefile.inspect:
8995         * win32/Makefile.launch:
8996         * win32/Makefile.register:
8997
8998 2004-05-10  David Schleef  <ds@schleef.org>
8999
9000         * gst/gstinfo.h: Add missing inline function.
9001         * gst/gsttrace.c: add include
9002         * gst/parse/grammar.y: remove unused code
9003         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9004         more portable.
9005         * tools/gst-register.c: wrap unistd.h
9006         
9007         More additions/fixes from Steve for the MSVC build.
9008         * win32/GStreamer.vcproj:
9009         * win32/Makefile:
9010         * win32/Makefile.inspect:
9011         * win32/Makefile.launch:
9012         * win32/Makefile.register:
9013         * win32/README.txt:
9014         * win32/gst-inspect.vcproj:
9015         * win32/gst-launch.vcproj:
9016         * win32/gst-register.vcproj:
9017         * win32/gstbytestream.def:
9018         * win32/gstbytestream.vcproj:
9019         * win32/gstconfig.h:
9020         * win32/gstelements.def:
9021         * win32/gstelements.vcproj:
9022         * win32/gstenumtypes.c:
9023         * win32/gstenumtypes.h:
9024         * win32/gstoptimalscheduler.def:
9025         * win32/gstoptimalscheduler.vcproj:
9026         * win32/gstreamer.def:
9027         * win32/gstspider.def:
9028         * win32/gstspider.vcproj:
9029         * win32/gstversion.h:
9030         * win32/msvc71.sln:
9031
9032 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9033
9034         * gst/gstelement.c: (gst_element_class_init),
9035         (gst_element_no_more_pads):
9036         * gst/gstelement.h:
9037           add gst_element_no_more_pads and the "no-more-pads" signal
9038
9039 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9040
9041         * gst/gstregistry.c: (gst_registry_add_plugin):
9042           refuse to add plugins when a plugin with same name is already
9043           registered. Fixes a bunch of "How to remove plugins?" issues.
9044           May lead to other problems though, let's test
9045
9046 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9047
9048         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9049         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9050         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9051
9052 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9053
9054         * tests/Makefile.am: fix am16 issue
9055
9056 2004-05-09  Benjamin Otte  <otte@gnome.org>
9057
9058         * libs/gst/bytestream/Makefile.am:
9059           we should indeed add .c files to makefiles or they won't be built
9060           (d'oh)
9061
9062 2004-05-08  Benjamin Otte  <otte@gnome.org>
9063
9064         * gst/gstpad.c: (gst_pad_proxy_fixate):
9065           really reduce the set of caps
9066
9067 2004-05-08  Benjamin Otte  <otte@gnome.org>
9068
9069         * tests/Makefile.am:
9070         * tests/spidey_bench.c: (handoff), (main):
9071           add benchmark to test how long spider needs to create a pipeline
9072
9073 2004-05-08  Benjamin Otte  <otte@gnome.org>
9074
9075         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9076           mark links as unengaged when unnegotiating instead of deactivating.
9077           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9078
9079 2004-05-08  Benjamin Otte  <otte@gnome.org>
9080
9081         * docs/manual/helloworld.xml:
9082           s/audiosink/osssink (patch by Patrick Guimond)
9083
9084 2004-05-07  David Schleef  <ds@schleef.org>
9085
9086         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9087         since it contains important stuff.
9088
9089 2004-05-07  David Schleef  <ds@schleef.org>
9090
9091         * testsuite/caps/caps.c: (test3), (main): A check for appending
9092         ANY caps.
9093
9094 2004-05-07  David Schleef  <ds@schleef.org>
9095
9096         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9097         which may contain commas.  Fixes detection of -Wa,-mregnames
9098
9099 2004-05-06  David Schleef  <ds@schleef.org>
9100
9101         Changes to handle compilers that don't have variadic macro
9102         support.  In particular, glib headers define some inlines
9103         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9104         builds.
9105         * gst/Makefile.am:
9106         * gst/cothreads.c:
9107         * gst/elements/gstfdsink.c:
9108         * gst/elements/gstfdsrc.c:
9109         * gst/elements/gstfilesink.c:
9110         * gst/elements/gstfilesrc.c:
9111         * gst/gst_private.h:
9112         * gst/gstatomic.c:
9113         * gst/gstcaps.c: (gst_caps_append):
9114         * gst/gstcpu.c: (gst_cpuid_i386):
9115         * gst/gstelement.c:
9116         * gst/gsterror.c:
9117         * gst/gstfilter.c:
9118         * gst/gstinfo.h:
9119         * gst/gstprobe.c:
9120         * gst/gstquery.c:
9121         * gst/gstregistry.c:
9122         * gst/gststructure.c:
9123         * gst/gsttaginterface.c:
9124         * gst/gsttrace.c: (gst_trace_new):
9125         * gst/gsttrashstack.c:
9126         * gst/gsturi.c:
9127         * gst/gstvalue.c:
9128         * gst/parse/grammar.y:
9129         * gst/parse/parse.l:
9130         * tools/gst-inspect.c: (main):
9131         * tools/gst-launch.c: (main):
9132         * tools/gst-xmlinspect.c: (PUT_STRING):
9133
9134 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9135
9136         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9137         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9138         * gst/elements/gstfilesrc.h:
9139           send NEW_MEDIA events correctly
9140         * gst/elements/gsttypefindelement.c: (start_typefinding),
9141         (gst_type_find_element_handle_event):
9142           restart typefinding when we get a NEW_MEDIA event
9143         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9144         (gst_bin_dispose):
9145           don't die when someone removes elements in callbacks
9146         * gst/gstelement.c: (gst_element_change_state):
9147           improve debugging
9148         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9149           we need a NEW_MEDIA event to engage a link
9150         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9151           don't g_print debugging stuff
9152         * testsuite/caps/simplify.c: (check_caps):
9153
9154 2004-05-04  Benjamin Otte  <otte@gnome.org>
9155
9156         * gst/parse/grammar.y:
9157           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9158
9159 2004-05-04  Benjamin Otte  <otte@gnome.org>
9160
9161         * testsuite/caps/renegotiate.c: (main):
9162           improve output in error case
9163
9164 2004-05-04  Benjamin Otte  <otte@gnome.org>
9165
9166         * gst/parse/grammar.y:
9167           fix assert to not trigger when there's no error argument
9168         * gst/parse/parse.l:
9169           fix definition of caps to allow more than two structures
9170         * testsuite/caps/Makefile.am:
9171         * testsuite/caps/renegotiate.c: (main):
9172           it's sinesrc and works in that case
9173
9174 2004-05-04  Wim Taymans  <wim@fluendo.com>
9175
9176         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9177         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9178         when removing an element from a group, we always need to
9179         decrement the link count that this group had with other 
9180         groups through the element.
9181         added an extra assert to catch inconsistencies when decrementing
9182         the link count.
9183
9184 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9185
9186         * configure.ac:
9187         * docs/gst/Makefile.am:
9188         * docs/gst/gstreamer-sections.txt:
9189         * docs/gst/tmpl/gstcompat.sgml:
9190         * examples/appreader/Makefile.am:
9191         * examples/cutter/Makefile.am:
9192         * examples/events/Makefile.am:
9193         * examples/helloworld/Makefile.am:
9194         * examples/helloworld2/Makefile.am:
9195         * examples/launch/Makefile.am:
9196         * examples/manual/Makefile.am:
9197         * examples/mixer/Makefile.am:
9198         * examples/pingpong/Makefile.am:
9199         * examples/plugins/Makefile.am:
9200         * examples/queue/Makefile.am:
9201         * examples/queue2/Makefile.am:
9202         * examples/queue3/Makefile.am:
9203         * examples/queue4/Makefile.am:
9204         * examples/retag/Makefile.am:
9205         * examples/thread/Makefile.am:
9206         * examples/typefind/Makefile.am:
9207         * examples/xml/Makefile.am:
9208         * gst/Makefile.am:
9209         * gst/autoplug/Makefile.am:
9210         * gst/elements/Makefile.am:
9211         * gst/gstcompat.h:
9212         * gst/indexers/Makefile.am:
9213         * gst/parse/Makefile.am:
9214         * gst/registries/Makefile.am:
9215         * gst/schedulers/Makefile.am:
9216         * libs/gst/bytestream/Makefile.am:
9217         * libs/gst/control/Makefile.am:
9218         * libs/gst/getbits/Makefile.am:
9219         * po/af.po:
9220         * po/az.po:
9221         * po/en_GB.po:
9222         * po/fr.po:
9223         * po/nl.po:
9224         * po/sr.po:
9225         * po/sv.po:
9226         * po/tr.po:
9227         * po/uk.po:
9228         * tests/Makefile.am:
9229         * tests/bufspeed/Makefile.am:
9230         * tests/instantiate/Makefile.am:
9231         * tests/memchunk/Makefile.am:
9232         * tests/muxing/Makefile.am:
9233         * tests/negotiation/Makefile.am:
9234         * tests/probes/Makefile.am:
9235         * tests/sched/Makefile.am:
9236         * tests/seeking/Makefile.am:
9237         * tests/threadstate/Makefile.am:
9238         * testsuite/caps/Makefile.am:
9239         * testsuite/cleanup/Makefile.am:
9240         * testsuite/dlopen/Makefile.am:
9241         * testsuite/dynparams/Makefile.am:
9242         * testsuite/plugin/Makefile.am:
9243         * testsuite/states/Makefile.am:
9244         * tools/Makefile.am:
9245           reorganize compile/link flags to be consistent
9246           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9247
9248 2004-05-04  David Schleef  <ds@schleef.org>
9249
9250         The "once more, with feeling" check-in.
9251         * testsuite/caps/Makefile.am: dist caps_strings
9252         * testsuite/caps/renegotiate.c: (main): This test triggers a
9253           segfault in the core.  Marking as failing.
9254
9255 2004-05-03  David Schleef  <ds@schleef.org>
9256
9257         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9258           by the build bots.
9259         * testsuite/caps/renegotiate.c: (main): Same.
9260
9261 2004-05-03  David Schleef  <ds@schleef.org>
9262
9263         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9264
9265 2004-05-03  David Schleef  <ds@schleef.org>
9266
9267         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9268           variable to find our source file.
9269
9270 2004-05-03  David Schleef  <ds@schleef.org>
9271
9272         * configure.ac:  Link plugins with libgstreamer and dependent
9273           libraries
9274         * testsuite/caps/Makefile.am:
9275         * testsuite/caps/caps_strings:
9276         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9277           through a file of caps strings and test each one
9278
9279 2004-05-04  Benjamin Otte  <otte@gnome.org>
9280
9281         * libs/gst/bytestream/Makefile.am:
9282         * libs/gst/bytestream/adapter.c: 
9283         * libs/gst/bytestream/adapter.h:
9284           add GstAdapter, similar to bytestream, but doesn't require ugly event
9285           handling or uglier loopbased elements
9286
9287 2004-05-03  David Schleef  <ds@schleef.org>
9288
9289         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9290         * testsuite/caps/erathostenes.c:
9291         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9292
9293 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9294
9295         * docs/pwg/pwg.xml:
9296           remove hardcoded stylesheet path (duh)
9297         * docs/random/release:
9298         * docs/gst/gstreamer-sections.txt:
9299         * gst/Makefile.am:
9300         * gst/gst.h:
9301         * gst/gst_private.h:
9302         * gst/gstcaps.c:
9303         * gst/gstevent.c:
9304         * gst/gstformat.c:
9305         * gst/gstinfo.c:
9306         * gst/gstinfo.h:
9307         * gst/gstinterface.c:
9308         * gst/gstmemchunk.c:
9309         * gst/gstprobe.c:
9310         * gst/gstquery.c:
9311         * gst/gstregistry.c:
9312         * gst/gstregistrypool.c:
9313         * gst/gststructure.c:
9314         * gst/gsttaginterface.c:
9315         * gst/gstthread.c:
9316         * gst/gsttrace.c:
9317         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9318         * gst/gsturi.c:
9319         * gst/gstvalue.c:
9320           deprecate gst_info; remove gstlog.h
9321    
9322
9323 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9324
9325         * Makefile.am:
9326         * po/en_GB.po:
9327         * po/sv.po:
9328         * po/uk.po:
9329           updated translations
9330
9331 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9332
9333         * gst/gstbin.c: (gst_bin_dispose):
9334           better debugging
9335
9336 2004-05-03  Johan Dahlin  <johan@gnome.org>
9337
9338         * gst/schedulers/gstoptimalscheduler.c
9339         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9340         really is a GstElement. Avoids critical when running gst-launch -v
9341         and a oggdemux/decoding pipeline.
9342
9343 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9344
9345         * docs/gst/tmpl/gstpipeline.sgml :
9346         * docs/manual/elements-api.xml :
9347                 doc fix by Patrick Guimond (Protector) from devel ML
9348                 reviewed by ronald
9349
9350 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9351
9352         * docs/gst/Makefile.am :
9353         * docs/libs/Makefile.am :
9354                 apply a patch from Arwed v. Merkatz so that gtk-doc
9355                 generated docs install (same for .devhelp file)
9356                 (fixes part 1 of #138836)
9357
9358 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9359
9360         * docs/faq/dependencies.xml: typo
9361         * docs/faq/getting.xml :
9362             - fix download URL for new gstreamer site
9363             - hide sf.net download page as latest version aren't there
9364             - fix apt URLs
9365             - fill "get via CVS" paragraph (link to dev page on the site)
9366         * docs/faq/general.xml:
9367             hide status tables as they no more exists
9368             change case on plugins license file to reflect reality
9369         * docs/faq/troubleshooting.xml:
9370             remove the wiki question/answer as there is no more wiki
9371
9372 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9373
9374         * gst/gsterror.h:
9375           include the headers needed for declarations used in this header
9376
9377 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9378
9379         * docs/random/uraeus/gstreamer_and_midi.txt :
9380           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9381           (fixes #132288)
9382
9383 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9384
9385         reviewed by Benjamin Otte  <otte@gnome.org>
9386
9387         * gst/schedulers/gthread-cothreads.h:
9388           free allocated data for main cothread, too when destroying context
9389           (fixes #141417)
9390
9391 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9392
9393         * docs/manual/goals.xml : remove duplicated paragraph at end 
9394         of doc page (fixes #141448)
9395
9396 2004-04-29  David Schleef  <ds@schleef.org>
9397
9398         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9399         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9400
9401 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9402
9403         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9404           fix property
9405         * gst/gstcaps.c:
9406           fix doc string
9407         * po/POTFILES.in:
9408           rename typefind source file
9409
9410 2004-04-28  David Schleef  <ds@schleef.org>
9411
9412         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9413         * win32/GStreamer.vcproj:
9414         * win32/Makefile:
9415         * win32/config.h:
9416         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9417         (_trewinddir), (_ttelldir), (_tseekdir):
9418         * win32/dirent.h:
9419         * win32/gst-inspect.vcproj:
9420         * win32/gst-launch.vcproj:
9421         * win32/gst-register.vcproj:
9422         * win32/gstbytestream.vcproj:
9423         * win32/gstelements.vcproj:
9424         * win32/gstoptimalscheduler.vcproj:
9425         * win32/gstspider.vcproj:
9426         * win32/gtchar.h:
9427         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9428         * win32/mman.h:
9429         * win32/mman.inl:
9430         * win32/msvc71.sln:
9431
9432 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9433
9434         * gst/gst.c: (init_post):
9435         * gst/gstinfo.c:
9436           remove useless _gst_progname stuff
9437         * tools/gst-inspect.c: (print_field), (print_caps):
9438           improve caps output
9439
9440 2004-04-28  David Schleef  <ds@schleef.org>
9441
9442         Disable parsing of a lot of files that aren't part of the
9443         exported API.  Move corresponding template files to old/,
9444         waiting for removal when they don't contain anything
9445         interesting.
9446         * docs/gst/Makefile.am:
9447         * docs/gst/gstreamer-sections.txt:
9448         * docs/gst/tmpl/cothreads.sgml:
9449         * docs/gst/tmpl/cothreads_compat.sgml:
9450         * docs/gst/tmpl/gettext.sgml:
9451         * docs/gst/tmpl/gobject2gtk.sgml:
9452         * docs/gst/tmpl/grammar.tab.sgml:
9453         * docs/gst/tmpl/gst-i18n-app.sgml:
9454         * docs/gst/tmpl/gst-i18n-lib.sgml:
9455         * docs/gst/tmpl/gst_private.sgml:
9456         * docs/gst/tmpl/gstaggregator.sgml:
9457         * docs/gst/tmpl/gstarch.sgml:
9458         * docs/gst/tmpl/gstatomic_impl.sgml:
9459         * docs/gst/tmpl/gstbufferstore.sgml:
9460         * docs/gst/tmpl/gstdata_private.sgml:
9461         * docs/gst/tmpl/gstdisksink.sgml:
9462         * docs/gst/tmpl/gstdisksrc.sgml:
9463         * docs/gst/tmpl/gstelementfactory.sgml:
9464         * docs/gst/tmpl/gstextratypes.sgml:
9465         * docs/gst/tmpl/gstfakesink.sgml:
9466         * docs/gst/tmpl/gstfakesrc.sgml:
9467         * docs/gst/tmpl/gstfdsink.sgml:
9468         * docs/gst/tmpl/gstfdsrc.sgml:
9469         * docs/gst/tmpl/gstfilesink.sgml:
9470         * docs/gst/tmpl/gstfilesrc.sgml:
9471         * docs/gst/tmpl/gsthttpsrc.sgml:
9472         * docs/gst/tmpl/gstidentity.sgml:
9473         * docs/gst/tmpl/gstindexfactory.sgml:
9474         * docs/gst/tmpl/gstmarshal.sgml:
9475         * docs/gst/tmpl/gstmd5sink.sgml:
9476         * docs/gst/tmpl/gstmultidisksrc.sgml:
9477         * docs/gst/tmpl/gstmultifilesrc.sgml:
9478         * docs/gst/tmpl/gstpadtemplate.sgml:
9479         * docs/gst/tmpl/gstpipefilter.sgml:
9480         * docs/gst/tmpl/gstschedulerfactory.sgml:
9481         * docs/gst/tmpl/gstsearchfuncs.sgml:
9482         * docs/gst/tmpl/gstshaper.sgml:
9483         * docs/gst/tmpl/gstspider.sgml:
9484         * docs/gst/tmpl/gstspideridentity.sgml:
9485         * docs/gst/tmpl/gststatistics.sgml:
9486         * docs/gst/tmpl/gsttee.sgml:
9487         * docs/gst/tmpl/gsttimecache.sgml:
9488         * docs/gst/tmpl/gsttypefind.sgml:
9489         * docs/gst/tmpl/gsttypefindfactory.sgml:
9490         * docs/gst/tmpl/gstxmlregistry.sgml:
9491         * docs/gst/tmpl/gthread-cothreads.sgml:
9492         * docs/gst/tmpl/old/cothreads.sgml:
9493         * docs/gst/tmpl/old/cothreads_compat.sgml:
9494         * docs/gst/tmpl/old/gettext.sgml:
9495         * docs/gst/tmpl/old/gobject2gtk.sgml:
9496         * docs/gst/tmpl/old/grammar.tab.sgml:
9497         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9498         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9499         * docs/gst/tmpl/old/gst_private.sgml:
9500         * docs/gst/tmpl/old/gstaggregator.sgml:
9501         * docs/gst/tmpl/old/gstarch.sgml:
9502         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9503         * docs/gst/tmpl/old/gstbufferstore.sgml:
9504         * docs/gst/tmpl/old/gstdata_private.sgml:
9505         * docs/gst/tmpl/old/gstdisksink.sgml:
9506         * docs/gst/tmpl/old/gstdisksrc.sgml:
9507         * docs/gst/tmpl/old/gstelementfactory.sgml:
9508         * docs/gst/tmpl/old/gstextratypes.sgml:
9509         * docs/gst/tmpl/old/gstfakesink.sgml:
9510         * docs/gst/tmpl/old/gstfakesrc.sgml:
9511         * docs/gst/tmpl/old/gstfdsink.sgml:
9512         * docs/gst/tmpl/old/gstfdsrc.sgml:
9513         * docs/gst/tmpl/old/gstfilesink.sgml:
9514         * docs/gst/tmpl/old/gstfilesrc.sgml:
9515         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9516         * docs/gst/tmpl/old/gstidentity.sgml:
9517         * docs/gst/tmpl/old/gstindexfactory.sgml:
9518         * docs/gst/tmpl/old/gstmarshal.sgml:
9519         * docs/gst/tmpl/old/gstmd5sink.sgml:
9520         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9521         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9522         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9523         * docs/gst/tmpl/old/gstpipefilter.sgml:
9524         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9525         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9526         * docs/gst/tmpl/old/gstshaper.sgml:
9527         * docs/gst/tmpl/old/gstspider.sgml:
9528         * docs/gst/tmpl/old/gstspideridentity.sgml:
9529         * docs/gst/tmpl/old/gststatistics.sgml:
9530         * docs/gst/tmpl/old/gsttee.sgml:
9531         * docs/gst/tmpl/old/gsttimecache.sgml:
9532         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9533         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9534         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9535         * docs/gst/tmpl/old/types.sgml:
9536         * docs/gst/tmpl/types.sgml:
9537
9538         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9539         gtkdoc-scan doesn't like files with the same name in different
9540         directories.
9541         * gst/elements/Makefile.am:
9542         * gst/elements/gstelements.c:
9543         * gst/elements/gsttypefind.c: 
9544         * gst/elements/gsttypefind.h:
9545         * gst/elements/gsttypefindelement.c:
9546         * gst/elements/gsttypefindelement.h:
9547
9548 2004-04-28  David Schleef  <ds@schleef.org>
9549
9550         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9551         patch (bug #141317):
9552         * gst/gst-i18n-lib.h: Allow disabling gettext.
9553         * gst/gstatomic_impl.h: disable warning when it's dumb.
9554         * gst/gstclock.c: fix include
9555         * gst/gstcompat.h: fix variadic macro
9556         * gst/gstinfo.c: fix include
9557         * gst/gstmacros.h: add defines for inlines on MSVC
9558         * gst/gstplugin.c: fix includes
9559         * gst/gstregistry.c: fix includes
9560         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9561         * gst/gstsystemclock.c: fix include
9562         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9563         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9564         * gst/registries/gstxmlregistry.c:
9565         (gst_xml_registry_parse_element_factory): fix use of non-portable
9566         functions
9567         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9568         * libs/gst/control/dparammanager.h: same
9569
9570 2004-04-28  David Schleef  <ds@schleef.org>
9571
9572         Move a bunch of unused files to old/ with names that are
9573         not case-insensitive-unique.  These files still contain some
9574         useful information that needs to be merged into gstbin.sgml,
9575         etc., so they shouldn't be deleted yet.
9576         * docs/gst/tmpl/GstBin.sgml:
9577         * docs/gst/tmpl/GstBuffer.sgml:
9578         * docs/gst/tmpl/GstCaps.sgml:
9579         * docs/gst/tmpl/GstClock.sgml:
9580         * docs/gst/tmpl/GstCompat.sgml:
9581         * docs/gst/tmpl/GstData.sgml:
9582         * docs/gst/tmpl/GstElement.sgml:
9583         * docs/gst/tmpl/GstEvent.sgml:
9584         * docs/gst/tmpl/GstIndex.sgml:
9585         * docs/gst/tmpl/GstStructure.sgml:
9586         * docs/gst/tmpl/GstTag.sgml:
9587         * docs/gst/tmpl/old/GstBin.sgml:
9588         * docs/gst/tmpl/old/GstBuffer.sgml:
9589         * docs/gst/tmpl/old/GstCaps.sgml:
9590         * docs/gst/tmpl/old/GstClock.sgml:
9591         * docs/gst/tmpl/old/GstCompat.sgml:
9592         * docs/gst/tmpl/old/GstData.sgml:
9593         * docs/gst/tmpl/old/GstElement.sgml:
9594         * docs/gst/tmpl/old/GstEvent.sgml:
9595         * docs/gst/tmpl/old/GstIndex.sgml:
9596         * docs/gst/tmpl/old/GstStructure.sgml:
9597         * docs/gst/tmpl/old/GstTag.sgml:
9598
9599 2004-04-28  David Schleef  <ds@schleef.org>
9600
9601         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9602         (gst_caps_append), (gst_caps_append_structure),
9603         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9604         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9605         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9606         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9607         (gst_caps_intersect), (gst_caps_normalize),
9608         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9609         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9610         * gst/gstcaps.h: use GST_IS_CAPS().
9611
9612 2004-04-26  David Schleef  <ds@schleef.org>
9613
9614         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9615         assembly.  gcc doesn't handle it correctly. (bug #141083)
9616         * gst/gsttrashstack.h: same
9617
9618 2004-04-25  Benjamin Otte  <otte@gnome.org>
9619
9620         * gst/gstelement.c: (gst_element_change_state):
9621           fix assertion to do an int comparison
9622
9623 2004-04-25  Benjamin Otte  <otte@gnome.org>
9624
9625         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9626           better debugging output on error
9627
9628 2004-04-25  Benjamin Otte  <otte@gnome.org>
9629
9630         * gst/gstcaps.c: (gst_caps_subtract):
9631           fix memleak
9632
9633 2004-04-23  Benjamin Otte  <otte@gnome.org>
9634
9635         * gst/gstvalue.c: (gst_value_compare_buffer),
9636         (_gst_value_initialize):
9637           add comparison function for buffers
9638
9639 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9640
9641         * docs/pwg/pwg.xml:
9642           Just found out that this so-called "ima-wav" format is really
9643           just "dvi adpcm" (according to the MS WAV documentation). So
9644           renaming it. We didn't use it yet anyway.
9645
9646 2004-04-23  Benjamin Otte  <otte@gnome.org>
9647
9648         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9649           call gst_caps_is_subset
9650
9651 2004-04-23  Benjamin Otte  <otte@gnome.org>
9652
9653         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9654         (gst_caps_is_subset):
9655           add documentation
9656
9657 2004-04-23  Benjamin Otte  <otte@gnome.org>
9658           
9659         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9660         (gst_caps_structure_subtract), (gst_caps_subtract),
9661         (gst_caps_structure_figure_out_union),
9662         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9663           fix simplifying and subtracting not working correctly with optional
9664           properties
9665           solve assorted problems that make it now simplify ebven more
9666         * docs/gst/tmpl/gstcaps.sgml:
9667         * gst/gstcaps.h:
9668           make gst_caps_do_simplify return a bool to indicate if it simplified
9669         * testsuite/caps/simplify.c: (main):
9670           add more checks. The tests is quite a bit useless right now because
9671           the core is heavily simplifying itself.
9672         * testsuite/caps/caps.h:
9673           fix caps to contain all optional properties
9674
9675 2004-04-22  Benjamin Otte  <otte@gnome.org>
9676
9677         * docs/gst/tmpl/gstcaps.sgml:
9678         * docs/gst/tmpl/gstfilesrc.sgml:
9679         * docs/gst/tmpl/gststructure.sgml:
9680         * docs/gst/tmpl/gstvalue.sgml:
9681           update for recent API changes
9682         * gst/gstcaps.c: (gst_caps_do_simplify):
9683           fix to stop trying with a freed structure
9684         * gst/gstpad.c: (gst_pad_link_fixate):
9685           simplify caps
9686         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9687           remove C++ comment
9688         * gst/gstpad.h:
9689           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9690         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9691         (gst_structure_to_string):
9692           keep the correct type when using lists of ranges
9693         * gst/gstvalue.c: (gst_value_list_prepend_value),
9694         (gst_value_list_append_value):
9695           copy the value before adding to the list (d'oh)
9696         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9697         (gst_value_subtract_int_range_int_range):
9698           handle overflows correctly
9699         * gst/gstvalue.c: (gst_value_subtract_from_list):
9700           fix memleak
9701         * testsuite/caps/caps.h:
9702           add a caps that caused segfaults
9703
9704 2004-04-22  Benjamin Otte  <otte@gnome.org>
9705
9706         * testsuite/refcounting/pad.c: (main):
9707           fix test
9708
9709 2004-04-22  Benjamin Otte  <otte@gnome.org>
9710
9711         * gst/gstcaps.c: (gst_caps_subtract):
9712           allow subtracting ANY and EMPTY from ANY caps
9713
9714 2004-04-22  Benjamin Otte  <otte@gnome.org>
9715
9716         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9717         (gst_caps_union):
9718           only simplify in functions that create new caps. Simplifying in
9719           gst_caps_append breaks tests.
9720
9721 2004-04-22  Benjamin Otte  <otte@gnome.org>
9722
9723         * gst/gstcaps.c: (gst_caps_structure_simplify):
9724           unset GValue after use
9725         * gst/gstcaps.c: (gst_caps_append), 
9726         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9727           use gst_caps_simplify (reduces registry size by 30%)
9728         * gst/gstpad.c: (gst_pad_template_new):
9729           don't allow NULL caps
9730
9731 2004-04-22  Benjamin Otte  <otte@gnome.org>
9732
9733         * docs/gst/gstreamer-sections.txt:
9734           add gst_caps_do_simplify
9735         * gst/gstcaps.c:
9736           add documentation for gst_caps_do_simplify
9737         * gst/gstvalue.h:
9738           fix typo in gst_value_register_subtract_func declaration for gst-doc
9739
9740 2004-04-22  Benjamin Otte  <otte@gnome.org>
9741
9742         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9743           fix bug when converting from empty string.
9744         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9745         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9746           use gst_caps_new_empty to allocate a new caps. Only that function
9747           allocates memory for caps now.
9748         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9749         (gst_caps_remove_structure):
9750           add ability to remove one structure (but not to header yet)
9751         * gst/gstcaps.c: (gst_caps_compare_structures),
9752         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9753         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9754         * gst/gstcaps.h:
9755           add gst_caps_do_simplify that tries to simplify a caps in place.
9756           Deprecate old gst_caps_simplify function.
9757         * testsuite/caps/caps.h:
9758           add caps.h containing a common set of caps to test against.
9759         * testsuite/caps/sets.c: (check_caps), (main):
9760           use it.
9761         * testsuite/caps/.cvsignore:
9762         * testsuite/caps/Makefile.am:
9763         * testsuite/caps/simplify.c: (check_caps), (main):
9764           add test to check correctness and efficency of caps simplification.
9765
9766 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9767
9768         reviewed by Benjamin Otte  <otte@gnome.org>
9769
9770         * gst/gstparse.c: (_gst_parse_escape):
9771           Free the GString used in _gst_parse_escape()
9772
9773 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9774
9775         * gst/gstpad.c: (gst_pad_link_negotiate):
9776           refuse to link if the link is not possible
9777         * configure.ac:
9778         * testsuite/Makefile.am:
9779         * testsuite/negotiation/.cvsignore:
9780         * testsuite/negotiation/Makefile.am:
9781         * testsuite/negotiation/pad_link.c: (main):
9782           add test that checks the above behaviour
9783
9784 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9785
9786         * docs/gst/gstreamer-sections.txt:
9787           add newly added API
9788
9789 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9790
9791         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9792         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9793         (gst_filesrc_open_file), (gst_filesrc_close_file),
9794         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9795         * gst/elements/gstfilesrc.h:
9796           add support for non-regular files (#140734)
9797
9798 2004-04-21  Benjamin Otte  <otte@gnome.org>
9799
9800         * gst/gstpad.c: (gst_pad_link_fixate):
9801           add sophisticated error checking code to see if fixation functions
9802           did their fixation right
9803
9804 2004-04-21  Benjamin Otte  <otte@gnome.org>
9805
9806         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9807           check for ANY caps before appending/unioning
9808         * gst/gstcaps.c: (gst_caps_is_subset),
9809         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9810         (gst_caps_structure_subtract), (gst_caps_subtract):
9811         * gst/gstcaps.h:
9812           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9813           the API. deprecate gst_caps_is_equal_fixed
9814         * gst/gstpad.c: (gst_pad_try_set_caps):
9815         * gst/gstqueue.c: (gst_queue_link):
9816           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9817         * gst/gststructure.c: (gst_structure_get_name_id):
9818         * gst/gststructure.h:
9819           add function gst_structure_get_name_id
9820         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9821         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9822         (gst_value_subtract_int_range_int_range),
9823         (gst_value_subtract_double_double_range),
9824         (gst_value_subtract_double_range_double),
9825         (gst_value_subtract_double_range_double_range),
9826         (gst_value_subtract_from_list), (gst_value_subtract_list),
9827         (gst_value_can_intersect), (gst_value_subtract),
9828         (gst_value_can_subtract), (gst_value_register_subtract_func),
9829         (_gst_value_initialize):
9830         * gst/gstvalue.h:
9831           add support for subtracting values from each other. Note that
9832           subtracting means subtracting as in set theory. Required for caps
9833           stuff above.
9834         * testsuite/caps/.cvsignore:
9835         * testsuite/caps/Makefile.am:
9836         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9837         * testsuite/caps/sets.c: (check_caps), (main):
9838         * testsuite/caps/subtract.c: (check_caps), (main):
9839           add tests for subtraction and equality code.
9840
9841 2004-04-20  David Schleef  <ds@schleef.org>
9842
9843         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9844         * gst/indexers/Makefile.am:
9845         * gst/schedulers/Makefile.am:
9846         * libs/gst/bytestream/Makefile.am:
9847         * libs/gst/control/Makefile.am:
9848         * libs/gst/getbits/Makefile.am:
9849
9850 2004-04-20  David Schleef  <ds@schleef.org>
9851
9852         * common/as-libtool.mak: Fine-tune DLL building.
9853         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9854         (like gst-plugins)
9855         * examples/plugins/Makefile.am: remove plugindir
9856         * gst/autoplug/Makefile.am: DLL building fixes
9857         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9858         Windows.
9859         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9860         * gst/indexers/Makefile.am: DLL building fixes
9861         * gst/schedulers/Makefile.am: DLL building fixes.
9862         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9863         * libs/gst/control/Makefile.am: same
9864         * libs/gst/getbits/Makefile.am: same
9865         * testsuite/Makefile.am: New dlopen directory
9866         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9867         when dlopened.
9868         * testsuite/dlopen/dlopen_gst.c: (main): same
9869         * testsuite/dlopen/loadgst.c: (do_test): same
9870
9871 2004-04-20  David Schleef  <ds@schleef.org>
9872
9873         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9874         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9875
9876 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9877
9878         * gst/gstelement.c: (gst_element_wait),
9879         (gst_element_set_time_delay), (gst_element_change_state):
9880           Use GST_TIME_*
9881
9882 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9883
9884         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9885         (gst_spider_identity_plug):
9886           improve debugging messages
9887         * gst/gstbin.c: (gst_bin_remove_func):
9888           make sure the state_change function is only called with simple state
9889           transitions
9890
9891 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9892
9893         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9894         (gst_fakesink_set_property), (gst_fakesink_chain):
9895         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9896         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9897         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9898         * gst/elements/gstidentity.c: (gst_identity_chain),
9899         (gst_identity_set_property):
9900         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9901         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9902           add warnings to _set_property for unknown arguments
9903           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9904
9905 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9906
9907         * Makefile.am:
9908         * docs/manuals.mak:
9909           add .po file download snippet
9910           fix a bug in the doc makefile
9911
9912 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9913
9914         * Makefile.am:
9915         * po/LINGUAS:
9916         * po/en_GB.po:
9917           Added en_GB translation (Gareth Owen)
9918
9919 2004-04-20  Johan Dahlin  <johan@gnome.org>
9920
9921         * gst/gstpad.c (_invent_event): Clean up
9922
9923 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9924
9925         * testsuite/caps/filtercaps.c: (main):
9926           fix test to test things correctly (caps are complicated)
9927
9928 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9929
9930         * testsuite/caps/Makefile.am:
9931         * testsuite/caps/filtercaps.c: (main):
9932           add test (that doesn't work right now, but should)
9933
9934 2004-04-19  David Schleef  <ds@schleef.org>
9935
9936         * configure.ac: Add test for allowing unaligned access.  Add define
9937         to put in gstconfig.h.
9938         * docs/gst/gstreamer-sections.txt: New symbols
9939         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9940         * docs/gst/tmpl/gstfilesrc.sgml:
9941         * docs/gst/tmpl/gstparse.sgml:
9942         * docs/gst/tmpl/gsttypes.sgml:
9943         * docs/gst/tmpl/gstutils.sgml:
9944         * docs/gst/tmpl/gstvalue.sgml:
9945         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9946         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9947         on most !i386/!powerpc architectures.  From Daniel Gazard
9948         <daniel.gazard@free.fr>.  (bug #140156)
9949         * po/af.po: Check in changes made by gettext.
9950         * po/az.po:
9951         * po/fr.po:
9952         * po/nl.po:
9953         * po/sr.po:
9954         * po/sv.po:
9955
9956 2004-04-20  Benjamin Otte  <otte@gnome.org>
9957
9958         * gst/schedulers/entryscheduler.c: 
9959         (gst_entry_scheduler_yield):
9960           refuse to yield when decoupled elements insist on doing that.
9961           At least it's better than crashing
9962
9963 2004-04-19  David Schleef  <ds@schleef.org>
9964
9965         * docs/libs/Makefile.am: Change sinclude to include
9966         * docs/gst/Makefile.am: same
9967         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9968
9969 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9970
9971         * po/LINGUAS:
9972         * po/uk.po:
9973           Added Ukrainian translation (Maxim V. Dziumanenko)
9974
9975 2004-04-19  Johan Dahlin  <johan@gnome.org>
9976
9977         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9978         checking here, do it before calling the function.
9979         Clean up, use for loops instead of while loops while iterating
9980         over lists.
9981
9982         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9983         in debug message.
9984         (gst_spider_create_and_plug): Improve debug message.
9985         General: Replace while loops which iterates over GLists with for
9986         loops. Which are much cleaner, improves readability, especially
9987         for gst_spider_identity_plug
9988
9989         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9990         fixes bug 140477
9991
9992 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9993
9994         * po/LINGUAS:
9995         * po/tr.po:
9996           Added Turkish translation (Baris Cicek)
9997
9998 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9999
10000         * docs/faq/troubleshooting.xml:
10001           Mention gst-register in the FAQ (fixes 139045).
10002
10003 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10004
10005         * docs/gst/gstreamer-sections.txt:
10006
10007 2004-04-17  Benjamin Otte  <otte@gnome.org>
10008
10009         * gst/gstelement.c: (gst_element_dispose):
10010           simplify
10011         * gst/gstpad.c: (gst_pad_call_chain_function):
10012           don't create loads of events due to bad macro usage
10013
10014 2004-04-16  David Schleef  <ds@schleef.org>
10015
10016         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10017         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10018         * gst/gstvalue.c: (gst_value_serialize_buffer),
10019         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10020         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10021         to indicate types that are fixed wrt caps or not.  Switching to
10022         this function fixes (bug #140298).
10023         * gst/gstvalue.h:
10024
10025 2004-04-16  David Schleef  <ds@schleef.org>
10026
10027         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10028         for GST_UNALIGNED_ACESS, since we essentially know which archs
10029         are ok.
10030
10031 2004-04-17  Benjamin Otte  <otte@gnome.org>
10032
10033         * docs/gst/Makefile.am:
10034           ignore gst/parse directory when building docs (fixes #140205)
10035
10036 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10037
10038         * testsuite/refcounting/mem.c: (vmsize):
10039           do error checking
10040
10041 2004-04-16  Johan Dahlin  <johan@gnome.org>
10042
10043         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10044         and gst_pad_call_get_function.
10045
10046 2004-04-15  David Schleef  <ds@schleef.org>
10047
10048         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10049         checks if we can access unaligned memory.
10050         * configure.ac: Use it.
10051
10052 2004-04-16  Benjamin Otte  <otte@gnome.org>
10053
10054         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10055         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10056         * gst/elements/gstfilesrc.h:
10057           s/seek_happened/need_discont/ and require discont before sending any
10058           data
10059
10060 2004-04-15  David Schleef  <ds@schleef.org>
10061
10062         * gst/gstvalue.c: (gst_value_serialize_buffer),
10063         (gst_value_deserialize_buffer), (_gst_value_initialize):
10064         Register these types as fundamental types. (bug #140015)
10065
10066 2004-04-16  Benjamin Otte  <otte@gnome.org>
10067
10068         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10069         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10070         (gst_pad_pull):
10071           implement enforcing discont events before buffers are passed. This
10072           allows state changes of only some elements and later correctly going
10073           on where they left off (or in short: you can now set audio sinks to
10074           NULL to release the device when the pipeline is paused)
10075         * gst/gstpad.c: (gst_pad_call_chain_function),
10076         (gst_pad_call_get_function):
10077         * gst/gstpad.h:
10078           add gst_pad_call_chain_function and gst_pad_call_get_function for
10079           scheduler interaction. They are required because of the changes
10080           above.
10081         * gst/schedulers/entryscheduler.c: (get_buffer),
10082         (gst_entry_scheduler_chain_wrapper),
10083         (gst_entry_scheduler_get_wrapper),
10084         (gst_entry_scheduler_state_transition),
10085         (gst_entry_scheduler_pad_link):
10086         * gst/schedulers/gstbasicscheduler.c:
10087         (gst_basic_scheduler_chain_wrapper),
10088         (gst_basic_scheduler_src_wrapper),
10089         (gst_basic_scheduler_chainhandler_proxy),
10090         (gst_basic_scheduler_gethandler_proxy),
10091         (gst_basic_scheduler_cothreaded_chain),
10092         (gst_basic_scheduler_chain_elements):
10093         * gst/schedulers/gstoptimalscheduler.c:
10094         (get_group_schedule_function), (pad_clear_queued),
10095         (gst_opt_scheduler_pad_link):
10096           use the new functions instead of calling get/chain-functions
10097           directly.
10098
10099 2004-04-15  David Schleef  <ds@schleef.org>
10100
10101         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10102         * docs/gst/tmpl/gstinfo.sgml: same
10103         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10104         gtk-doc put here.
10105         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10106         * examples/queue/queue.c: (main):  We iterate pipelines, not
10107         bins.  (bug #139996)
10108
10109 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10110
10111         * docs/pwg/advanced-types.xml:
10112           Add MS RLE support. Also document Qt RLE although I have no sample
10113           files for that yet. And document an extra property for ADPCM.
10114
10115 2004-04-15  David Schleef  <ds@schleef.org>
10116
10117         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10118         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10119         Windows.
10120
10121 2004-04-15  David Schleef  <ds@schleef.org>
10122
10123         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10124         symbol names to not conflict with new gstinfo.h symbols.
10125         * gst/gstinfo.h: Add inline functions for all those crazy
10126         compilers that don't know how to handle variadic macros (MSVC).
10127
10128 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10129
10130         * configure.ac: bump nano to 1
10131
10132 === release 0.8.1 ===
10133
10134 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10135
10136         * NEWS:
10137         * RELEASE:
10138         * configure.ac:
10139           releasing 0.8.1, "Snow Brigade"
10140
10141 2004-04-14  David Schleef  <ds@schleef.org>
10142
10143         * testsuite/Makefile.am: define tests_ignore
10144         * testsuite/Rules: Added new tests_ignore, which get compiled,
10145         but not run (generally because they're inconsistent or have
10146         heisenbugs).  Now we can ensure all the .c files compile in
10147         testsuite/.
10148         * testsuite/bins/Makefile.am: define tests_ignore
10149         * testsuite/bytestream/Makefile.am:
10150         * testsuite/caps/Makefile.am:
10151         * testsuite/clock/Makefile.am:
10152         * testsuite/debug/Makefile.am:
10153         * testsuite/debug/global.c: (gst_debug_log_one),
10154         (gst_debug_log_two): Fix compilation problem.
10155         * testsuite/dynparams/Makefile.am:
10156         * testsuite/elements/Makefile.am:
10157         * testsuite/ghostpads/Makefile.am:
10158         * testsuite/indexers/Makefile.am:
10159         * testsuite/parse/Makefile.am:
10160         * testsuite/plugin/Makefile.am:
10161         * testsuite/refcounting/Makefile.am:
10162         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10163         results, because it's not calculated correctly.
10164         * testsuite/refcounting/pad.c: (main): same
10165         * testsuite/states/Makefile.am:
10166         * testsuite/tags/Makefile.am:
10167         * testsuite/threads/Makefile.am:
10168
10169 2004-04-14  David Schleef  <ds@schleef.org>
10170
10171         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10172         generating bad code around the cpu detection asm code.
10173
10174 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10175
10176         * tools/gst-inspect.c: (print_element_info):
10177           print numeric version of rank as well, since we added some - 1
10178           rank values to elements
10179
10180 2004-04-13  David Schleef  <ds@schleef.org>
10181
10182         * configure.ac:  Disable various code when compiling for MinGW.
10183         * gst/elements/Makefile.am:
10184         * gst/elements/gstelements.c:
10185         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10186         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10187         * gst/registries/gstxmlregistry.c: (make_dir):
10188
10189 2004-04-13  David Schleef  <ds@schleef.org>
10190
10191         * gst/Makefile.am:
10192         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10193         assembly.
10194         * gst/gstcpuid_i386.s: remove
10195
10196 2004-04-13  David Schleef  <ds@schleef.org>
10197
10198         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10199         seems to think it needs to be done.
10200         * docs/gst/tmpl/gstfakesink.sgml:
10201         * docs/gst/tmpl/gstfakesrc.sgml:
10202         * docs/gst/tmpl/gstfdsink.sgml:
10203         * docs/gst/tmpl/gstfdsrc.sgml:
10204         * docs/gst/tmpl/gstfilesink.sgml:
10205         * docs/gst/tmpl/gstfilesrc.sgml:
10206         * docs/gst/tmpl/gstidentity.sgml:
10207         * docs/gst/tmpl/gstmd5sink.sgml:
10208         * docs/gst/tmpl/gstmultifilesrc.sgml:
10209         * docs/gst/tmpl/gstpipefilter.sgml:
10210         * docs/gst/tmpl/gstshaper.sgml:
10211         * docs/gst/tmpl/gstspider.sgml:
10212         * docs/gst/tmpl/gstspideridentity.sgml:
10213         * docs/gst/tmpl/gststatistics.sgml:
10214         * docs/gst/tmpl/gsttee.sgml:
10215         * docs/gst/tmpl/gsttypefind.sgml:
10216         * docs/gst/tmpl/gstutils.sgml:
10217
10218 2004-04-13  David Schleef  <ds@schleef.org>
10219
10220         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10221         and to build DLLs on Windows.
10222         * gst/Makefile.am:
10223         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10224         (gst_filesrc_open_file):
10225         * gst/schedulers/Makefile.am:
10226
10227 2004-04-13  David Schleef  <ds@schleef.org>
10228
10229         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10230         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10231         fixating lists.
10232
10233 2004-04-12  David Schleef  <ds@schleef.org>
10234
10235         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10236         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10237         to using it.
10238         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10239         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10240         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10241         * gst/gststructure.c: (gst_structure_set_valist),
10242         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10243         support for buffers.
10244         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10245         intended to be const.
10246         * gst/gsttag.h: same
10247         * gst/gstvalue.c: (gst_value_serialize_buffer),
10248         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10249         to (de)serialize buffers.
10250         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10251         * testsuite/caps/string-conversions.c: (main):
10252         * testsuite/caps/value_serialize.c: add new test
10253
10254 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10255
10256         * docs/pwg/advanced-types.xml:
10257           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10258
10259 2004-04-11  Benjamin Otte  <otte@gnome.org>
10260
10261         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10262           rename categories to basic_*
10263         * gst/schedulers/gstbasicscheduler.c: 
10264         (gst_basic_scheduler_chain_wrapper),
10265         (gst_basic_scheduler_chainhandler_proxy),
10266         (gst_basic_scheduler_gethandler_proxy),
10267         (gst_basic_scheduler_eventhandler_proxy):
10268           debugging category fixes - put common stuff in log category
10269         * gst/schedulers/gstbasicscheduler.c: 
10270         (gst_basic_scheduler_chain_elements):
10271           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10272           active and linking two active chains
10273
10274 2004-04-10  Benjamin Otte  <otte@gnome.org>
10275
10276         * docs/pwg/intro-preface.xml:
10277           fix dead links and remove reference to Wiki
10278
10279 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10280
10281         * gst/schedulers/gstbasicscheduler.c:
10282           make sure we can switch back to the main function if we're still in
10283           the main function (supposed to fix #139617)
10284         * gst/schedulers/gthread-cothreads.h:
10285           don't throw an error when switching to the same cothread
10286
10287 2004-04-09  Benjamin Otte  <otte@gnome.org>
10288
10289         * gst/gstbin.c: (gst_bin_get_type):
10290         * gst/gstclock.c: (gst_clock_get_type):
10291         * gst/gstindex.c: (gst_index_get_type):
10292         * gst/gstobject.c: (gst_object_get_type),
10293         (gst_signal_object_get_type):
10294         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10295         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10296         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10297         * gst/gstqueue.c: (gst_queue_get_type):
10298         * gst/gstregistry.c: (gst_registry_get_type):
10299         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10300         * gst/gstthread.c: (gst_thread_get_type):
10301           don't use memchunks for these objects, use malloc instead
10302
10303 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10304
10305         * docs/gst/.cvsignore:
10306         * docs/gst/Makefile.am:
10307         * docs/gst/gstreamer-sections.txt:
10308         * docs/gst/tmpl/gstaggregator.sgml:
10309         * docs/gst/tmpl/gstbuffer.sgml:
10310         * docs/gst/tmpl/gstclock.sgml:
10311         * docs/gst/tmpl/gstelement.sgml:
10312         * docs/gst/tmpl/gstfakesink.sgml:
10313         * docs/gst/tmpl/gstfakesrc.sgml:
10314         * docs/gst/tmpl/gstfdsink.sgml:
10315         * docs/gst/tmpl/gstfdsrc.sgml:
10316         * docs/gst/tmpl/gstfilesink.sgml:
10317         * docs/gst/tmpl/gstfilesrc.sgml:
10318         * docs/gst/tmpl/gstidentity.sgml:
10319         * docs/gst/tmpl/gstindex.sgml:
10320         * docs/gst/tmpl/gstinfo.sgml:
10321         * docs/gst/tmpl/gstmd5sink.sgml:
10322         * docs/gst/tmpl/gstmultifilesrc.sgml:
10323         * docs/gst/tmpl/gstpad.sgml:
10324         * docs/gst/tmpl/gstpipefilter.sgml:
10325         * docs/gst/tmpl/gstpipeline.sgml:
10326         * docs/gst/tmpl/gstpluginfeature.sgml:
10327         * docs/gst/tmpl/gstqueue.sgml:
10328         * docs/gst/tmpl/gstregistry.sgml:
10329         * docs/gst/tmpl/gstscheduler.sgml:
10330         * docs/gst/tmpl/gstshaper.sgml:
10331         * docs/gst/tmpl/gstspider.sgml:
10332         * docs/gst/tmpl/gstspideridentity.sgml:
10333         * docs/gst/tmpl/gststatistics.sgml:
10334         * docs/gst/tmpl/gstsystemclock.sgml:
10335         * docs/gst/tmpl/gsttee.sgml:
10336         * docs/gst/tmpl/gstthread.sgml:
10337         * docs/gst/tmpl/gsttypefind.sgml:
10338         * docs/gst/tmpl/gstutils.sgml:
10339           further doc build fixes
10340
10341 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10342
10343         * docs/gst/Makefile.am:
10344           make docs exit on scanning problems
10345           fix nonsrcdir build issues
10346         * docs/gst/gstreamer-sections.txt:
10347           adding stuff from -unused
10348         * gst/gstqueue.h:
10349           create GstQueueSize
10350         * gst/schedulers/cothreads_compat.h:
10351           fix cothread warnings
10352
10353 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10354
10355         * docs/gst/gstreamer-sections.txt:
10356           remove defines deprecated by Benjamin
10357
10358 2004-04-07  Benjamin Otte  <otte@gnome.org>
10359
10360         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10361           when the buffer is complete, don't check if other buffers are needed
10362         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10363           check that the offset is >0 so we don't try to read before the
10364           beginning of the file
10365         * gst/gstpad.c: (gst_pad_set_pad_template):
10366           sink the template, so we don't end up with 130k pad templates
10367
10368 2004-04-06  Benjamin Otte  <otte@gnome.org>
10369
10370         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10371           don't ref the element, adding already reffed it. And we didn't unref
10372           it later anyway... (huge memleak when you used many spider elements)
10373         * gst/gstelement.c: (gst_element_base_class_finalize):
10374         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10375         (gst_element_register):
10376         * gst/gsturi.c: (gst_element_make_from_uri):
10377           use gst_object_(un)ref instead of g_object(un)ref
10378
10379 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10380
10381         * gst/gstbuffer.h:
10382           remove macro that wouldn't work anymore because struct member has
10383           been removed.
10384         * gst/schedulers/entryscheduler.c: (schedule_forward):
10385           fix segfault for unconnected pads
10386         
10387 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10388
10389         reviewed by David Schleef <ds@schleef.org>
10390
10391         * gst/gstinfo.h:
10392           *_FORMAT modifiers should require putting a % in front of them for
10393           consistency reasons.
10394
10395 2004-04-05  Colin Walters  <walters@redhat.com>
10396
10397         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10398         space.
10399
10400 2004-04-05  Benjamin Otte  <otte@gnome.org>
10401
10402         * configure.ac:
10403         * gst/Makefile.am:
10404         * gst/gst_private.h:
10405         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10406           add support for detecting if GStreamer runs inside valgrind.
10407           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10408           print a big message in valgrind that GStreamer has detected it's
10409           running inside and might now use different code.
10410         * gst/gstmemchunk.c: (populate), (free_area),
10411         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10412         (gst_mem_chunk_free):
10413           flag memchunks for valgrind, so it can detect leaking of chunks.
10414           This allows detecting leaks of GstBuffer and GstEvent correctly
10415           inside valgrind.
10416
10417 2004-04-05  David Schleef  <ds@schleef.org>
10418
10419         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10420           jensgr@gmx.net (Jens Granseuer)
10421
10422 2004-04-05  David Schleef  <ds@schleef.org>
10423
10424         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10425         (gst_buffer_default_free), (gst_buffer_default_copy),
10426         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10427         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10428         structures in one place.
10429
10430 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10431
10432         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10433           (GST_TIME_FORMAT, GST_TIME_ARGS)
10434
10435 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10436
10437         * testsuite/elements/Makefile.am:
10438           disable test until it stops breaking make distcheck
10439
10440 2004-04-05  Johan Dahlin  <johan@gnome.org>
10441
10442         * po/sv.po: Updated translation
10443
10444 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10445
10446         * gst/gstplugin.c: (gst_plugin_load_file):
10447           fix segfault for when original plugin was loaded statically
10448
10449 2004-04-05  Benjamin Otte  <otte@gnome.org>
10450
10451         * testsuite/debug/category.c: (main):
10452         * testsuite/debug/commandline.c: (main):
10453         * testsuite/debug/output.c: (main):
10454           fix tests to work again with debugging enabled
10455
10456 2004-04-05  Benjamin Otte  <otte@gnome.org>
10457
10458         * gst/schedulers/gstbasicscheduler.c:
10459         (gst_basic_scheduler_pad_link):
10460           fix to work with recent scheduling changes
10461
10462 2004-04-05  Benjamin Otte  <otte@gnome.org>
10463
10464         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10465         prepareChangeLog doesn't work when cvs indents):
10466           don't throw an error when no element can be scheduled, there's too
10467           many weird reasons why it doesn't work. Return STOPPED instead.
10468           decoupled elemts' schedulability doesn't depend on bufpens.
10469
10470 2004-04-04  Benjamin Otte  <otte@gnome.org>
10471
10472         * gst/schedulers/gstbasicscheduler.c:
10473         (gst_basic_scheduler_pad_select):
10474           fix uninitialized variable warnings
10475
10476 2004-04-04  Benjamin Otte  <otte@gnome.org>
10477
10478         * gst/gstpad.c: (gst_pad_collect_valist):
10479           fix uninitialized variable warning
10480         * gst/schedulers/entryscheduler.c: (schedule_forward):
10481           fix shadowed variable
10482
10483 2004-04-04  Benjamin Otte  <otte@gnome.org>
10484
10485         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10486         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10487         (gst_pad_select):
10488         * gst/gstpad.h:
10489         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10490         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10491         * gst/gstscheduler.h:
10492           implement gst_pad_collect as replacement for gst_pad_select.
10493           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10494           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10495           new pad_select, lock and unlock calls.
10496         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10497         * gst/cothreads.h:
10498         * gst/schedulers/cothreads_compat.h:
10499         * gst/schedulers/gthread-cothreads.h:
10500           remove unused cothread_lock and cothread_unlock calls
10501         * gst/schedulers/entryscheduler.c:
10502         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10503         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10504         (gst_entry_scheduler_pad_select):
10505           update to new API
10506         * gst/schedulers/gstbasicscheduler.c:
10507         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10508         (gst_basic_scheduler_pad_select):
10509           remove useless lock and unlock calls, update pad_select to new API
10510           (untested)
10511         * gst/schedulers/gstoptimalscheduler.c:
10512         (gst_opt_scheduler_class_init):
10513           remove useless select, lock and unlock function calls
10514         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10515           use gst_pad_collect instead of gst_pad_select
10516
10517 2004-04-04  Benjamin Otte  <otte@gnome.org>
10518
10519         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10520         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10521         (schedule_next_element), (print_entry):
10522           add can_schedule_pad to handle element states.
10523           add schedule_forward to select the correct entry to schedule next
10524
10525 2004-04-03  Benjamin Otte  <otte@gnome.org>
10526
10527         * gst/schedulers/entryscheduler.c: 
10528           remove unused variable, fix error inside Rb, fix compile warning in
10529           unreachable code
10530
10531 2004-04-03  Benjamin Otte  <otte@gnome.org>
10532
10533         * gst/schedulers/entryscheduler.c:
10534           completely revamp the inner workings, so it's a lot easier to
10535           understand and extend
10536
10537 2004-04-03  Andy Wingo  <wingo@pobox.com>
10538
10539         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10540         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10541         This allows better introspection of pipeline topology.
10542         (add_to_chain): Don't do trickery to put loop elements first;
10543         rather, queue a chain sort by marking the chain as dirty.
10544         (remove_from_chain): Mark the chain dirty.
10545         (sort_chain): New function. Sorts the group list so that terminal
10546         sinks are first. This means elements on the sink side will be
10547         preferentially sscheduled before elements on the src side of the
10548         pipeline.
10549         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10550         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10551         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10552         (group_inc_link): Change argument and variable names to match the
10553         new link structure member names (src and sink).
10554         (group_dec_link): Add some description
10555
10556 2004-04-03  Benjamin Otte  <otte@gnome.org>
10557
10558         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10559         * gst/gstinfo.h:
10560         * testsuite/debug/category.c: (main):
10561         * testsuite/debug/commandline.c: (main):
10562         * testsuite/debug/output.c: (main):
10563         * testsuite/debug/printf_extension.c: (main):
10564           fix to successfully build and test with --disable-gst-debug
10565           configure switch (fixes #138705)
10566
10567 2004-04-03  Benjamin Otte  <otte@gnome.org>
10568
10569         * docs/pwg/building-boiler.xml:
10570           add cvs login line and s/anonymous/anoncvs/
10571
10572 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10573
10574         reviewed by Benjamin Otte  <otte@gnome.org>
10575
10576         * gst/gststructure.c: (gst_structure_free):
10577           memleak fix: free fields array (partial fix for #134839)
10578
10579 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10580
10581         * docs/random/ds/0.9-suggested-changes:
10582           Add a note to change handoff use in fakesrc to be usable in
10583           a more generic way (fakesrc should be renamed to appsrc or so).
10584         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10585           Change signal type to scope, so we can fill the buffer in the
10586           handoff handler (that's the whole use of this signal...).
10587
10588 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10589
10590         * docs/pwg/other-ntoone.xml:
10591           Document muxers and n-to-1 elements.
10592
10593 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10594
10595         * gst/registries/gstxmlregistry.c
10596         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10597         determine if a file is a G_MODULE. The old one discards paths
10598         containing "so" somewhere in the middle. My home directory is
10599         called "soto". Go figure...
10600
10601 2004-03-31  David Schleef  <ds@schleef.org>
10602
10603         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10604         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10605         * gst/gstbuffer.h:
10606
10607 2004-03-31  David Schleef  <ds@schleef.org>
10608
10609         * gst/gstvalue.c: (gst_value_union_int_int_range),
10610         (gst_value_union_int_range_int_range), (gst_value_can_union),
10611         (gst_value_union), (_gst_value_initialize):  Add some union
10612         implementations.  We didn't have any previously.
10613         * testsuite/caps/Makefile.am:
10614         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10615         (gst_audioscale_getcaps), (test_caps), (main): A little test
10616         that is the same as the caps manipulation in audioscale.
10617
10618 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10619
10620         * docs/faq/general.xml:
10621           add entry about "does gst support format X?"
10622
10623 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10624
10625         * gst/gstthread.c:
10626           fix docs
10627         * gst/gstutils.h:
10628           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10629
10630 2004-03-30  Benjamin Otte  <otte@gnome.org>
10631
10632         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10633           set the offset of the buffer to the requested offset
10634         * gst/elements/gsttypefind.c: (stop_typefinding):
10635           revert patch 1.18 (which I unfortunately don't know the reason for).
10636           This is needed to allow downstream elements to seek. Otherwise
10637           typefind might overwrite a previous seek by downstream elements.
10638           This lead to errors with id3tag and typefind on some mp3s.
10639         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10640         (gst_entry_scheduler_iterate):
10641           be more verbose when debugging
10642
10643 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10644
10645         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10646           make sure we don't get NULL strings
10647
10648 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10649
10650         * gst/gstcaps.c:
10651         * gst/gstelement.c:
10652         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10653         * gst/gstindex.c: (gst_index_resolver_get_type),
10654         (gst_index_get_type), (gst_index_factory_get_type):
10655         * gst/gstinfo.c:
10656         * gst/gstpad.c:
10657         * gst/gstplugin.c:
10658         * gst/gsturi.c: (gst_uri_handler_get_type):
10659         * gst/gstvalue.c:
10660           first batch of documentation fixes
10661
10662 2004-03-29  David Schleef  <ds@schleef.org>
10663
10664         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10665         * docs/gst/gstreamer-docs.sgml:  More hacking
10666         * docs/gst/gstreamer-sections.txt:
10667         * docs/gst/tmpl/cothreads_compat.sgml:
10668         * docs/gst/tmpl/gstcaps.sgml:
10669         * docs/gst/tmpl/gstclock.sgml:
10670         * docs/gst/tmpl/gstelement.sgml:
10671         * docs/gst/tmpl/gstevent.sgml:
10672         * docs/gst/tmpl/gstpad.sgml:
10673         * docs/gst/tmpl/gstutils.sgml:
10674         * docs/gst/tmpl/gstxml.sgml:
10675         * docs/gst/tmpl/gthread-cothreads.sgml:
10676         * docs/random/ds/0.9-suggested-changes:
10677         * gst/elements/gstfakesink.h: doc fixes
10678         * gst/elements/gstfakesrc.h: doc fixes
10679         * gst/gstcaps.c: doc fixes
10680         * gst/gstcaps.h: doc fixes
10681         * gst/gstelement.c: doc fixes
10682         * gst/gstelement.h: doc fixes
10683         * gst/gstindex.c: doc fixes
10684         * gst/gstinfo.c: doc fixes
10685         * gst/gstpad.c: doc fixes
10686         * gst/gstpad.h: doc fixes
10687         * gst/gstplugin.c: doc fixes
10688         * gst/gsttypefind.h: doc fixes
10689         * gst/gsturi.c: doc fixes
10690         * gst/gstvalue.c: doc fixes
10691
10692 2004-03-29  Colin Walters  <walters@redhat.com>
10693
10694         * gst/registries/gstxmlregistry.c (get_time)
10695         (plugin_times_older_than_recurse):
10696         Use the result of stat to determine whether a path is a file,
10697         so we don't attempt to opendir() files.
10698
10699 2004-03-29  Benjamin Otte  <otte@gnome.org>
10700
10701         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10702           print caps in debugging output when setting caps failed
10703         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10704         (schedule_next_element), (get_buffer), (run_chainhandler),
10705         (element_may_start), (gst_entry_scheduler_chain_handler),
10706         (gst_entry_scheduler_get_handler),
10707         (gst_entry_scheduler_state_transition),
10708         (gst_entry_scheduler_pad_link):
10709           make this scheduler a testcase for mandatory
10710           discont-before-first-buffer which is needed if we want to allow apps
10711           to release the sound device.
10712           add SCHED_ASSERT macro to print scheduler state before an assertion
10713           triggers.
10714
10715 2004-03-29  Benjamin Otte  <otte@gnome.org>
10716
10717         * COPYING:
10718           replace by LGPL (former COPYING.LIB). The core is completely
10719           licensed LGPL.
10720         * COPYING.LIB:
10721           remove
10722
10723 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10724
10725         * po/af.po:
10726         * po/sv.po:
10727           updated Afrikaans and Swedish
10728
10729 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10730
10731         * po/LINGUAS:
10732         * po/az.po:
10733           adding Azerbaijani (Mətin Əmirov)
10734
10735 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10736
10737         * gst/gstelement.h: 
10738         * gst/gstelement.c (gst_element_set_time_delay): New function for
10739         setting element time taking into account a hardware buffering
10740         delay.
10741         (gst_element_set_time): Now just an invocation of
10742         gst_element_set_time_delay.
10743         * gst/gstclock.h: 
10744         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10745         allowing to set event times in the future.
10746         (gst_clock_get_event_time): Now just an invocation of
10747         gst_clock_get_event_time_delay.
10748
10749 2004-03-28  Benjamin Otte  <otte@gnome.org>
10750
10751         * gst/gstbin.c: (gst_bin_set_element_sched),
10752         (gst_bin_unset_element_sched):
10753           don't add decoupled elements to schedulers - otherwise it's
10754           impossible to control if a link to a decoupled element was already
10755           removed from a scheduler or not.
10756         * gst/schedulers/cothreads_compat.h:
10757         * gst/schedulers/gthread-cothreads.h:
10758           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10759           is no "unused" warning.
10760         * gst/schedulers/Makefile.am:
10761         * gst/schedulers/entryscheduler.c:
10762           add new scheduler, based on ideas from talking to David and Martin.
10763           It's supposed to be small and correct. Currently it's also slow (but
10764           it's not noticable)
10765         * examples/retag/retag.c: (main):
10766         * testsuite/bytestream/test1.c: (main):
10767           fix missing NULLs at end of variadic functions
10768         * testsuite/elements/.cvsignore:
10769           update
10770
10771 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10772
10773         * gst/gstevent.h:
10774         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10775
10776 2004-03-25  David Schleef  <ds@schleef.org>
10777
10778         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10779         * docs/gst/tmpl/gstaggregator.sgml:
10780         * docs/gst/tmpl/gstautoplugfactory.sgml:
10781         * docs/gst/tmpl/gstbin.sgml:
10782         * docs/gst/tmpl/gstbuffer.sgml:
10783         * docs/gst/tmpl/gstbufferstore.sgml:
10784         * docs/gst/tmpl/gstfakesink.sgml:
10785         * docs/gst/tmpl/gstfakesrc.sgml:
10786         * docs/gst/tmpl/gstmd5sink.sgml:
10787         * docs/gst/tmpl/gstreamer-unused.sgml:
10788         * docs/gst/tmpl/gstsearchfuncs.sgml:
10789         * docs/gst/tmpl/gstshaper.sgml:
10790         * docs/gst/tmpl/gstspider.sgml:
10791         * docs/gst/tmpl/gsttee.sgml:
10792         * docs/gst/tmpl/gstutils.sgml:
10793         * docs/gst/tmpl/gstvalue.sgml:
10794         * docs/gst/tmpl/gstxml.sgml:
10795         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10796         and we don't support it.
10797         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10798         (gst_use_threads), (gst_has_threads): same
10799         * gst/gstthreaddummy.c: same
10800         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10801         * gst/autoplug/gstspider.h: same
10802         * gst/elements/gstaggregator.h: Remove bogus function from header
10803         * gst/elements/gstfakesink.h: same
10804         * gst/elements/gstfakesrc.h: same
10805         * gst/elements/gstmd5sink.h: same
10806         * gst/elements/gstshaper.h: same
10807         * gst/elements/gsttee.h: same
10808         * gst/gstbin.c: doc fixes
10809         * gst/gstbin.h: Remove unused definition.
10810         * gst/gstbuffer.c: doc fixes
10811         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10812         * gst/gstfilter.c: doc fixes
10813         * gst/gsttag.c: doc fixes
10814         * gst/gstvalue.c: doc fixes
10815
10816 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10817
10818         * docs/pwg/advanced-types.xml:
10819           Document typefinding.
10820         * docs/pwg/other-oneton.xml:
10821           Document one-to-n elements, demuxers and parsers.
10822
10823 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10824
10825         reviewed by: David Schleef  <ds@schleef.org>
10826
10827         * configure.ac: Check bison version (bug #127838)
10828
10829 2004-03-25  David Schleef  <ds@schleef.org>
10830
10831         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10832         * docs/gst/gstreamer-sections.txt:
10833         * docs/gst/tmpl/gstautoplug.sgml:
10834         * docs/gst/tmpl/gststaticautoplug.sgml:
10835         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10836         * docs/gst/tmpl/gstutils.sgml:
10837         * docs/gst/tmpl/gstxml.sgml:
10838
10839 2004-03-24  David Schleef  <ds@schleef.org>
10840
10841         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10842         manual being such complete crap, that I decided to do major
10843         hacking of it.  This checkin replaces any fine tuning that
10844         may have been done previously, with the benefit of actually
10845         being complete for much of the API that was changed since
10846         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10847         * docs/gst/gstreamer-sections.txt:
10848         * docs/gst/tmpl/GstBin.sgml:
10849         * docs/gst/tmpl/GstBuffer.sgml:
10850         * docs/gst/tmpl/GstCaps.sgml:
10851         * docs/gst/tmpl/GstClock.sgml:
10852         * docs/gst/tmpl/GstCompat.sgml:
10853         * docs/gst/tmpl/GstData.sgml:
10854         * docs/gst/tmpl/GstElement.sgml:
10855         * docs/gst/tmpl/GstEvent.sgml:
10856         * docs/gst/tmpl/GstIndex.sgml:
10857         * docs/gst/tmpl/GstStructure.sgml:
10858         * docs/gst/tmpl/GstTag.sgml:
10859         * docs/gst/tmpl/cothreads.sgml:
10860         * docs/gst/tmpl/cothreads_compat.sgml:
10861         * docs/gst/tmpl/gettext.sgml:
10862         * docs/gst/tmpl/grammar.tab.sgml:
10863         * docs/gst/tmpl/gst-i18n-app.sgml:
10864         * docs/gst/tmpl/gst-i18n-lib.sgml:
10865         * docs/gst/tmpl/gst.sgml:
10866         * docs/gst/tmpl/gst_private.sgml:
10867         * docs/gst/tmpl/gstaggregator.sgml:
10868         * docs/gst/tmpl/gstarch.sgml:
10869         * docs/gst/tmpl/gstatomic.sgml:
10870         * docs/gst/tmpl/gstatomic_impl.sgml:
10871         * docs/gst/tmpl/gstbin.sgml:
10872         * docs/gst/tmpl/gstbuffer.sgml:
10873         * docs/gst/tmpl/gstbufferstore.sgml:
10874         * docs/gst/tmpl/gstcaps.sgml:
10875         * docs/gst/tmpl/gstclock.sgml:
10876         * docs/gst/tmpl/gstcompat.sgml:
10877         * docs/gst/tmpl/gstconfig.sgml:
10878         * docs/gst/tmpl/gstcpu.sgml:
10879         * docs/gst/tmpl/gstdata.sgml:
10880         * docs/gst/tmpl/gstdata_private.sgml:
10881         * docs/gst/tmpl/gstelement.sgml:
10882         * docs/gst/tmpl/gstenumtypes.sgml:
10883         * docs/gst/tmpl/gsterror.sgml:
10884         * docs/gst/tmpl/gstevent.sgml:
10885         * docs/gst/tmpl/gstfakesink.sgml:
10886         * docs/gst/tmpl/gstfakesrc.sgml:
10887         * docs/gst/tmpl/gstfilesink.sgml:
10888         * docs/gst/tmpl/gstfilter.sgml:
10889         * docs/gst/tmpl/gstindex.sgml:
10890         * docs/gst/tmpl/gstinfo.sgml:
10891         * docs/gst/tmpl/gstinterface.sgml:
10892         * docs/gst/tmpl/gstlog.sgml:
10893         * docs/gst/tmpl/gstmacros.sgml:
10894         * docs/gst/tmpl/gstmarshal.sgml:
10895         * docs/gst/tmpl/gstmd5sink.sgml:
10896         * docs/gst/tmpl/gstmultifilesrc.sgml:
10897         * docs/gst/tmpl/gstobject.sgml:
10898         * docs/gst/tmpl/gstpad.sgml:
10899         * docs/gst/tmpl/gstparse.sgml:
10900         * docs/gst/tmpl/gstpipeline.sgml:
10901         * docs/gst/tmpl/gstplugin.sgml:
10902         * docs/gst/tmpl/gstpluginfeature.sgml:
10903         * docs/gst/tmpl/gstqueue.sgml:
10904         * docs/gst/tmpl/gstreamer-unused.sgml:
10905         * docs/gst/tmpl/gstregistry.sgml:
10906         * docs/gst/tmpl/gstregistrypool.sgml:
10907         * docs/gst/tmpl/gstscheduler.sgml:
10908         * docs/gst/tmpl/gstsearchfuncs.sgml:
10909         * docs/gst/tmpl/gstshaper.sgml:
10910         * docs/gst/tmpl/gstspider.sgml:
10911         * docs/gst/tmpl/gstspideridentity.sgml:
10912         * docs/gst/tmpl/gststructure.sgml:
10913         * docs/gst/tmpl/gstsystemclock.sgml:
10914         * docs/gst/tmpl/gsttag.sgml:
10915         * docs/gst/tmpl/gsttaginterface.sgml:
10916         * docs/gst/tmpl/gsttee.sgml:
10917         * docs/gst/tmpl/gstthread.sgml:
10918         * docs/gst/tmpl/gsttrace.sgml:
10919         * docs/gst/tmpl/gsttrashstack.sgml:
10920         * docs/gst/tmpl/gsttypefind.sgml:
10921         * docs/gst/tmpl/gsttypes.sgml:
10922         * docs/gst/tmpl/gsturi.sgml:
10923         * docs/gst/tmpl/gsturitype.sgml:
10924         * docs/gst/tmpl/gstutils.sgml:
10925         * docs/gst/tmpl/gstvalue.sgml:
10926         * docs/gst/tmpl/gstversion.sgml:
10927         * docs/gst/tmpl/gstxml.sgml:
10928         * docs/gst/tmpl/gstxmlregistry.sgml:
10929         * docs/gst/tmpl/gthread-cothreads.sgml:
10930         * docs/gst/tmpl/types.sgml:
10931
10932 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10933
10934         * docs/pwg/other-sink.xml:
10935         * docs/pwg/other-source.xml:
10936           Documentation on how to write source and sink elements. Other
10937           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10938           manager, autoplugger) are all still pending.
10939
10940 2004-03-25  Benjamin Otte  <otte@gnome.org>
10941
10942         * testsuite/elements/Makefile.am:
10943         * testsuite/elements/gst-compprep-check:
10944           add check to make sure gst-compprep works
10945         * testsuite/elements/gst-inspect-check.in:
10946           improve initialization output
10947         * testsuite/Makefile.am:
10948         * testsuite/gst-inspect-check:
10949           remove old file
10950
10951 2004-03-24  David Schleef  <ds@schleef.org>
10952
10953         * testsuite/elements/Makefile.am:
10954         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10955         to the testsuite.
10956
10957 2004-03-24  Benjamin Otte  <otte@gnome.org>
10958
10959         * libs/gst/control/dparam.c: (gst_dparam_attach),
10960         (gst_dparam_detach):
10961         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10962           fix lvalue casts for real
10963
10964 2004-03-24  Benjamin Otte  <otte@gnome.org>
10965
10966         * gst/schedulers/gstbasicscheduler.c:
10967         (gst_basic_scheduler_src_wrapper):
10968         * gst/schedulers/gstoptimalscheduler.c:
10969         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10970         (pad_clear_queued), (gst_opt_scheduler_add_element),
10971         (gst_opt_scheduler_remove_element):
10972           fix GStreamer to not have issues with lvalue casts anymore (fixes
10973           #136841)
10974
10975 2004-03-24  Benjamin Otte  <otte@gnome.org>
10976
10977         * gst/gstelement.c:
10978           add documentation about a gobject quirk where the object hasn't the
10979           correct class pointer set on initialization
10980         * gst/schedulers/gstbasicscheduler.c:
10981         (gst_basic_scheduler_src_wrapper):
10982           make sure to not run into an infinite loop
10983
10984 2004-03-22  Benjamin Otte  <otte@gnome.org>
10985
10986         * gst/gstutils.c: (gst_util_dump_mem):
10987         * gst/gstutils.h:
10988           first argument of gst_util_dump_mem should be const
10989
10990 2004-03-22  Johan Dahlin  <johan@gnome.org>
10991
10992         * gst/gstvalue.h: Clean up a little bit.
10993
10994 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10995
10996         reviewed by Benjamin Otte  <otte@gnome.org>
10997
10998         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10999         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11000         (gst_aggregator_class_init), (gst_aggregator_init):
11001         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11002         (gst_filesrc_dispose), (gst_filesrc_set_location):
11003         * gst/elements/gstidentity.c: (gst_identity_finalize),
11004         (gst_identity_class_init), (gst_identity_chain):
11005         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11006         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11007         (gst_statistics_class_init):
11008         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11009         (gst_tee_get_property):
11010           clean up used memory in this elements correctly on teardown (closes
11011           #137279)
11012
11013 2004-03-20  Colin Walters  <walters@redhat.com>
11014
11015         * gst/registries/gstxmlregistry.c:
11016         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11017         registry saving atomic.
11018
11019 2004-03-20  Colin Walters  <walters@redhat.com>
11020
11021         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11022         Just use
11023         access() instead of actually creating and deleting files.
11024
11025 2004-03-18  David Schleef  <ds@schleef.org>
11026
11027         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11028         (bug #137625)
11029
11030 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11031
11032         * po/sv.po: updated translation (Christian Rose)
11033
11034 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11035
11036         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11037         (gst_filesink_get_query_types), (_do_init),
11038         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11039           return FALSE silently
11040         * po/af.po: updated translation (Petri Jooste)
11041
11042 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11043
11044         * Makefile.am:
11045         * configure.ac:
11046           dist common properly
11047         * po/af.po:
11048         * po/fr.po:
11049         * po/nl.po:
11050         * po/sr.po:
11051         * po/sv.po:
11052           refreshing translations
11053
11054 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11055
11056         * po/LINGUAS:
11057         * po/sv.po:
11058         * po/af.po:
11059           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11060
11061 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11062
11063         * Makefile.am: use common/release.mak
11064
11065 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11066
11067         * docs/faq/gst-uninstalled:
11068           adding gst-monkeysaudio to the list of possible plugin dirs
11069
11070 2004-03-16  David Schleef  <ds@schleef.org>
11071
11072         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11073         (gst_init_check_with_popt_table):  Fix some gettext strings to
11074         make them easier to translate.  Required making the strings
11075         non-const.
11076
11077 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11078
11079         * configure.ac: bump nano to 1
11080
11081 === release 0.8.0 ===
11082
11083 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11084
11085         * configure.ac: release 0.8.0, "Executive Slacks"
11086
11087 2004-03-16  Johan Dahlin  <johan@gnome.org>
11088
11089         * gst/schedulers/gstoptimalscheduler.c
11090         (gst_opt_scheduler_pad_unlink): Remove double ;,
11091         spotted by Scott Wheeler
11092
11093 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11094
11095         * configure.ac: bump libtool version
11096
11097 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11098
11099         * gst/gstcaps.h:
11100         * gst/gststructure.h:
11101           add reserved padding
11102
11103 2004-03-15  Benjamin Otte  <otte@gnome.org>
11104
11105         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11106           set the first parameter for select call correctly.
11107           (fixes #137230)
11108
11109 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11110
11111         * *.c,*.h: don't mix tabs and spaces
11112
11113 2004-03-15  Johan Dahlin  <johan@gnome.org>
11114
11115         * gst/schedulers/gstoptimalscheduler.c
11116         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11117         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11118
11119         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11120         
11121 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11122
11123         * testsuite/Rules:
11124           fix gst-register rules
11125
11126 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11127
11128         * testsuite/Rules:
11129           use versioned gst-register
11130
11131 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11132
11133         * docs/libs/gstreamer-libs-sections.txt:
11134           remove </SUBSECTION>
11135         * gst/gstplugin.c:
11136         * gst/gstregistry.c: (gst_registry_add_plugin):
11137         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11138         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11139           add debugging and fix some comment blocks
11140
11141 2004-03-15  Johan Dahlin  <johan@gnome.org>
11142
11143         * *.h: Revert indent changes.
11144         
11145 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11146
11147         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11148           g_error_free the g_error
11149         * tools/gst-feedback-m.m:
11150           check for other versions of gstreamer
11151         * tools/gst-indent:
11152           use sh, not bash
11153
11154 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11155
11156         * tools/gst-register.c: do not spill paths when registries are not
11157           writable, until we fix the "user running gst-register" case.
11158
11159 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11160
11161         * *.c, *.h: commit of gst-indent run on core
11162
11163 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11164
11165         * tools/gst-indent:
11166         * tools/Makefile.am:
11167           add our indentation style as a script
11168
11169 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11170
11171         * po/sr.po:
11172         * po/LINGUAS:
11173           added Serbian translation
11174
11175 2004-03-13  Benjamin Otte  <otte@gnome.org>
11176
11177         * gst/gstelement.c:
11178           add documentation note about gst_element_found_tags_for_pad not
11179           being usable in getfunctions. (see #137042)
11180
11181 2004-03-12  David Schleef  <ds@schleef.org>
11182
11183         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11184         change API right now!  Readd gst_caps_is_simple() macro.
11185         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11186         uninitialized variable.  I'd bet this caused crashes.
11187         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11188
11189 2004-03-12  Johan Dahlin  <johan@gnome.org>
11190
11191         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11192         * gst/gstcaps.h: Clean up
11193
11194         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11195         _gst_caps_initalize()
11196
11197         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11198         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11199
11200         * gst/gststructure.c (gst_structure_get_type): Ditto
11201
11202         * gst/gststructure.h: Ditto
11203         
11204 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11205
11206         * gst/gstqueue.c: (gst_queue_init):
11207           Reset default max. values in queues. Reason is simply to avoid
11208           braindead use. If you want wider values, use the properties. The
11209           default is supposed to always work. Wider values would make this
11210           beast a memory hog by default (250 full-PAL RGB32 video frames?
11211           That's 440 MB! No thank you).
11212
11213 2004-03-10  David Schleef  <ds@schleef.org>
11214
11215         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11216         were found.  (bug #136793)
11217
11218 2004-03-10  Johan Dahlin  <johan@gnome.org>
11219
11220         * gst/schedulers/gstoptimalscheduler.c
11221         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11222         links to elements within the same group, so we can finally remove
11223         that annoying warning. Refactor the code a little bit
11224         (group_dec_links_for_element): Split out
11225
11226 2004-03-09  David Schleef  <ds@schleef.org>
11227
11228         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11229         (bug #134863)
11230
11231 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11232
11233         * configure.ac: first bug fix due to major/minor bump
11234
11235 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11236
11237         * configure.ac: bump nano to 1
11238
11239 === release 0.7.6 ===
11240
11241 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11242
11243         * NEWS:
11244         * RELEASE:
11245         * configure.ac:
11246           releasing 0.7.6, "Almost"
11247         * po/fr.po:
11248         * po/nl.po:
11249         * tools/Makefile.am:
11250         * tools/gst-feedback-m.m:
11251           unversioned source
11252
11253 2004-03-09  Johan Dahlin  <johan@gnome.org>
11254
11255         Reviewed by: Thomas Vander Stichele
11256
11257         * gst/gstelement.c (gst_element_class_init): register second
11258         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11259         language bindings can (de)marshall correctly.
11260
11261         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11262
11263         * gst/gsterror.c (gst_g_error_get_type): New function
11264
11265         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11266         with VOID:OBJECT,OBJECT,STRING 
11267
11268 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11269
11270         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11271         Free a leaked g_timer on early returns.
11272
11273 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11274
11275         * docs/pwg/advanced-types.xml:
11276           Add cinepak description.
11277
11278 2004-03-07  David Schleef  <ds@schleef.org>
11279
11280         * docs/random/mimetypes:  Added cinepak description
11281
11282 2004-03-07  Andy Wingo  <wingo@pobox.com>
11283
11284         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11285
11286         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11287         there are no links to other groups when a group is destroyed.
11288         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11289         removed from a group, make sure the link count to elements linked
11290         to other pads is appropriately decremented. This really fixes
11291         #135672.
11292
11293         The 1.60->1.61 patch has been reapplied in light of this fix.
11294
11295         * gst/gstelement.c (gst_element_dispose): Really protect against
11296         multiple invocations this time.
11297
11298 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11299
11300         * docs/gst/gstreamer-sections.txt:
11301         * docs/gst/tmpl/gsttag.sgml:
11302           remove some deprecated functions, document some existing ones
11303         * gst/gsttag.c: (gst_tag_get_flag):
11304         * gst/gsttag.h:
11305           add accessor function
11306
11307 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11308
11309         * docs/gst/gstreamer-sections.txt:
11310         * docs/gst/tmpl/gsttag.sgml:
11311         * docs/gst/tmpl/gstxml.sgml:
11312         * gst/gsttag.c: (gst_tag_get_flag):
11313         * gst/gsttag.h:
11314
11315 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11316
11317         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11318         leak
11319
11320 2004-03-05  David Schleef  <ds@schleef.org>
11321
11322         * REQUIREMENTS: Add bison and flex.
11323         * configure.ac: Fix comment about bison.
11324         * docs/random/ds/0.9-suggested-changes: yer ma
11325         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11326
11327 2004-03-05  Benjamin Otte  <otte@gnome.org>
11328
11329         * gst/gstelement.c: (gst_element_error_full):
11330           revert recent recursive state changing commit - messing with other
11331           elements' states is evil and should be done by apps only.
11332
11333 2004-03-05  Benjamin Otte  <otte@gnome.org>
11334
11335         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11336           check for empty intersection instead of NULL caps
11337         (gst_element_get_compatible_pad_filtered):
11338           remove old workaround that is only a bug nowadays
11339
11340 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11341
11342         * gst/gstelement.c: (gst_element_error_full):
11343           make elements try to recursively change state to PAUSED on all
11344           parents after an error to suppress ensuing warnings
11345         * gst/parse/grammar.y:
11346           make it check if it was able to sync the state, and throw an error
11347           if not, so stuff like
11348           oggdemux ! vorbisdec ! osssink gets caught
11349
11350 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11351
11352         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11353           it contains lib64; use AS_AC_EXPAND to handle it properly
11354
11355 2004-03-05  David Schleef  <ds@schleef.org>
11356
11357         * gst/gstcpuid_i386.s:  Remove unused code
11358         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11359         (gst_getbits_newbuf): Remove MMX code
11360         * libs/gst/getbits/getbits.h: Remove MMX code
11361
11362 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11363
11364         * debian/.cvsignore:
11365         * debian/README.Debian:
11366         * debian/changelog:
11367         * debian/control:
11368         * debian/control.in:
11369         * debian/copyright:
11370         * debian/gstreamer-core-libs-dev.files:
11371         * debian/gstreamer-core-libs.files:
11372         * debian/gstreamer-core.files:
11373         * debian/gstreamer-core.postinst:
11374         * debian/gstreamer-core.postrm:
11375         * debian/gstreamer-doc.files:
11376         * debian/gstreamer-doc.links:
11377         * debian/gstreamer-doc.lintian:
11378         * debian/gstreamer-runtime.files:
11379         * debian/gstreamer-runtime.manpages:
11380         * debian/gstreamer-runtime.postinst:
11381         * debian/gstreamer-runtime.postrm:
11382         * debian/gstreamer-tools.files:
11383         * debian/gstreamer-tools.manpages:
11384         * debian/libgstreamer-dev.files:
11385         * debian/libgstreamer0.4.1.files:
11386         * debian/libgstreamerVERSION.files:
11387         * debian/rules:
11388         Debian package info not maintained here.
11389
11390 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11391
11392         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11393         * gst/gstbin.c: (gst_bin_class_init):
11394         * gst/gstelement.c: (gst_element_class_init):
11395         * gst/gstindex.c: (gst_index_class_init):
11396         * gst/gstobject.c: (gst_object_class_init),
11397         (gst_signal_object_class_init):
11398         * gst/gstpad.c: (gst_pad_template_class_init):
11399         * gst/gstregistry.c: (gst_registry_class_init):
11400         * gst/gsturi.c: (gst_uri_handler_base_init):
11401         * gst/gstxml.c: (gst_xml_class_init):
11402         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11403         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11404           make all signal names use dashes instead of underscore
11405
11406 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11407
11408         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11409
11410 2004-03-03  Benjamin Otte  <otte@gnome.org>
11411
11412         * gst/schedulers/gstoptimalscheduler.c:
11413           revert last commit by Andy Wingo. It causes segfaults on unreffing
11414           in Rhythmbox. (see bug #135672)
11415
11416 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11417
11418         * po/fr.po: fix typo
11419
11420 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11421
11422         * tools/gst-inspect.c: (main): 
11423         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11424
11425 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11426
11427         * configure.ac:
11428           get GLIB_ONLY and POPT flags for the nonversioned binaries
11429         * tools/Makefile.am:
11430           use them
11431
11432 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11433
11434         * gst/gst.c: (init_post):
11435           change so that GST_REGISTRY now is where the global registry gets
11436           saved, since that is where plugins now get attached to first, and
11437           spilled over to the user registry.  Note that in the case of using
11438           GST_REGISTRY env var, we don't want to affect any real registries
11439           beyond the one given by this var, and thus we don't set a user
11440           registry to spill to.  So make sure GST_REGISTRY is writable.
11441
11442 2004-03-01  David Schleef  <ds@schleef.org>
11443
11444         * AUTHORS:  Added some names.  Add yourself if you're missing.
11445
11446 2004-03-01  David Schleef  <ds@schleef.org>
11447
11448         * MAINTAINERS: Add
11449
11450 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11451
11452         * configure.ac:
11453           remove whitespace
11454         * docs/gst/tmpl/gstbuffer.sgml:
11455         * docs/gst/tmpl/gstdata.sgml:
11456         * docs/gst/tmpl/gstreamer-unused.sgml:
11457         * docs/gst/tmpl/gstxml.sgml:
11458           doc update
11459         * docs/manuals.mak:
11460           add a FIXME
11461         * docs/pwg/intro-preface.xml:
11462         * docs/pwg/pwg.xml:
11463           remove GNOME
11464         * gst/gst.c: (init_post):
11465           try GST_PLUGIN_PATH paths for the _global_registry first
11466         * gst/gstelement.h:
11467           add the error message as well, otherwise (null) debug info doesn't
11468           make much sense
11469         * tools/gst-register.c: (main):
11470           spill paths to next registry if this registry is not writable
11471         * po/fr.po:
11472         * po/nl.po:
11473           translation updates
11474
11475 2004-03-01  Johan Dahlin  <johan@gnome.org>
11476
11477         * gst/gstbuffer.c (_gst_buffer_initialize): 
11478         * gst/gstdata.c (gst_data_get_type): 
11479         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11480         instead of ref, since some applications that uses GBoxed
11481         routines depends on a function that actually returns a copy.
11482
11483 2004-02-27  Benjamin Otte  <otte@gnome.org>
11484
11485         * gst/gstbuffer.h:
11486           remove gst_buffer_free, use gst_data_unref
11487         * gst/gstdata.c: (gst_data_get_type):
11488           use refcounting in GstData GBoxed registration
11489         * gst/gstdata.h:
11490           remove gst_data_free, use gst_data_unref
11491
11492 2004-02-27  Johan Dahlin  <johan@gnome.org>
11493
11494         * gst/gstdata.c (gst_data_get_type): New function, register
11495         GstData as a GBoxed type.
11496
11497         * gst/gstdata.h (GST_TYPE_DATA): New macro
11498
11499 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11500
11501         * Makefile.am:
11502         * gstreamer.spec.in:
11503           put back RELEASE
11504         * gst/Makefile.am:
11505           clean up non-disting of built files
11506         * testsuite/debug/commandline.c:
11507           test fix for option rename
11508
11509 2004-02-26  David Schleef  <ds@schleef.org>
11510
11511         * configure.ac:  We don't really need glib-2.3.  Also remove
11512         some unneeded checks for library functions.
11513         * gst/Makefile.am:  Instead, we need to not dist files created
11514         by glib-genmarshal.
11515
11516 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11517
11518         * configure.ac:
11519           bump glib required version to 2.3.0 for g_value_takes_boxed
11520
11521  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11522
11523         * common/m4/gst-docs.m4
11524         change flavour text from enable to disable as enable is our default
11525         closes bug Bug 135304
11526
11527 === release 0.7.5 ===
11528  
11529  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11530  
11531         * NEWS:
11532           instate NEWS file
11533         * Makefile.am:
11534         * gstreamer.spec.in:
11535         * RELEASE:
11536           put back release
11537         * configure.ac:
11538         * docs/random/release:
11539           more updates
11540
11541 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11542
11543         * gst/gsttag.c: (_gst_tag_initialize):
11544         * po/fr.po:
11545         * po/nl.po:
11546           remove hyphen from codec tags
11547
11548 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11549
11550         * gst/parse/Makefile.am:
11551           fix dependency so that a make from a clean build works the first
11552           time
11553
11554 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11555
11556         * docs/random/release:
11557           update release strategy
11558         * po/fr.po:
11559           auto-update po file
11560         * po/nl.po:
11561           update dutch translation
11562
11563 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11564
11565         * docs/manual/debugging.xml:
11566         fix manual for new debugging system
11567
11568 2004-02-25  Andy Wingo  <wingo@pobox.com>
11569
11570         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11571         gst_pad_link_prepare. Please email the list with specific reasons
11572         for reverting.
11573
11574 2004-02-24  Andy Wingo  <wingo@pobox.com>
11575
11576         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11577         invocations.
11578
11579         * gst/schedulers/gstoptimalscheduler.c:
11580         I added a mess of prototypes at the top of the file by way of
11581         documentation. Some of the operations on chains and groups were
11582         re-organized.
11583
11584         (create_group): Added a type argument so if the group is enabled,
11585         the setup_group_scheduler knows what to do.
11586         (group_elements): Added a type argument here, too, to be passed on
11587         to create_group.
11588         (group_element_set_enabled): If an unlinked PLAYING element is
11589         added to a bin, we have to create a new group to hold the element,
11590         and this function will be called before the group is added to the
11591         chain. Thus we have a valid case for group->chain==NULL. Instead
11592         of calling chain_group_set_enabled, just set the flag on the group
11593         (the chain's status will be set when the group is added to it).
11594         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11595         Setup the group scheduler when the group is enabled, not
11596         specifically when an element goes PAUSED->PLAYING. This means
11597         PLAYING elements can be added, linked, and scheduled into a
11598         PLAYING pipeline, as was intended.
11599         (add_to_group): Don't ref the group twice. I don't know when this
11600         double-ref got in here. Removing it has the potential to cause
11601         segfaults if other parts of the scheduler are buggy. If you find
11602         that the scheduler is segfaulting for you, put in an extra ref
11603         here and see if that hacks over the underlying issue. Of course,
11604         then find out what code is unreffing a group it doesn't own...
11605         (create_group): Make the extra refcount floating, and remove it
11606         after adding the element. This means that...
11607         (unref_group): Destroy when the refcount reaches 0, not 1, like
11608         every other refcounted object in the known universe.
11609         (remove_from_group): When a group becomes empty, set it to be not
11610         active, and remove it from its chain. Don't unref it again,
11611         there's no floating reference any more.
11612         (destroy_group): We have to remove the group from the chain in
11613         remove_from_group (rather than here) to break refcounting cycles
11614         (the chain always has a ref on the group). So assert that
11615         group->chain==NULL.
11616         (ref_group_by_count): Removed, it was commented out anyway.
11617         (merge_chains): Use the remove_from_chain and add_to_chain
11618         primitives to do the reparenting, instead of rolling our own
11619         implementation.
11620         (add_to_chain): The first non-disabled group in the chain's group
11621         list will be the entry point for the chain. Because buffers can
11622         accumulate in loop elements' peer bufpens, we preferentially
11623         schedule loop groups before get groups to avoid unnecessary
11624         execution of get-based groups when the bufpens are already full.
11625         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11626         (get_group_schedule_function): Ditto.
11627         (loop_group_schedule_function): Ditto.
11628         (gst_opt_scheduler_loop_wrapper): Ditto.
11629         (gst_opt_scheduler_iterate): Ditto.
11630
11631         I understand the opt scheduler now, yippee!
11632
11633         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11634         (gst_pad_get_name, gst_pad_set_chain_function) 
11635         (gst_pad_set_get_function, gst_pad_set_event_function) 
11636         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11637         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11638         (gst_pad_set_query_function, gst_pad_get_query_types) 
11639         (gst_pad_get_query_types_default) 
11640         (gst_pad_set_internal_link_function) 
11641         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11642         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11643         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11644         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11645         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11646         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11647         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11648         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11649         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11650         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11651         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11652         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11653         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11654         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11655         argument checks, and some doc fixes.
11656
11657         (gst_pad_custom_new_from_template): Um, does anyone
11658         use these functions? Actually make a custom pad instead of a
11659         normal one.
11660         (gst_pad_try_set_caps): Transpose some checks.
11661         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11662         the pad is in negotiation.
11663         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11664         
11665         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11666
11667         * gst/gstelement.h: 
11668         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11669         on the list.
11670
11671 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11672
11673         * gst/gstbin.c: (gst_bin_add):
11674           add error for not being able to add elements
11675
11676 2004-02-22  Julien MOUTTE <julien@moutte.net>
11677
11678         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11679         audio-codec and video-codec.
11680
11681 2004-02-22  Benjamin Otte  <otte@gnome.org>
11682
11683         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11684
11685         * autogen.sh:
11686           replace test -e with test -x for mkinstalldirs to be more portable.
11687           (fixes #134816)
11688
11689 2004-02-22  Benjamin Otte  <otte@gnome.org>
11690
11691         * gst/gstpad.c:
11692           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11693           too noisy
11694         * gst/gsttag.c: (_gst_tag_initialize):
11695         * gst/gsttag.h:
11696           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11697         * libs/gst/control/dparam.c: (gst_dparam_attach):
11698         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11699           check that types for attached dparams match
11700
11701 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11702
11703         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11704         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11705         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11706           fix errors
11707
11708 2004-02-20  Andy Wingo  <wingo@pobox.com>
11709
11710         * gst/gstbin.c:
11711         * gst/gstbuffer.c:
11712         * gst/gstplugin.c:
11713         * gst/registries/gstxmlregistry.c: 
11714         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11715
11716         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11717         (gst_element_add_pad): DEBUG->INFO, some fixes.
11718         (gst_element_get_compatible_pad_template): Just see if the
11719         templates' caps intersect, not if one is a strict subset of the
11720         other. This conforms more to what gst_pad_link_intersect() does.
11721         (gst_element_class_add_pad_template): Don't memcpy the pad
11722         template, just ref it.
11723         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11724
11725         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11726         (gst_pad_link_filtered): Debug changes.
11727         (gst_pad_link_prepare): New function, consolidated from
11728         can_link_filtered and link_filtered.
11729
11730         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11731         look more like that of the functions in gstelement.c
11732
11733         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11734         object, and return the empty string if object is NULL.
11735
11736         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11737         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11738         LOG, not DEBUG. We still get flex info on debug.
11739
11740         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11741         debug string more verbose.
11742         (plugin_times_older_than): DEBUG->LOG.
11743
11744 2004-02-20  Julien MOUTTE <julien@moutte.net>
11745
11746         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11747         will emit found_tag for each stream they demux with the codec.
11748
11749 2004-02-20  Benjamin Otte  <otte@gnome.org>
11750
11751         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11752           copy navigation event correctly. Check freeing tag lists. 
11753         * gst/gstthread.c: (gst_thread_change_state):
11754           don't abort() on state changing mess - it might happen because of
11755           bugs.
11756         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11757           use boxed functions
11758         * gst/gstvalue.h:
11759           fix GST_VALUE_HOLDS_CAPS
11760
11761 2004-02-19  David Schleef  <ds@schleef.org>
11762
11763         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11764         and use it for GST_FUNCTION.  (bug #134750)
11765
11766 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11767
11768         * po/fr.po:
11769         * po/nl.po:
11770           updating translations
11771
11772 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11773
11774         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11775
11776 2004-02-18  kost@imn.htwk-leipzig.de
11777
11778         reviewed by: David Schleef  <ds@schleef.org>
11779
11780         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11781         for libgstcontrol.
11782
11783 2004-02-18  David Schleef  <ds@schleef.org>
11784
11785         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11786         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11787         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11788         * tools/gst-inspect.c: (print_element_info): Support dumping of
11789         double dparam information.
11790
11791 2004-02-17  David Schleef  <ds@schleef.org>
11792
11793         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11794         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11795         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11796         Use GST_TYPE_CAPS in signal prototype.
11797         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11798         Convert GST_TYPE_CAPS to boxed.
11799         * gst/gstelement.c: (gst_element_class_init):
11800         Use GST_TYPE_TAG_LIST in signal prototype.
11801         * gst/gstindex.c: (gst_index_class_init):
11802         * gst/gstindex.h:
11803         Add GST_TYPE_INDEX_ENTRY type.
11804         * gst/gstmarshal.list:
11805         Add necessary marshal types.
11806         * gst/gstpad.c: (gst_real_pad_class_init),
11807         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11808         (gst_pad_recover_caps_error):
11809         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11810         * gst/gststructure.c: (_gst_structure_initialize),
11811         (gst_structure_copy), (_gst_structure_copy_conditional):
11812         * gst/gststructure.h:
11813         Convert GST_TYPE_STRUCTURE to boxed.
11814         * gst/gsttag.c: (gst_tag_list_get_type):
11815         * gst/gsttag.h:
11816         Add GST_TYPE_TAG_LIST type.
11817
11818 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11819
11820         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11821         to what we agreed with david.
11822         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11823
11824 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11825
11826         * po/nl.po: update translation
11827
11828 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11829
11830         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11831           throw an error if spider is trying to play a mime type there is
11832           no decoder for
11833         * po/POTFILES.in:
11834           add gst/autoplug/gstspider.c for translation
11835
11836 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11837
11838         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11839         silently when the pad is negotiating.
11840
11841 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11842
11843         * docs/faq/Makefile.am:
11844           add script to run gstreamer uninstalled 
11845         * docs/faq/faq.xml:
11846         * docs/faq/developing.xml:
11847         * docs/faq/gst-uninstalled:
11848           extract script to run gstreamer uninstalled
11849         * docs/manuals.mak:
11850           add EXTRA_SOURCES variable for Makefile.am's to set to
11851           use additional SOURCE files for the doc build
11852
11853 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11854
11855         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11856
11857 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11858
11859         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11860         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11861         an error was thrown by osssink. Basically a state change failure for
11862         an element in a different scheduling group was considered as
11863         successful, which means that caps nego was going on and weird stuff
11864         happened. Like I wrote in the comment there, if someone wants to
11865         revert that please drop me a mail explaining why because I really see
11866         no point in keeping that broken behaviour there.
11867         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11868         be empty, we then return NULL which will trigger a nice error when 
11869         pulling from the pad.
11870
11871 2004-02-13  David Schleef  <ds@schleef.org>
11872
11873         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11874         (gst_dparam_get_property), (gst_dparam_set_property),
11875         (gst_dparam_do_update_default):
11876         * libs/gst/control/dparam.h:
11877         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11878         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11879         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11880         (gst_dpsmooth_do_update_double):
11881         * libs/gst/control/dparam_smooth.h:
11882         * libs/gst/control/dparammanager.c:
11883         (gst_dpman_inline_direct_update):
11884         Add support for double dparams.
11885
11886 2004-02-13  David Schleef  <ds@schleef.org>
11887
11888         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11889         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11890
11891 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11892
11893         reviewed by: David Schleef  <ds@schleef.org>
11894
11895         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11896         (gst_fdsrc_init), (gst_fdsrc_set_property),
11897         (gst_fdsrc_get_property), (gst_fdsrc_get):
11898         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11899         and sends an EOS event if file descriptor reading times out.
11900
11901 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11902
11903         * configure.ac:
11904           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11905
11906 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11907
11908         * configure.ac: pass required libxml version as argument
11909         (bug reported by Christophe Fergeau)
11910
11911 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11912   
11913         * docs/gst/gstreamer-docs.sgml:
11914         * docs/gst/tmpl/gstxml.sgml:
11915         * docs/libs/gstreamer-libs-docs.sgml:
11916           version API docs
11917
11918 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11919
11920         * gst/gstinfo.c:
11921         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11922         (gst_registry_pool_feature_filter):
11923         * gst/gstthread.c: (gst_thread_class_init):
11924         * gst/gstvalue.c:
11925           add includes exposed by building without libxml
11926         * gst/indexers/Makefile.am:
11927           do not build fileindex when LOADSAVE disabled; we should have
11928           a better libxml check later since fileindex depends on xml, not
11929           LOADSAVE or REGISTRY
11930         * libs/gst/control/Makefile.am:
11931           link with m
11932         * tools/Makefile.am:
11933           fix wrong source code for gst-xmlinspect
11934
11935 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11936
11937         * configure.ac:
11938           fix gcov help output
11939           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11940         * docs/random/release:
11941           some updated releasing notes
11942         * gstreamer.spec.in:
11943           more updates
11944
11945 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11946
11947         * docs/faq/faq.xml:
11948         * docs/manual/manual.xml:
11949         * docs/pwg/pwg.xml:
11950         * docs/pwg/titlepage.xml:
11951           put version in documentation
11952
11953 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11954
11955         * tools/Makefile.am: fix man page installation
11956
11957 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11958
11959         * configure.ac:
11960           don't check for libxml when load/save and registry disabled (#105844)
11961         * gstreamer.spec.in:
11962           sync with fedora candidate spec
11963
11964 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11965
11966         * po/fr.po:
11967         * po/nl.po:
11968           replace multidisksrc with multifilesrc
11969
11970 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11971
11972         * po/POTFILES.in:
11973           update to multidisksrc => multifilesrc file renaming (#134145)
11974
11975 2004-02-11  David Schleef  <ds@schleef.org>
11976
11977         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11978         * docs/gst/tmpl/gstpadtemplate.sgml: same
11979         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11980         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11981         fixing dance.
11982         * gst/gstutils.c: Remove disabled code that uses GstProps.
11983         * gst/registries/gstxmlregistry.h: same
11984         * docs/random/ds/0.9-suggested-changes: random notes
11985
11986 2004-02-11  kost@imn.htwk-leipzig.de
11987
11988         reviewed by: David Schleef  <ds@schleef.org>
11989
11990         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11991         initialisation of clock (bug #134128)
11992
11993 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11994
11995         * configure.ac:
11996         * gst/elements/Makefile.am:
11997         * gst/elements/gstelements.c:
11998         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11999         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12000         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12001         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12002         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12003         * gst/elements/gstmultifilesrc.h:
12004           rename multidisksrc to multifilesrc (part of #122200)
12005
12006 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12007
12008         * docs/manuals.mak:
12009           fix automake complaints
12010         * gst-element-check.m4:
12011           fix unquotedness
12012
12013 2004-02-11  David Schleef  <ds@schleef.org>
12014
12015         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12016         * gst/gstatomic_impl.h: Disable sparc implementation.
12017
12018 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12019
12020         * gst-element-check.m4:
12021           fix underquoted macros as reported by automake 1.8.x (#133800)
12022         * configure.ac:
12023           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12024           by autopoint (fixes #132996)
12025
12026 2004-02-10  Andy Wingo  <wingo@pobox.com>
12027
12028         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12029         way to do inheritance.
12030         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12031         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12032         Routine docs.
12033         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12034         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12035         doc.
12036         (gst_pad_unlink, gst_pad_is_linked): Docs.
12037         (gst_pad_renegotiate): A brief description of capsnego.
12038         (gst_pad_try_set_caps): Document.
12039         (gst_pad_try_set_caps_nonfixed): Document.
12040         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12041         (gst_pad_set_parent): Deprecated (although not out of the API).
12042         (gst_pad_get_parent): Deprecated, although many plugins use this.
12043         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12044         are private and will go away in 0.9.
12045         (gst_pad_perform_negotiate): Doc.
12046         (gst_pad_link_unnegotiate): I think this is meant to be static.
12047         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12048         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12049         (gst_pad_get_peer): Doc updates.
12050         (gst_pad_caps_change_notify): Doc.
12051         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12052         (gst_ghost_pad_new): Doc fixes.
12053
12054         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12055         (gst_object_check_uniqueness): 
12056
12057         * gst/gstelement.c (gst_element_add_pad) 
12058         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12059         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12060         (gst_element_get_static_pad, gst_element_get_pad_list) 
12061         (gst_element_class_get_pad_template_list) 
12062         (gst_element_class_get_pad_template): Work on the docs.
12063         (gst_element_get_pad_template_list): Uses the class method.
12064         (gst_element_get_compatible_pad_template): Docs, and consolidate
12065         some test conditions. 
12066         (gst_element_get_pad_from_template): New static function.
12067         (gst_element_request_compatible_pad): Docs, and work with
12068         non-request compatible templates. 
12069         (gst_element_get_compatible_pad_filtered): Docs and remove
12070         redundant checks.
12071         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12072         (gst_element_link_filtered, gst_element_link_many) 
12073         (gst_element_link, gst_element_link_pads) 
12074         (gst_element_unlink_many): Docs.
12075
12076 2004-02-05  Andy Wingo  <wingo@pobox.com>
12077
12078         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12079         s/pointer/boxed/.
12080
12081         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12082
12083         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12084         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12085         with the type=GST_TYPE_CAPS. This allows language bindings to know
12086         what kind of data they're dealing with.
12087
12088         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12089         to NULL when g_value_init is called. GstCaps, which rolls its own
12090         type implementation, now does the same instead of allocating empty
12091         caps.
12092         (_gst_caps_initialize, _gst_caps_collect_value,
12093         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12094         table methods. This allows G_VALUE_COLLECT to work.
12095
12096 2004-02-05  Andy Wingo  <wingo@pobox.com>
12097
12098         * configure.ac:
12099         * testsuite/Makefile.am (SUBDIRS): 
12100         * testsuite/ghostpads/Makefile.am: 
12101         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12102
12103         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12104         These two routines are the only ones that set
12105         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12106         pad template. They should be made static, depending on ABI needs.
12107         (gst_real_pad_dispose): Handle the case of ghost pads without a
12108         parent. Assert after dealing with ghost pads that the ghost pad
12109         list is empty.
12110         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12111         set after creation.
12112         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12113         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12114         functions. set_property will call add_ghost_pad/remove_ghost_pad
12115         as appropriate.
12116         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12117
12118         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12119         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12120         (gst_element_remove_pad): Handle ghost pads as well.
12121         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12122         depending on API-stability needs).
12123
12124 2004-02-05  Andy Wingo  <wingo@pobox.com>
12125
12126         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12127         of course they're const
12128
12129 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12130
12131         * tools/Makefile.am:
12132         * tools/gst-feedback:
12133         * tools/gst-feedback-0.7:
12134           make gst-feedback versioned too for consistency
12135
12136 2004-02-11  David Schleef  <ds@schleef.org>
12137
12138         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12139         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12140
12141 2004-02-10  Julien MOUTTE <julien@moutte.net>
12142
12143         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12144         the structure does not contain a valid tag list. Adding a safety check
12145         to remove a noisy warning in that case.
12146
12147 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12148
12149         * gst/gst.c: fix name to be in line with others
12150
12151 2004-02-09  Julien MOUTTE <julien@moutte.net>
12152
12153         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12154         not shout that loud when len is 0. Just return 0 silently.
12155
12156 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12157
12158         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12159         because data_unref has one and I prefer the debug to be symetric.
12160         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12161         were refed when added to the queue and unrefed only once when the queue
12162         was flushed. Now the flush handler unref the buffers two times : first
12163         unref for the ref added when pushing in the queue's tail and second
12164         unref to destroy the flushed buffer.
12165
12166 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12167
12168         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12169
12170 2004-02-06  David Schleef  <ds@schleef.org>
12171
12172         * docs/random/ds/0.9-suggested-changes: Random ramblings
12173         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12174         to int before printing.
12175         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12176         * gst/parse/parse.l: same.  See bug #129600
12177
12178 2004-02-06  David Schleef  <ds@schleef.org>
12179
12180         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12181         (gst_index_add_entry), (gst_index_add_associationv),
12182         (gst_index_add_association): Add gst_index_add_associationv()
12183         and clean up gst_index_add_association(). #127133
12184
12185 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12186
12187         * autogen.sh: check out common with right tag if CVS/Tag exists
12188
12189 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12190
12191         * testsuite/ghostpads/ghostpads.c: (main):
12192           fix testsuite from segfaulting
12193
12194 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12195
12196         * Makefile.am: add release target
12197         * configure.ac: bump nano to 1
12198         * docs/random/release:
12199
12200 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12201
12202         * gst/gstcaps.h:
12203         * gst/gstelement.c: (gst_element_base_class_init),
12204         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12205         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12206         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12207         (gst_real_pad_dispose):
12208         * gst/gststructure.c: (gst_structure_free),
12209         (gst_structure_from_string):
12210           put reverted patch back in
12211         * gst/gstelement.c: (gst_element_remove_pad):
12212           free explicit caps if they're set
12213         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12214           copy the structure when fixating
12215
12216 2004-02-05  David Schleef  <ds@schleef.org>
12217
12218         * gst/gstmarshal.list:
12219         * gst/gstpad.c: (gst_real_pad_class_init),
12220         (_gst_real_pad_fixate_accumulator):
12221         Revert POINTER->BOXED change in signal marshaller.
12222
12223 === release 0.7.4 ===
12224                                                                                 
12225 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12226                                                                                 
12227         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12228         * configure.ac: changed for release
12229
12230 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12231
12232         * gstreamer.spec.in:
12233           bump required version of gtk-doc
12234
12235 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12236
12237         * gst/gstcaps.h:
12238         * gst/gstelement.c: (gst_element_base_class_init),
12239         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12240         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12241         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12242         (gst_real_pad_dispose):
12243         * gst/gststructure.c: (gst_structure_free),
12244         (gst_structure_from_string):
12245           revert patch that breaks applications, reapply after release
12246           to get this fixed properly
12247
12248 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12249
12250         * gst/gsttag.c: (_gst_tag_initialize):
12251         * gst/gsttag.h:
12252           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12253
12254 2004-02-04  David Schleef  <ds@schleef.org>
12255
12256         Fix some memleaks:
12257         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12258         (gst_spider_plug_from_srcpad):
12259         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12260
12261 2004-02-04  David Schleef  <ds@schleef.org>
12262
12263         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12264         a GstRealPad before accessing its structure members.
12265
12266 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12267
12268         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12269         (gst_clock_get_speed):
12270         * gst/gstclock.h:
12271           reset padding, remove unused fields
12272
12273 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12274
12275         * gst/autoplug/gstspideridentity.c:
12276         (gst_spider_identity_sink_loop_type_finding):
12277           use get_allowed_caps, not get_caps (fixes #132519)
12278         * gst/elements/gsttypefind.c: (stop_typefinding):
12279           use correct order when sending buffers and seeking
12280
12281 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12282
12283         * configure.ac:
12284         * gst/gstelement.h:
12285         * gst/gstpad.h:
12286         * gst/gstqueue.h:
12287           upgrade libtool CURRENT, reset padding
12288
12289 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12290
12291         * configure.ac:
12292           bump to prerelease
12293           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12294
12295 2004-02-04  David Schleef  <ds@schleef.org>
12296
12297         * docs/random/ds/0.9-suggested-changes: random notes
12298         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12299         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12300         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12301         expansion.
12302         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12303         (gst_filesink_get_query_types): same
12304         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12305         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12306         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12307         to use new GST_PTR_FORMAT.
12308         * gst/gstelement.h: deprecate function factory macros
12309         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12310         These are our last variadic macros that can't be replaced with
12311         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12312         attempting to deprecate gst_element_clock_wait().
12313         * gst/gstevent.h: same
12314         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12315         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12316         * gst/gstpad.h: deprecate function factory macros similar to above.
12317
12318 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12319
12320         * configure.ac:
12321         * tools/Makefile.am:
12322         * tools/gst-run.c: (popt_callback), (hash_print_key),
12323         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12324         (get_candidates), (main):
12325           add new source file to generate non-versioned wrapper binaries
12326           for our tools.
12327
12328 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12329
12330         * gst/gstevent.c: (_gst_event_free):
12331           actually break; inside the switch statement
12332         * gst/parse/grammar.y:
12333           fix memleak where GValues weren't unset
12334
12335 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12336
12337         * gst/gststructure.c: (gst_structure_from_string):
12338           fix huge memleak
12339         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12340         (new_entry), (gst_type_find_element_chain):
12341         * gst/gstelement.c: (gst_element_base_class_init),
12342         (gst_element_class_set_details):
12343         * gst/gstpad.c: (gst_pad_can_link_filtered):
12344           fix smaller memleaks
12345         * gst/gstpad.c: (gst_real_pad_dispose):
12346           check that explicit caps are gone
12347         * gst/gststructure.c: (gst_structure_free):
12348           actually free the structure
12349         * gst/gstelement.c: (gst_element_clear_pad_caps):
12350           unset explicit caps
12351
12352 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12353
12354         * tools/Makefile.am:
12355           use AM_CFLAGS since all the CFLAGS are the same
12356           use AM_LDFAGS
12357
12358 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12359
12360         * docs/manual/gnome.xml:
12361           expand example a little
12362         * gst/gst.c: (gst_init_with_popt_table),
12363         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12364           make sure popt option displays are done with right textdomain
12365           use GstPoptOption type
12366         * gst/gst.h:
12367           create GstPoptOption type
12368
12369 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12370
12371         * gst/gsterror.c: (_gst_stream_errors_init):
12372         * gst/gsterror.h:
12373           adding error type for no codec
12374         * po/POTFILES.in:
12375           add gst-inspect
12376         * po/nl.po:
12377           update dutch translation
12378         * tools/gst-inspect.c: (print_element_list), (main):
12379           do proper internationalization
12380         * tools/gst-launch.c: (idle_func):
12381           remove commented out function call
12382
12383 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12384
12385         * docs/README:
12386           add some error fixing notes
12387         * docs/gst/gstreamer-sections.txt:
12388           remove double entries
12389         * docs/gst/tmpl/gstbin.sgml:
12390         * docs/gst/tmpl/gstclock.sgml:
12391           remove override
12392         * docs/gst/tmpl/gstelement.sgml:
12393         * docs/gst/tmpl/gstindex.sgml:
12394         * docs/gst/tmpl/gstobject.sgml:
12395         * docs/gst/tmpl/gstpadtemplate.sgml:
12396         * docs/gst/tmpl/gstreamer-unused.sgml:
12397         * docs/gst/tmpl/gsttag.sgml:
12398         * docs/gst/tmpl/gstthread.sgml:
12399         * docs/gst/tmpl/gstxml.sgml:
12400         * gst/gsttag.h:
12401           sync header prototypes with c decls
12402         * gst/gsttaginterface.c:
12403           fix doc headers
12404
12405 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12406
12407         * gst/parse/Makefile.am:
12408         * gst/gstobject.h:
12409           get rid of gstmarshal.h dependency. It's not needed.
12410         * gst/gst.h:
12411         * gst/elements/gstfakesink.c:
12412         * gst/elements/gstfakesrc.c:
12413         * gst/elements/gstidentity.c:
12414         * gst/gstbin.c:
12415         * gst/gstelement.c:
12416         * gst/gstindex.c:
12417         * gst/gstobject.c:
12418         * gst/gstpad.c:
12419         * gst/gstthread.c:
12420         * gst/gstxml.c:
12421         * libs/gst/control/dparam.c:
12422         * libs/gst/control/dparammanager.c:
12423           include gstmarshal.h.
12424         Fixes #132045
12425
12426 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12427
12428         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12429         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12430         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12431         * gst/elements/gstfilesrc.h:
12432           don't ref the filesrc when creating mmaped buffers. Don't keep a
12433           list of not-yet-destroyed buffers.
12434         * gst/gstbuffer.h:
12435           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12436
12437 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12438
12439         * gst/gst.c: (init_pre):
12440           remove textdomain
12441
12442 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12443
12444         * docs/pwg/advanced-events.xml:
12445         * docs/pwg/advanced-scheduling.xml:
12446         * docs/pwg/intro-basics.xml:
12447         * docs/pwg/other-manager.xml:
12448         * docs/pwg/other-nton.xml:
12449         * docs/pwg/other-ntoone.xml:
12450         * docs/pwg/other-oneton.xml:
12451         * docs/pwg/pwg.xml:
12452           All sort of documentation... Forgot what. Point is that I want this
12453           in before I leave. The 'other-*' will be the last section and will
12454           explain issues specific to these type of elements.
12455
12456 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12457
12458         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12459         (gst_filesrc_get_read):
12460           set all the values on buffers that we can
12461
12462 2004-02-02  David Schleef  <ds@schleef.org>
12463
12464         Change usage of isblah() to g_ascii_isblah() to be more locale
12465         independent.  (#133076)
12466         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12467         * gst/gstutils.c:
12468         * gst/parse/parse.l:
12469
12470 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12471
12472         reviewed by: David Schleef  <ds@schleef.org>
12473
12474         Fix memory leaks:
12475         * gst/gstcaps.c: (gst_caps_to_string):
12476         * gst/registries/gstxmlregistry.c:
12477         (gst_xml_registry_add_path_list_func),
12478         (gst_xml_registry_parse_padtemplate):
12479
12480 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12481
12482         * gst/gstelement.c: (gst_element_default_error):
12483           suffix error messages with period
12484
12485 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12486
12487         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12488         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12489         * gst/gsterror.c: (gst_error_get_message):
12490           Suffix with dots
12491         * po/fr.po:
12492         * po/nl.po:
12493           Update translation files
12494
12495 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12496
12497         * gst/autoplug/gstspideridentity.c:
12498         (gst_spider_identity_sink_loop_type_finding):
12499         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12500         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12501         (gst_filesink_close_file), (gst_filesink_handle_event),
12502         (gst_filesink_chain):
12503         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12504         (gst_filesrc_get_read), (gst_filesrc_open_file):
12505         * gst/elements/gstidentity.c: (gst_identity_chain):
12506         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12507         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12508         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12509         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12510         * gst/gsterror.c: (_gst_core_errors_init),
12511         (_gst_library_errors_init), (_gst_resource_errors_init),
12512         (_gst_stream_errors_init), (gst_error_get_message):
12513         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12514         (gst_pad_recover_caps_error), (gst_pad_pull):
12515         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12516         * gst/schedulers/gstbasicscheduler.c:
12517         (gst_basic_scheduler_chainhandler_proxy),
12518         (gst_basic_scheduler_gethandler_proxy),
12519         (gst_basic_scheduler_cothreaded_chain):
12520           Suffix error messages with period.
12521           Use (NULL) instead of NULL
12522
12523 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12524
12525         * docs/gst/tmpl/gstelement.sgml:
12526         * docs/gst/tmpl/gstxml.sgml:
12527         * gst/gstelement.c: (gst_element_error_full):
12528           add element path to error
12529
12530 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12531
12532         * docs/random/mimetypes:
12533           update raw int/float info
12534         * gst/gsttag.c: (_gst_tag_initialize):
12535         * gst/gsttag.h:
12536           add GST_TAG_ENCODER
12537
12538 2004-01-30  David Schleef  <ds@schleef.org>
12539
12540         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12541           missing (#132991)
12542
12543 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12544
12545         reviewed by Benjamin Otte 
12546           parts of the patch submitted in bug #113913
12547
12548         * configure.ac:
12549           use AC_C_INLINE. Use = instead of == with test
12550         * examples/plugins/example.c:
12551         * gst/autoplug/gstspideridentity.c:
12552         * gst/elements/gstfdsrc.c:
12553         * gst/elements/gstfilesrc.c:
12554         * gst/elements/gstidentity.c:
12555         * gst/elements/gstmultidisksrc.c:
12556         * gst/elements/gststatistics.c:
12557         * gst/gstelement.c:
12558         * gst/gstobject.c:
12559         * gst/gstpad.c:
12560         * gst/gstpipeline.c:
12561         * gst/gstthread.c:
12562           don't end enums with a comma
12563         * gst/gstindex.c: (gst_index_compare_func):
12564           do explicit casting to gint
12565         * gst/gsttrace.c: (gst_trace_text_flush):
12566           #define strsize as a macro
12567
12568 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12569
12570         * docs/README:
12571         * docs/gst/gstreamer-docs.sgml:
12572         * docs/gst/gstreamer-sections.txt:
12573         * docs/gst/tmpl/gstelement.sgml:
12574         * docs/gst/tmpl/gsterror.sgml:
12575         * docs/gst/tmpl/gstinterface.sgml:
12576         * docs/gst/tmpl/gstreamer-unused.sgml:
12577         * docs/gst/tmpl/gststructure.sgml:
12578         * docs/gst/tmpl/gsttag.sgml:
12579         * docs/gst/tmpl/gsttaginterface.sgml:
12580         * docs/gst/tmpl/gstvalue.sgml:
12581         make sure all API ends up in the built docs
12582         * gst/gstinterface.c:
12583         * gst/gststructure.c: (gst_structure_id_set_value),
12584         (gst_structure_set_value), (gst_structure_id_get_value):
12585         * gst/gststructure.h:
12586         * gst/gstvalue.h:
12587         sync .h with .c declarations
12588
12589 2004-01-30  Julien Moutte  <julien@moutte.net>
12590
12591         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12592         Ronald will fix riffread.
12593
12594 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12595
12596         * docs/pwg/advanced-interfaces.xml:
12597           Added tuner interface docs.
12598
12599 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12600
12601         * docs/random/mimetypes:
12602           correct Theora information
12603         * gst/gstelement.h:
12604           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12605
12606 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12607
12608         * gst/gstelement.c: (gst_element_error_full):
12609         * gst/gstelement.h:
12610           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12611
12612 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12613
12614         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12615         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12616         again and even before DISCONT.
12617         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12618         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12619         bytestream so that it's not stopping to fill the bytestream if events
12620         different than EOS or DISCONT are received. Instead it process them so
12621         that they go downstream.
12622
12623 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12624
12625         * docs/gst/tmpl/gstelement.sgml:
12626         * docs/gst/tmpl/gstreamer-unused.sgml:
12627         * docs/gst/tmpl/gstxml.sgml:
12628         * gst/autoplug/gstspideridentity.c:
12629         (gst_spider_identity_sink_loop_type_finding):
12630         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12631         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12632         (gst_filesink_close_file), (gst_filesink_handle_event),
12633         (gst_filesink_chain):
12634         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12635         (gst_filesrc_get_read), (gst_filesrc_open_file):
12636         * gst/elements/gstidentity.c: (gst_identity_chain):
12637         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12638         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12639         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12640         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12641         * gst/gstelement.h:
12642         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12643         (gst_pad_recover_caps_error), (gst_pad_pull):
12644         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12645         * gst/schedulers/gstbasicscheduler.c:
12646         (gst_basic_scheduler_chainhandler_proxy),
12647         (gst_basic_scheduler_gethandler_proxy),
12648         (gst_basic_scheduler_cothreaded_chain):
12649           gst_element_error -> GST_ELEMENT_ERROR
12650
12651 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12652
12653         * docs/Makefile.am:
12654         * docs/gst/tmpl/gstelement.sgml:
12655         * docs/gst/tmpl/gstxml.sgml:
12656         * docs/manuals.mak:
12657         * docs/pwg/advanced-request.xml:
12658         * docs/pwg/advanced-scheduling.xml:
12659         * docs/pwg/advanced-tagging.xml:
12660           fix non-validating docbook using CDATA
12661           make sure make check-local gets run first to check if it validates
12662
12663 2004-01-29  Julien MOUTTE <julien@moutte.net>
12664
12665         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12666         handling (up and downstream).
12667         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12668         my_filter thing.
12669
12670 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12671
12672         * docs/pwg/advanced-tagging.xml:
12673           Add docs about tag writing.
12674
12675 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12676
12677         * docs/pwg/advanced-tagging.xml:
12678           Add a part about tag reading and application signalling... Tag
12679           writing still needs to be documented.
12680         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12681           We can set file locations in READY, too.
12682
12683 2004-01-29  Julien MOUTTE <julien@moutte.net>
12684
12685         * docs/random/ds/element-checklist: Adding some notes about src
12686         events.
12687
12688 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12689
12690         * docs/random/mimetypes:
12691           Update docs to point to correct elements for various mimetypes, and
12692           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12693           <stephane.loeuillet@tiscali.fr>.
12694
12695 2004-01-28  David Schleef  <ds@schleef.org>
12696
12697         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12698
12699 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12700
12701         * docs/random/mimetypes:
12702           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12703           undefined"
12704         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12705           make it only work in NULL.
12706         * gst/gstcaps.c:
12707           don't posion NULL caps
12708         * gst/gstelement.c: (gst_element_set_time):
12709           add debugging statement
12710         * gst/gstelement.c: (gst_element_emit_found_tag),
12711         (gst_element_found_tag_func), (gst_element_found_tags):
12712         * gst/gstelement.h:
12713           These functions take const taglists
12714         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12715           fix memleak
12716         * gst/gstpad.c: (gst_pad_event_default):
12717           make more effort on handling discont and clocks, g_warn if everything
12718           fails
12719         * gst/gststructure.c: (gst_structure_remove_fields),
12720         (gst_structure_remove_fields_valist):
12721         * gst/gststructure.h:
12722           add gst_structure_remove_fields(_valist)
12723         * gst/gsttag.c:
12724           fix doc glitch
12725
12726 2004-01-28  David Schleef  <ds@schleef.org>
12727
12728         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12729         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12730         Fix memory leakage of gst_caps_to_string().
12731
12732         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12733         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12734         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12735         (gst_spider_identity_sink_loop_type_finding):
12736         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12737         (find_suggest):
12738         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12739         (gst_pad_set_explicit_caps):
12740         * gst/parse/grammar.y:
12741
12742 2004-01-28  David Schleef  <ds@schleef.org>
12743
12744         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12745         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12746         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12747         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12748         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12749         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12750         (gst_debug_log_default), (_gst_info_printf_extension),
12751         (_gst_info_printf_extension_arginfo):  Add printf extension.
12752         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12753         * gst/gststructure.c: (gst_structure_to_string),
12754         (_gst_structure_parse_value): Use gst_value_deserialize() and
12755         remove old code.
12756         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12757         (gst_value_deserialize_boolean), (gst_strtoi),
12758         (gst_value_deserialize_int), (gst_value_deserialize_double),
12759         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12760         a bunch of deserialize functions and gst_value_deserialize.
12761         * gst/gstvalue.h: er, _de_serialize, not unserialize
12762         * testsuite/caps/string-conversions.c: (main): We don't currently
12763         handle (float) in caps, so convert these to (double).
12764         * testsuite/debug/Makefile.am: Add new test for the printf extension
12765         * testsuite/debug/printf_extension.c: (main): same
12766
12767 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12768
12769         * docs/random/company/time:
12770           Add some docs about clocking and time
12771
12772 2004-01-28  Julien MOUTTE <julien@moutte.net>
12773
12774         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12775
12776 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12777
12778         * docs/pwg/advanced-clock.xml:
12779         * docs/pwg/advanced-dparams.xml:
12780         * docs/pwg/advanced-events.xml:
12781         * docs/pwg/advanced-interfaces.xml:
12782         * docs/pwg/advanced-midi.xml:
12783         * docs/pwg/advanced-request.xml:
12784         * docs/pwg/advanced-scheduling.xml:
12785         * docs/pwg/advanced-tagging.xml:
12786         * docs/pwg/advanced-types.xml:
12787         * docs/pwg/appendix-checklist.xml:
12788         * docs/pwg/building-boiler.xml:
12789         * docs/pwg/building-chainfn.xml:
12790         * docs/pwg/building-filterfactory.xml:
12791         * docs/pwg/building-pads.xml:
12792         * docs/pwg/building-props.xml:
12793         * docs/pwg/building-signals.xml:
12794         * docs/pwg/building-state.xml:
12795         * docs/pwg/building-testapp.xml:
12796         * docs/pwg/intro-basics.xml:
12797         * docs/pwg/intro-preface.xml:
12798         * docs/pwg/other-autoplugger.xml:
12799         * docs/pwg/other-sink.xml:
12800         * docs/pwg/other-source.xml:
12801         * docs/pwg/titlepage.xml:
12802           fix up id's
12803
12804 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12805
12806         * docs/95NonPath:
12807         * docs/HACKING:
12808         * docs/README:
12809         * docs/building-the-docs-on-debian:
12810           collect relevant bits of doc info
12811
12812 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12813
12814         * docs/pwg/advanced_tagging.xml:
12815           Half-assed commit so Thomas can re-arrange document IDs here to be
12816           consistent, too.
12817
12818 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12819
12820         * docs/manual/autoplugging.xml:
12821         * docs/manual/bins-api.xml:
12822         * docs/manual/bins.xml:
12823         * docs/manual/buffers-api.xml:
12824         * docs/manual/buffers.xml:
12825         * docs/manual/clocks.xml:
12826         * docs/manual/components.xml:
12827         * docs/manual/cothreads.xml:
12828         * docs/manual/debugging.xml:
12829         * docs/manual/dparams-app.xml:
12830         * docs/manual/dynamic.xml:
12831         * docs/manual/elements-api.xml:
12832         * docs/manual/elements.xml:
12833         * docs/manual/factories.xml:
12834         * docs/manual/gnome.xml:
12835         * docs/manual/goals.xml:
12836         * docs/manual/helloworld.xml:
12837         * docs/manual/helloworld2.xml:
12838         * docs/manual/init-api.xml:
12839         * docs/manual/intro.xml:
12840         * docs/manual/links-api.xml:
12841         * docs/manual/links.xml:
12842         * docs/manual/manual.xml:
12843         * docs/manual/motivation.xml:
12844         * docs/manual/pads-api.xml:
12845         * docs/manual/pads.xml:
12846         * docs/manual/plugins-api.xml:
12847         * docs/manual/plugins.xml:
12848         * docs/manual/programs.xml:
12849         * docs/manual/queues.xml:
12850         * docs/manual/quotes.xml:
12851         * docs/manual/schedulers.xml:
12852         * docs/manual/states-api.xml:
12853         * docs/manual/states.xml:
12854         * docs/manual/threads.xml:
12855         * docs/manual/typedetection.xml:
12856         * docs/manual/xml.xml:
12857           use chapter, part, section or misc as id starts for all bits
12858
12859 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12860
12861         * docs/gst/gstreamer-sections.txt:
12862           Fix up TITLE of the sections
12863
12864 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12865
12866         * docs/pwg/advanced_interfaces.xml:
12867           Add documentation on propertyprobing.
12868         * docs/pwg/advanced_events.xml:
12869         * docs/pwg/advanced_tagging.xml:
12870         * docs/pwg/building_boiler.xml:
12871         * docs/pwg/building_filterfactory.xml:
12872         * docs/pwg/pwg.xml:
12873           Move filterfactory and tagging into their own chapter, add a chapter
12874           on events. all these are empty placeholders that will be filled in
12875           some day.
12876
12877 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12878
12879         * docs/pwg/advanced_interfaces.xml:
12880           Docs for mixer interface. Also a check for website uploading.
12881
12882 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12883
12884         * docs/HACKING:
12885         * docs/Makefile.am:
12886         * docs/faq/Makefile.am:
12887         * docs/gst/Makefile.am:
12888         * docs/gst/tmpl/gstelement.sgml:
12889         * docs/gst/tmpl/gstplugin.sgml:
12890         * docs/gst/tmpl/gstreamer-unused.sgml:
12891         * docs/libs/Makefile.am:
12892         * docs/manual/Makefile.am:
12893         * docs/manuals.mak:
12894         * docs/pwg/Makefile.am:
12895         * docs/upload.mak:
12896           Separate out upload target and make it similar for
12897           both docbook and gtk-doc docs
12898
12899 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12900
12901         * docs/manuals.mak:
12902           Fix upload target to work with freedesktop
12903
12904 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12905
12906         * docs/pwg/advanced_types.xml:
12907           Add notes on creating your own types.
12908         * docs/pwg/building_boiler.xml:
12909         * docs/pwg/building_pads.xml:
12910         * docs/pwg/building_state.xml:
12911           Add some stuff about how to retrieve values from structures, how
12912           that relates to types and change layout slightly again to be almost
12913           perfect.
12914
12915 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12916
12917         * docs/pwg/advanced_dparams.xml:
12918         * docs/pwg/advanced_scheduling.xml:
12919           Change index layout slightly.
12920
12921 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12922
12923         * docs/pwg/advanced_clock.xml:
12924         * docs/pwg/advanced_interfaces.xml:
12925         * docs/pwg/advanced_midi.xml:
12926           General placeholders for now.
12927         * docs/pwg/advanced_request.xml:
12928           Explanation about sometimes and request pads.
12929         * docs/pwg/advanced_scheduling.xml:
12930           Concept of bytestream, loopfunctions and schedulers.
12931         * docs/pwg/building_boiler.xml:
12932           Add something about plugin-init.
12933
12934 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12935
12936         * docs/pwg/building_pads.xml:
12937           Fix broken docbook
12938
12939 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12940
12941         * docs/pwg/advanced_interfaces.xml:
12942         * docs/pwg/pwg.xml:
12943           Add as a placeholder for future filling-in.
12944         * docs/pwg/basics_autoplugging.xml:
12945         * docs/pwg/basics_buffers.xml:
12946         * docs/pwg/basics_elements.xml:
12947         * docs/pwg/basics_events.xml:
12948         * docs/pwg/basics_plugins.xml:
12949         * docs/pwg/basics_types.xml:
12950           Remove, because unused (this is all in intro_basics.xml).
12951         * docs/pwg/building_signals.xml:
12952           Short intro to signals + reference to GObject docs - we really
12953           shouldn't go into these sort of things to deply because we don't
12954           use them that extensively anyway.
12955         * docs/pwg/building_state.xml:
12956           Explanation of states. Benjamin, please check.
12957         * docs/pwg/building_testapp.xml:
12958           Put everything in one page - putting only a few lines of content
12959           per page doesn't really make sense.
12960
12961           Time to get into the advanced topics. ;).
12962
12963 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12964
12965         * docs/pwg/advanced_types.xml:
12966           Finish documenting the current state of mimetypes.
12967         * docs/pwg/building_boiler.xml:
12968         * docs/pwg/building_chainfn.xml:
12969         * docs/pwg/building_pads.xml:
12970         * docs/pwg/building_props.xml:
12971         * docs/pwg/building_testapp.xml:
12972           Start documenting the "how to build a simple audio filter" part
12973           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12974           states and (maybe?) a short introduction to capsnego in the chapter
12975           on pads (building_pads.xml). Capsnego should probably be explained
12976           fully in advanced_capsnego.xml or so.
12977
12978 2004-01-26  David Schleef  <ds@schleef.org>
12979
12980         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12981         * gst/gstpad.h: Add new function to allow element to (somewhat)
12982         specify non-fixed caps on a pad.
12983         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12984         that I added a few weeks ago.
12985
12986 2004-01-26  David Schleef  <ds@schleef.org>
12987
12988         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12989           making try_set_caps() work with non-fixed caps.
12990
12991 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12992
12993         * docs/pwg/advanced_types.xml:
12994         * docs/pwg/intro_basics.xml:
12995         * docs/pwg/intro_preface.xml:
12996         * docs/pwg/pwg.xml:
12997         * docs/pwg/titlepage.xml:
12998           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12999           in here (docs/random/mimetypes), and will from there on work on both
13000           updating outdated parts and adding missing parts.
13001           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13002
13003 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13004
13005         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13006           policy is set
13007
13008 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13009
13010         * gst/gstelement.h:
13011           remove gst_element_factory_get_version. It doesn't exist anymore.
13012         * gst/gstplugin.c:
13013         * gst/gstplugin.h:
13014           remove gst_plugin_set_name and change gst_plugin_get_longname to
13015           gst_plugin_get_description to match code.
13016         * gst/gsterror.h:
13017           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13018         * gst/gstpad.c: (gst_pad_try_set_caps):
13019           make it work with nonfixed caps.
13020           Note that even in the nonfixed case the link function of the pad
13021           that tries to set caps isn't called.
13022
13023 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13024
13025         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13026           fix bug where buffer was not assembled correctly
13027         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13028           silence by default
13029         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13030           only seek if there's no more buffers that could work without seeking
13031
13032 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13033
13034         * gst/gsttag.c: (_gst_tag_initialize):
13035         * gst/gsttag.h:
13036           Add application tag (for encoding/muxing app).
13037
13038 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13039
13040         * autogen.sh:
13041           make autopoint force, and libtoolize not copy
13042         * common/m4/as-docbook.m4:
13043           added docbook xml catalog setup check
13044         * common/m4/gst-doc.m4:
13045           use docbook check
13046
13047 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13048
13049         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13050         * gst/gsttag.h:
13051           add GstTagFlag
13052
13053 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13054
13055         * docs/gst/gstreamer-sections.txt:
13056         * docs/gst/tmpl/gst.sgml:
13057         * docs/gst/tmpl/gstbuffer.sgml:
13058         * docs/gst/tmpl/gstclock.sgml:
13059         * docs/gst/tmpl/gstelement.sgml:
13060         * docs/gst/tmpl/gstreamer-unused.sgml:
13061         * docs/gst/tmpl/gstxml.sgml:
13062           sync latest API changes to docs
13063
13064 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13065
13066         * gst/gstpluginfeature.c:
13067           fix doc snippet
13068         * tools/gst-inspect.c: (print_element_list):
13069           fix output of typefind
13070           add GPL header
13071         * tools/gst-launch.c:
13072           add GPL header
13073
13074 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13075
13076         * gst/elements/Makefile.am:
13077         * gst/elements/gstelements.c:
13078         * gst/elements/gsttypefindelement.c:
13079         * gst/elements/gsttypefindelement.h:
13080         * po/POTFILES.in:
13081         * po/fr.po:
13082         * po/nl.po:
13083           renamed gsttypefindelement to gsttypefind, conserving CVS history
13084
13085 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13086
13087         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13088         * gst/gsttag.h:
13089           add some tags used in ogg as well
13090           fix _ in replaygain tags
13091
13092 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13093
13094         * gst/gsterror.h:
13095           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13096
13097 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13098
13099         * gst/gstelement.c: (gst_element_error_full):
13100         * gst/gstelement.h:
13101           change _extended to _full
13102
13103 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13104
13105         reviewed by: <delete if not using a buddy>
13106
13107         * docs/gst/tmpl/gst.sgml:
13108         * docs/gst/tmpl/gstbuffer.sgml:
13109         * docs/gst/tmpl/gstclock.sgml:
13110         * docs/gst/tmpl/gstelement.sgml:
13111         * docs/gst/tmpl/gstreamer-unused.sgml:
13112         * docs/gst/tmpl/gstxml.sgml:
13113         * gst/gstelement.c: (gst_element_error_full):
13114         * gst/gstelement.h:
13115
13116 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13117
13118         * gst/gstelement.h: fix _gst_element_error_printf prototype
13119
13120 2004-01-20  David Schleef  <ds@schleef.org>
13121
13122         * gst/gststructure.c: (gst_structure_to_string):
13123         Convert function to use gst_value_serialize().
13124         * gst/gstvalue.c: (gst_value_serialize_list),
13125         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13126         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13127         (gst_value_serialize_int), (gst_value_serialize_double),
13128         (gst_string_wrap), (gst_value_serialize_string),
13129         (gst_value_serialize), (gst_value_deserialize):
13130         * gst/gstvalue.h:
13131         Add implementations for serialize.
13132
13133 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13134
13135         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13136         we want to keep that one in the future or change xvidenc.c to use 
13137         another error.
13138
13139 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13140
13141         * gst/gstelement.c: (_gst_element_error_printf):
13142         * gst/gstelement.h:
13143           privatise function
13144
13145 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13146
13147         * docs/random/error:
13148           doc explaining error system
13149         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13150           cleanup
13151
13152 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13153
13154         * gst/gst-i18n-app.h:
13155         * gst/gst-i18n-lib.h:
13156           remove inclusion of config.h
13157         * po/POTFILES.in:
13158         * po/nl.po:
13159           add gst/gstelement.c
13160
13161 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13162
13163         * po/nl.po: updated Dutch translation
13164
13165 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13166
13167         * gst/gsterror.c: (_gst_core_errors_init),
13168         (_gst_library_errors_init), (_gst_resource_errors_init),
13169         (_gst_stream_errors_init):
13170         remove ending punctuation dots
13171
13172 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13173
13174         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13175         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13176         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13177         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13178         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13179         use GST_ERROR_SYSTEM
13180
13181 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13182
13183         * gst/gstelement.c: (gst_element_error_printf),
13184         (gst_element_error_extended):
13185         * gst/gstelement.h:
13186           add a helper printf function so we can have NULL values passed.
13187
13188 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13189
13190         * gst/gstelement.h:
13191           add G_STMT macros to gst_element_error, which isn't strictly
13192           necessary but people tell me to anyway.
13193
13194 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13195
13196         * gst/Makefile.am:
13197         * gst/autoplug/gstspideridentity.c:
13198         (gst_spider_identity_sink_loop_type_finding):
13199         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13200         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13201         (gst_filesink_close_file), (gst_filesink_handle_event),
13202         (gst_filesink_chain):
13203         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13204         (gst_filesrc_map_region), (gst_filesrc_get_read),
13205         (gst_filesrc_open_file):
13206         * gst/elements/gstidentity.c: (gst_identity_chain):
13207         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13208         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13209         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13210         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13211         * gst/gst.h:
13212         * gst/gst_private.h:
13213         * gst/gstelement.c: (gst_element_class_init),
13214         (gst_element_default_error), (gst_element_error_func),
13215         (gst_element_error_extended):
13216         * gst/gstelement.h:
13217         * gst/gsterror.c: (_gst_core_errors_init),
13218         (_gst_library_errors_init), (_gst_resource_errors_init),
13219         (_gst_stream_errors_init), (gst_error_get_message):
13220         * gst/gsterror.h:
13221         * gst/gstinfo.c: (_gst_debug_init):
13222         * gst/gstmarshal.list:
13223         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13224         (gst_pad_recover_caps_error), (gst_pad_pull):
13225         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13226         * gst/schedulers/gstbasicscheduler.c:
13227         (gst_basic_scheduler_chainhandler_proxy),
13228         (gst_basic_scheduler_gethandler_proxy),
13229         (gst_basic_scheduler_cothreaded_chain):
13230         * po/POTFILES.in:
13231         * po/fr.po:
13232         * po/nl.po:
13233           change error signal
13234           add error categories
13235
13236 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13237
13238         * gst/gsttag.c: (_gst_tag_initialize):
13239         * gst/gsttag.h:
13240         Add replaygain tag
13241
13242 2004-01-18  Colin Walters  <walters@verbum.org>
13243
13244         * examples/retag/retag.c: Call gst_init before processing
13245         program args.  Add g_assert to _link_many call.
13246
13247 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13248
13249         * gst/gstpad.c: (gst_pad_alloc_buffer):
13250           Return a newly allocated buffer when the pad has no peer.
13251
13252 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13253
13254         * gst/gstclock.c: (gst_clock_get_time):
13255           make it compile with gcc 2.95 again.
13256           Patch by Scott Wheeler
13257
13258 2004-01-15  David Schleef  <ds@schleef.org>
13259
13260         * gst/gstcaps.h:
13261         Added gst_caps_is_simple() macro.
13262         * testsuite/caps/caps.c: (test1):
13263         * testsuite/caps/intersect2.c: (main):
13264         * testsuite/caps/intersection.c: (main):
13265         Fixes to make 'make check' work again after removing
13266         gst_caps_is_chained().
13267
13268 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13269
13270         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13271         and additions to the MIDI document.
13272
13273 2004-01-15  David Schleef  <ds@schleef.org>
13274
13275         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13276         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13277         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13278
13279 2004-01-15  David Schleef  <ds@schleef.org>
13280
13281         * gst/gstqueue.c:
13282         * gst/gstqueue.h:
13283         Fix the spelling of "treshold" and make min_threshold actually
13284         affect the queue.
13285
13286 2004-01-15  David Schleef  <ds@schleef.org>
13287
13288         * gst/gstcaps.c:
13289         Add lots of documentation.
13290         * gst/gstcaps.h:
13291         Deprecate a few functions.
13292         * gst/gstpad.c:
13293         Removed use of deprecated functions.
13294
13295 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13296
13297         * gst/gstpad.c: (gst_pad_is_linked):
13298         * gst/gstpad.h:
13299           implement gst_pad_is_linked
13300         * gst/gstelement.h:
13301           reserve space for initiate_state_change
13302
13303 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13304
13305         * gst/autoplug/gstspideridentity.c:
13306         (gst_spider_identity_sink_loop_type_finding):
13307           break infinite loop by just returning instead of looping
13308         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13309           set event time difference correctly. Set it to 1 second instead
13310           of 100ms to be more tolerant
13311         * gst/gstelement.c: (gst_element_set_time):
13312           add debugging output
13313
13314 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13315
13316         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13317           query if buffers are inside the pool, ignore events
13318
13319 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13320
13321         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13322         (gst_clock_set_speed), (gst_clock_set_active),
13323         (gst_clock_is_active), (gst_clock_reset),
13324         (gst_clock_handle_discont):
13325         * gst/gstclock.h:
13326           deprecate old interface and disable functions that aren't in use
13327           anymore.
13328         * gst/gstelement.h:
13329         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13330         (gst_element_set_time), (gst_element_adjust_time):
13331           add concept of "element time" and functions to get/set this time.
13332         * gst/gstelement.c: (gst_element_change_state):
13333           update element time correctly.
13334         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13335           This is a debug message, not a g_critical.
13336         * gst/gstpad.c: (gst_pad_event_default):
13337           handle discontinuous events right with element time.
13338         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13339           update to clocking fixes.
13340           set clocks on elements in READY=>PAUSED. The old behaviour caused
13341           a wrong element time on the first element that started playing.
13342         * gst/schedulers/gstbasicscheduler.c:
13343         (gst_basic_scheduler_class_init):
13344         * gst/schedulers/gstoptimalscheduler.c:
13345         (gst_opt_scheduler_class_init):
13346           remove code that just implements the default behaviour.
13347         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13348           update to use new clocking functions
13349         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13350         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13351           update to test new element time.
13352         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13353           use _get_allowed_caps instead of _get_caps. This catches filtered
13354           caps correctly.
13355         * testsuite/debug/commandline.c:
13356           update for new GST_DEBUG syntax.
13357         * testsuite/threads/Makefile.am:
13358           disable a test that only works sometimes.
13359
13360 2004-01-13  Julien MOUTTE <julien@moutte.net>
13361
13362         * po/LINGUAS: Adding fr.
13363         * po/fr.po: Adding french translation.
13364
13365 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13366
13367         * gst/parse/grammar.y:
13368         * po/POTFILES.in:
13369         * po/nl.po:
13370         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13371           translate parsing error messages
13372
13373 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13374
13375         * po/POTFILES.in: adding gst-launch
13376         * po/nl.po: updated translation, all 99 strings translated
13377         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13378         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13379           fix strings for translation
13380
13381 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13382
13383         * gst/gst.c:
13384           - capitalize beginnings of popt options
13385           - fix strings for translation
13386           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13387
13388 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13389
13390         * po/README: add some notes on how to update translations
13391
13392 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13393
13394         * ABOUT-NLS: removed, is autogenerated from autopoint
13395         * autogen.sh: add autopoint stuff
13396         * configure.ac: fix up gettext stuff
13397         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13398         * gst/elements/gsttypefindelement.c: add header include
13399         * gst/gettext.h: add header, copy from system-installed header
13400         * gst/gst-i18n-app.h: to be included by each app having translations
13401         * gst/gst-i18n-lib.h: to be included by each lib having translations
13402         * gst/gst.c: (init_pre): fix up gettext calls
13403         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13404         * po/LINGUAS: the new way to specify translations present
13405         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13406         * po/Makevars: the variables filled in for GStreamer
13407         * po/POTFILES.in: added new files with translations
13408         * po/de.po: has new strings
13409         * po/nl.po: readded, has new strings
13410
13411 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13412
13413         * gst/gsttag.c: fix some strings marked for translation
13414
13415 2004-01-13  Iain <iain@prettypeople.org>
13416
13417         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13418         group when we add an element to it, cos we unref it when we remove one
13419
13420 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13421
13422         * testsuite/debug/commandline.c: (debug_not_reached):
13423         * testsuite/debug/output.c: (check_message):
13424           fix testsuite
13425
13426 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13427
13428         * examples/cutter/.cvsignore:
13429         * examples/helloworld/.cvsignore:
13430         * examples/launch/.cvsignore:
13431         * examples/manual/.cvsignore:
13432         * examples/mixer/.cvsignore:
13433         * examples/pingpong/.cvsignore:
13434         * examples/plugins/.cvsignore:
13435         * examples/queue/.cvsignore:
13436         * examples/queue2/.cvsignore:
13437         * examples/queue3/.cvsignore:
13438         * examples/queue4/.cvsignore:
13439         * examples/retag/.cvsignore:
13440         * examples/thread/.cvsignore:
13441         * examples/typefind/.cvsignore:
13442         * examples/xml/.cvsignore:
13443         * gst/.cvsignore:
13444         * gst/autoplug/.cvsignore:
13445         * gst/elements/.cvsignore:
13446         * gst/indexers/.cvsignore:
13447         * gst/parse/.cvsignore:
13448         * gst/registries/.cvsignore:
13449         * gst/schedulers/.cvsignore:
13450         * libs/gst/bytestream/.cvsignore:
13451         * libs/gst/control/.cvsignore:
13452         * libs/gst/getbits/.cvsignore:
13453         * tests/.cvsignore:
13454         * tests/bufspeed/.cvsignore:
13455         * tests/instantiate/.cvsignore:
13456         * tests/memchunk/.cvsignore:
13457         * tests/muxing/.cvsignore:
13458         * tests/sched/.cvsignore:
13459         * tests/seeking/.cvsignore:
13460         * tests/threadstate/.cvsignore:
13461         * testsuite/.cvsignore:
13462         * testsuite/caps/.cvsignore:
13463         * testsuite/cleanup/.cvsignore:
13464         * testsuite/dynparams/.cvsignore:
13465         * testsuite/plugin/.cvsignore:
13466         * tools/.cvsignore:
13467           update - this is huge, because it includes *.bb, *.bbg and *.da files
13468           which are generated for gcov.
13469
13470 2004-01-11  David Schleef  <ds@schleef.org>
13471
13472         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13473         a function to parse integers in ways that strto[u]l() does not.
13474
13475 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13476
13477         * tools/gst-inspect.c: (print_caps):
13478           improve output of caps a bit
13479
13480 2004-01-11  David Schleef  <ds@schleef.org>
13481
13482         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13483         inherit correct flags (READONLY and DONTKEEP).
13484
13485 2004-01-11  David Schleef  <ds@schleef.org>
13486
13487         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13488         (gst_filesrc_map_region):
13489         * gst/gstbuffer.c: (_gst_buffer_initialize),
13490         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13491         (gst_buffer_new), (gst_buffer_create_sub),
13492         (gst_buffer_is_span_fast), (gst_buffer_span):
13493         * gst/gstbuffer.h:
13494         Change GstBuffer private structure element names. (all files)
13495         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13496         (gst_queue_link):
13497         * gst/gstqueue.h:
13498         Implement getcaps/pad_link functions that handle the case where
13499         there are data in the queue.
13500
13501 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13502
13503         * gst/elements/gstbufferstore.c:
13504           initialize debugging structure correctly
13505         * gst/elements/gsttee.c: (gst_tee_set_property):
13506           g_object_notify when property was changed
13507         * gst/elements/gsttypefindelement.c:
13508         (gst_type_find_element_change_state):
13509           clear caps correctly
13510
13511 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13512
13513         * gst/gstqueue.c: (gst_queue_init):
13514           Use better defaults for when a queue should block. This
13515           gets rid of jerky playback for quite a few files.
13516           It takes more memory.
13517
13518 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13519
13520         (gst_xml_registry_parse_padtemplate):
13521           make critical message slightly more useful
13522
13523 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13524
13525         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13526         (gst_debug_message_get), (gst_debug_log_default):
13527         * gst/gstinfo.h:
13528           Change gst_debug_log(_valist) to take a const format string.
13529           Change prototype of log function and functions using those to 
13530           take a GstDebugMessage instead of a string that requires using
13531           gst_debug_message_get.
13532
13533 2004-01-08  David Schleef  <ds@schleef.org>
13534
13535         * Makefile.am:
13536         * configure.ac:
13537         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13538         and -ftest-coverage, which allows gcov to show information about
13539         testsuite coverage.
13540
13541 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13542
13543         * gst/gstutils.h:
13544           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13545           GST_PARENT_CALL_WITH_DEFAULT
13546         * gst/elements/gstaggregator.c: 
13547         * gst/elements/gstbufferstore.c: 
13548         * gst/elements/gstfakesink.c: 
13549         * gst/elements/gstfakesrc.c: 
13550         * gst/elements/gstfdsink.c: 
13551         * gst/elements/gstfdsrc.c: 
13552         * gst/elements/gstfilesink.c: 
13553         * gst/elements/gstfilesrc.c: 
13554         * gst/elements/gstidentity.c: 
13555         * gst/elements/gstmd5sink.c: 
13556         * gst/elements/gstmultidisksrc.c:
13557         * gst/elements/gstpipefilter.c: 
13558         * gst/elements/gstshaper.c:
13559         * gst/elements/gststatistics.c:
13560         * gst/elements/gsttee.c:
13561         * gst/elements/gsttypefindelement.c:
13562           use them.
13563
13564 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13565
13566         * docs/gst/gstreamer-docs.sgml: remove props
13567         * docs/gst/gstreamer-sections.txt: remove props
13568         * docs/gst/tmpl/gst.sgml:
13569         * docs/gst/tmpl/gstbin.sgml:
13570         * docs/gst/tmpl/gstbuffer.sgml:
13571         * docs/gst/tmpl/gstcaps.sgml:
13572         * docs/gst/tmpl/gstclock.sgml:
13573         * docs/gst/tmpl/gstelement.sgml:
13574         * docs/gst/tmpl/gstindex.sgml:
13575         * docs/gst/tmpl/gstobject.sgml:
13576         * docs/gst/tmpl/gstpad.sgml:
13577         * docs/gst/tmpl/gstpadtemplate.sgml:
13578         * docs/gst/tmpl/gstreamer-unused.sgml:
13579         * docs/gst/tmpl/gstthread.sgml:
13580         * docs/gst/tmpl/gstxml.sgml:
13581           sync with code reorganization
13582
13583 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13584
13585         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13586         Make the 'Could not find compatible pad' message more informative.
13587
13588 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13589                                                                                 
13590         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13591           Fix for if we pass NULL as property to location.
13592         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13593         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13594           Fix for instantiate-test (see below).
13595         * gst/gststructure.c: (_gst_structure_parse_value):
13596           Fix compile error on gcc-2.96.
13597         * configure.ac:
13598         * tests/Makefile.am:
13599         * tests/instantiate/Makefile.am:
13600         * tests/instantiate/create.c: (create_all_elements), (main):
13601           Add a test that instantiates all elements. This makes it easy to
13602           track dead code for old API/design (like setting event functions
13603           on sink pads and so on).
13604
13605 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13606
13607         * gst/gstcaps.c: (gst_caps_append_structure):
13608           Move the poisoning to allow a NULL structure
13609         * gst/gstevent.c: (_gst_event_free):
13610           When freeing a navigation event, free the structure
13611           also
13612
13613 2004-01-04  David Schleef  <ds@schleef.org>
13614
13615         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13616         Remove usage of gst_pad_proxy_fixate.
13617         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13618         (gst_caps_split_one), (gst_caps_replace):
13619         Add poisoning code.
13620         * gst/gstmarshal.list:
13621         Add pointer__pointer for fixate signal
13622         * gst/gstpad.c: (gst_real_pad_class_init),
13623         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13624         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13625         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13626         Add poisoning code. Add fixate signal on RealPad. Change
13627         set_explicit_caps() to take const GstCaps, like try_set_caps().
13628         * gst/gstpad.h:
13629         * testsuite/caps/Makefile.am:
13630         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13631
13632 2004-01-03  David Schleef  <ds@schleef.org>
13633
13634         * gst/elements/gsttypefindelement.c:
13635         (gst_type_find_element_have_type), (gst_type_find_element_init):
13636         Use gst_pad_use_explicit_caps for src pad.
13637         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13638         before using it.
13639
13640 2004-01-03  David Schleef  <ds@schleef.org>
13641
13642         * gst/gstelement.c: (gst_element_link_pads_filtered),
13643         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13644         that linking was successful.
13645         * gst/gstpad.c: (gst_pad_link_free),
13646         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13647         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13648         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13649         GstPadLinkReturn correctly between functions, and don't fail
13650         when DELAYED is used (DELAYED is very important).  Better
13651         cleanup on unlinking and unnegotiation.  Should fix some spider
13652         bugs.
13653
13654 2004-01-02  David Schleef  <ds@schleef.org>
13655
13656         * gst/gstelement.c: (gst_element_class_init),
13657         (gst_element_base_class_init): ->padtemplates should be cleared
13658         in base_init, since we need to have a fresh list for every
13659         class.  (Alternately, we chould copy the list and share the
13660         actual pad templates (not the list), but that would require
13661         changing every plugin to move pad template registration from
13662         base_init to class_init.)
13663
13664 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13665
13666         * gst/gstelement.c: (gst_element_class_add_pad_template):
13667           Refuse registering a pad template if another pad template
13668           with the same name already exists (#114715).
13669
13670 2004-01-02  David Schleef  <ds@schleef.org>
13671
13672         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13673         (gst_caps_is_equal_fixed): Add new function.
13674         * gst/gstcaps.h: ditto.
13675         * gst/gstpad.c: (gst_real_pad_class_init),
13676         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13677         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13678         check new caps against existing caps -- if they're the same, return
13679         OK without renegotiating.  caps-nego-failed signal fixed so that
13680         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13681         to save an extra caps copy.  Don't complete negotiation if a pad
13682         link function returns DELAYED.
13683
13684 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13685
13686         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13687           Fix wrong g_return_if_fail
13688
13689 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13690
13691         * gst/gstbin.c: (gst_bin_class_init):
13692         Change the marshalling of element_added/element_removed
13693         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13694         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13695
13696 2004-01-01  David Schleef  <ds@schleef.org>
13697
13698         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13699         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13700         (gst_pad_use_explicit_caps):
13701         * gst/gstpad.h:
13702         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13703         to use an internal getcaps and link fuction so that negotiation
13704         always results in the explicitly set caps.
13705         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13706         are particularly useful for decoders.
13707
13708 2003-12-31  David Schleef  <ds@schleef.org>
13709
13710         * gst/elements/gstidentity.c: (gst_identity_class_init),
13711         (gst_identity_init), (gst_identity_chain),
13712         (gst_identity_set_property), (gst_identity_get_property):
13713         * gst/elements/gstidentity.h:
13714         * gst/gstqueue.c: (gst_queue_init):
13715           Negotiation fixes.
13716
13717 2003-12-31  David Schleef  <ds@schleef.org>
13718
13719         * gst/gstcaps.c: (gst_caps_intersect),
13720         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13721           Implement gst_caps_normalize().
13722         * testsuite/caps/normalisation.c: (main):
13723           Add an additional test
13724
13725 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13726
13727         * gst/gstqueue.c: (gst_queue_init):
13728           use gst_pad_proxy_getcaps()
13729
13730 2003-12-31  David Schleef  <ds@schleef.org>
13731
13732         * gst/elements/gstshaper.c: (gst_shaper_link):
13733         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13734         * gst/gstqueue.c: (gst_queue_link):
13735           Negotiation fixes.
13736
13737 2003-12-31  David Schleef  <ds@schleef.org>
13738
13739         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13740         * gst/gstpad.h: Add functions that are useful as default pad
13741         link and fixate functions for elements.
13742
13743 2003-12-30  David Schleef  <ds@schleef.org>
13744
13745         * gst/gstpad.c: (gst_pad_link_try):
13746           Fix segfault when attempting to return to old caps
13747
13748 2003-12-29  David Schleef  <ds@schleef.org>
13749
13750         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13751         (gst_caps_structure_simplify), (gst_caps_simplify):
13752         * gst/gstcaps.h:
13753           Add simplify function
13754         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13755         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13756         * gst/gstpad.h:
13757           Copy over srcnotify, sinknotify when calling old pad_link
13758           functions.  Add new is_negotiated() function.
13759         * gst/gststructure.c: (gst_structure_copy):
13760           Fix an incredibly stupid bug that should have been noticed
13761           weeks ago.  _copy() returned the argument, not the new copy.
13762
13763 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13764
13765         * gst/gstcaps.c: (gst_caps_append):
13766           add sanity checks
13767         * gst/gstcaps.h: (gst_caps_debug):
13768           remove, it doesn't exist anymore.
13769         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13770         (gst_element_threadsafe_properties_post_run):
13771           make debugging messages not clutter up THREAD debug category
13772         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13773         (gst_element_change_state):
13774           update to new caps API
13775         * gst/gstinterface.c: (gst_implements_interface_cast):
13776           don't put vital code in g_return_if_fail
13777         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13778         (gst_pad_link_filtered):
13779           add pst_pad_try_link and use it.
13780         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13781           implement correctly, deprecate first one.
13782         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13783           add and implement.
13784         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13785           implement.
13786         (gst_pad_get_negotiated_caps):
13787           add and implement. Make GST_PAD_CAPS call this function.
13788         (gst_pad_get_caps):
13789           remove unneeded check..
13790         (gst_pad_recover_caps_error):
13791           disable, always return FALSE.
13792         (gst_real_pad_dispose):
13793           don't free caps and appfilter anymore, they're unused.
13794         * gst/gstpad.h:
13795           Reflect changes mentioned above.
13796         * gst/gstsystemclock.c: (gst_system_clock_wait):
13797           Make 'clock is way behind' a debugging message.
13798         * gst/gstthread.c: (gst_thread_change_state):
13799           Fix debugging message
13800
13801 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13802
13803         * gst/gstinfo.h:
13804           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13805         * docs/gst/tmpl/gstreamer-unused.sgml:
13806           removed all traces of cvs conflicts
13807
13808 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13809
13810         * configure.ac:
13811         * gst/schedulers/cothreads_compat.h:
13812         * libs/Makefile.am:
13813           remove last instances of wingo cothread usage
13814
13815 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13816
13817         * gst/gstplugin.c:
13818         * gst/gstversion.h.in:
13819         * gst/parse/grammar.y:
13820           change comment block from /** to /* when not gtk-doc comments
13821
13822 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13823
13824         * gst/gst.c: whitespace and doc style fixes
13825
13826 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13827
13828         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13829
13830 2003-12-24  Colin Walters  <walters@verbum.org>
13831
13832         * gst/elements/gsttypefindelement.c:
13833           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13834           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13835           Don't double-free caps.
13836
13837 2003-12-23  David Schleef  <ds@schleef.org>
13838
13839         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13840           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13841           Many little fixes and additions of debug statements to
13842           get rhythmbox working.
13843
13844 2003-12-23  Colin Walters  <walters@verbum.org>
13845
13846         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13847         Use GST_PAD_LINK_SUCCESSFUL.
13848
13849 2003-12-23  David Schleef  <ds@schleef.org>
13850
13851         * gst/elements/gstaggregator.c:
13852         * gst/elements/gsttee.c:
13853           Use gst_pad_proxy_getcaps().
13854         * gst/gstpad.c:
13855         * gst/gstpad.h:
13856           Add gst_pad_proxy_getcaps(), which filter elements can use
13857           as a generic getcaps implementation.
13858           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13859           was advertised.
13860
13861 2003-12-23  David Schleef  <ds@schleef.org>
13862
13863         * gst/gstpad.c:
13864           Rearrange/rewrite much of the pad negotiation code, since it
13865           resembled pasta.  This actually changes the way some
13866           negotiation works, since the previous code was inconsistent
13867           depending on how it was invoked.  Add (internal) structure
13868           GstPadLink, which is used to hold some information (more in
13869           the future) about the link between two pads.  Fixes a number
13870           of bugs, including random lossage of filter caps when the
13871           initial negotiation is delayed.  A few functions are still
13872           unimplemented.
13873         * gst/gstpad.h:
13874           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13875           these when testing GstPadLinkReturn values instead of comparing
13876           directly.
13877
13878 2003-12-23  David Schleef  <ds@schleef.org>
13879
13880         * gst/gstvalue.c: 
13881         * gst/gstvalue.h:
13882           Rearrange lots of code.  Change registration of compare function
13883           into registration of compare/serialize/deserialize functions.
13884           Doesn't include implementation of gst_value_[de]serialize(),
13885           but that should be easy.
13886
13887 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13888
13889         * docs/gst/gstreamer-sections.txt:
13890         * docs/gst/tmpl/gstprops.sgml: removed
13891         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13892           David removed props and caps code, so let's remove their docs as well.
13893           Removed all no longer existing symbols from gstreamer-sections.txt
13894           
13895 2003-12-22  Colin Walters  <walters@verbum.org>
13896
13897         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13898           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13899           of tags directly.
13900
13901 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13902
13903         * gst/elements/gstelements.c:
13904           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13905         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13906           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13907           gst_caps (peer).
13908
13909 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13910
13911         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13912         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13913         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13914         (gst_spider_identity_sink_loop_type_finding):
13915         * gst/autoplug/gstspideridentity.h:
13916           Fix autoplugging in spider element, so it works with new caps.
13917           This was mainly caused by identifying empty caps incorrectly.
13918
13919 2003-12-22  David Schleef  <ds@schleef.org>
13920
13921         * gststructure.c, gstvalue.c, gstvalue.h: Add
13922           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13923           using g_value_copy()
13924
13925 2003-12-21  David Schleef  <ds@schleef.org>
13926
13927         * many, many files: Merge CAPS branch.  This includes:
13928           - implemention of GstValue and several GstValue types
13929           - implemention of GstStructure
13930           - entire rewrite of GstCaps
13931           - removal of GstProps
13932           - many changes to GstPad to compensate for new caps paradigm
13933           - removal of GstBufferpool
13934         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13935         gstvalue.h, gst/gstcaps[2]*.[ch]:
13936           - rename gstcaps2.[ch] to gstcaps.[ch]
13937
13938 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13939
13940         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13941         (gst_queue_chain), (gst_queue_handle_src_event):
13942           implement timeout for sending events. Workaround for if the
13943           pipeline on this queue is not passing any data.
13944
13945 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13946                                                                                 
13947         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13948         * moved CVS to freedesktop.org