add short/long description docs to base classes add pushsrc to the docs remove consol...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
2
3         * docs/gst/Makefile.am:
4         * docs/gst/gstreamer-docs.sgml:
5         * docs/gst/gstreamer-sections.txt:
6         * docs/gst/gstreamer.types:
7         * docs/gst/tmpl/gstfakesrc.sgml:
8         * gst/base/README:
9         * gst/base/gstbasesink.c:
10         * gst/base/gstbasesink.h:
11         * gst/base/gstbasesrc.c:
12         * gst/base/gstbasesrc.h:
13         * gst/base/gstbasetransform.c:
14         * gst/base/gstpushsrc.c:
15         * gst/base/gstpushsrc.h:
16           add short/long description docs to base classes
17           add pushsrc to the docs
18           remove consolidated doc fragments
19
20 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21
22         * configure.ac:
23         * docs/libs/Makefile.am:
24         * docs/libs/gstreamer-libs-docs.sgml:
25         * docs/libs/gstreamer-libs-sections.txt:
26         * docs/libs/gstreamer-libs.types:
27         * examples/Makefile.am:
28         * examples/controller/.cvsignore:
29         * examples/controller/Makefile.am:
30         * examples/controller/audio-example.c: (main):
31         * libs/gst/Makefile.am:
32         * libs/gst/controller/.cvsignore:
33         * libs/gst/controller/Makefile.am:
34         * libs/gst/controller/gst-controller.c:
35         (on_object_controlled_property_changed), (gst_timed_value_compare),
36         (gst_timed_value_find),
37         (gst_controlled_property_set_interpolation_mode),
38         (gst_controlled_property_new), (gst_controlled_property_free),
39         (gst_controller_find_controlled_property),
40         (gst_controller_new_valist), (gst_controller_new),
41         (gst_controller_remove_properties_valist),
42         (gst_controller_remove_properties), (gst_controller_set),
43         (gst_controller_set_from_list), (gst_controller_unset),
44         (gst_controller_get), (gst_controller_get_all),
45         (gst_controller_sink_values), (gst_controller_get_value_arrays),
46         (gst_controller_get_value_array),
47         (gst_controller_set_interpolation_mode),
48         (_gst_controller_finalize), (_gst_controller_init),
49         (_gst_controller_class_init), (gst_controller_get_type):
50         * libs/gst/controller/gst-controller.h:
51         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
52         (g_object_uncontrol_properties), (g_object_get_controller),
53         (g_object_set_controller), (g_object_sink_values),
54         (g_object_get_value_arrays), (g_object_get_value_array):
55         * libs/gst/controller/gst-interpolation.c:
56         (gst_controlled_property_find_timed_value_node),
57         (interpolate_none_get), (interpolate_trigger_get),
58         (interpolate_trigger_get_value_array):
59         * libs/gst/controller/lib.c: (gst_controller_init):
60         * pkgconfig/Makefile.am:
61         * pkgconfig/gstreamer-control-uninstalled.pc.in:
62         * pkgconfig/gstreamer-control.pc.in:
63         * testsuite/Makefile.am:
64         * testsuite/controller/.cvsignore:
65         * testsuite/controller/Makefile.am:
66         * testsuite/controller/interpolator.c: (main):
67           added controller code
68           removed dparam pc files
69
70 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
71         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
72         (gst_collectpads_stop):
73           Broadcast the condition when shutting down, to make sure we wake all
74           threads up. Shut down pads on finalize, for safety.
75
76 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
77         * gst/base/gstbasetransform.c: (gst_base_transform_init),
78         (gst_base_transform_handle_buffer),
79         (gst_base_transform_change_state):
80           Handle PAUSED->READY->PAUSED transition after negotiation
81           occurred already.
82         * gst/gstmessage.c: (gst_message_init):
83           Extra piece of debug for new messages.
84
85 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
86
87         * configure.ac:
88         * docs/gst/tmpl/gstbasesrc.sgml:
89         * docs/gst/tmpl/gstelement.sgml:
90         * docs/gst/tmpl/gstevent.sgml:
91         * docs/gst/tmpl/gstfakesrc.sgml:
92         * docs/gst/tmpl/gstformat.sgml:
93         * docs/gst/tmpl/gstghostpad.sgml:
94         * docs/gst/tmpl/gstpad.sgml:
95         * docs/gst/tmpl/gstquery.sgml:
96         * docs/gst/tmpl/gststructure.sgml:
97         * docs/gst/tmpl/gsttaglist.sgml:
98         * docs/gst/tmpl/gstvalue.sgml:
99         * docs/libs/gstreamer-libs-docs.sgml:
100         * docs/libs/gstreamer-libs-sections.txt:
101         * docs/libs/gstreamer-libs.types:
102         * libs/gst/Makefile.am:
103         * libs/gst/control/.cvsignore:
104         * libs/gst/control/Makefile.am:
105         * libs/gst/control/control.c:
106         * libs/gst/control/control.h:
107         * libs/gst/control/dparam.c:
108         * libs/gst/control/dparam.h:
109         * libs/gst/control/dparam_smooth.c:
110         * libs/gst/control/dparam_smooth.h:
111         * libs/gst/control/dparamcommon.h:
112         * libs/gst/control/dparammanager.c:
113         * libs/gst/control/dparammanager.h:
114         * libs/gst/control/dplinearinterp.c:
115         * libs/gst/control/dplinearinterp.h:
116         * libs/gst/control/unitconvert.c:
117         * libs/gst/control/unitconvert.h:
118         * testsuite/Makefile.am:
119         * testsuite/dynparams/.cvsignore:
120         * testsuite/dynparams/Makefile.am:
121         * testsuite/dynparams/dparamstest.c:
122         * tools/Makefile.am:
123         * tools/gst-inspect.c: (print_element_info), (main):
124         * tools/gst-xmlinspect.c: (print_element_info), (main):
125           deactivate and remove dparams (libgstcontrol)
126
127 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
128
129         * gst/elements/gsttypefindelement.c:
130         (gst_type_find_element_have_type), (gst_type_find_element_init),
131         (stop_typefinding), (gst_type_find_element_handle_event),
132         (gst_type_find_element_chain), (gst_type_find_element_getrange):
133         * gst/elements/gsttypefindelement.h:
134           Set caps on all outgoing buffers, not just the first one.
135
136 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
137
138         * gst/elements/gsttypefindelement.c:
139         (gst_type_find_element_have_type),
140         (gst_type_find_element_check_set_buffer_caps),
141         (gst_type_find_element_init), (stop_typefinding),
142         (gst_type_find_element_handle_event),
143         (gst_type_find_element_chain), (gst_type_find_element_getrange):
144         * gst/elements/gsttypefindelement.h:
145           Set caps on first outgoing buffer when we've found the type.
146
147 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
148
149         * docs/gst/gstreamer-docs.sgml:
150         * docs/gst/gstreamer-sections.txt:
151         * docs/gst/tmpl/gstscheduler.sgml:
152         * docs/gst/tmpl/gstschedulerfactory.sgml:
153           Remove some old cruft from docs.
154
155 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
156
157         * gst/gstpad.h:
158           Fix inline docs for GstPadLinkReturn.
159           
160         * gst/gststructure.c: (gst_structure_has_name):
161         * gst/gststructure.h:
162         * docs/gst/gstreamer-sections.txt:
163           New API: gst_structure_has_name().
164
165 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
166
167         * configure.ac:
168           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
169           and _LARGEFILE_SOURCE in config.h as required. Do not 
170           export those flags in our .pc files any longer (#142209).
171
172           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
173
174         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
175         (gst_file_sink_do_seek), (gst_file_sink_event),
176         (gst_file_sink_get_current_offset), (gst_file_sink_render):
177           Redo seek/tell calls with large file support in mind; add some
178           debugging messages; add log message that tells us when large
179           file support is unavailable or not enabled for some reason.
180
181         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
182           Add log message that tells us when large file support 
183           is unavailable or not enabled for some reason.
184
185 2005-07-29  Wim Taymans  <wim@fluendo.com>
186
187         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
188         Added test for removing an element with ghostpad from a bin.
189         Fixed test as current implementation does the right thing.
190
191         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
192         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
193         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
194         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
195         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
196         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
197         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
198         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
199         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
200         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
201         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
202         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
203         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
204         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
205         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
206         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
207         * gst/gstghostpad.h:
208         Clean up ghostpads, remove properties for internal stuff.
209         Make threadsafe.
210         Fix refcounting.
211         Prepare for switching targets, not all use cases work yet.
212
213 2005-07-29  Wim Taymans  <wim@fluendo.com>
214
215         * docs/design/part-gstghostpad.txt:
216         Small update.
217
218         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
219         (gst_bin_remove_func):
220         Unlinking pads while holding the bin LOCK is not a good
221         idea.
222
223         * gst/gstpad.c: (gst_pad_class_init),
224         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
225         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
226         No prob setting template after creating the pad.
227
228 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
229
230         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
231         (gst_bus_peek), (gst_bus_source_dispatch),
232         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
233         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
234           gst_bus_poll may be called from other threads. Handle
235           this nicely by not making poll_data disappear off the
236           stack once gst_bus_poll returns.
237           gst_bus_peek now increments the refcount on the returned
238           message.
239
240 2005-07-29  Wim Taymans  <wim@fluendo.com>
241
242         * docs/design/part-gstghostpad.txt:
243         Overview of current GhostPad datastructures and use
244         cases for changing the target.
245
246 2005-07-28  Wim Taymans  <wim@fluendo.com>
247
248         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
249         Added checks for hierarchy consistency whan adding linked
250         elements to bins.
251
252         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
253         Added check to test element scheduling without bin/pipeline.
254
255         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
256         First add elements to bin, then link.
257         
258         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
259         (gst_bin_remove_func):
260         Unlink pads from elements added/removed from bin to maintain
261         hierarchy consistency.
262
263 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
264
265         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
266         (gst_base_transform_handle_buffer):
267         * gst/base/gstbasetransform.h:
268           Remove broken delay_configure (fixes renegotiation of software
269           scaling pipelines); remove some leftover printf()s.
270
271 2005-07-28  Wim Taymans  <wim@fluendo.com>
272
273         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
274         Added some more tests for wrong hierarchy
275
276         * docs/design/part-overview.txt:
277         Some updates.
278
279         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
280         Cleanups.
281
282         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
283         (gst_element_dispose):
284         Some more cleanups.
285
286         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
287         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
288         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
289         (gst_pad_set_caps), (gst_pad_send_event):
290         Check for correct hierarchy when linking pads. Moving to
291         strict requirement for ghostpads when linking elements in
292         different bins.
293
294         * gst/gstpad.h:
295         Clean ups. Added WRONG_HIERARCHY return value.
296
297 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
298
299         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
300           Better debug if no transform is possible.
301
302 2005-07-27  Wim Taymans  <wim@fluendo.com>
303
304         * docs/random/wtay/network-transp:
305         Some old doc I had.
306
307 2005-07-27  Wim Taymans  <wim@fluendo.com>
308
309         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
310         (gst_dp_event_from_packet):
311         Fix serialization of seek events.
312
313 2005-07-27  Wim Taymans  <wim@fluendo.com>
314
315         * check/gst-libs/gdp.c: (GST_START_TEST):
316         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
317         Fix compilation and fix event serialization.
318
319 2005-07-27  Wim Taymans  <wim@fluendo.com>
320
321         * CHANGES-0.9:
322         * docs/design/part-TODO.txt:
323         * docs/design/part-events.txt:
324         Some docs updates
325
326         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
327         (gst_base_sink_event), (gst_base_sink_do_sync),
328         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
329         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
330         (gst_base_src_do_seek), (gst_base_src_event_handler),
331         (gst_base_src_loop):
332         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
333         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
334         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
335         (gst_base_transform_event), (gst_base_transform_handle_buffer),
336         (gst_base_transform_set_passthrough),
337         (gst_base_transform_is_passthrough):
338         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
339         * gst/elements/gstfilesink.c: (gst_file_sink_event):
340         Event updates.
341
342         * gst/gstbuffer.h:
343         Use faster casts.
344
345         * gst/gstelement.c: (gst_element_seek):
346         * gst/gstelement.h:
347         Update gst_element_seek.
348
349         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
350         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
351         (gst_event_new_flush_start), (gst_event_new_flush_stop),
352         (gst_event_new_eos), (gst_event_new_newsegment),
353         (gst_event_parse_newsegment), (gst_event_new_tag),
354         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
355         (gst_event_parse_qos), (gst_event_new_seek),
356         (gst_event_parse_seek), (gst_event_new_navigation):
357         * gst/gstevent.h:
358         Make GstEvent use GstStructure. Add parsing code, make sure the
359         API is sufficiently generic.
360         Mark possible directions of events and serialization.
361
362         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
363         (_gst_message_copy), (gst_message_new_segment_start),
364         (gst_message_new_segment_done), (gst_message_new_custom),
365         (gst_message_parse_segment_start),
366         (gst_message_parse_segment_done):
367         Small cleanups.
368
369         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
370         (gst_pad_set_caps), (gst_pad_send_event):
371         Update for new events. 
372         Catch events sent in wrong directions.
373
374         * gst/gstqueue.c: (gst_queue_link_src),
375         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
376         (gst_queue_handle_src_query):
377         Event updates.
378
379         * gst/gsttag.c:
380         * gst/gsttag.h:
381         Remove event code from this file.
382
383         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
384         (gst_dp_event_from_packet):
385         Event updates.
386
387 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
388
389         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
390         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
391         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
392           Make debugging actually useful.
393
394 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
395
396         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
397         (gst_pad_fixate_caps):
398           Implement default fixation once again, so that gst_pad_fixate()
399           actually does anything at all. This probably needs to be some
400           sort of a last resort, and use profile-based fixation first, but
401           since that doesn't exist yet, this is the best we have. Fixes
402           visualization in Totem.
403
404 2005-07-22  Wim Taymans  <wim@fluendo.com>
405
406         * docs/design/part-events.txt:
407         Small update.
408
409         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
410         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
411         (gst_base_sink_activate_pull):
412         Some more comments.
413
414         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
415         (gst_fake_src_create):
416         Fix handoff marshall.
417
418         * gst/elements/gstidentity.c: (gst_identity_class_init),
419         (gst_identity_transform_ip):
420         We're a real inplace element.
421
422         * gst/gstbus.c: (gst_bus_post):
423         Added some comments.
424
425         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
426         * tests/muxing/case1.c: (main):
427         * tests/sched/dynamic-pipeline.c: (main):
428         * tests/sched/interrupt1.c: (main):
429         * tests/sched/interrupt2.c: (main):
430         * tests/sched/interrupt3.c: (main):
431         * tests/sched/runxml.c: (main):
432         * tests/sched/sched-stress.c: (main):
433         * tests/seeking/seeking1.c: (event_received), (main):
434         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
435         (main):
436         * tests/threadstate/threadstate3.c: (main):
437         * tests/threadstate/threadstate4.c: (main):
438         * tests/threadstate/threadstate5.c: (main):
439         Fix the tests.
440
441 2005-07-21  Wim Taymans  <wim@fluendo.com>
442
443         * docs/design/part-seeking.txt:
444         Some small additions.
445
446         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
447         (gst_base_sink_get_times), (gst_base_sink_do_sync),
448         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
449         * gst/base/gstbasesink.h:
450         discont values are gint64, handle the math correctly.
451
452         * gst/base/gstbasesrc.c: (gst_base_src_loop):
453         Make the basesrc report error if the source pad is not linked.
454
455         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
456         (gst_queue_loop), (gst_queue_handle_src_query),
457         (gst_queue_src_activate_push):
458         Make queue collect data even if the srcpad is not linked.
459         Start pushing out data as soon as it is linked.
460
461         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
462         * gst/gstutils.h:
463         Added gst_flow_get_name() to ease error reporting.
464
465 2005-07-20  Wim Taymans  <wim@fluendo.com>
466
467         * gst/gstmessage.c: (gst_message_new_segment_start),
468         (gst_message_new_segment_done), (gst_message_parse_segment_start),
469         (gst_message_parse_segment_done):
470         * gst/gstmessage.h:
471         Added a bunch of messages for advanced seeking.
472
473         * gst/parse/grammar.y:
474         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
475         (gst_dpman_state_changed):
476         Fix some new-pad -> pad-added signals
477
478 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
479
480         * docs/manual/appendix-porting.xml:
481         * docs/pwg/appendix-porting.xml:
482           Document new-pad/state-change signal renames and the FixedList
483           type rename.
484
485 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
486
487         * docs/manual/advanced-autoplugging.xml:
488         * docs/manual/basics-helloworld.xml:
489         * docs/manual/basics-pads.xml:
490         * docs/random/ds/0.9-suggested-changes:
491         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
492         * gst/gstelement.h:
493         * gst/gstevent.h:
494         * gst/gstformat.h:
495         * gst/gstquery.h:
496         * gst/gststructure.c: (gst_structure_value_get_generic_type),
497         (gst_structure_parse_array), (gst_structure_parse_value):
498         * gst/gstvalue.c: (gst_type_is_fixed),
499         (gst_value_list_prepend_value), (gst_value_list_append_value),
500         (gst_value_list_get_size), (gst_value_list_get_value),
501         (gst_value_transform_array_string), (gst_value_serialize_array),
502         (gst_value_deserialize_array), (gst_value_intersect_array),
503         (gst_value_is_fixed), (_gst_value_initialize):
504         * gst/gstvalue.h:
505           GstElement::new-pad -> pad-added, GstElement::state-change ->
506           state-changed, GstValueFixedList -> GstValueArray, add format and
507           flags as their own arguments in gst_element_seek() (should improve
508           "bindeability"), remove function generators since they don't work
509           under a whole bunch of compilers (they were deprecated already
510           anyway).
511
512 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
513
514         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
515         (_gst_debug_register_funcptr):
516         * gst/gstinfo.h:
517           Fix illegal cast on some platforms (#309253).
518
519 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
520
521         * gst/gstmessage.c: (gst_message_new_custom):
522         * gst/gstmessage.h:
523           Add _new_custom, make _new_application a macro to _new_custom.
524
525 2005-07-20  Wim Taymans  <wim@fluendo.com>
526
527         * gst/base/gstbasesrc.c: (gst_base_src_init),
528         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
529         * gst/base/gstbasesrc.h:
530         Add a gboolean to decide when to push out a discont.
531
532         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
533         (gst_queue_loop), (gst_queue_handle_src_query),
534         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
535         (gst_queue_set_property), (gst_queue_get_property):
536         Some cleanups.
537
538         * tests/threadstate/threadstate1.c: (main):
539         Make a thread test compile and run... very silly..
540
541
542 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
543
544         * docs/manual/appendix-porting.xml:
545           Mention removal of libgstgconf-0.9.la and existence of gconf
546           elements.
547
548 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
549
550         * docs/pwg/advanced-clock.xml:
551         * docs/pwg/appendix-porting.xml:
552         * docs/pwg/intro-preface.xml:
553         * docs/pwg/other-base.xml:
554         * docs/pwg/other-manager.xml:
555         * docs/pwg/other-nton.xml:
556         * docs/pwg/other-ntoone.xml:
557         * docs/pwg/other-oneton.xml:
558         * docs/pwg/pwg.xml:
559           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
560           demuxer), remove n-to-n (was never written), fix some code examples
561           and links and update the porting section to include all this.
562
563 2005-07-19  Wim Taymans  <wim@fluendo.com>
564
565         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
566         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
567         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
568         (gst_queue_src_activate_push), (gst_queue_change_state),
569         (gst_queue_get_property):
570         * gst/gstqueue.h:
571         Propagate GstFlowReturn more intelligently upstream and output
572         an ERROR/EOS when streaming stopped due to fatal error.
573
574 2005-07-19  Wim Taymans  <wim@fluendo.com>
575
576         * tools/gst-launch.c: (check_intr), (event_loop), (main):
577         Don't block forever for the state change to complete, the
578         pipeline already did with a sensible timeout.
579
580 2005-07-19  Wim Taymans  <wim@fluendo.com>
581
582         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
583         Make sure we never call the create function is we
584         got deactivated.
585
586 2005-07-19  Andy Wingo  <wingo@pobox.com>
587
588         * gst/parse/parse.l: Attempt to solve bug #172815.
589
590 2005-07-19  Wim Taymans  <wim@fluendo.com>
591
592         * docs/design/part-clocks.txt:
593         * docs/design/part-events.txt:
594         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
595         Small docs updates.
596         Only update the seeking values when we are not
597         busy streaming.
598
599 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
600
601         * gst/base/gstbasesrc.c: (gst_base_src_loop):
602           Oops, ignore the result of gst_pad_push_event here.
603
604 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
605
606         * gst/base/gstbasesrc.c: (gst_base_src_loop),
607         (gst_base_src_activate_push):
608           Send discont event from the loop function, as pads
609           aren't activated yet in the activate_push handler.
610
611         * gst/gstbin.c: (bin_bus_handler):
612           Don't leak element name.
613
614 2005-07-18  Andy Wingo  <wingo@pobox.com>
615
616         * configure.ac: Use AS_LIBTOOL_TAGS.
617
618 2005-07-18  Wim Taymans  <wim@fluendo.com>
619
620         * docs/gst/gstreamer.types:
621         Remove deleted types.
622
623 2005-07-18  Wim Taymans  <wim@fluendo.com>
624
625         * check/elements/gstfakesrc.c: (GST_START_TEST):
626         * configure.ac:
627         * gst/Makefile.am:
628         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
629         (init_popt_callback):
630         * gst/gst.h:
631         * gst/gst_private.h:
632         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
633         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
634         * gst/gstbin.h:
635         * gst/gstbus.h:
636         * gst/gstconfig.h.in:
637         * gst/gstelement.c: (gst_element_class_init),
638         (gst_element_set_base_time), (gst_element_get_base_time),
639         (iterator_fold_with_resync), (gst_element_change_state),
640         (gst_element_dispose), (gst_element_get_bus):
641         * gst/gstelement.h:
642         * gst/gstelementfactory.h:
643         * gst/gsterror.c: (_gst_core_errors_init):
644         * gst/gsterror.h:
645         * gst/gstevent.h:
646         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
647         * gst/gstindex.c:
648         * gst/gstinfo.c: (_gst_debug_init):
649         * gst/gstmessage.c: (_gst_message_copy):
650         * gst/gstmessage.h:
651         * gst/gstminiobject.h:
652         * gst/gstobject.c:
653         * gst/gstobject.h:
654         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
655         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
656         * gst/gstpad.h:
657         * gst/gstparse.h:
658         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
659         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
660         (gst_pipeline_get_last_stream_time):
661         * gst/gstpipeline.h:
662         * gst/gstpluginfeature.h:
663         * gst/gstquery.h:
664         * gst/gstscheduler.c:
665         * gst/gstscheduler.h:
666         * gst/gststructure.h:
667         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
668         (gst_task_finalize), (gst_task_func), (gst_task_create),
669         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
670         (gst_task_stop), (gst_task_pause):
671         * gst/gsttask.h:
672         * gst/gsttypefind.h:
673         * gst/gsttypes.h:
674         * gst/registries/gstlibxmlregistry.c: (load_feature),
675         (gst_xml_registry_load), (gst_xml_registry_save_feature):
676         * gst/registries/gstxmlregistry.c:
677         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
678         * gst/schedulers/threadscheduler.c:
679         * libs/gst/control/dparammanager.h:
680         * tools/gst-inspect.c: (print_element_list),
681         (print_plugin_features), (print_element_features):
682         * tools/gst-xmlinspect.c: (print_element_list),
683         (print_plugin_info), (main):
684         Removed plugable schedulers.
685         Removed Scheduler/Manager from elements.
686         Removed gsttypes.h, rearranged includes.
687         Removed dependency pad<->element, element<>pipeline, and
688         various others,  fix includes.
689         implement gst_pad_get_parent() with gst_object_get_parent()
690         Make GstTask sefcontained.
691         Fix _get_state() on GstBin, it did not return ASYNC with a 0
692         timeout.
693         Fix endless loop in iterator_fold_with_resync.
694
695
696 2005-07-18  Wim Taymans  <wim@fluendo.com>
697
698         * gst/Makefile.am:
699         * gst/gstarch.h:
700         Remove old file.
701
702 2005-07-18  Wim Taymans  <wim@fluendo.com>
703
704         * gst/Makefile.am:
705         No more cothreads.h
706
707 2005-07-18  Wim Taymans  <wim@fluendo.com>
708
709         * gst/cothreads.c:
710         * gst/cothreads.h:
711         Let's remove these.
712
713 2005-07-18  Wim Taymans  <wim@fluendo.com>
714
715         * docs/design/part-dynamic.txt:
716         * docs/design/part-events.txt:
717         * docs/design/part-seeking.txt:
718         Some more docs in the works.
719
720         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
721         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
722         (gst_base_transform_setcaps), (gst_base_transform_get_size),
723         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
724         (gst_base_transform_handle_buffer),
725         (gst_base_transform_sink_activate_push),
726         (gst_base_transform_src_activate_pull),
727         (gst_base_transform_set_passthrough),
728         (gst_base_transform_is_passthrough):
729         Refcounting fixes.
730
731         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
732         Cleanups.
733
734         * gst/gstevent.c: (gst_event_finalize):
735         Set SRC to NULL.
736
737         * gst/gstutils.c: (gst_element_unlink),
738         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
739         (gst_pad_proxy_setcaps):
740         * gst/gstutils.h:
741         Add _get_parent_element() to get a pads parent as an element.
742
743 2005-07-18  Wim Taymans  <wim@fluendo.com>
744
745         * check/gst/gstbin.c: (GST_START_TEST):
746         Remove bogus test.
747
748 2005-07-18  Wim Taymans  <wim@fluendo.com>
749
750         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
751         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
752         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
753         (gst_base_sink_event), (gst_base_sink_do_sync),
754         (gst_base_sink_chain), (gst_base_sink_loop),
755         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
756         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
757         Refcounting fixes.
758         Fix logic for returning ASYNC when not prerolled.
759
760 2005-07-18  Wim Taymans  <wim@fluendo.com>
761
762         * gst/gstqueue.c: (gst_queue_handle_sink_event):
763         Fix nasty refcount bug.
764
765 2005-07-16 Philippe Khalaf <burger@speedy.org>
766         * gst/elements/gstfdsrc.c:
767         * gst/elements/gstfdsrc.h:
768         * gst/elements/gstelements.c:
769         * gst/elements/Makefile.am:
770         Ported fdsrc to 0.9.
771
772 2005-07-16  Wim Taymans  <wim@fluendo.com>
773
774         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
775         (gst_base_sink_do_sync):
776         Fix compile error.
777
778 2005-07-16  Wim Taymans  <wim@fluendo.com>
779
780         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
781         (gst_base_sink_event), (gst_base_sink_get_times),
782         (gst_base_sink_do_sync), (gst_base_sink_change_state):
783         * gst/base/gstbasesink.h:
784         Store and use discont values when syncing buffers as described
785         in design docs.
786         
787         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
788         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
789         (gst_base_src_activate_push):
790         Push discont event when starting.
791
792         * gst/elements/gstidentity.c: (gst_identity_transform):
793         Small cleanups.
794
795         * gst/gstbin.c: (gst_bin_change_state):
796         Small cleanups in base_time  distribution.
797
798         * gst/gstelement.c: (gst_element_set_base_time),
799         (gst_element_get_base_time), (gst_element_change_state):
800         * gst/gstelement.h:
801         Added methods for the base_time of the element.
802         Some MT fixes.
803
804         * gst/gstpipeline.c: (gst_pipeline_send_event),
805         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
806         (gst_pipeline_get_last_stream_time):
807         * gst/gstpipeline.h:
808         MT fixes.
809         Handle seeking as described in design doc, remove stream_time
810         hack.
811         Cleanups clock and stream_time selection code. Added accessors
812         for the stream_time.
813         
814
815 2005-07-16  Andy Wingo  <wingo@pobox.com>
816
817         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
818         (#305291).
819
820 2005-07-16  Wim Taymans  <wim@fluendo.com>
821
822         * check/gst/gstbin.c: (GST_START_TEST):
823         Make elements silent as the deep_notify refs the
824         parent, which might make the test fail.
825
826         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
827         Don't hold the lock for too long.
828
829 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
830
831         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
832           Don't unref the caps we passed to gst_caps_make_writable() after
833           passing them. gst_caps_make_writable() will do that for us.
834
835 2005-07-15  Andy Wingo  <wingo@pobox.com>
836
837         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
838         (#157311).
839
840         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
841         own marshalling function for the handoff signal. Properly type the
842         buffer as a buffer. Fixes some warnings. Should do a more general
843         solution.
844         (gst_identity_class_init): Plug into the right marshaller.
845
846 2005-07-15  Wim Taymans  <wim@fluendo.com>
847
848         * docs/design/part-TODO.txt:
849         * docs/design/part-clocks.txt:
850         * docs/design/part-element-sink.txt:
851         * docs/design/part-events.txt:
852         * docs/design/part-gstpipeline.txt:
853         Updated docs, mostly DISCONT related.
854
855 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
856
857         * docs/pwg/building-pads.xml:
858           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
859
860 2005-07-15  Andy Wingo  <wingo@pobox.com>
861
862         * tools/gst-typefind.c: Update, add copyright block.
863
864         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
865         Normalize and truncate caps before fixation.
866
867         * gst/gstcaps.h:
868         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
869         discards all but the first structure from its argument.
870
871 2005-07-15  Wim Taymans  <wim@fluendo.com>
872
873         * gst/base/gstbasetransform.c: (gst_base_transform_init),
874         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
875         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
876         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
877         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
878         (gst_base_transform_chain), (gst_base_transform_change_state),
879         (gst_base_transform_set_passthrough),
880         (gst_base_transform_is_passthrough):
881         * gst/base/gstbasetransform.h:
882         Make passthrough work using the bufferpools.
883         Changed API a bit, subclasses have to write into a buffer
884         provided by the base class.
885         More debug info in nego functions.
886         
887         * gst/elements/gstidentity.c: (gst_identity_init),
888         (gst_identity_transform):
889         Port to new base class.
890
891 2005-07-15  Wim Taymans  <wim@fluendo.com>
892
893         * gst/gstmessage.c: (gst_message_new_state_changed):
894         * tools/gst-launch.c: (event_loop), (main):
895         Totally dump messages in -launch with the -m option.
896         Fix message name for State messages,
897
898 2005-07-14  Wim Taymans  <wim@fluendo.com>
899
900         * gst/base/gstbasesrc.c: (gst_base_src_loop):
901         Post error messages on errors.
902
903 2005-07-14  Wim Taymans  <wim@fluendo.com>
904
905         * gst/gstcaps.c: (gst_caps_do_simplify):
906         Remove debug info.
907
908         * gst/gsterror.h:
909         Define error for stream stopped.
910
911         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
912         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
913         Do proper return values.
914
915         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
916         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
917         (gst_pad_get_range):
918         Better return values.
919
920         * gst/gstpad.h:
921         Reorganise return values, add macro to check for fatal errors.
922
923         * gst/gstqueue.c: (gst_queue_chain):
924         Return proper GstFlowReturn values,
925
926 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
927
928         * docs/gst/gstreamer-sections.txt:
929         * docs/gst/gstreamer.types:
930         * docs/gst/tmpl/gst.sgml:
931         * docs/gst/tmpl/gstbasesink.sgml:
932         * docs/gst/tmpl/gstbasesrc.sgml:
933         * docs/gst/tmpl/gstbasetransform.sgml:
934         * docs/gst/tmpl/gstbin.sgml:
935         * docs/gst/tmpl/gstbuffer.sgml:
936         * docs/gst/tmpl/gstcaps.sgml:
937         * docs/gst/tmpl/gstclock.sgml:
938         * docs/gst/tmpl/gstcompat.sgml:
939         * docs/gst/tmpl/gstconfig.sgml:
940         * docs/gst/tmpl/gstelement.sgml:
941         * docs/gst/tmpl/gstelementdetails.sgml:
942         * docs/gst/tmpl/gstelementfactory.sgml:
943         * docs/gst/tmpl/gstenumtypes.sgml:
944         * docs/gst/tmpl/gsterror.sgml:
945         * docs/gst/tmpl/gstevent.sgml:
946         * docs/gst/tmpl/gstfakesink.sgml:
947         * docs/gst/tmpl/gstfakesrc.sgml:
948         * docs/gst/tmpl/gstfilesink.sgml:
949         * docs/gst/tmpl/gstfilesrc.sgml:
950         * docs/gst/tmpl/gstfilter.sgml:
951         * docs/gst/tmpl/gstformat.sgml:
952         * docs/gst/tmpl/gstghostpad.sgml:
953         * docs/gst/tmpl/gstimplementsinterface.sgml:
954         * docs/gst/tmpl/gstindex.sgml:
955         * docs/gst/tmpl/gstindexfactory.sgml:
956         * docs/gst/tmpl/gstinfo.sgml:
957         * docs/gst/tmpl/gstiterator.sgml:
958         * docs/gst/tmpl/gstmacros.sgml:
959         * docs/gst/tmpl/gstmemchunk.sgml:
960         * docs/gst/tmpl/gstminiobject.sgml:
961         * docs/gst/tmpl/gstobject.sgml:
962         * docs/gst/tmpl/gstpad.sgml:
963         * docs/gst/tmpl/gstpadtemplate.sgml:
964         * docs/gst/tmpl/gstparse.sgml:
965         * docs/gst/tmpl/gstpipeline.sgml:
966         * docs/gst/tmpl/gstplugin.sgml:
967         * docs/gst/tmpl/gstpluginfeature.sgml:
968         * docs/gst/tmpl/gstquery.sgml:
969         * docs/gst/tmpl/gstqueue.sgml:
970         * docs/gst/tmpl/gstregistry.sgml:
971         * docs/gst/tmpl/gstregistrypool.sgml:
972         * docs/gst/tmpl/gstscheduler.sgml:
973         * docs/gst/tmpl/gstschedulerfactory.sgml:
974         * docs/gst/tmpl/gststructure.sgml:
975         * docs/gst/tmpl/gstsystemclock.sgml:
976         * docs/gst/tmpl/gsttaglist.sgml:
977         * docs/gst/tmpl/gsttagsetter.sgml:
978         * docs/gst/tmpl/gsttrace.sgml:
979         * docs/gst/tmpl/gsttrashstack.sgml:
980         * docs/gst/tmpl/gsttypefind.sgml:
981         * docs/gst/tmpl/gsttypefindfactory.sgml:
982         * docs/gst/tmpl/gsttypes.sgml:
983         * docs/gst/tmpl/gsturihandler.sgml:
984         * docs/gst/tmpl/gsturitype.sgml:
985         * docs/gst/tmpl/gstutils.sgml:
986         * docs/gst/tmpl/gstvalue.sgml:
987         * docs/gst/tmpl/gstversion.sgml:
988         * docs/gst/tmpl/gstxml.sgml:
989         * docs/libs/tmpl/gstcontrol.sgml:
990         * docs/libs/tmpl/gstdataprotocol.sgml:
991         * docs/libs/tmpl/gstdparam.sgml:
992         * docs/libs/tmpl/gstdplinint.sgml:
993         * docs/libs/tmpl/gstdpman.sgml:
994         * docs/libs/tmpl/gstdpsmooth.sgml:
995         * docs/libs/tmpl/gstgetbits.sgml:
996         * docs/libs/tmpl/gstunitconvert.sgml:
997         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
998         (gst_push_src_base_init), (gst_push_src_class_init),
999         (gst_push_src_init), (gst_push_src_create):
1000         * gst/base/gstpushsrc.h:
1001         * gst/elements/gstelements.c:
1002         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1003         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1004         (gst_fake_sink_init), (gst_fake_sink_set_property),
1005         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1006         (gst_fake_sink_event), (gst_fake_sink_preroll),
1007         (gst_fake_sink_render), (gst_fake_sink_change_state):
1008         * gst/elements/gstfakesink.h:
1009         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1010         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1011         (gst_fake_src_base_init), (gst_fake_src_class_init),
1012         (gst_fake_src_init), (gst_fake_src_event_handler),
1013         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1014         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1015         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1016         (gst_fake_src_create_buffer), (gst_fake_src_create),
1017         (gst_fake_src_start), (gst_fake_src_stop):
1018         * gst/elements/gstfakesrc.h:
1019         * gst/elements/gstfilesink.c: (_do_init),
1020         (gst_file_sink_base_init), (gst_file_sink_class_init),
1021         (gst_file_sink_init), (gst_file_sink_dispose),
1022         (gst_file_sink_set_location), (gst_file_sink_set_property),
1023         (gst_file_sink_get_property), (gst_file_sink_open_file),
1024         (gst_file_sink_close_file), (gst_file_sink_query),
1025         (gst_file_sink_event), (gst_file_sink_render),
1026         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1027         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1028         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1029         * gst/elements/gstfilesink.h:
1030         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1031         (gst_file_src_class_init), (gst_file_src_init),
1032         (gst_file_src_finalize), (gst_file_src_set_location),
1033         (gst_file_src_set_property), (gst_file_src_get_property),
1034         (gst_file_src_map_region), (gst_file_src_map_small_region),
1035         (gst_file_src_create_mmap), (gst_file_src_create_read),
1036         (gst_file_src_create), (gst_file_src_is_seekable),
1037         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1038         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1039         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1040         (gst_file_src_uri_handler_init):
1041         * gst/elements/gstfilesrc.h:
1042           more autistic cleanliness in functions/names/defines
1043
1044 2005-07-13  Andy Wingo  <wingo@pobox.com>
1045
1046         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1047         source couldn't negotiate.
1048
1049         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1050         connections again.
1051
1052         * gst/gstutils.h:
1053         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1054         function. I am channeling Hades. Put your boots on suckers!!!
1055
1056 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1057
1058         * testsuite/caps/Makefile.am:
1059         * testsuite/caps/value_compare.c:
1060         * testsuite/caps/value_intersect.c:
1061         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1062           move two testsuite apps over to the check dir
1063
1064 2005-07-12  Wim Taymans  <wim@fluendo.com>
1065
1066         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1067         Added more debug info in the negotiate process.
1068
1069         * gst/gstmessage.h:
1070         Prepare for segment playback.
1071
1072         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1073         Better debugging.
1074
1075         * gst/gstutils.c:
1076         Some more docs.
1077
1078         * tools/gst-launch.c: (main):
1079         NULL pipeline on errors.
1080
1081 2005-07-12  Andy Wingo  <wingo@pobox.com>
1082
1083         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1084         not it comes from a malloc region. Make sure our copy gets freed.
1085
1086 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1087
1088         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1089         * check/gst/gstmessage.c: (GST_START_TEST):
1090         * check/gst/gststructure.c: (GST_START_TEST),
1091         (gst_structure_suite), (main):
1092           more testing
1093         * gst/gstelement.c: (gst_element_message_full):
1094           clean up GError and debug string now that they get copied
1095         * gst/gstmessage.c: (gst_message_new_error),
1096         (gst_message_new_warning), (gst_message_parse_error),
1097         (gst_message_parse_warning):
1098           use GST_TYPE_G_ERROR for structure_new, and take copies of
1099           arguments, so that we don't mess up refcounting
1100
1101 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1102
1103         * check/Makefile.am:
1104           add per-test valgrind targets
1105         * check/gst-libs/gdp.c: (GST_START_TEST),
1106         (gst_data_protocol_suite), (main):
1107           clean up
1108
1109 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1110
1111         * check/Makefile.am:
1112           instate more valgrindable tests
1113         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1114         (GST_START_TEST), (fakesrc_suite):
1115         * check/gst/gstpad.c: (GST_START_TEST):
1116         * check/gst/gststructure.c: (GST_START_TEST):
1117           fix test leaks
1118         * docs/gst/tmpl/gstminiobject.sgml:
1119         * gst/gstpad.c: (gst_pad_finalize):
1120           fix the static mutex leak
1121
1122 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1123
1124         * check/Makefile.am:
1125           add two more tests for valgrinding
1126         * check/gst/gstvalue.c: (GST_START_TEST):
1127           test refcount of deserialized buffer, found a leak
1128         * docs/gst/gstreamer-docs.sgml:
1129         * docs/gst/gstreamer-sections.txt:
1130         * docs/gst/gstreamer.types:
1131         * docs/gst/tmpl/gstminiobject.sgml:
1132           add miniobject to docs
1133         * gst/gstminiobject.c:
1134           add some docs
1135         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1136         (gst_string_unwrap):
1137           fix a hard-to-find invalid write for one of the tests
1138           fix a leak for deserialized buffers
1139
1140 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1141
1142         * docs/pwg/advanced-events.xml:
1143         * docs/pwg/advanced-request.xml:
1144         * docs/pwg/advanced-scheduling.xml:
1145         * docs/pwg/appendix-porting.xml:
1146         * docs/pwg/building-boiler.xml:
1147         * docs/pwg/intro-preface.xml:
1148         * docs/pwg/other-ntoone.xml:
1149           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1150           of example code and explanation for pad activation, loop() and
1151           getrange() functions and a bit more. Remove old comments pointing
1152           to loop-functions.
1153         * examples/pwg/Makefile.am:
1154           Add loop/getrange examples.
1155
1156 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1157
1158         * configure.ac:
1159           check for valgrind binary + some fixes
1160         * check/gst.supp:
1161           valgrind suppressions for the tests
1162         * check/Makefile.am:
1163           add a valgrind: target that valgrinds the unit tests
1164         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1165         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1166         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1167         * check/gst/gstghostpad.c:
1168           added some cleanup
1169         * check/gst/gstdata.c:
1170           removed
1171         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1172         (thread_unref), (gst_mini_object_suite), (main):
1173           added
1174         * gst/gst.c: (gst_deinit):
1175         * gst/gst.h:
1176           add a method to clean up.
1177         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1178         (gst_system_clock_obtain):
1179           allow for disposing the system clock.
1180         * tools/gst-launch.c: (main):
1181           deinit
1182
1183 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1184
1185         * docs/gst/tmpl/gstbasesrc.sgml:
1186         * docs/gst/tmpl/gstfakesrc.sgml:
1187         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1188         (gst_base_src_init), (gst_base_src_set_property),
1189         (gst_base_src_get_property), (gst_base_src_get_range),
1190         (gst_base_src_start):
1191         * gst/base/gstbasesrc.h:
1192           add num-buffers property
1193         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1194         (gst_fakesrc_init), (gst_fakesrc_set_property),
1195         (gst_fakesrc_get_property), (gst_fakesrc_create),
1196         (gst_fakesrc_start):
1197           remove num-buffers property
1198
1199 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1200
1201         * docs/gst/gstreamer-sections.txt:
1202         * docs/gst/tmpl/gstbasesink.sgml:
1203         * docs/gst/tmpl/gstbasesrc.sgml:
1204         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1205         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1206         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1207         (gst_base_sink_set_property), (gst_base_sink_get_property),
1208         (gst_base_sink_handle_object), (gst_base_sink_event),
1209         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1210         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1211         (gst_base_sink_loop), (gst_base_sink_deactivate),
1212         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1213         (gst_base_sink_change_state):
1214         * gst/base/gstbasesink.h:
1215         * gst/base/gstbasesrc.h:
1216         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1217         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1218         (gst_filesink_init):
1219           more macro splitting
1220
1221 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1222
1223         * gst/gstelement.c: (gst_element_get_bus):
1224           add debug
1225         * tools/gst-launch.c: (check_intr), (event_loop):
1226           fix bus leaks
1227
1228 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1229
1230         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1231           fix a caps leak
1232
1233 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1234
1235         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1236         (gst_base_src_finalize):
1237           add finalize method and clean up properly
1238         * gst/gstpipeline.c: (gst_pipeline_dispose):
1239           add debug
1240
1241 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1242
1243         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1244         (gst_bin_suite):
1245           add more things to check
1246         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1247         * gst/gstelement.c:
1248           more debug
1249
1250 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1251
1252         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1253         (GST_START_TEST), (fakesrc_suite):
1254         * check/gst-libs/gdp.c: (GST_START_TEST):
1255         * check/gst/gst.c: (GST_START_TEST):
1256         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1257         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1258         * check/gst/gstbus.c: (GST_START_TEST):
1259         * check/gst/gstcaps.c: (GST_START_TEST):
1260         * check/gst/gstdata.c: (GST_START_TEST):
1261         * check/gst/gstelement.c: (GST_START_TEST):
1262         * check/gst/gstghostpad.c: (GST_START_TEST):
1263         * check/gst/gstiterator.c: (GST_START_TEST):
1264         * check/gst/gstmessage.c: (GST_START_TEST):
1265         * check/gst/gstobject.c: (GST_START_TEST):
1266         * check/gst/gstpad.c: (GST_START_TEST):
1267         * check/gst/gststructure.c: (GST_START_TEST):
1268         * check/gst/gstsystemclock.c: (GST_START_TEST),
1269         (gst_systemclock_suite):
1270         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1271         * check/gst/gstvalue.c: (GST_START_TEST):
1272         * check/pipelines/cleanup.c: (GST_START_TEST):
1273         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1274         * check/states/sinks.c: (GST_START_TEST):
1275         * check/gstcheck.c: (gst_check_init):
1276         * check/gstcheck.h:
1277           add debugging category
1278           use GST_START_TEST now, so we add a debug line
1279
1280 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1281
1282         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1283           add test for state change message on a bin
1284         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1285           add another test
1286         * gst/gstbin.c: (gst_bin_init):
1287         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1288         * gst/gstelement.c: (gst_element_post_message),
1289         (gst_element_set_state):
1290         * gst/gstelementfactory.c: (gst_element_factory_create):
1291         * gst/gstmessage.c: (gst_message_new):
1292         * gst/gstscheduler.c:
1293           various debugging additions and cleanups
1294
1295 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1296
1297         * check/Makefile.am:
1298         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1299         (main):
1300           adding tests for elements
1301         * gst/gstelement.c: (gst_element_dispose):
1302
1303 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1304
1305         * gst/registries/gstlibxmlregistry.c: (load_feature):
1306           plug more leaks.  A simple gst_init() now is leakfree, yay.
1307
1308 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1309
1310         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1311         (gst_xml_registry_load):
1312           plug another memleak
1313
1314 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1315
1316         * configure.ac:
1317           use GST_SET_ERROR_CFLAGS
1318         * docs/faq/cvs.xml:
1319           change to ERROR_CFLAGS
1320
1321 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1322
1323         * configure.ac:
1324           make GST_ERROR_CFLAGS overridable and re-enable Werror
1325         * docs/faq/cvs.xml:
1326           add a note about error CFLAGS
1327         * docs/gst/tmpl/gstfakesrc.sgml:
1328         * gst/elements/gstfakesrc.c:
1329           comment out some unused code
1330         * gst/gst.c: (split_and_iterate):
1331         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1332         (load_feature):
1333           plug some memleaks
1334
1335 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1336
1337         * common/Makefile.am:
1338         * common/gtk-doc.mak:
1339         * docs/gst/Makefile.am:
1340           factor out gtk-doc.mak
1341
1342 2005-07-07  Wim Taymans  <wim@fluendo.com>
1343
1344         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1345         (gst_thread_scheduler_dispose):
1346         Unlock the STREAM_LOCK completely.
1347
1348 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1349
1350         * check/Makefile.am:
1351         * check/elements/.cvsignore:
1352         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1353         (START_TEST), (fakesrc_suite), (main):
1354         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1355         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1356         (gst_fakesrc_create), (gst_fakesrc_start):
1357         * gst/elements/gstfakesrc.h:
1358           adding a first element test
1359
1360 2005-07-07  Andy Wingo  <wingo@pobox.com>
1361
1362         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1363         debug message.
1364
1365 2005-07-07  Wim Taymans  <wim@fluendo.com>
1366
1367         * gst/gstquery.c:
1368         * gst/gstquery.h:
1369         Remove old types
1370
1371 2005-07-07  Wim Taymans  <wim@fluendo.com>
1372
1373         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1374         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1375         Allow subclasses to implement their own negotiation.
1376
1377 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1378
1379         * docs/design/part-gstbin.txt:
1380         * docs/design/part-gstpipeline.txt:
1381           Update design notes to reflect the movement of
1382           responsibility for bus handling from GstPipeline to
1383           GstBin
1384
1385 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1386
1387         * configure.ac:
1388           Remove unnecessary queue2/3/4 examples.
1389
1390 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1391
1392         * examples/Makefile.am:
1393         * examples/helloworld/helloworld.c: (event_loop), (main):
1394         * examples/queue/queue.c: (event_loop), (main):
1395         * examples/queue2/queue2.c: (main):
1396           Update a couple of the examples to work again.
1397
1398         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1399         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1400          Spelling corrections and extra debug.
1401         
1402         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1403         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1404         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1405         * gst/gstbin.h:
1406         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1407         (gst_pipeline_change_state):
1408         * gst/gstpipeline.h:
1409           Move the bus handler for children to the GstBin, and create a
1410           separate bus for receiving messages from children to the one the
1411           bus sends 'upwards' on.
1412
1413 2005-07-06  Wim Taymans  <wim@fluendo.com>
1414
1415         * gst/base/README:
1416         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1417         (gst_base_sink_handle_object), (gst_base_sink_loop),
1418         (gst_base_sink_change_state):
1419         * gst/base/gstbasesink.h:
1420         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1421         (gst_base_src_init), (gst_base_src_setcaps),
1422         (gst_base_src_getcaps), (gst_base_src_loop),
1423         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1424         (gst_base_src_start), (gst_base_src_change_state):
1425         * gst/base/gstbasesrc.h:
1426         Make basesrc negotiate.
1427         Handle the case where preroll fails in basesink.
1428         Update README.
1429
1430 2005-07-06  Wim Taymans  <wim@fluendo.com>
1431
1432         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1433         Implement the fixate function.
1434         Clean up acceptcaps.
1435
1436 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1437
1438         * docs/pwg/building-filterfactory.xml:
1439         * docs/pwg/pwg.xml:
1440           Remove never-written filter-factory chapter; I'll add the various
1441           base classes to part 4 ("other element types") later on.
1442
1443 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1444
1445         * docs/pwg/advanced-negotiation.xml:
1446         * docs/pwg/building-boiler.xml:
1447         * docs/pwg/building-pads.xml:
1448         * docs/pwg/pwg.xml:
1449         * examples/pwg/Makefile.am:
1450           Add a chapter on caps negotiation, simplify the original code
1451           samples a bit w.r.t. caps negotiation, add link to the advanced
1452           section. Add a bunch of examples showing different use cases of
1453           different types of caps negotiation. Upstream renegotiation isn't
1454           fully documented yet since nobody knows how that works.
1455
1456 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1457
1458         * check/gst/gstpad.c:
1459         * check/gstcheck.c:
1460         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1461           if pad has no parent, return NULL as list of internal links
1462
1463 2005-07-05  Andy Wingo  <wingo@pobox.com>
1464
1465         * gst/elements/gstfilesrc.c:
1466         * gst/elements/gstfakesrc.c: 
1467         * gst/base/gstpushsrc.c:
1468         * gst/base/gstbasesrc.h: 
1469         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1470         
1471 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1472
1473         * Makefile.am:
1474           better report generation target (lcov needs a patch)
1475
1476 2005-07-05  Andy Wingo  <wingo@pobox.com>
1477
1478         * gst/elements, testsuite: Null if we got it...
1479
1480 2005-07-05  Wim Taymans  <wim@fluendo.com>
1481
1482         * configure.ac:
1483         * libs/gst/dataprotocol/Makefile.am:
1484         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1485         * libs/gst/dataprotocol/dataprotocol.h:
1486         * pkgconfig/Makefile.am:
1487         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1488         * pkgconfig/gstreamer-dataprotocol.pc.in:
1489         Ported dataprotol to 0.9. 
1490         Added pkgconfig files.
1491
1492 2005-07-05  Andy Wingo  <wingo@pobox.com>
1493
1494         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1495         Default to returning TRUE for the case when tranform_caps returns
1496         a fixed caps, like for identity or volume.
1497
1498         * check/gst/gstbus.c (pound_bus_with_messages): 
1499         * check/gst/gstmessage.c (START_TEST): 
1500         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1501         message API change.
1502
1503         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1504         logic weaks here: always run transform_caps, trying passthrough
1505         operation only if the original caps intersects with the transform.
1506
1507         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1508         source and sink caps.
1509
1510         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1511         Intersect the peer caps with the pad template before going into
1512         transform_caps.
1513         (gst_base_transform_transform_caps): More debugging.
1514
1515         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1516         src argument.
1517
1518 2005-07-04  Edward Hervey  <edward@fluendo.com>
1519
1520         * gst/gstutils.c:
1521         * gst/gstutils.h:
1522         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1523         in bindings.
1524
1525 2005-07-04  Andy Wingo  <wingo@pobox.com>
1526
1527         * check/gst/gstpad.c: Only set explicit caps on pads.
1528
1529 2005-07-01  Andy Wingo  <wingo@pobox.com>
1530
1531         * tests/network-clock.scm: Commentary update.
1532
1533         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1534         Didn't really make sense, not implementable with basetransform,
1535         etc.
1536         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1537         attempt at implementing the sync property, needs an unlock method.
1538
1539         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1540         New func, by default returns the same caps (the identity
1541         transformation).
1542         (gst_base_transform_getcaps): Uses transform_caps to return
1543         something sensible.
1544         (gst_base_transform_setcaps): Complicated logic to get caps on
1545         both pads, even if they are different, and to call set_caps once
1546         for every time both pads get their caps set.
1547         (gst_base_transform_handle_buffer): Give the ref to the transform
1548         function. Allows in-place modification of the buffer.
1549
1550         * gst/base/gstbasetransform.h (transform_caps): New class method.
1551         Given caps on one side, what can I do on the other.
1552         (set_caps): Take two caps, one for each side of the element.
1553
1554         * gst/gstpad.h:
1555         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1556         caps in place. This is safe because we can check the mutability of
1557         the caps, and a good idea because fixate functions are just called
1558         as a matter of last resort. (Not actually implemented.)
1559         (gst_pad_set_caps): If the caps we're setting is actually the same
1560         as the existing pad caps, just update the pointer without calling
1561         setcaps. Assert that caps is either NULL or fixed, as per the
1562         docs.
1563
1564         * gst/gstghostpad.c: Update for fixate changes.
1565
1566 2005-07-02  Andy Wingo  <wingo@pobox.com>
1567
1568         * gst/gstcaps.c:
1569         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1570         two refcounts makes it immutable, which is enough. Doc more.
1571
1572 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1573
1574         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1575           Put the mini_object into GValue as a mini_object,
1576           not a gpointer, since that's how we declared
1577           the signal.
1578
1579 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1580
1581         * examples/pwg/Makefile.am:
1582           Fix buildbot again.
1583
1584 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1585
1586         * docs/pwg/building-testapp.xml:
1587           Add extra check.
1588         * examples/pwg/Makefile.am:
1589           Fix buildbot.
1590
1591 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1592
1593         * configure.ac:
1594         * examples/Makefile.am:
1595         * examples/pwg/Makefile.am:
1596         * examples/pwg/extract.pl:
1597           Enable building the PWG examples.
1598         * docs/pwg/advanced-interfaces.xml:
1599           Add URI interface stub.
1600         * docs/pwg/advanced-types.xml:
1601         * docs/pwg/other-autoplugger.xml:
1602         * docs/pwg/appendix-porting.xml:
1603         * docs/pwg/pwg.xml:
1604           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1605         * docs/pwg/building-boiler.xml:
1606         * docs/pwg/building-chainfn.xml:
1607         * docs/pwg/building-pads.xml:
1608         * docs/pwg/building-props.xml:
1609         * docs/pwg/building-state.xml:
1610         * docs/pwg/building-testapp.xml:
1611           Update the building-*.xml parts for 0.9 changes. All examples
1612           code blocks compile in examples/pwg/*.
1613
1614 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1615
1616         * docs/manual/advanced-autoplugging.xml:
1617         * docs/manual/appendix-checklist.xml:
1618         * docs/manual/appendix-integration.xml:
1619         * docs/manual/highlevel-components.xml:
1620           Fix playbin/decodebin examples, update docs a bit, mention bus
1621           instead of signals in various places, mention kmplayer and
1622           kaffeine since they have a working GStreamer backend in the KDE
1623           section.
1624
1625 2005-06-30  Wim Taymans  <wim@fluendo.com>
1626
1627         * CHANGES-0.9:
1628         * docs/design/draft-ghostpads.txt:
1629         * docs/design/draft-push-pull.txt:
1630         * docs/design/draft-query.txt:
1631         * docs/design/part-TODO.txt:
1632         * docs/design/part-query.txt:
1633         Added CHANGES-0.9 doc, updated status of other docs.
1634         
1635         * gst/gstquery.h:
1636         Remove "hmm" macro
1637
1638 2005-06-30  Wim Taymans  <wim@fluendo.com>
1639
1640         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1641         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1642         (gst_base_sink_change_state):
1643         * gst/base/gstbasesink.h:
1644         Some tweaks, only EOS and a buffer complete a preroll.
1645
1646 2005-06-30  Andy Wingo  <wingo@pobox.com>
1647
1648         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1649         activate_push down to the internal pad as well.
1650
1651 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1652
1653         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1654
1655         * gst/gsttaginterface.c:
1656           Some documentation fixes (#307394 and #307397).
1657
1658 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1659
1660         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1661
1662         * gst/gstvalue.c: (gst_value_intersect_list):
1663           Fix memleak (#309125).
1664
1665 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1666
1667         * docs/manual/advanced-dataaccess.xml:
1668           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1669         * docs/manual/basics-pads.xml:
1670           Add reference for filtered caps to above chapter.
1671
1672 2005-06-30  Wim Taymans  <wim@fluendo.com>
1673
1674         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1675         (gst_bin_change_state):
1676         Probes are gone.
1677         Lame attempt at making the state change function a bit
1678         more readable.
1679
1680 2005-06-30  Wim Taymans  <wim@fluendo.com>
1681
1682         * docs/design/part-clocks.txt:
1683         * docs/design/part-element-sink.txt:
1684         * docs/design/part-events.txt:
1685         * docs/design/part-preroll.txt:
1686         * docs/design/part-states.txt:
1687         Some more tweeks and additions to the docs.
1688
1689 2005-06-30  Wim Taymans  <wim@fluendo.com>
1690
1691         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1692         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1693         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1694         (gst_pad_check_pull_range), (gst_pad_get_range),
1695         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1696         * gst/gstpad.h:
1697         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1698         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1699         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1700         (gst_pad_remove_buffer_probe):
1701         Removed atomic operations, use existing LOCK.
1702         Move exception handling out of main code path.
1703
1704 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1705
1706         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1707         (silly_return_true_function), (gst_pad_class_init),
1708         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1709         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1710         (gst_pad_send_event):
1711           Fix accumulator, add default value by using _emitv() instead
1712           of _emit() for signal emission.
1713
1714 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1715
1716         * docs/manual/advanced-dataaccess.xml:
1717         * examples/manual/Makefile.am:
1718           Add probe example.
1719         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1720           Make work (??).
1721
1722 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1723
1724         * gst/elements/gstfilesink.c: (gst_filesink_render):
1725           Simplify code so that we don't have to handle short
1726           writes and return GST_FLOW_ERROR if an error occured.
1727
1728 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1729
1730         * docs/gst/gstreamer-docs.sgml:
1731           Remove probes more.
1732
1733 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1734
1735         * docs/gst/gstreamer-sections.txt:
1736         * docs/gst/tmpl/gstpad.sgml:
1737         * docs/gst/tmpl/gstprobe.sgml:
1738         * gst/Makefile.am:
1739         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1740         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1741         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1742         (gst_pad_push_event), (gst_pad_send_event):
1743         * gst/gstpad.h:
1744         * gst/gstutils.c: (gst_pad_add_data_probe),
1745         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1746         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1747         (gst_pad_remove_buffer_probe):
1748         * gst/gstutils.h:
1749           Remove old probes, add new g-signal-based probes and some utility
1750           functions.
1751
1752 2005-06-29  Edward Hervey  <edward@fluendo.com>
1753
1754         * gst/gstelementfactory.c:
1755         * gst/gstutils.h:
1756         * gst/gstutils.c:
1757         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1758         the definition to the header file.
1759
1760 2005-06-29  Andy Wingo  <wingo@pobox.com>
1761
1762         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1763         plugins from the source directory.
1764
1765 2005-06-29  Wim Taymans  <wim@fluendo.com>
1766
1767         * docs/gst/tmpl/gstbuffer.sgml:
1768         * docs/gst/tmpl/gstclock.sgml:
1769         Some fixings for blantently wrong text.
1770
1771 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1772
1773         * check/Makefile.am:
1774         * gst/gst.c: (add_path_func), (init_pre):
1775         * gst/gstregistry.c: (gst_registry_add_path):
1776           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1777           only scan the GST_PLUGIN_PATH locations, and not add
1778           system locations
1779
1780 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1781
1782         * docs/gst/gstreamer-sections.txt:
1783         * docs/gst/tmpl/gstbasesrc.sgml:
1784         * gst/gstelement.c:
1785         * gst/gstelement.h:
1786         * gst/gstevent.c:
1787         * gst/gstutils.c:
1788           doc fixes
1789
1790 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1791
1792         * docs/manual/advanced-autoplugging.xml:
1793           Fix autoplugging example.
1794
1795 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1796
1797         * docs/manual/advanced-autoplugging.xml:
1798         * docs/manual/mime-world.fig:
1799           Try to get autoplugging working, fix type detection. Fix text
1800           in hello-world image.
1801
1802 2005-06-29  Wim Taymans  <wim@fluendo.com>
1803
1804         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1805         (gst_base_sink_change_state):
1806         Small debug line.
1807
1808         * gst/gstclock.h:
1809         map SIGNAL and BROADCAST to the right function.
1810
1811         * gst/gstobject.h:
1812         Remove redundant braces.
1813
1814         * gst/gstpad.c: (gst_pad_set_caps):
1815         Don't call setcaps function when reseting caps to NULL.
1816
1817         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1818         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1819         (gst_system_clock_id_unschedule):
1820         Use BROADCAST as this is what we do.
1821
1822 2005-06-29  Wim Taymans  <wim@fluendo.com>
1823
1824         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1825         We are actually prerolling before commiting the state
1826         change. 
1827
1828 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1829
1830         * docs/manual/advanced-clocks.xml:
1831         * docs/manual/advanced-interfaces.xml:
1832         * docs/manual/advanced-metadata.xml:
1833         * docs/manual/advanced-position.xml:
1834         * docs/manual/advanced-schedulers.xml:
1835         * docs/manual/advanced-threads.xml:
1836         * docs/manual/appendix-porting.xml:
1837         * docs/manual/basics-bins.xml:
1838         * docs/manual/basics-bus.xml:
1839         * docs/manual/basics-elements.xml:
1840         * docs/manual/basics-helloworld.xml:
1841         * docs/manual/basics-pads.xml:
1842         * docs/manual/highlevel-components.xml:
1843         * docs/manual/manual.xml:
1844         * docs/manual/thread.fig:
1845           Update (until threads/scheduling) Application Development Manual;
1846           remove GstThread, add GstBus, add simple porting checklist, add
1847           documentation for tag writing, clocks, make all examples until this
1848           part compile and run.
1849         * examples/manual/Makefile.am:
1850           Update from changes to Application Development Manual; add bus
1851           example, remove thread example.
1852
1853 2005-06-28  Wim Taymans  <wim@fluendo.com>
1854
1855         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1856         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1857         (gst_bus_source_dispatch):
1858         Add debugging messages.
1859         Make internal methods static.
1860         Handle the case where the bus is flushed in the handler.
1861         
1862         * gst/gstelement.c: (gst_element_get_bus):
1863         Fix refcount in _get_bus();
1864
1865         * gst/gstpipeline.c: (gst_pipeline_change_state),
1866         (gst_pipeline_get_clock_func):
1867         Clock refcounting fixes.
1868         Handle the case where preroll timed out more gracefully.
1869         
1870         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1871         Clean up the internal thread in dispose. This is needed
1872         for subclasses that actually get disposed.
1873         
1874         * gst/schedulers/threadscheduler.c:
1875         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1876         (gst_thread_scheduler_dispose):
1877         Free thread pool in dispose.
1878
1879 2005-06-28  Andy Wingo  <wingo@pobox.com>
1880
1881         * tests/network-clock-utils.scm (debug, print-event): New utils.
1882
1883         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1884         (*packet-loss*): Unified loss probability.
1885         (network-time): Report out-of-band events.
1886
1887         * tests/plot-data: Add support for out-of-band events. Hack it
1888         into this script instead of passing it down the pipe; should fix
1889         this later.
1890
1891 2005-06-28  Wim Taymans  <wim@fluendo.com>
1892
1893         * docs/gst/gstreamer.types:
1894         * docs/gst/tmpl/gstbasesrc.sgml:
1895         * docs/gst/tmpl/gstpad.sgml:
1896         Docs fixes.
1897
1898 2005-06-28  Wim Taymans  <wim@fluendo.com>
1899
1900         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1901         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1902         (gst_proxy_pad_do_fixatecaps):
1903         Correctly proxy the check_pull_range function.
1904
1905 2005-06-28  Andy Wingo  <wingo@pobox.com>
1906
1907         * tests/network-clock.scm: Removed need for slib.
1908         
1909 2005-06-28  Wim Taymans  <wim@fluendo.com>
1910
1911         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1912         (gst_basesink_preroll_queue_flush):
1913         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1914         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1915         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1916         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1917         (gst_proxy_pad_set_property):
1918         * gst/gstpad.c:
1919         * gst/gstpad.h:
1920         * gst/gstqueue.c: (gst_queue_init):
1921         The deprecated pad loop function is removed now.
1922
1923 2005-06-28  Andy Wingo  <wingo@pobox.com>
1924
1925         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1926         New parameters, simulate network packet loss.
1927
1928         * tests/network-clock-utils.scm: Initialize the RNG.
1929
1930 2005-06-28  Wim Taymans  <wim@fluendo.com>
1931
1932         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1933         (gst_basesink_event), (gst_basesink_deactivate):
1934         Flushing the preroll queue always needs to unlock the waiters.
1935
1936 2005-06-28  Edward Hervey  <edward@fluendo.com>
1937
1938         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1939         Wheen a seek was successful on a pipeline, set the stream_time to the
1940         seek offset in order to have a synchronized stream_time.
1941
1942 2005-06-28  Wim Taymans  <wim@fluendo.com>
1943
1944         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1945         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1946         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1947         (gst_proxy_pad_do_fixatecaps):
1948         Call wrapper function instead of just calling the function
1949         pointers. This takes care of any locking and whatmore.
1950
1951 2005-06-28  Wim Taymans  <wim@fluendo.com>
1952
1953         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1954         (gst_pad_pull_range):
1955         * gst/gstpad.h:
1956         CONNECTED -> LINKED.
1957
1958 2005-06-28  Andy Wingo  <wingo@pobox.com>
1959
1960         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1961         source-munging commit!!!
1962
1963         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1964         (gst_object_sink): Take gpointer arguments, not GstObject --
1965         avoids casts. Like GLib.
1966
1967         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1968         activate.
1969
1970 2005-06-27  Andy Wingo  <wingo@pobox.com>
1971
1972         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1973         remaining buffer.
1974
1975         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1976         returns a sorted copy of the trace list.
1977         (gst_alloc_trace_print_live): New API, only prints traces with
1978         live objects. Sort the list.
1979         (gst_alloc_trace_print_all): Sort the list.
1980         (gst_alloc_trace_print): Align columns.
1981
1982         * gst/elements/gstttypefindelement.c:
1983         * gst/elements/gsttee.c:
1984         * gst/base/gstbasesrc.c:
1985         * gst/base/gstbasesink.c:
1986         * gst/base/gstbasetransform.c:
1987         * gst/gstqueue.c: Adapt for pad activation changes.
1988
1989         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1990         sched.
1991         (gst_pipeline_dispose): Drop ref on sched.
1992
1993         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1994         (gst_pad_activate_default): Push mode by default.
1995         (pre_activate_switch, post_activate_switch): New stubs, things to
1996         do before and after switching activation modes on pads.
1997         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1998         the pad's activate function to choose which mode to activate.
1999         Shortcut on deactivation and call the right function directly.
2000         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2001         mode.
2002         (gst_pad_activate_push): New API, same for push mode.
2003         (gst_pad_set_activate_function) 
2004         (gst_pad_set_activatepull_function) 
2005         (gst_pad_set_activatepush_function): Setters for new API.
2006
2007         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2008         Trace all miniobjects.
2009         (gst_mini_object_make_writable): Unref the arg if we copy, like
2010         gst_caps_make_writable.
2011
2012         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2013
2014         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2015         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2016         Adapt for new pad API.
2017
2018         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2019
2020         * gst/gstelement.h:
2021         * gst/gstelement.c (gst_element_iterate_src_pads) 
2022         (gst_element_iterate_sink_pads): New API functions.
2023         
2024         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2025         should fold into gstiterator.c in some form.
2026         (gst_element_pads_activate): Simplified via use of fold and
2027         delegation of decisions to gstpad->activate.
2028
2029         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2030         help in debugging.
2031
2032         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2033         class once in init, like gstmessage. Didn't run into this issue
2034         but it seems correct. Don't initialize a trace, gstminiobject does
2035         that.
2036
2037         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2038         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2039         to the bus.
2040         (assert_live_count): New util function, uses alloc traces to check
2041         cleanup.
2042
2043         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2044         To be modified when unlink drops the internal pad.
2045
2046 2005-06-27  Wim Taymans  <wim@fluendo.com>
2047
2048         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2049         (gst_bin_change_state):
2050         Cleanup the get_state() function a little, make sure it
2051         iterates the same set of elements.
2052         Added stub iterate_state_order().
2053
2054 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2055
2056         * docs/gst/gstreamer-docs.sgml:
2057         * docs/gst/gstreamer-sections.txt:
2058         * docs/gst/gstreamer.types:
2059         * docs/gst/tmpl/gstbasesink.sgml:
2060         * docs/gst/tmpl/gstbasesrc.sgml:
2061         * docs/gst/tmpl/gstbasetransform.sgml:
2062         * docs/gst/tmpl/gstelement.sgml:
2063         * docs/gst/tmpl/gstiterator.sgml:
2064         * gst/base/gstbasesrc.c:
2065         * gst/base/gstbasesrc.h:
2066         * gst/base/gstbasetransform.h:
2067         * gst/gstelement.c:
2068         * gst/gstiterator.h:
2069           adding basetransform and iterator docs
2070
2071 2005-06-27  Andy Wingo  <wingo@pobox.com>
2072
2073         * docs/design/part-activation.txt: Notes on how activation should
2074         work -- not quite implemented yet.
2075
2076 2005-06-25  Wim Taymans  <wim@fluendo.com>
2077
2078         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2079         At least get the chain function correct, needs more
2080         fixing.
2081
2082 2005-06-25  Wim Taymans  <wim@fluendo.com>
2083
2084         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2085         (gst_basesink_handle_object), (gst_basesink_event),
2086         (gst_basesink_do_sync), (gst_basesink_handle_event),
2087         (gst_basesink_change_state):
2088         * gst/gsttask.h:
2089         Right, two problems here: ghostpads don't take locks and
2090         glib _rec_mutex_lock_full() with depth==0 still locks.
2091         Catch illegal locking and g_warn them.
2092
2093 2005-06-25  Wim Taymans  <wim@fluendo.com>
2094
2095         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2096         Have to check for completion now...
2097
2098 2005-06-25  Wim Taymans  <wim@fluendo.com>
2099
2100         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2101         (gst_basesink_handle_object), (gst_basesink_event),
2102         (gst_basesink_do_sync), (gst_basesink_handle_event),
2103         (gst_basesink_change_state):
2104         * gst/gstpad.h:
2105         Unlock STREAM_LOCK whatever the recursion was.
2106
2107 2005-06-25  Wim Taymans  <wim@fluendo.com>
2108
2109         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2110         (gst_basesink_preroll_queue_empty),
2111         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2112         (gst_basesink_event), (gst_basesink_do_sync),
2113         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2114         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2115         (gst_basesink_change_state):
2116         Reworked the base sink, handle event and buffer serialisation
2117         correctly and removed possible deadlock.
2118         Handle EOS correctly.
2119
2120 2005-06-25  Wim Taymans  <wim@fluendo.com>
2121
2122         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2123         (gst_pipeline_change_state):
2124         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2125         Allow elements to post EOS in the state change function.
2126         Fix up -launch, make it exit the poll loop when the
2127         pipeline actually changed state.
2128         Fix up warning parsing in -launch.
2129
2130 2005-06-25  Wim Taymans  <wim@fluendo.com>
2131
2132         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2133         (gst_tee_sink_activate):
2134         Core takes STREAM_LOCK for us now.
2135
2136 2005-06-25  Wim Taymans  <wim@fluendo.com>
2137
2138         * gst/gstelement.c: (gst_element_get_state_func),
2139         (gst_element_set_state):
2140         * gst/gstelement.h:
2141         * gst/gstmessage.c: (gst_message_parse_error),
2142         (gst_message_parse_warning):
2143         Keep track of current target state while performing a state
2144         change so that subclasses can do something interesting.
2145         Fix parsing of warning/error messages when GError is NULL.
2146
2147 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2148
2149         * docs/gst/Makefile.am:
2150         * docs/gst/gstreamer-docs.sgml:
2151         * docs/gst/gstreamer-sections.txt:
2152         * docs/gst/gstreamer.types:
2153         * docs/gst/tmpl/gstbasesink.sgml:
2154         * docs/gst/tmpl/gstbasesrc.sgml:
2155         * docs/gst/tmpl/gstbin.sgml:
2156         * docs/gst/tmpl/gstcompat.sgml:
2157         * docs/gst/tmpl/gstfakesink.sgml:
2158         * docs/gst/tmpl/gstfakesrc.sgml:
2159         * docs/gst/tmpl/gstfilesink.sgml:
2160         * docs/gst/tmpl/gstfilesrc.sgml:
2161         * docs/gst/tmpl/gstindex.sgml:
2162         * docs/manual/appendix-quotes.xml:
2163         * gst/base/gstbasesrc.h:
2164         * gst/elements/gstfakesrc.h:
2165         * gst/gstmessage.h:
2166           start pulling in base classes and elements in our docs
2167
2168 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2169
2170         * docs/gst/Makefile.am:
2171         * docs/libs/Makefile.am:
2172           fixed make distcheck with gtk-doc 1.3
2173
2174 2005-06-23  Wim Taymans  <wim@fluendo.com>
2175
2176         * gst/gstelement.c: (gst_element_get_state_func),
2177         (gst_element_set_state), (gst_element_change_state):
2178         When the state did not change, also report NO_PREROLL
2179         when it matters.
2180
2181 2005-06-23  Wim Taymans  <wim@fluendo.com>
2182
2183         * gst/gstpad.c: (gst_pad_event_default):
2184         * gst/gstqueue.c: (gst_queue_loop):
2185         No unsafe task pausing please.
2186
2187 2005-06-23  Wim Taymans  <wim@fluendo.com>
2188
2189         * gst/schedulers/threadscheduler.c:
2190         (gst_thread_scheduler_task_start),
2191         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2192         Ref the task before pushing it on the threadpool. This
2193         makes sure that we have a ref when the threadfunction is
2194         actually called.
2195
2196 2005-06-23  Andy Wingo  <wingo@pobox.com>
2197
2198         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2199         offset is greater than the file's size.
2200
2201         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2202         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2203         * gst/gstobject.c (gst_object_class_init): Make the class lock
2204         recursive. Wim won't let me drop deep_notify. Decodebin works
2205         again, whoopdy doo.
2206
2207         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2208         internal pad, and hacks accordingly. Doesn't do it on the target
2209         pad because we change its caps. Probably catches all cases of
2210         interest tho.
2211         (gst_ghost_pad_set_property): Connect to notify::caps as
2212         appropritate.
2213
2214         * tests/network-clock.scm (plot-simulation): Pipe data to the
2215         elite python skript.
2216
2217         * tests/network-clock-utils.scm (define-parameter): New macro,
2218         defines a parameter that can be set via the command line.
2219         (set-parameter!, parse-parameter-arguments): Command line args
2220         parser.
2221
2222         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2223         stdin.
2224
2225 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2226
2227         * gst/elements/gsttypefindelement.c:
2228         (gst_type_find_element_handle_event):
2229           Don't restart typefinding on a discont.
2230         * gst/gstelement.c: (gst_element_set_state):
2231           Debug spelling fix.
2232         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2233           Allow changing mode of an active pad.
2234           Debug output fixes.
2235         * gst/registries/gstlibxmlregistry.c: (load_feature):
2236           Don't cast a static pad template to a normal pad template.
2237
2238 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2239
2240         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2241         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2242           remove gst_strtoll completely, since it didn't actually do
2243           anything more than what g_ascii_strtoull already does.
2244           check for range errors when deserializing
2245           do a cast for the unsigned cases; but further fixing needs
2246           a decision on what the interpretation of "(int)" and
2247           deserialization should be for values that fall outside the
2248           type's boundaries (ie, refuse, or interpret as casting)
2249
2250 2005-06-23  Wim Taymans  <wim@fluendo.com>
2251
2252         * check/Makefile.am:
2253         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2254         * docs/design/part-live-source.txt:
2255         * docs/design/part-states.txt:
2256         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2257         (gst_basesrc_set_live), (gst_basesrc_is_live),
2258         (gst_basesrc_get_range), (gst_basesrc_activate),
2259         (gst_basesrc_change_state):
2260         * gst/base/gstbasesrc.h:
2261         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2262         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2263         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2264         * gst/gstelement.c: (gst_element_get_state_func),
2265         (gst_element_set_state):
2266         * gst/gstelement.h:
2267         * gst/gsttypes.h:
2268         * tools/gst-launch.c: (event_loop), (main):
2269         Added support for live sources and other elements that
2270         cannot do preroll.
2271         Updated design docs, added live-source design doc.
2272         Implemented live source functionality in basesrc
2273         Fix error condition in _bin_get_state()
2274         Implement live source handling in -launch.
2275         Added check for live sources.
2276         Fixed case in GstBin where elements were changed state
2277         multiple times.
2278
2279
2280 2005-06-23  Andy Wingo  <wingo@pobox.com>
2281
2282         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2283         borken refcounting.
2284
2285         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2286         gst_caps_replace takes care of this for us.
2287
2288         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2289         gst_pad_set_caps on the target, not just its setcaps() function.
2290
2291         * tests/network-clock.scm: 
2292         * tests/network-clock-utils.scm: A network clock simulator.
2293         Something of an algorithmic testbed before doing something in C.
2294
2295 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2296
2297         * check/Makefile.am:
2298         * check/gst/capslist.h:
2299           copy over from 0.8, and add two with bitmasks specified with
2300           (int) 0xFF...
2301         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2302           add test to parse everything from capslist.h
2303         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2304         (main):
2305           add test for structure deserialization
2306         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2307           add tests for deserialization of strings to int types
2308         * gst/gststructure.c: (gst_structure_nth_field_name):
2309         * gst/gststructure.h:
2310           add a way to get the name of a field referenced by index
2311         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2312           instead of checking if the resulting long long lies between
2313           min and max, we check if the long long would fit into
2314           a number of bytes for the final type.
2315           This fixes cases where a string represents 2^32 - 1, which
2316           when cast to int would be the (valid) -1, but is bigger than
2317           G_MAXINT
2318
2319 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2320
2321         * gst/parse/grammar.y:
2322           add a log line for type deserialization
2323
2324 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2325
2326         * check/gst/gstvalue.c: (START_TEST):
2327         * gst/gstvalue.c: (gst_value_deserialize):
2328           return long long, not int, so gint64 deserialization actually
2329           works.  Is there any flag that makes the compiler check this ?
2330           Fixes #308559
2331
2332 2005-06-22  Wim Taymans  <wim@fluendo.com>
2333
2334         * gst/gstbuffer.h:
2335         Added convenience macros for setting buffers in GValue.
2336
2337 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2338
2339         * check/gst/.cvsignore:
2340         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2341           add a test deserializing int64, and comment part out because
2342           it fails, yay !
2343
2344 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2345
2346         * check/Makefile.am:
2347         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2348         * testsuite/Makefile.am:
2349         * testsuite/caps/Makefile.am:
2350         * testsuite/caps/value_serialize.c:
2351         * testsuite/test_gst_init.c:
2352           move a value_serialize test over
2353
2354 2005-06-20  Wim Taymans  <wim@fluendo.com>
2355
2356         * gst/gstpad.c:
2357         Small doc updates.
2358         
2359         * gst/gstvalue.c: (gst_value_compare_buffer),
2360         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2361         (gst_value_compare_flags), (gst_value_serialize_flags),
2362         (gst_value_deserialize_flags), (_gst_value_initialize):
2363         Fix serialisation of buffers, they are not boxed types anymore
2364
2365 2005-06-20  Wim Taymans  <wim@fluendo.com>
2366
2367         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2368         Testcase to show error in buffer-on-caps serialisation.
2369
2370 2005-06-20  Andy Wingo  <wingo@pobox.com>
2371
2372         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2373         will be adding to later.
2374
2375         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2376         if its socks fill with rocks.
2377         (gst_system_clock_obtain): Set the name on object construction.
2378         Avoid double-checked locking.
2379
2380 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2381
2382         * gst/gsturi.c: (gst_element_make_from_uri):
2383           Fix potential endless loop.
2384
2385 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2386
2387         * check/Makefile.am:
2388           add gsttag
2389         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2390         (main):
2391           move over from testsuite dir and clean up
2392         * configure.ac:
2393         * gst/gsttag.c:
2394         * testsuite/Makefile.am:
2395         * testsuite/tags/.cvsignore:
2396         * testsuite/tags/Makefile.am:
2397         * testsuite/tags/merge.c:
2398           remove testsuite/tags
2399
2400 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2401
2402         * docs/gst/gstreamer-sections.txt:
2403         * docs/gst/tmpl/gstenumtypes.sgml:
2404         * win32/gstenumtypes.c:
2405           clean up documentation build a little
2406
2407 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2408
2409         * check/gstcheck.h:
2410           add macros for checking refcounts on objects and caps
2411         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2412           add some more unit tests
2413         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2414         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2415           fix leaked refcounts (I hope :)) so unittest works
2416         * gst/gstpad.h:
2417           whitespace removal
2418
2419 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2420
2421         * configure.ac: back to HEAD
2422
2423 === release 0.9.1 ===
2424
2425 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2426
2427         * NEWS:
2428         * RELEASE:
2429           updated
2430
2431 2005-06-17  Andy Wingo  <wingo@pobox.com>
2432
2433         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2434         assert; it's always possible that the pad gets deactivated in
2435         between the checks in gstpad.c and the implementation. Rely on
2436         finish_preroll() to return a FLUSHING or similar instead of on the
2437         assert.
2438         
2439         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2440         clock and post an EOS message if we come out of finish_preroll in
2441         the playing state.
2442
2443 2005-06-16  David Schleef  <ds@schleef.org>
2444
2445         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2446         (gst_capsfilter_set_property): Allow NULL as possible value
2447         for filter_caps property, indicating GST_CAPS_ANY.
2448
2449 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2450
2451         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2452           fix debug output
2453         * gst/schedulers/Makefile.am:
2454           use libgst prefix
2455         * gstreamer.spec.in:
2456           fix spec for it
2457
2458 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2459
2460         * gstreamer.spec.in:
2461           clean up
2462
2463 2005-06-08  Andy Wingo  <wingo@pobox.com>
2464
2465         * gst/gstutils.c: RPAD fixes all around.
2466         (gst_element_link_pads): Refcounting fixes.
2467
2468         * tools/gst-inspect.c:
2469         * tools/gst-xmlinspect.c:
2470         * parse/grammar.y:
2471         * gst/base/gsttypefindhelper.c:
2472         * gst/base/gstbasesink.c:
2473         * gst/gstqueue.c: RPAD fixes.
2474
2475         * gst/gstghostpad.h:
2476         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2477         pads. The tricky thing is they provide both source and sink
2478         interfaces, since they proxy the internal pad for the external
2479         pad, and vice versa. Implement with lower-level ProxyPad objects,
2480         with the interior proxy pad as a child of the exterior ghost pad.
2481         Should write a doc on this.
2482         
2483         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2484         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2485         gst_object API.
2486         
2487         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2488         pads are real pads. No ghost pads in this file. Not documenting
2489         the myriad s/RPAD/PAD/ and REALIZE fixes.
2490         (gst_pad_class_init): Add properties for "direction" and
2491         "template". Both are construct-only, so they can't change during
2492         the life of the pad. Fixes properly deriving from GstPad.
2493         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2494         derived objects, just set properties when creating the objects via
2495         g_object_new.
2496         (gst_pad_get_parent): Implement as a function, return NULL if the
2497         parent is not an element.
2498         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2499         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2500         
2501         * gst/gstobject.c (gst_object_class_init): Make name a construct
2502         property. Don't set it in the object init.
2503
2504         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2505         with UNKNOWN direction.
2506         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2507         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2508         (gst_element_remove_pad): Remove ghost-pad special cases.
2509         (gst_element_pads_activate): Remove rpad cruft.
2510
2511         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2512         catch the pad's-parent-not-an-element case.
2513
2514         * gst/gst.h: Include gstghostpad.h.
2515
2516         * gst/gst.c (init_post): No more real, ghost pads.
2517
2518         * gst/Makefile.am: Add gstghostpad.[ch].
2519
2520         * check/Makefile.am:
2521         * check/gst/gstbin.c:
2522         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2523         into a bin creates ghost pads, and that the refcounts are right.
2524         Partly moved from gstbin.c.
2525
2526 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2527
2528         * check/gst-libs/.cvsignore:
2529         * check/gst/.cvsignore:
2530         * check/pipelines/.cvsignore:
2531           ignore more
2532         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2533         (START_TEST), (cleanup_suite), (main):
2534           add some tests related to cleanup after running pipelines
2535
2536 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2537
2538         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2539           add a testsuite for GstBuffer
2540
2541 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2542
2543         * gst/gstminiobject.h:
2544           add defines for accessing the refcount
2545
2546 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2547
2548         * Makefile.am: added support for html unit test coverage reports
2549
2550 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2551
2552         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2553           Free existing caps if the capsfilter changes. Add a FIXME about
2554           setting those caps on the pads.
2555
2556         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2557           Before adding a ghost pad to a parent bin, check that there isn't
2558           already one for the element on the bin. Prevents infinite recursion
2559           when using decodebin in parse pipelines. Andy says he'll rewrite the
2560           way this works anyway, so ignore the hack.
2561
2562 2005-06-02  Andy Wingo  <wingo@pobox.com>
2563
2564         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2565         file size, pass it on to the type find helper.
2566
2567         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2568         segment_start and segment_end properly according to the seek
2569         method. Segment_end is still a bit flaky because offset can be
2570         negative for CUR and END cases, but it takes -1 as an "unset"
2571         value.
2572
2573 2005-06-02  Wim Taymans  <wim@fluendo.com>
2574
2575         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2576         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2577         (gst_basesink_activate):
2578         * gst/base/gstbasesink.h:
2579         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2580         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2581         (gst_pad_query), (gst_pad_start_task):
2582         * gst/gstpad.h:
2583         * gst/gstqueue.c: (gst_queue_bufferalloc),
2584         (gst_queue_handle_sink_event), (gst_queue_chain):
2585         Bufferalloc: return GstFlowReturn to more accuratly report
2586         why allocation failed.
2587
2588 2005-06-02  Wim Taymans  <wim@fluendo.com>
2589
2590         * gst/gstpipeline.c: (gst_pipeline_send_event):
2591         Take snapshot of state without blocking.
2592
2593 2005-06-02  Wim Taymans  <wim@fluendo.com>
2594
2595         * docs/design/part-TODO.txt:
2596         * docs/design/part-caps.txt:
2597         * docs/design/part-clocks.txt:
2598         * docs/design/part-negotiation.txt:
2599         * docs/design/part-preroll.txt:
2600         Small doc updates 
2601
2602 2005-05-30  Wim Taymans  <wim@fluendo.com>
2603
2604         * gst/elements/gstidentity.c: (gst_identity_event),
2605         (gst_identity_transform), (gst_identity_get_property):
2606         Protect last_message property as it is accessed from
2607         multiple threads.
2608
2609 2005-05-30  Wim Taymans  <wim@fluendo.com>
2610
2611         * gst/gstelement.c: (gst_element_init),
2612         (gst_element_pads_activate), (gst_element_change_state):
2613         Slicker pad activation code.
2614
2615 2005-05-30  Wim Taymans  <wim@fluendo.com>
2616
2617         * gst/Makefile.am:
2618         * gst/gstelement.h:
2619         * gst/gstelementfactory.h:
2620         * gst/gsttypes.h:
2621         Move elementfactory methods to separate .h file.
2622
2623 2005-05-30  Wim Taymans  <wim@fluendo.com>
2624
2625         * docs/design/part-overview.txt:
2626         * gst/gstsystemclock.h:
2627         Small typo fixes, doc updates.
2628
2629 2005-05-30  Wim Taymans  <wim@fluendo.com>
2630
2631         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2632         (init_popt_callback):
2633         Remove cpu-opt flag.
2634
2635 2005-05-30  Wim Taymans  <wim@fluendo.com>
2636
2637         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2638         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2639         * gst/gstbuffer.h:
2640         Avoid typechecking in places where not needed.
2641         Added accessor for malloc_data.
2642
2643 2005-05-30  Wim Taymans  <wim@fluendo.com>
2644
2645         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2646         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2647         (gst_pad_configure_sink), (gst_pad_configure_src),
2648         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2649         (gst_pad_start_task):
2650         Propagate errors from _set_caps() in configure_src/sink
2651         functions instead of returning TRUE.
2652         FLUSH events can travel up and downstream
2653
2654
2655 2005-05-30  Wim Taymans  <wim@fluendo.com>
2656
2657         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2658         (gst_basesink_activate):
2659         Handle EOS in preroll.
2660
2661 2005-05-30  Wim Taymans  <wim@fluendo.com>
2662
2663         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2664         (gst_queue_loop), (gst_queue_handle_src_event):
2665         Remove old pieces of code
2666         Flushing the queue in an upstream event is a very bad idea.
2667
2668 2005-05-26  Andy Wingo  <wingo@pobox.com>
2669
2670         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2671         gst_value_set_mini_object so as to add a ref on the object (which
2672         will be removed when the value is unset).
2673
2674         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2675         arg type in ::handoff.
2676
2677         * gst/gstelement.c (gst_element_change_state): Also deactivate
2678         pads in READY->NULL, just in case the element didn't make it to
2679         PAUSED. Wingo tested, Wim approved.
2680
2681 2005-05-26  Wim Taymans  <wim@fluendo.com>
2682
2683         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2684         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2685         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2686         A flushing pad cannot be used to alloc_buffer from.
2687
2688 2005-05-26  Wim Taymans  <wim@fluendo.com>
2689
2690         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2691         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2692         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2693         (gst_bus_create_watch), (gst_bus_add_watch_full):
2694         * gst/gstbus.h:
2695         Implement a real GSource and use g_main_context_wakeup() to
2696         signal new messages instead of the socketpair.
2697
2698 2005-05-25  Wim Taymans  <wim@fluendo.com>
2699
2700         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2701         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2702         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2703         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2704         (gst_pad_send_event), (gst_pad_start_task):
2705         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2706         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2707         (gst_queue_sink_activate), (gst_queue_src_activate),
2708         (gst_queue_change_state):
2709         * gst/gstqueue.h:
2710         Fix state changes for non sinks. We now change sinks, then elements
2711         with unconnected srcpads, then the rest.
2712         More efficient queue unlocking in flush and state changes.
2713         Set the pad activate mode even if it does not have an activate
2714         function.
2715
2716 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2717
2718         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2719           Don't go in pull mode for non-seekable sources.
2720         * gst/elements/gsttypefindelement.h:
2721         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2722         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2723         (free_entry), (stop_typefinding),
2724         (gst_type_find_element_handle_event), (find_peek),
2725         (gst_type_find_element_chain), (do_pull_typefind),
2726         (gst_type_find_element_change_state):
2727           Allow typefinding (w/o seeking) in push-mode, simplified version
2728           of what was in 0.8.
2729         * gst/gstutils.c: (gst_buffer_join):
2730         * gst/gstutils.h:
2731           gst_buffer_join() from 0.8.
2732
2733 2005-05-25  Wim Taymans  <wim@fluendo.com>
2734
2735         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2736         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2737         (gst_pad_send_event), (gst_pad_start_task):
2738         Disable attempt at mode switching until it is figured out.
2739
2740 2005-05-25  Wim Taymans  <wim@fluendo.com>
2741
2742         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2743         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2744         (gst_basesink_finish_preroll), (gst_basesink_chain),
2745         (gst_basesink_loop), (gst_basesink_activate),
2746         (gst_basesink_change_state):
2747         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2748         (gst_basesrc_get_range), (gst_basesrc_loop),
2749         (gst_basesrc_activate):
2750         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2751         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2752         (gst_real_pad_init), (gst_real_pad_set_property),
2753         (gst_real_pad_get_property), (gst_pad_set_active),
2754         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2755         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2756         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2757         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2758         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2759         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2760         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2761         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2762         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2763         (gst_pad_stop_task):
2764         * gst/gstpad.h:
2765         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2766         (gst_queue_loop), (gst_queue_src_activate):
2767         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2768         (gst_task_get_state):
2769         * gst/gsttask.h:
2770         * gst/schedulers/threadscheduler.c:
2771         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2772         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2773         in task function.
2774         Remove ACTIVE pad flag, use FLUSHING everywhere
2775         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2776         functions.
2777         Add locks around IS_FLUSHING when reading.
2778         Take STREAM lock in chain(), get_range() functions so plugins
2779         don't need to take it anymore.
2780         
2781
2782
2783 2005-05-25  Wim Taymans  <wim@fluendo.com>
2784
2785         * tools/gst-launch.c: (event_loop):
2786         Unref message after using its contents instead of
2787         before.
2788
2789 2005-05-24  Wim Taymans  <wim@fluendo.com>
2790
2791         * docs/design/draft-ghostpads.txt:
2792         * docs/design/draft-push-pull.txt:
2793         * docs/design/draft-query.txt:
2794         * docs/design/part-overview.txt:
2795         Docs updates, added general overview doc.
2796
2797 2005-05-21  David Schleef  <ds@schleef.org>
2798
2799         * docs/gst/tmpl/old/GstBin.sgml:
2800         * docs/gst/tmpl/old/GstBuffer.sgml:
2801         * docs/gst/tmpl/old/GstCaps.sgml:
2802         * docs/gst/tmpl/old/GstClock.sgml:
2803         * docs/gst/tmpl/old/GstCompat.sgml:
2804         * docs/gst/tmpl/old/GstData.sgml:
2805         * docs/gst/tmpl/old/GstElement.sgml:
2806         * docs/gst/tmpl/old/GstEvent.sgml:
2807         * docs/gst/tmpl/old/GstIndex.sgml:
2808         * docs/gst/tmpl/old/GstStructure.sgml:
2809         * docs/gst/tmpl/old/GstTag.sgml:
2810         * docs/gst/tmpl/old/cothreads.sgml:
2811         * docs/gst/tmpl/old/cothreads_compat.sgml:
2812         * docs/gst/tmpl/old/gettext.sgml:
2813         * docs/gst/tmpl/old/gobject2gtk.sgml:
2814         * docs/gst/tmpl/old/grammar.tab.sgml:
2815         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2816         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2817         * docs/gst/tmpl/old/gst_private.sgml:
2818         * docs/gst/tmpl/old/gstaggregator.sgml:
2819         * docs/gst/tmpl/old/gstarch.sgml:
2820         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2821         * docs/gst/tmpl/old/gstbufferstore.sgml:
2822         * docs/gst/tmpl/old/gstdata_private.sgml:
2823         * docs/gst/tmpl/old/gstdisksink.sgml:
2824         * docs/gst/tmpl/old/gstdisksrc.sgml:
2825         * docs/gst/tmpl/old/gstelementfactory.sgml:
2826         * docs/gst/tmpl/old/gstextratypes.sgml:
2827         * docs/gst/tmpl/old/gstfakesink.sgml:
2828         * docs/gst/tmpl/old/gstfakesrc.sgml:
2829         * docs/gst/tmpl/old/gstfdsink.sgml:
2830         * docs/gst/tmpl/old/gstfdsrc.sgml:
2831         * docs/gst/tmpl/old/gstfilesink.sgml:
2832         * docs/gst/tmpl/old/gstfilesrc.sgml:
2833         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2834         * docs/gst/tmpl/old/gstidentity.sgml:
2835         * docs/gst/tmpl/old/gstindexfactory.sgml:
2836         * docs/gst/tmpl/old/gstmarshal.sgml:
2837         * docs/gst/tmpl/old/gstmd5sink.sgml:
2838         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2839         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2840         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2841         * docs/gst/tmpl/old/gstpipefilter.sgml:
2842         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2843         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2844         * docs/gst/tmpl/old/gstshaper.sgml:
2845         * docs/gst/tmpl/old/gstspider.sgml:
2846         * docs/gst/tmpl/old/gstspideridentity.sgml:
2847         * docs/gst/tmpl/old/gststatistics.sgml:
2848         * docs/gst/tmpl/old/gsttee.sgml:
2849         * docs/gst/tmpl/old/gsttimecache.sgml:
2850         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2851         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2852         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2853         * docs/gst/tmpl/old/types.sgml:
2854           I didn't intend to add these or check them in.
2855
2856 2005-05-19  David Schleef  <ds@schleef.org>
2857
2858         * configure.ac: Use -no-common everywhere.  In a sane world, it
2859           would be the default in libtool, because without it, you can't
2860           build DLLs on Windows.
2861         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2862         * docs/gst/gstreamer-sections.txt:
2863         * docs/gst/tmpl/gstcpu.sgml:
2864         * docs/gst/tmpl/gstdata.sgml:
2865         * docs/gst/tmpl/gstthread.sgml:
2866
2867 2005-05-19  David Schleef  <ds@schleef.org>
2868
2869         * gst/gstminiobject.c: (gst_value_set_mini_object),
2870         (gst_value_take_mini_object), (gst_value_get_mini_object):
2871         * gst/gstminiobject.h: Add GValue set/get functions.
2872
2873 2005-05-19  Wim Taymans  <wim@fluendo.com>
2874
2875         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2876         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2877         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2878         * gst/gstbuffer.h:
2879         * gst/gstbus.c: (gst_bus_post):
2880         * gst/gstelement.c: (gst_element_get_random_pad):
2881         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2882         Make subbufer unref the parent in finalize.
2883         some more debugging info.
2884
2885
2886 2005-05-19  Wim Taymans  <wim@fluendo.com>
2887
2888         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2889         (gst_basesink_init), (gst_basesink_finalize),
2890         (gst_basesink_activate), (gst_basesink_change_state):
2891         Don't free preroll queue too early.
2892
2893 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2894
2895         * gst/Makefile.am:
2896         * gst/ROADMAP:
2897           Hi, I'm outdated. Please shoot me.
2898
2899 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2900
2901         * gst/gstpipeline.c: (gst_pipeline_send_event):
2902           Do not access variables after they have been deleted.
2903
2904 2005-05-19  Wim Taymans  <wim@fluendo.com>
2905
2906         * tools/gst-inspect.c: (print_plugin_features):
2907         A plugin feature does unfortunatly not use the
2908         object name yet...
2909
2910 2005-05-18  Wim Taymans  <wim@fluendo.com>
2911
2912         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2913         Port _span() functions to new subbuffers.
2914
2915 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2916
2917         * gst/gstbin.c: (gst_bin_add_func):
2918           Fix clock settery in bins when adding kids after the clock has
2919           been selected.
2920
2921 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2922
2923         * gst/elements/gstidentity.c: (gst_identity_class_init):
2924           Workaround until signals support GstMiniObject.
2925
2926 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2927
2928         * gst/gstbuffer.c:
2929         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2930
2931 2005-05-18  Wim Taymans  <wim@fluendo.com>
2932
2933         * gst/base/Makefile.am:
2934         * gst/base/gstadapter.c: (gst_adapter_base_init),
2935         (gst_adapter_class_init), (gst_adapter_init),
2936         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2937         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2938         (gst_adapter_flush), (gst_adapter_available),
2939         (gst_adapter_available_fast):
2940         * gst/base/gstadapter.h:
2941         Ported and added adapter to the base classes.
2942
2943 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2944
2945         * gst/gst.c:
2946         * gst/gstmessage.c:
2947           Make sure the class is reffed/unreffed once before threads can be
2948           used.  Fixes #304551.
2949
2950 2005-05-17  Wim Taymans  <wim@fluendo.com>
2951
2952         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2953         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2954         * gst/gstminiobject.c: (gst_mini_object_get_type),
2955         (gst_mini_object_free):
2956         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2957         (gst_pad_push), (gst_pad_push_event):
2958         * gst/gstqueue.c: (gst_queue_change_state):
2959         Don't queue buffers in basesink when we are flushing.
2960         Unref buffer when flushing in basesink.
2961         Flush queue when going to READY
2962         Unref buffer when _push() returns an error.
2963         Don't free MiniObject instance when refcount is incremented
2964         in _finalize() so that we can recover objects.
2965
2966 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2967
2968         * docs/manual/advanced-schedulers.xml:
2969         * docs/manual/appendix-checklist.xml:
2970         * docs/pwg/advanced-clock.xml:
2971         * docs/pwg/advanced-interfaces.xml:
2972         * docs/pwg/advanced-request.xml:
2973         * docs/pwg/advanced-types.xml:
2974         * docs/pwg/intro-preface.xml:
2975         * examples/plugins/example.c: (gst_example_get_type),
2976         (gst_example_class_init), (gst_example_chain),
2977         (gst_example_set_property), (gst_example_get_property),
2978         (gst_example_change_state), (plugin_init):
2979         * examples/plugins/example.h:
2980           small doc fixes
2981
2982 2005-05-17  Wim Taymans  <wim@fluendo.com>
2983
2984         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2985         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2986         * gst/gstqueue.c: (gst_queue_change_state):
2987         Clear queue when going to READY.
2988         Remove IN_SETCAPS flag too.
2989
2990 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2991
2992         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2993           Remove implicit cast from gboolean to GstElementStateReturn;
2994           make sure we still return failure in paused => ready case if
2995           the parent class fails to change state and our own stop 
2996           vfunc succeeds.
2997
2998 2005-05-17  Wim Taymans  <wim@fluendo.com>
2999
3000         * tools/gst-launch.c: (event_loop):
3001         Message was unreffed too soon.
3002
3003 2005-05-16  Andy Wingo  <wingo@pobox.com>
3004
3005         * gst/gstbin.c (sink_iterator_filter): Err... um...
3006
3007         * check/gst/gstbin.c (test_ghost_pads): New test for the
3008         ghosting-if-elements-not-in-same-bin behavior.
3009
3010 2005-05-16  David Schleef  <ds@schleef.org>
3011
3012         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3013         accessing refcount directly.
3014
3015 2005-05-15  David Schleef  <ds@schleef.org>
3016
3017         * check/Makefile.am: remove GstData checks
3018         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3019         * gst/Makefile.am: add miniobject, remove data
3020         * gst/gst.h: add miniobject, remove data
3021         * gst/gstdata.c: remove
3022         * gst/gstdata.h: remove
3023         * gst/gstdata_private.h: remove
3024         * gst/gsttypes.h: remove GstEvent and GstMessage
3025         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3026         * gst/gstmarshal.list: change BOXED -> OBJECT
3027
3028         Implement GstMiniObject.
3029         * gst/gstminiobject.c:
3030         * gst/gstminiobject.h:
3031
3032         Modify to be subclasses of GstMiniObject.
3033         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3034         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3035         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3036         (gst_subbuffer_get_type), (gst_subbuffer_init),
3037         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3038         (gst_buffer_span):
3039         * gst/gstbuffer.h:
3040         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3041         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3042         (_gst_event_copy), (gst_event_new):
3043         * gst/gstevent.h:
3044         * gst/gstmessage.c: (_gst_message_initialize),
3045         (gst_message_get_type), (gst_message_class_init),
3046         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3047         (gst_message_new), (gst_message_new_error),
3048         (gst_message_new_warning), (gst_message_new_tag),
3049         (gst_message_new_state_changed), (gst_message_new_application):
3050         * gst/gstmessage.h:
3051         * gst/gstprobe.c: (gst_probe_perform),
3052         (gst_probe_dispatcher_dispatch):
3053         * gst/gstprobe.h:
3054         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3055         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3056         (_gst_query_copy), (gst_query_new):
3057
3058         Update elements for GstData -> GstMiniObject changes
3059         * gst/gstquery.h:
3060         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3061         (gst_queue_chain), (gst_queue_loop):
3062         * gst/elements/gstbufferstore.c:
3063         (gst_buffer_store_add_buffer_func),
3064         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3065         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3066         (gst_fakesink_render):
3067         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3068         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3069         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3070         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3071         (gst_filesrc_create_read):
3072         * gst/elements/gstidentity.c: (gst_identity_class_init):
3073         * gst/elements/gsttypefindelement.c:
3074         (gst_type_find_element_src_event), (free_entry_buffers),
3075         (gst_type_find_element_handle_event):
3076         * libs/gst/dataprotocol/dataprotocol.c:
3077         (gst_dp_header_from_buffer):
3078         * libs/gst/dataprotocol/dataprotocol.h:
3079         * libs/gst/dataprotocol/dp-private.h:
3080
3081 2005-05-15  David Schleef  <ds@schleef.org>
3082
3083         * gst/elements/gstelements.c: Don't include headers that were
3084         just removed.
3085
3086 2005-05-15  David Schleef  <ds@schleef.org>
3087
3088         * gst/elements/Makefile.am: Remove some elements that don't
3089         need to be in the core (or even exist at all).
3090         * gst/elements/gstaggregator.c:
3091         * gst/elements/gstaggregator.h:
3092         * gst/elements/gstmd5sink.c:
3093         * gst/elements/gstmd5sink.h:
3094         * gst/elements/gstmultifilesrc.c:
3095         * gst/elements/gstmultifilesrc.h:
3096         * gst/elements/gstpipefilter.c:
3097         * gst/elements/gstpipefilter.h:
3098         * gst/elements/gstshaper.c:
3099         * gst/elements/gstshaper.h:
3100         * gst/elements/gststatistics.c:
3101         * gst/elements/gststatistics.h:
3102         * po/POTFILES.in: Remove above files.
3103
3104 2005-05-14  Andy Wingo  <wingo@pobox.com>
3105
3106         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3107         so as to get the refs right.
3108         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3109         unreffing objects that don't pass the filter.
3110
3111         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3112         gst_element_set_bus.
3113         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3114         normal cases, this will destroy the bus.
3115
3116         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3117         object.
3118
3119         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3120         has no sinks.
3121
3122 2005-05-13  Andy Wingo  <wingo@pobox.com>
3123
3124         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3125         gst_pad_link, call pad_link_maybe_ghosting,
3126         (pad_link_maybe_ghosting): Links pads, making sure that the
3127         elements being linked are in the same bin.
3128         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3129         Helpers for pad_link_maybe_ghosting.
3130
3131 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3132
3133         * configure.ac:
3134           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3135
3136 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3137
3138         * docs/design/part-element-source.txt:
3139           Mention GstPushSrc
3140
3141 2005-05-12  Wim Taymans  <wim@fluendo.com>
3142
3143         * gst/base/gstbasesink.c: (gst_basesink_init),
3144         (gst_basesink_activate):
3145         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3146         (gst_basesrc_is_seekable):
3147         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3148         (bin_element_is_sink), (gst_bin_change_state):
3149         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3150         * gst/gstelement.h:
3151         Identify sinks by their flag to avoid overly complicated
3152         checks (fow now).
3153         Do state changes even for elements not reachable from the
3154         sinks.
3155         BaseSink is a sink now :)
3156         Some more debugging info in the basesrc.
3157
3158
3159 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3160
3161         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3162           Implement _query on a bin, similar to _send_event.
3163
3164 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3165
3166         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3167           Discont event offset format should be GST_FORMAT_BYTES,
3168           not GST_FORMAT_TIME.
3169
3170 2005-05-12  Wim Taymans  <wim@fluendo.com>
3171
3172         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3173         Same fix as Ronald's but without the signal. 
3174
3175 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3176
3177         * gst/gstutils.c: (gst_element_query_position):
3178           No, an element is not a pad.
3179
3180 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3181
3182         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3183         (gst_bin_get_state):
3184           If a child is removed from a bin while we remove the child from
3185           the bin and while we're retrieving its state, signal this to the
3186           get_state function so we abort the wait (instead of waiting for
3187           a timeout) and can immediately re-iterate over all other elements.
3188
3189 2005-05-12  Wim Taymans  <wim@fluendo.com>
3190
3191         * gst/base/Makefile.am:
3192         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3193         (gst_basesrc_start):
3194         * gst/base/gstbasesrc.h:
3195         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3196         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3197         (gst_pushsrc_init), (gst_pushsrc_create):
3198         * gst/base/gstpushsrc.h:
3199         Added is_seekable to BaseSrc
3200         Added simple PushSrc.
3201
3202 2005-05-11  Wim Taymans  <wim@fluendo.com>
3203
3204         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3205         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3206         (gst_element_link_pads), (gst_element_query_position),
3207         (gst_element_query_convert), (intersect_caps_func),
3208         (gst_pad_query_position), (gst_pad_query_convert):
3209         Fix refcounting in utils function.
3210         No point in trying to activate a pad when it's added, it could
3211         be added from the state change function and then we deadlock, the
3212         element has to decide what to do.
3213
3214 2005-05-10  Andy Wingo  <wingo@pobox.com>
3215
3216         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3217         *all* the arguments.
3218
3219         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3220         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3221         lock (according to the docs -- if this is wrong change the docs).
3222
3223         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3224         flush messages in the NULL state.
3225
3226         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3227         message immediately and return.
3228         (gst_bus_set_flushing): New function. If a bus is flushing, it
3229         flushes out any queued messages and immediately unrefs new
3230         messages. This is so when an element goes to NULL, all of the
3231         unhandled messages coming from it can be freed, and their
3232         references to the element dropped. In other words: message source
3233         ref considered harmful :P
3234
3235         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3236         we're finished with it.
3237
3238         * gst/gstmessage.c (gst_message_new_state_changed): 
3239
3240 2005-05-10  Wim Taymans  <wim@fluendo.com>
3241
3242         * gst/gstvalue.c: (gst_value_compare_flags),
3243         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3244         (_gst_value_initialize):
3245         Added flags serialize/deserialize/compare code.
3246
3247 2005-05-09  Andy Wingo  <wingo@pobox.com>
3248
3249         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3250         Intersect the peer's caps with our caps.
3251
3252 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3253
3254         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3255         * gst/elements/gsttypefindelement.c: (find_peek):
3256           Handle negative offsets better. Fixes decodebin.
3257
3258 2005-05-09  Wim Taymans  <wim@fluendo.com>
3259
3260         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3261         (gst_base_transform_event):
3262         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3263         Implement accept_caps.
3264         Fix silly lock/unlock mismatch in base class.
3265
3266 2005-05-09  Wim Taymans  <wim@fluendo.com>
3267
3268         * docs/design/draft-push-pull.txt:
3269         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3270         * gst/elements/gstfilesink.c: (gst_filesink_init),
3271         (gst_filesink_query):
3272         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3273         (gst_type_find_handle_src_query), (find_element_get_length):
3274         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3275         * gst/gstelement.h:
3276         * gst/gstmessage.c:
3277         * gst/gstmessage.h:
3278         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3279         (gst_real_pad_get_caps_unlocked),
3280         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3281         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3282         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3283         (gst_real_pad_dispose), (gst_real_pad_finalize),
3284         (gst_pad_load_and_link), (gst_pad_save_thyself),
3285         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3286         (gst_pad_check_pull_range), (gst_pad_pull_range),
3287         (gst_pad_template_get_type), (gst_pad_template_class_init),
3288         (gst_pad_template_init), (gst_pad_template_dispose),
3289         (name_is_valid), (gst_static_pad_template_get),
3290         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3291         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3292         (gst_pad_get_element_private), (gst_pad_start_task),
3293         (gst_pad_pause_task), (gst_pad_stop_task),
3294         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3295         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3296         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3297         (gst_ghost_pad_new):
3298         * gst/gstpad.h:
3299         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3300         (gst_query_new_position), (gst_query_set_position),
3301         (gst_query_parse_position), (gst_query_new_convert),
3302         (gst_query_set_convert), (gst_query_parse_convert):
3303         * gst/gstquery.h:
3304         * gst/gstqueryutils.c:
3305         * gst/gstqueryutils.h:
3306         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3307         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3308         (gst_queue_handle_src_query):
3309         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3310         (gst_element_query_position), (gst_element_query_convert),
3311         (intersect_caps_func), (gst_pad_query_position),
3312         (gst_pad_query_convert):
3313         * gst/gstutils.h:
3314         * tools/gst-inspect.c: (print_pad_info):
3315         * tools/gst-xmlinspect.c: (print_element_info):
3316         Remove old query functions. Ported old code.
3317         Added position/convert helper functions to gstutils.
3318         Reordered gstpad.c code, grouping relevant things.
3319         Remove gst_message_new(), always need to speficy a specific
3320         message.
3321
3322
3323 2005-05-09  Andy Wingo  <wingo@pobox.com>
3324
3325         * gst/gstiterator.h: Add some includes.
3326
3327         * gst/gstqueryutils.h: Include more headers.
3328
3329         * gst/gstpad.h:
3330         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3331         some uses of gst_pad_query.
3332
3333         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3334         NULL out parameters.
3335         (gst_query_new_position): New proc, allocates a new position
3336         query.
3337
3338         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3339         gstqueryutils.c to the build.
3340
3341         * gst/gststructure.c (gst_structure_set_valist): Implement with
3342         the generic G_VALUE_COLLECT.
3343         
3344 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3345
3346         * gst/Makefile.am: (gst_headers):
3347         Added gstqueryutils.h to the list of headers to install, that was
3348         a 'nachty' move wingo :)
3349
3350 2005-05-06  Andy Wingo  <wingo@pobox.com>
3351
3352         * gst/gstquery.h
3353         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3354         GstData, init a memchunk.
3355         (standard_definitions): Add a few query types, deprecate a few.
3356         (gst_query_get_type): New proc.
3357         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3358         implementation.
3359         (gst_query_new_application, gst_query_get_structure): New public
3360         procs.
3361
3362         * docs/design/draft-query.txt: Removed LINKS from the query types,
3363         because all the rest can be dispatched to other pads -- seemed
3364         ugly to have a query that couldn't be dispatched. internal_links
3365         is fine as a pad method.
3366
3367         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3368         in gstpad.c, but maintain binary compatibility for the moment.
3369         Will fix before 0.9 is out.
3370
3371         * gst/gstqueryutils.c: 
3372         * gst/gstqueryutils.h: New files, implement 3 methods for each
3373         query type: parse_query, parse_response, and set. Probably need an
3374         allocator as well.
3375
3376         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3377
3378         * gst/elements/gstfilesink.c (gst_filesink_query2):
3379         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3380         query_types, and formats methods.
3381
3382         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3383         (gst_pad_set_query2_function): New functions.
3384         (gst_real_pad_init): Set query2_default as the default query2
3385         function. Basically just dispatches to internally linked pads.
3386
3387         Needs review!
3388         
3389         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3390         without using the atomic operations. Only one thread can possibly
3391         be accessing the data at this point. Changed so as to avoid
3392         gst_atomic operations.
3393
3394 2005-05-06  Wim Taymans  <wim@fluendo.com>
3395
3396         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3397         Also set caps if we use the fallback buffer alloc.
3398
3399 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3400
3401         * docs/gst/Makefile.am:
3402         * docs/gst/gstreamer-docs.sgml:
3403         * docs/gst/gstreamer-sections.txt:
3404         * docs/gst/tmpl/gstatomic.sgml:
3405         * docs/gst/tmpl/gstmemchunk.sgml:
3406         * testsuite/elements/struct_i386.h:
3407         * win32/GStreamer.vcproj:
3408         * win32/Makefile:
3409           Purge GstAtomic stuff from docs and win32 makefiles as well
3410
3411 2005-05-06  Wim Taymans  <wim@fluendo.com>
3412
3413         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3414         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3415         * gst/gstpad.c: (gst_pad_peer_get_caps):
3416         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3417         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3418         (gst_queue_src_activate), (gst_queue_change_state):
3419         * gst/gstqueue.h:
3420         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3421         (intersect_caps_func):
3422         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3423         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3424         Some fixes for the peer_get_caps() change.
3425
3426 2005-05-06  Wim Taymans  <wim@fluendo.com>
3427
3428         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3429         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3430         (gst_basesink_activate):
3431         Actually do something with error codes returned from the push
3432         functions.
3433
3434 2005-05-06  Wim Taymans  <wim@fluendo.com>
3435
3436         * docs/design/part-element-sink.txt:
3437         * docs/design/part-element-source.txt:
3438         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3439         (gst_basesink_event), (gst_basesink_activate):
3440         * gst/base/gstbasesink.h:
3441         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3442         (gst_basesrc_activate):
3443         * gst/base/gstbasesrc.h:
3444         * gst/gstelement.c: (gst_element_pads_activate):
3445         Some more documentation.
3446         Fixed scheduling decision in _pads_activate().
3447
3448 2005-05-05  Andy Wingo  <wingo@pobox.com>
3449
3450         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3451         the test suite.
3452
3453 2005-05-05  Wim Taymans  <wim@fluendo.com>
3454
3455         * gst/base/Makefile.am:
3456         * gst/base/gstbasesink.h:
3457         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3458         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3459         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3460         (gst_collectpads_class_init), (gst_collectpads_init),
3461         (gst_collectpads_finalize), (gst_collectpads_new),
3462         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3463         (find_pad), (gst_collectpads_remove_pad),
3464         (gst_collectpads_is_active), (gst_collectpads_collect),
3465         (gst_collectpads_collect_range), (gst_collectpads_start),
3466         (gst_collectpads_stop), (gst_collectpads_peek),
3467         (gst_collectpads_pop), (gst_collectpads_available),
3468         (gst_collectpads_read), (gst_collectpads_flush),
3469         (gst_collectpads_chain):
3470         * gst/base/gstcollectpads.h:
3471         * gst/elements/Makefile.am:
3472         * gst/elements/gstelements.c:
3473         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3474         (gst_fakesink_get_times), (gst_fakesink_event),
3475         (gst_fakesink_preroll), (gst_fakesink_render):
3476         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3477         (gst_filesink_init), (gst_filesink_set_location),
3478         (gst_filesink_open_file), (gst_filesink_close_file),
3479         (gst_filesink_pad_query), (gst_filesink_event),
3480         (gst_filesink_render), (gst_filesink_change_state):
3481         * gst/elements/gstfilesink.h:
3482         Added object to help in making collect pad based elements.
3483         Ported filesink.
3484         Make event function in sink baseclass return gboolean.
3485
3486 2005-05-05  Wim Taymans  <wim@fluendo.com>
3487
3488         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3489         (gst_bin_get_by_name):
3490         * gst/gstbuffer.h:
3491         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3492         (gst_clock_finalize):
3493         * gst/gstdata.c: (gst_data_replace):
3494         * gst/gstdata.h:
3495         * gst/gstelement.c: (gst_element_request_pad),
3496         (gst_element_pads_activate):
3497         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3498         (gst_object_unref):
3499         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3500         (gst_pad_set_checkgetrange_function),
3501         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3502         (gst_pad_check_pull_range), (gst_pad_pull_range),
3503         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3504         (gst_pad_pause_task), (gst_pad_stop_task):
3505         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3506         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3507         Fix name lookup in GstBin.
3508         Added _data_replace() function and _buffer_replace()
3509         Use finalize method to clean up clock.
3510         Fix refcounting on request pads.
3511         Fix pad schedule mode error.
3512         Some more object refcounting debug info,
3513
3514
3515 2005-05-04  Andy Wingo <wingo@pobox.com>
3516
3517         * check/Makefile.am:
3518         * docs/gst/tmpl/gstatomic.sgml:
3519         * docs/gst/tmpl/gstplugin.sgml:
3520         * gst/base/gstbasesink.c: (gst_basesink_activate):
3521         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3522         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3523         (gst_basesrc_query), (gst_basesrc_set_property),
3524         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3525         (gst_basesrc_activate):
3526         * gst/base/gstbasesrc.h:
3527         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3528         (gst_base_transform_src_activate):
3529         * gst/elements/gstelements.c:
3530         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3531         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3532         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3533         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3534         (gst_type_find_element_checkgetrange),
3535         (gst_type_find_element_activate):
3536         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3537         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3538         (gst_caps_load_thyself):
3539         * gst/gstelement.c: (gst_element_pads_activate),
3540         (gst_element_save_thyself), (gst_element_restore_thyself):
3541         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3542         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3543         * gst/gstpad.h:
3544         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3545         (gst_xml_parse_file), (gst_xml_parse_memory),
3546         (gst_xml_get_element), (gst_xml_make_element):
3547         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3548         (_file_index_id_save_xml), (gst_file_index_commit):
3549         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3550         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3551         (load_paths):
3552         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3553         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3554         * tools/gst-complete.c: (main):
3555         * tools/gst-compprep.c: (main):
3556         * tools/gst-inspect.c: (print_element_properties_info):
3557         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3558         * tools/gst-xmlinspect.c: (print_element_properties):
3559         GCC 4 fixen.
3560         
3561 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3562
3563         * gst/gstplugin.c: (gst_plugin_check_module),
3564         (gst_plugin_check_file), (gst_plugin_load_file):
3565             apply patch from #172526 to make register work on MacOSX
3566
3567 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3568
3569         * docs/gst/tmpl/gstconfig.sgml:
3570         * gst/gstconfig.h.in:
3571           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3572         * testsuite/debug/printf_extension.c: (main):
3573           Do not use GST_PTR_FORMAT on pointers to types with
3574           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3575         * testsuite/elements/property.h:
3576           use correct printf format
3577
3578 2005-05-02  Wim Taymans  <wim@fluendo.com>
3579
3580         * docs/design/draft-push-pull.txt:
3581         * docs/design/draft-query.txt:
3582         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3583         (gst_basesrc_start):
3584         Added draft for new query API.
3585         Added draft for better selecting scheduling methods.
3586         Make basesrc ignore length if the subclass does not support
3587         it.
3588
3589 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3590
3591         * gst/Makefile.am:
3592           possible fixes for automake-1.5 - _LIBADD is reserved
3593
3594 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3595
3596         * docs/faq/Makefile.am:
3597         * docs/manual/Makefile.am:
3598         * docs/manuals.mak:
3599         * docs/pwg/Makefile.am:
3600         * gst/Makefile.am:
3601           possible fixes for automake-1.5
3602
3603 2005-04-28  Wim Taymans  <wim@fluendo.com>
3604
3605         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3606         (gst_basesink_pad_getcaps), (gst_basesink_init),
3607         (gst_basesink_do_sync):
3608         * gst/gstclock.c: (gst_clock_entry_new):
3609         * gst/gstevent.c: (gst_event_discont_get_value):
3610         * gst/gstpipeline.c: (pipeline_bus_handler),
3611         (gst_pipeline_change_state):
3612         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3613         Better debugging of clocking info.
3614         Allow NULL values when getting discont values.
3615
3616 2005-04-27  Wim Taymans  <wim@fluendo.com>
3617
3618         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3619         * check/gst/gstpad.c: (gst_pad_suite):
3620         Increase timeout for checks.
3621
3622 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3623
3624         * check/Makefile.am:
3625           fix the broken rule for cleanup.  Apparently this rule is
3626           only needed on FC2, so maybe this warrants further autotool
3627           inspection.
3628
3629 2005-04-26  Wim Taymans  <wim@fluendo.com>
3630
3631         * gst/gsttrashstack.h:
3632         Ooohh. a nasty one! After having a failed pop() from the stack,
3633         it's possible that the stack is empty. In that case, don't
3634         follow the NULL pointer.
3635
3636 2005-04-25  Wim Taymans  <wim@fluendo.com>
3637
3638         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3639         (gst_pad_set_checkgetrange_function),
3640         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3641         (gst_pad_check_pull_range), (gst_pad_pull_range),
3642         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3643         (gst_pad_pause_task), (gst_pad_stop_task):
3644         * gst/gstplugin.c: (gst_plugin_load):
3645         * gst/gstplugin.h:
3646         Remove gst_library_load as it does more harm than good with
3647         the new g_module flags.
3648         Revert bogus caps template check in pad linking, pad caps
3649         are important when linking not the template, which is more
3650         general than the current caps.
3651
3652 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3653
3654         * gst/autoplug/.cvsignore:
3655         * gst/autoplug/Makefile.am:
3656         * gst/autoplug/gstsearchfuncs.c:
3657         * gst/autoplug/gstsearchfuncs.h:
3658         * gst/autoplug/gstspider.c:
3659         * gst/autoplug/gstspider.h:
3660         * gst/autoplug/gstspideridentity.c:
3661         * gst/autoplug/gstspideridentity.h:
3662         * gst/autoplug/spidertest.c:
3663           Die, spider, die.
3664
3665 2005-04-25  Wim Taymans  <wim@fluendo.com>
3666
3667         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3668         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3669         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3670         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3671         * gst/gstpad.h:
3672         Added stubs for unimplemented functions. 
3673
3674 2005-04-24  David Schleef  <ds@schleef.org>
3675
3676         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3677         please fix.
3678
3679 2005-04-24  David Schleef  <ds@schleef.org>
3680
3681         Convert everything from GstAtomicInt to g_atomic_int_*, and
3682         remove gstatomic.
3683         * gst/Makefile.am:
3684         * gst/gstatomic.c:
3685         * gst/gstatomic.h:
3686         * gst/gstatomic_impl.h:
3687         * gst/gstbuffer.c:
3688         * gst/gstcaps.c:
3689         * gst/gstcaps.h:
3690         * gst/gstclock.c:
3691         * gst/gstclock.h:
3692         * gst/gstdata.c:
3693         * gst/gstdata.h:
3694         * gst/gstdata_private.h:
3695         * gst/gstevent.c:
3696         * gst/gstinfo.c:
3697         * gst/gstinfo.h:
3698         * gst/gstmessage.c:
3699         * gst/gstobject.c:
3700         * gst/gstobject.h:
3701         * gst/gststructure.c:
3702         * gst/gststructure.h:
3703         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3704         * gst/gstutils.h:
3705
3706 2005-04-24  David Schleef  <ds@schleef.org>
3707
3708         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3709         make the regressions tests work.  Remove some code that is no
3710         longer true.
3711         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3712         Disable warning for pads without templates.
3713
3714 2005-04-24  David Schleef  <ds@schleef.org>
3715
3716         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3717         functions that handle filtered links.
3718         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3719         removed functions.
3720         * gst/gstutils.c: Fix/remove utility functions that handle
3721         filtered caps.
3722         * gst/gstutils.h:
3723         * gst/gstvalue.c: Add serialization/deserialization of caps
3724         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3725         requires fixing so that the filter caps notation creates
3726         a capsfilter element and sets the filter_caps property.  I
3727         think everyone probably wants to keep the shorthand notation.
3728         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3729         * docs/gst/tmpl/gstpad.sgml:
3730
3731         * gst/elements/gstelements.c: Register capsfilter element.
3732         * gst/Makefile.am: fix spacing
3733         * docs/random/ds/0.9-suggested-changes: random
3734
3735 2005-04-23  David Schleef  <ds@schleef.org>
3736
3737         * gst/elements/Makefile.am:
3738         * gst/elements/gstcapsfilter.c: New element that acts like an
3739         identity, but filters caps.  Will eventually replace filtered
3740         caps in pad linking.
3741         * gst/gstutils.c: (gst_element_create_all_pads): New function
3742         to create all the ALWAYS pads that are registered with an
3743         element class.  This functionality should eventually be
3744         merged in with GstElement initialization.
3745         * gst/gstutils.h:
3746         * testsuite/trigger/README: part of trigger test code that should
3747         have been checked in a long time ago.
3748
3749 2005-04-23  David Schleef  <ds@schleef.org>
3750
3751         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3752         needed with new versions of libtool (nobody will confirm this),
3753         and hard to carry around.
3754         * gst/autoplug/Makefile.am:
3755         * gst/base/Makefile.am:
3756         * gst/elements/Makefile.am:
3757         * gst/indexers/Makefile.am:
3758         * gst/schedulers/Makefile.am:
3759         * libs/gst/bytestream/Makefile.am:
3760         * libs/gst/control/Makefile.am:
3761         * libs/gst/dataprotocol/Makefile.am:
3762         * libs/gst/getbits/Makefile.am:
3763
3764 2005-04-21  Wim Taymans  <wim@fluendo.com>
3765
3766         * docs/design/draft-push-pull.txt:
3767         * docs/design/part-MT-refcounting.txt:
3768         * docs/design/part-TODO.txt:
3769         * docs/design/part-caps.txt:
3770         * docs/design/part-events.txt:
3771         * docs/design/part-gstbus.txt:
3772         * docs/design/part-gstpipeline.txt:
3773         * docs/design/part-messages.txt:
3774         * docs/design/part-push-pull.txt:
3775         * docs/design/part-query.txt:
3776         Some more docs.
3777
3778 2005-04-21  Wim Taymans  <wim@fluendo.com>
3779
3780         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3781         (gst_message_new), (gst_message_new_error),
3782         (gst_message_new_warning), (gst_message_new_tag),
3783         (gst_message_new_state_changed), (gst_message_new_application),
3784         (gst_message_get_structure):
3785         * gst/gstmessage.h:
3786         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3787         (gst_structure_copy_conditional):
3788         Use parent refcount in GstMessage to ensure GstStructure
3789         consistency.
3790         Cleaned up headers a bit.
3791         
3792
3793 2005-04-20  Wim Taymans  <wim@fluendo.com>
3794
3795         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3796         (gst_basesink_pad_getcaps), (gst_basesink_init),
3797         (gst_basesink_chain_unlocked):
3798         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3799         (gst_type_find_helper):
3800         * gst/elements/gsttypefindelement.c:
3801         (gst_type_find_element_have_type), (gst_type_find_element_init),
3802         (stop_typefinding), (gst_type_find_element_handle_event),
3803         (find_suggest), (gst_type_find_element_chain),
3804         (gst_type_find_element_checkgetrange),
3805         (gst_type_find_element_getrange), (do_typefind),
3806         (gst_type_find_element_activate):
3807         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3808         (gst_buffer_default_free), (gst_buffer_default_copy),
3809         (gst_buffer_set_caps):
3810         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3811         (gst_caps_replace):
3812         * gst/gstmessage.c: (gst_message_new),
3813         (gst_message_new_state_changed):
3814         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3815         (gst_pad_set_checkgetrange_function),
3816         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3817         (gst_pad_set_caps), (gst_pad_check_pull_range),
3818         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3819         * gst/gstpad.h:
3820         * gst/gsttypefind.c: (gst_type_find_register):
3821         Make gst_caps_replace() work like other _replace() functions.
3822         Use _caps_replace() where possible.
3823         Make sure _message_new() initialises its field.
3824         Add gst_static_pad_template_get_caps()
3825
3826
3827 2005-04-18  Andy Wingo  <wingo@pobox.com>
3828
3829         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3830         on the peer, not the pad. I think that was a typo. Pass an extra
3831         arg to see if random access is possible. Activate the pads as
3832         PULL_RANGE if possible.
3833
3834         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3835
3836         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3837         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3838         to PROP_....
3839
3840 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3841
3842         * docs/faq/using.xml:
3843           Add note on gstreamer-properties (#154996).
3844
3845 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3846
3847         * docs/random/bbb/optional-properties:
3848           Some analysis on optional properties.
3849
3850 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3851
3852         * docs/gst/tmpl/gstelementfactory.sgml:
3853         * gst/gstelement.h:
3854         * gst/gstelementfactory.c: (gst_element_factory_init),
3855         (gst_element_factory_cleanup), (gst_element_register),
3856         (__gst_element_factory_add_static_pad_template),
3857         (gst_element_factory_get_static_pad_templates),
3858         (gst_element_factory_can_src_caps),
3859         (gst_element_factory_can_sink_caps):
3860         * gst/registries/Makefile.am:
3861         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3862         (gst_xml_registry_class_init), (gst_xml_registry_init),
3863         (gst_xml_registry_new), (gst_xml_registry_set_property),
3864         (gst_xml_registry_get_property), (get_time), (make_dir),
3865         (gst_xml_registry_get_perms_func),
3866         (plugin_times_older_than_recurse), (plugin_times_older_than),
3867         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3868         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3869         (add_to_char_array), (read_string), (read_uint), (read_enum),
3870         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3871         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3872         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3873         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3874         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3875         (gst_xml_registry_rebuild):
3876         * gst/registries/gstlibxmlregistry.h:
3877         * tools/gst-compprep.c: (main):
3878         * tools/gst-inspect.c: (print_pad_templates_info):
3879         * tools/gst-xmlinspect.c: (print_element_info):
3880           Use libxml2 for registry parsing, use staticpadtemplates in
3881           elementfactories. Makes gst_init() +/- 10x faster.
3882
3883 2005-04-12  Wim Taymans  <wim@fluendo.com>
3884
3885         * gst/base/Makefile.am:
3886         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3887         (gst_basesink_pad_getcaps), (gst_basesink_init),
3888         (gst_basesink_event), (gst_basesink_change_state):
3889         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3890         (gst_basesrc_init), (gst_basesrc_query),
3891         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3892         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3893         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3894         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3895         (gst_basesrc_stop), (gst_basesrc_activate),
3896         (gst_basesrc_change_state):
3897         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3898         (helper_find_suggest), (gst_type_find_helper):
3899         * gst/base/gsttypefindhelper.h:
3900         * gst/elements/Makefile.am:
3901         * gst/elements/gstelements.c:
3902         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3903         (gst_fakesink_get_times), (gst_fakesink_event),
3904         (gst_fakesink_preroll), (gst_fakesink_render):
3905         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3906         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3907         (gst_fakesrc_get_property), (gst_fakesrc_create),
3908         (gst_fakesrc_start), (gst_fakesrc_stop):
3909         * gst/elements/gstfakesrc.h:
3910         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3911         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3912         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3913         (gst_filesrc_create_read), (gst_filesrc_create),
3914         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3915         (gst_filesrc_start):
3916         * gst/elements/gsttypefindelement.c:
3917         (gst_type_find_element_have_type), (gst_type_find_element_init),
3918         (start_typefinding), (stop_typefinding), (push_buffer_store),
3919         (gst_type_find_element_handle_event),
3920         (gst_type_find_element_chain),
3921         (gst_type_find_element_checkgetrange),
3922         (gst_type_find_element_getrange), (do_typefind),
3923         (gst_type_find_element_activate),
3924         (gst_type_find_element_change_state):
3925         * gst/elements/gsttypefindelement.h:
3926         * gst/gstpipeline.c: (pipeline_bus_handler):
3927         Added typefind helper.
3928         Small preroll fix in the base sink.
3929         Disable typefind code in basesrc.
3930         Crude port of typefindelement.
3931         Fakesrc cleanups.
3932
3933
3934 2005-04-11  Wim Taymans  <wim@fluendo.com>
3935
3936         * check/gst/gstbus.c: (gstbus_suite):
3937         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3938         * check/gstcheck.h:
3939           Fix up the timeout so that the test does not fail.
3940
3941 2005-04-06  Wim Taymans  <wim@fluendo.com>
3942
3943         * gst/base/README:
3944         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3945         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3946         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3947         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3948         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3949         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3950         (gst_basesrc_stop), (gst_basesrc_activate),
3951         (gst_basesrc_change_state), (basesrc_find_peek),
3952         (basesrc_find_suggest), (gst_basesrc_type_find):
3953         * gst/base/gstbasesrc.h:
3954         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3955         (gst_filesrc_class_init), (gst_filesrc_init),
3956         (gst_filesrc_finalize), (gst_filesrc_set_location),
3957         (gst_filesrc_set_property), (gst_filesrc_get_property),
3958         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3959         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3960         (gst_filesrc_create_read), (gst_filesrc_create),
3961         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3962         * gst/elements/gstfilesrc.h:
3963         * gst/gstelement.c: (gst_element_get_state_func),
3964         (gst_element_lost_state), (gst_element_pads_activate):
3965         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3966         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3967         (gst_pad_pull_range):
3968         * gst/gstpad.h:
3969         More work on the generic source base class, implement seeking,
3970         query.
3971         Make filesrc extend the base source class.
3972         Added gst_pad_set_checkgetrange_function to GstPad.
3973
3974 2005-04-06  Andy Wingo  <wingo@pobox.com>
3975
3976         * pkgconfig/gstreamer-base.pc.in:
3977         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3978
3979         * pkgconfig/Makefile.am:
3980         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3981
3982 2005-04-04  Wim Taymans  <wim@fluendo.com>
3983
3984         * gst/base/Makefile.am:
3985         * gst/base/README:
3986         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3987         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3988         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3989         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3990         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3991         (gst_basesrc_base_init), (gst_basesrc_class_init),
3992         (gst_basesrc_init), (gst_basesrc_get_formats),
3993         (gst_basesrc_get_query_types), (gst_basesrc_query),
3994         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3995         (gst_basesrc_set_property), (gst_basesrc_get_property),
3996         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3997         (gst_basesrc_loop), (gst_basesrc_activate),
3998         (gst_basesrc_change_state):
3999         * gst/base/gstbasesrc.h:
4000         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4001         (gst_fakesrc_class_init), (gst_fakesrc_init),
4002         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4003         (gst_fakesrc_get_property), (gst_fakesrc_create):
4004         * gst/elements/gstfakesrc.h:
4005         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4006         (gst_filesrc_open_file), (gst_filesrc_loop),
4007         (gst_filesrc_activate), (filesrc_find_peek),
4008         (gst_filesrc_type_find):
4009         Made base source class, make fakesrc extend it.
4010         Add comments to basesink class.
4011         Some filesrc cleanup.
4012
4013 2005-03-31  David Schleef  <ds@schleef.org>
4014
4015         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4016         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4017         expected to link against libgstreamer.
4018         * gst/base/Makefile.am: link against libgstreamer
4019         * gst/elements/Makefile.am: same
4020
4021 2005-03-31  Andy Wingo  <wingo@pobox.com>
4022
4023         * tests/instantiate/Makefile.am:
4024         * tests/instantiate/caps.c: Add test to test speed of caps copy
4025         and free.
4026
4027         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4028         GMemChunk to be fair.
4029
4030         * gst/gsttrashstack.h: Remove warning about using the fallback
4031         trash stack implementation, it's still faster than malloc.
4032
4033 2005-03-30  Andy Wingo  <wingo@pobox.com>
4034
4035         * tests/complexity.c: Add a copyright.
4036
4037 2005-03-31  Wim Taymans  <wim@fluendo.com>
4038
4039         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4040         (gst_base_transform_class_init), (gst_base_transform_init),
4041         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4042         (gst_base_transform_get_property),
4043         (gst_base_transform_sink_activate),
4044         (gst_base_transform_src_activate),
4045         (gst_base_transform_change_state):
4046         * gst/base/gstbasetransform.h:
4047         * gst/elements/gstidentity.c: (gst_identity_class_init),
4048         (gst_identity_event), (gst_identity_check_perfect),
4049         (gst_identity_transform), (gst_identity_start),
4050         (gst_identity_stop):
4051         Added start/stop methods to transform base class so subclasses 
4052         don't need to deal with state changes even.
4053
4054 2005-03-31  Wim Taymans  <wim@fluendo.com>
4055
4056         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4057         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4058         * gst/gstevent.h:
4059         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4060         (gst_pad_pull_range):
4061         Added rate to the discont event to prepare for variable speed
4062         and reverse playback.
4063
4064 2005-03-29  David Schleef  <ds@schleef.org>
4065
4066         * configure.ac:
4067         * testsuite/trigger/Makefile.am:
4068         * testsuite/trigger/trigger.c: A little example program to show
4069         how trigger-based elements can work.
4070
4071 2005-03-29  Wim Taymans  <wim@fluendo.com>
4072
4073         * gst/base/Makefile.am:
4074         * gst/base/README:
4075         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4076         (gst_basesink_base_init), (gst_basesink_class_init),
4077         (gst_basesink_pad_getcaps), (gst_basesink_init),
4078         (gst_basesink_activate), (gst_basesink_change_state):
4079         * gst/base/gstbasesink.h:
4080         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4081         (gst_base_transform_base_init), (gst_base_transform_finalize),
4082         (gst_base_transform_class_init), (gst_base_transform_init),
4083         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4084         (gst_base_transform_event), (gst_base_transform_getrange),
4085         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4086         (gst_base_transform_set_property),
4087         (gst_base_transform_get_property),
4088         (gst_base_transform_sink_activate),
4089         (gst_base_transform_src_activate),
4090         (gst_base_transform_change_state):
4091         * gst/base/gstbasetransform.h:
4092         * gst/elements/gstidentity.c: (gst_identity_finalize),
4093         (gst_identity_class_init), (gst_identity_init),
4094         (gst_identity_event), (gst_identity_check_perfect),
4095         (gst_identity_transform), (gst_identity_set_property),
4096         (gst_identity_get_property), (gst_identity_change_state):
4097         * gst/elements/gstidentity.h:
4098         * gst/gstelement.c: (gst_element_get_state_func),
4099         (gst_element_lost_state), (gst_element_pads_activate):
4100         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4101         (gst_pad_check_pull_range), (gst_pad_pull_range):
4102         * gst/gstpad.h:
4103         Simplify pad activation.
4104         Added function to check if pull_range can be performed.
4105         Error out when pulling inactive or flushing pads.
4106         Removed const from refcounted types as it does not make sense.
4107         Simplify pad templates in basesink
4108         Added base class for simple 1-to-1 transforms.
4109         Make identity subclass the base transform.
4110
4111 2005-03-29  Andy Wingo  <wingo@pobox.com>
4112
4113         * docs/libs/gstreamer-libs-overrides.txt: 
4114         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4115         really don't understand what's going on, but like whatever. I want
4116         green buildbot!
4117
4118         * docs/gst/Makefile.am:
4119         * docs/libs/Makefile.am: Dist the overrides files.
4120
4121         * check/Makefile.am (clean-local): Remove .libs directories.
4122
4123         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4124         elements to EXTRA_DIST, so po/ files are happy.
4125
4126         * po/POTFILES.in: Er, remove it here.
4127
4128         * po/POTFILES: Remove gstspider.c.
4129
4130         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4131
4132         * docs/libs/gstreamer-libs-docs.sgml: 
4133         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4134         bytestream.
4135
4136         * tests/complexity.c (main): Set the length of the preroll queue
4137         on the sinks to prevent a lockup.
4138
4139         * libs/gst/dataprotocol/Makefile.am: 
4140         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4141         the same as the one in check/gst-libs/gdp.c.
4142
4143         * po/, docs/gst/: Commit automatic changes to docs and po files.
4144
4145         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4146         the versioned libgstbase.
4147
4148         * check/Makefile.am: Depend on an unversioned gst-register, seems
4149         to make autoconf happier.
4150
4151         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4152
4153 2005-03-28  Wim Taymans  <wim@fluendo.com>
4154
4155         * configure.ac:
4156         * docs/design/part-gstelement.txt:
4157         * docs/design/part-negotiation.txt:
4158         * docs/design/part-preroll.txt:
4159         * docs/design/part-scheduling.txt:
4160         * docs/design/part-states.txt:
4161         * gst/Makefile.am:
4162         * gst/base/Makefile.am:
4163         * gst/base/README:
4164         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4165         (gst_basesink_base_init), (gst_basesink_class_init),
4166         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4167         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4168         (gst_basesink_set_pad_functions),
4169         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4170         (gst_basesink_set_property), (gst_basesink_get_property),
4171         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4172         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4173         (gst_basesink_preroll_queue_push),
4174         (gst_basesink_preroll_queue_empty),
4175         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4176         (gst_basesink_event), (gst_basesink_get_times),
4177         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4178         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4179         (gst_basesink_loop), (gst_basesink_activate),
4180         (gst_basesink_change_state):
4181         * gst/base/gstbasesink.h:
4182         * gst/elements/Makefile.am:
4183         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4184         (gst_fakesink_class_init), (gst_fakesink_init),
4185         (gst_fakesink_set_property), (gst_fakesink_get_property),
4186         (gst_fakesink_get_times), (gst_fakesink_event),
4187         (gst_fakesink_preroll), (gst_fakesink_render),
4188         (gst_fakesink_change_state):
4189         * gst/elements/gstfakesink.h:
4190         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4191         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4192         * gst/gstelement.c: (gst_element_add_pad),
4193         (gst_element_get_state_func), (gst_element_abort_state),
4194         (gst_element_commit_state), (gst_element_lost_state),
4195         (gst_element_set_state), (gst_element_pads_activate):
4196         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4197         * gst/gstpipeline.c: (gst_pipeline_send_event),
4198         (gst_pipeline_change_state):
4199         Added state change code.
4200         Added/updated docs.
4201         Added sink base class, make fakesink extend the base class.
4202         Small cleanups in GstPipeline.
4203
4204 2005-03-26  David Schleef  <ds@schleef.org>
4205
4206         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4207         is broken and should be implemented in a different library.
4208         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4209         * gst/gst.h: remove gstcpu.h
4210         * gst/gstcpu.c: remove
4211         * gst/gstcpu.h: remove
4212         * gst/Makefile.am.future: Remove this file.  It's ancient.
4213
4214 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4215
4216         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4217         (gst_bin_send_event):
4218           Add default event/set_manager handlers. The set_manager handler
4219           takes care that the manager is distributed over kids that were
4220           already in the bin before the manager was set. The event handler
4221           is a utility virtual function that sends the event over all sinks,
4222           so that gst_element_send_event (bin, event); has the expected
4223           behaviour.
4224         * gst/gstpad.c: (gst_pad_event_default):
4225           Re-install default event handling for discontinuities, so that
4226           seeking works without requiring hacks in applications or extra
4227           code in sinks.
4228         * gst/gstpipeline.c: (gst_pipeline_class_init),
4229         (gst_pipeline_send_event):
4230           Half hack, half utility: set a pipeline to PAUSED for seek events,
4231           since that is the only way we can guarantee a/v sync. Means that
4232           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4233           and it "just works".
4234
4235 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4236
4237         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4238           Lock/unlock mismatch.
4239
4240 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4241
4242         * docs/faq/gst-uninstalled:
4243           add gst-plugins-base
4244         * docs/gst/Makefile.am:
4245           don't error out until docs are fixed
4246         * docs/gst/gstreamer.types:
4247           remove thread
4248
4249 2005-03-22  Wim Taymans  <wim@fluendo.com>
4250
4251         * check/Makefile.am:
4252         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4253         * gst/gststructure.c: (gst_structure_set_valist),
4254         (gst_structure_copy_conditional):
4255         Activated more tests.
4256         Added message test.
4257         Added G_TYPE_POINTER to GstStructure.
4258         
4259
4260 2005-03-22  Wim Taymans  <wim@fluendo.com>
4261
4262         * docs/design/part-TODO.txt:
4263         * docs/design/part-events.txt:
4264         * docs/design/part-gstbin.txt:
4265         * docs/design/part-gstbus.txt:
4266         * docs/design/part-gstpipeline.txt:
4267         * docs/design/part-messages.txt:
4268         * gst/gstbus.c:
4269         * gst/gstmessage.c:
4270         Docs updates
4271
4272 2005-03-21  Wim Taymans  <wim@fluendo.com>
4273
4274         * gst/gstbus.c: (gst_bus_post):
4275         Fix copy-and-paste error.
4276
4277 2005-03-21  Wim Taymans  <wim@fluendo.com>
4278
4279         * check/Makefile.am:
4280         * gst/Makefile.am:
4281         * gst/elements/Makefile.am:
4282         * gst/elements/gstelements.c:
4283         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4284         (gst_fakesink_event), (gst_fakesink_chain):
4285         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4286         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4287         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4288         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4289         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4290         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4291         (gst_fakesrc_loop), (gst_fakesrc_activate),
4292         (gst_fakesrc_change_state):
4293         * gst/elements/gstfakesrc.h:
4294         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4295         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4296         (gst_filesrc_open_file), (gst_filesrc_loop),
4297         (gst_filesrc_activate), (gst_filesrc_change_state),
4298         (filesrc_find_peek), (filesrc_find_suggest),
4299         (gst_filesrc_type_find):
4300         * gst/elements/gstidentity.c: (gst_identity_finalize),
4301         (gst_identity_class_init), (gst_identity_init),
4302         (gst_identity_proxy_getcaps), (identity_queue_push),
4303         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4304         (gst_identity_getrange), (gst_identity_chain),
4305         (gst_identity_sink_loop), (gst_identity_src_loop),
4306         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4307         (gst_identity_set_property), (gst_identity_get_property),
4308         (gst_identity_change_state):
4309         * gst/elements/gstidentity.h:
4310         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4311         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4312         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4313         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4314         (gst_tee_sink_activate):
4315         * gst/elements/gsttee.h:
4316         * gst/gst.c: (gst_register_core_elements), (init_post):
4317         * gst/gst.h:
4318         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4319         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4320         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4321         (gst_bin_change_state):
4322         * gst/gstbin.h:
4323         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4324         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4325         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4326         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4327         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4328         (bus_watch_callback), (bus_watch_destroy),
4329         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4330         (poll_timeout), (gst_bus_poll):
4331         * gst/gstbus.h:
4332         * gst/gstcaps.h:
4333         * gst/gstdata.h:
4334         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4335         (gst_element_post_message), (gst_element_message_full),
4336         (gst_element_get_state_func), (gst_element_get_state),
4337         (gst_element_abort_state), (gst_element_commit_state),
4338         (gst_element_lost_state), (gst_element_set_state),
4339         (gst_element_pads_activate), (gst_element_change_state),
4340         (gst_element_dispose), (gst_element_set_manager_func),
4341         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4342         (gst_element_set_manager), (gst_element_get_manager),
4343         (gst_element_set_bus), (gst_element_get_bus),
4344         (gst_element_set_scheduler), (gst_element_get_scheduler):
4345         * gst/gstelement.h:
4346         * gst/gstevent.c: (gst_event_new_segment_seek),
4347         (gst_event_new_flush):
4348         * gst/gstevent.h:
4349         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4350         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4351         (gst_message_new_eos), (gst_message_new_error),
4352         (gst_message_new_warning), (gst_message_new_tag),
4353         (gst_message_new_state_changed), (gst_message_new_application),
4354         (gst_message_get_structure), (gst_message_parse_tag),
4355         (gst_message_parse_state_changed), (gst_message_parse_error),
4356         (gst_message_parse_warning):
4357         * gst/gstmessage.h:
4358         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4359         (gst_real_pad_set_property), (gst_pad_set_active),
4360         (gst_pad_is_active), (gst_pad_set_blocked_async),
4361         (gst_pad_set_blocked), (gst_pad_is_blocked),
4362         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4363         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4364         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4365         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4366         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4367         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4368         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4369         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4370         (gst_pad_set_caps), (gst_pad_configure_sink),
4371         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4372         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4373         (gst_real_pad_dispose), (gst_real_pad_finalize),
4374         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4375         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4376         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4377         * gst/gstpad.h:
4378         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4379         (pipeline_bus_handler), (gst_pipeline_change_state),
4380         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4381         * gst/gstpipeline.h:
4382         * gst/gstprobe.h:
4383         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4384         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4385         (gst_queue_link_src), (gst_queue_bufferalloc),
4386         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4387         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4388         (gst_queue_loop), (gst_queue_handle_src_event),
4389         (gst_queue_handle_src_query), (gst_queue_src_activate),
4390         (gst_queue_change_state):
4391         * gst/gstqueue.h:
4392         * gst/gstscheduler.c: (gst_scheduler_init),
4393         (gst_scheduler_dispose), (gst_scheduler_create_task),
4394         (gst_scheduler_factory_create):
4395         * gst/gstscheduler.h:
4396         * gst/gststructure.c: (gst_structure_get_type),
4397         (gst_structure_copy_conditional):
4398         * gst/gststructure.h:
4399         * gst/gsttaginterface.h:
4400         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4401         (gst_task_init), (gst_task_dispose), (gst_task_create),
4402         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4403         (gst_task_pause):
4404         * gst/gsttask.h:
4405         * gst/gstthread.c:
4406         * gst/gstthread.h:
4407         * gst/gsttypes.h:
4408         * gst/schedulers/Makefile.am:
4409         * gst/schedulers/cothreads_compat.h:
4410         * gst/schedulers/entryscheduler.c:
4411         * gst/schedulers/faircothreads.c:
4412         * gst/schedulers/faircothreads.h:
4413         * gst/schedulers/fairscheduler.c:
4414         * gst/schedulers/gstbasicscheduler.c:
4415         * gst/schedulers/gstoptimalscheduler.c:
4416         * gst/schedulers/gthread-cothreads.h:
4417         * gst/schedulers/threadscheduler.c:
4418         (gst_thread_scheduler_task_get_type),
4419         (gst_thread_scheduler_task_class_init),
4420         (gst_thread_scheduler_task_init),
4421         (gst_thread_scheduler_task_start),
4422         (gst_thread_scheduler_task_stop),
4423         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4424         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4425         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4426         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4427         (plugin_init):
4428         * libs/gst/Makefile.am:
4429         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4430         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4431         (gst_file_pad_parent_set):
4432         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4433         (gst_dp_event_from_packet):
4434         * tests/complexity.c: (main):
4435         * tests/mass_elements.c: (main):
4436         * testsuite/states/locked.c: (message_received), (main):
4437         * testsuite/states/parent.c: (main):
4438         * tools/gst-inspect.c: (print_element_flag_info),
4439         (print_implementation_info), (print_pad_info):
4440         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4441         (main):
4442         * tools/gst-md5sum.c: (event_loop), (main):
4443         * tools/gst-typefind.c: (main):
4444         * tools/gst-xmlinspect.c: (print_element_info):
4445         Next big merge.
4446         Added GstBus for mainloop integration.
4447         Added GstMessage for sending notifications on the bus.
4448         Added GstTask as an abstraction for pipeline entry points.
4449         Removed GstThread.
4450         Removed Schedulers.
4451         Simplified GstQueue for multithreaded core.
4452         Made _link threadsafe, removed old capsnego.
4453         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4454         Added pad blocking functions.
4455         Reworked scheduling functions in GstPad to prepare for
4456         scheduling updates soon.
4457         Moved events out of data stream.
4458         Simplified GstEvent types.
4459         Added return values to push/pull.
4460         Removed clocking from GstElement.
4461         Added prototypes for state change function for next merge.
4462         Removed iterate from bins and state change management.
4463         Fixed some elements, disabled others for now.
4464         Fixed -inspect and -launch.
4465         Added check for GstBus.
4466
4467 2005-03-10  Wim Taymans  <wim@fluendo.com>
4468
4469         * docs/design/part-MT-refcounting.txt:
4470         * docs/design/part-clocks.txt:
4471         * docs/design/part-gstelement.txt:
4472         * docs/design/part-gstobject.txt:
4473         * docs/design/part-standards.txt:
4474         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4475         (gst_bin_remove_func), (gst_bin_remove):
4476         * gst/gstbin.h:
4477         * gst/gstbuffer.c:
4478         * gst/gstcaps.h:
4479         * testsuite/clock/clock1.c: (main):
4480         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4481         (main):
4482         * testsuite/dlopen/loadgst.c: (do_test):
4483         * testsuite/refcounting/bin.c: (add_remove_test1),
4484         (add_remove_test2), (main):
4485         * testsuite/refcounting/element.c: (main):
4486         * testsuite/refcounting/element_pad.c: (main):
4487         * testsuite/refcounting/pad.c: (main):
4488         * tools/gst-launch.c: (sigint_handler_sighandler):
4489         * tools/gst-typefind.c: (main):
4490         Doc updates.
4491         Added doc about clock.
4492         removed gst_bin_iterate_recurse_up(), marked methods
4493         for removal.
4494         Fix more testsuites.
4495
4496 2005-03-09  Wim Taymans  <wim@fluendo.com>
4497
4498         * gst/gstpad.c: (gst_pad_get_direction),
4499         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4500         (gst_pad_collect_valist):
4501         * testsuite/bins/interface.c: (main):
4502         * testsuite/caps/audioscale.c: (test_caps):
4503         * testsuite/caps/caps.c: (test1), (test2), (test3):
4504         * testsuite/caps/deserialize.c: (main):
4505         * testsuite/caps/enumcaps.c: (main):
4506         * testsuite/caps/filtercaps.c: (main):
4507         * testsuite/caps/intersect2.c: (main):
4508         * testsuite/caps/random.c: (main):
4509         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4510         * testsuite/caps/sets.c: (check_caps):
4511         * testsuite/caps/simplify.c: (check_caps), (main):
4512         * testsuite/caps/subtract.c: (check_caps):
4513         Fix _pad_get_direction wrt ghostpads.
4514         Fix caps testsuite.
4515
4516 2005-03-09  Wim Taymans  <wim@fluendo.com>
4517
4518         * check/Makefile.am:
4519         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4520         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4521         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4522         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4523         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4524         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4525         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4526         (bin_element_is_sink), (gst_bin_iterate_sinks),
4527         (gst_bin_iterate_all_by_interface):
4528         * gst/gstbin.h:
4529         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4530         (gst_element_change_state), (gst_element_dispose),
4531         (gst_element_finalize), (gst_element_set_loop_function):
4532         * gst/gstelement.h:
4533         * gst/gstiterator.c: (find_custom_fold_func):
4534         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4535         (gst_pad_collectv), (gst_pad_collect_valist),
4536         (gst_pad_template_new):
4537         * gst/gstpipeline.c: (gst_pipeline_class_init),
4538         (gst_pipeline_dispose), (gst_pipeline_set_property),
4539         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4540         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4541         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4542         * gst/gstutils.h:
4543         * gst/schedulers/entryscheduler.c:
4544         * gst/schedulers/gstbasicscheduler.c:
4545         (gst_basic_scheduler_cothreaded_chain),
4546         (gst_basic_scheduler_chain_add_element):
4547         * testsuite/bins/interface.c: (main):
4548         Added GstBin test.
4549         Added GstSystemClock test.
4550         Implemented clock distribution code in GstBin.
4551         Implemented iterate sinks method for future use.
4552         Rearranged gstelement.h
4553         Fix GstIterator comparison bug.
4554         Moved some code to GstPipeline, mostly clocking related.
4555
4556 2005-03-09  Wim Taymans  <wim@fluendo.com>
4557
4558         * configure.ac:
4559         * gst/gst_private.h:
4560         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4561         (gst_bin_remove_func), (gst_bin_remove),
4562         (gst_bin_get_by_name_recurse_up):
4563         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4564         (gst_clock_id_compare_func), (gst_clock_id_wait),
4565         (gst_clock_id_wait_async), (gst_clock_init),
4566         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4567         * gst/gstelement.h:
4568         * gst/gstinfo.c: (_gst_debug_init):
4569         * gst/gstobject.h:
4570         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4571         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4572         * gst/gstpad.h:
4573         Bump version number, we're now 0.9.0
4574         Add future debugging category.
4575         Fix NULL _unref() in _get_by_name_recurse_up
4576         Rearrange gstpad.h.
4577         Update some docs.
4578
4579 2005-03-08  Wim Taymans  <wim@fluendo.com>
4580
4581         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4582         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4583         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4584         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4585         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4586         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4587         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4588         * gst/elements/gstidentity.c: (gst_identity_class_init):
4589         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4590         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4591         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4592         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4593         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4594         (gst_tee_link):
4595         * gst/gstelement.c: (gst_element_class_init),
4596         (gst_element_base_class_init), (gst_element_init),
4597         (gst_element_get_random_pad), (gst_element_wait_state_change),
4598         (gst_element_change_state), (gst_element_dispose),
4599         (gst_element_finalize), (gst_element_set_loop_function):
4600         * gst/gstelement.h:
4601         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4602         * gst/gstthread.c: (gst_thread_class_init),
4603         (gst_thread_release_children_locks), (gst_thread_change_state):
4604         * gst/schedulers/gstbasicscheduler.c:
4605         (gst_basic_scheduler_loopfunc_wrapper),
4606         (gst_basic_scheduler_chain_wrapper),
4607         (gst_basic_scheduler_src_wrapper),
4608         (gst_basic_scheduler_remove_element):
4609         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4610         Remove threadsafe properties. Fix elements because GObject
4611         complains when installing a property before declaring a
4612         set/get_property handler.
4613         Rearrange gstelement.h file, use STATE macros for state locks.
4614         Free mutexes in the finalize method instead of dispose.
4615
4616 2005-03-08  Wim Taymans  <wim@fluendo.com>
4617
4618         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4619         * gst/gstthread.c: (gst_thread_release_children_locks):
4620         Added parentage check.
4621         Fix build og GstThread again.
4622
4623 2005-03-08  Wim Taymans  <wim@fluendo.com>
4624
4625         * docs/design/part-MT-refcounting.txt:
4626         * docs/design/part-conventions.txt:
4627         * docs/design/part-gstobject.txt:
4628         * docs/design/part-relations.txt:
4629         * docs/design/part-standards.txt:
4630         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4631         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4632         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4633         (gst_bin_iterate_all_by_interface):
4634         * gst/gstbuffer.h:
4635         * gst/gstclock.h:
4636         * gst/gstelement.c: (gst_element_class_init),
4637         (gst_element_change_state), (gst_element_set_loop_function):
4638         * gst/gstelement.h:
4639         * gst/gstiterator.c:
4640         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4641         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4642         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4643         (gst_object_set_parent), (gst_object_unparent),
4644         (gst_object_check_uniqueness):
4645         * gst/gstobject.h:
4646         Docs updates, clean up some headers.
4647
4648 2005-03-07  Wim Taymans  <wim@fluendo.com>
4649
4650         * check/.cvsignore:
4651         * check/Makefile.am:
4652         * check/gst-libs/.cvsignore:
4653         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4654         * check/gst/.cvsignore:
4655         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4656         (START_TEST), (gstbus_suite), (main):
4657         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4658         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4659         (gst_data_suite), (main):
4660         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4661         (add_fold_func), (gstiterator_suite), (main):
4662         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4663         (thread_name_object), (thread_name_object_default),
4664         (gst_object_name_compare), (gst_object_suite), (main):
4665         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4666         (gst_pad_suite), (main):
4667         * check/gstcheck.c: (gst_check_log_message_func),
4668         (gst_check_log_critical_func), (gst_check_init):
4669         * check/gstcheck.h:
4670         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4671         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4672         Added checks.
4673
4674 2005-03-07  Wim Taymans  <wim@fluendo.com>
4675
4676         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4677         (gst_list_iterator_next), (gst_list_iterator_resync),
4678         (gst_list_iterator_free), (gst_iterator_new_list),
4679         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4680         (gst_iterator_free), (gst_iterator_push), (filter_next),
4681         (filter_resync), (filter_uninit), (filter_free),
4682         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4683         (gst_iterator_foreach), (find_custom_fold_func),
4684         (gst_iterator_find_custom):
4685         * gst/gstiterator.h:
4686         Added missing files.
4687
4688 2005-03-07  Wim Taymans  <wim@fluendo.com>
4689
4690         * Makefile.am:
4691         * configure.ac:
4692         * docs/design/part-MT-refcounting.txt:
4693         * docs/design/part-conventions.txt:
4694         * docs/design/part-gstobject.txt:
4695         * docs/design/part-relations.txt:
4696         * examples/mixer/mixer.c: (main):
4697         * examples/thread/thread.c: (eos), (main):
4698         * gst/Makefile.am:
4699         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4700         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4701         (gst_spider_plug_from_srcpad):
4702         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4703         (gst_spider_identity_change_state),
4704         (gst_spider_identity_sink_loop_type_finding):
4705         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4706         * gst/elements/gstidentity.c: (gst_identity_init):
4707         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4708         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4709         * gst/elements/gsttypefindelement.c: (free_entry):
4710         * gst/gst.c:
4711         * gst/gst.h:
4712         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4713         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4714         (gst_bin_set_index), (gst_bin_set_element_sched),
4715         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4716         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4717         (gst_bin_iterate_elements), (iterate_child_recurse),
4718         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4719         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4720         (compare_interface), (gst_bin_get_by_interface),
4721         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4722         * gst/gstbin.h:
4723         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4724         (gst_buffer_default_free), (gst_buffer_default_copy),
4725         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4726         (gst_buffer_create_sub):
4727         * gst/gstbuffer.h:
4728         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4729         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4730         (gst_caps_unref), (gst_static_caps_get),
4731         (gst_caps_remove_and_get_structure), (gst_caps_append),
4732         (gst_caps_append_structure), (gst_caps_remove_structure),
4733         (gst_caps_copy_nth), (gst_caps_set_simple),
4734         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4735         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4736         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4737         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4738         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4739         (gst_caps_structure_figure_out_union),
4740         (gst_caps_switch_structures), (gst_caps_do_simplify),
4741         (gst_caps_replace), (gst_caps_from_string),
4742         (gst_caps_copy_conditional):
4743         * gst/gstcaps.h:
4744         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4745         (_gst_clock_id_free), (gst_clock_id_unref),
4746         (gst_clock_id_compare_func), (gst_clock_id_wait),
4747         (gst_clock_id_wait_async), (gst_clock_class_init),
4748         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4749         (gst_clock_get_time), (gst_clock_set_time_adjust),
4750         (gst_clock_set_property), (gst_clock_get_property):
4751         * gst/gstclock.h:
4752         * gst/gstcompat.h:
4753         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4754         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4755         * gst/gstdata.h:
4756         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4757         (gst_element_requires_clock), (gst_element_provides_clock),
4758         (gst_element_set_clock), (gst_element_clock_wait),
4759         (gst_element_wait), (gst_element_set_time_delay),
4760         (gst_element_is_indexable), (gst_element_add_pad),
4761         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4762         (pad_compare_name), (gst_element_get_static_pad),
4763         (gst_element_request_pad), (gst_element_get_request_pad),
4764         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4765         (gst_element_class_get_pad_template_list),
4766         (gst_element_class_get_pad_template), (gst_element_error_func),
4767         (gst_element_get_random_pad), (gst_element_get_event_masks),
4768         (gst_element_send_event), (gst_element_seek),
4769         (gst_element_get_query_types), (gst_element_query),
4770         (gst_element_get_formats), (gst_element_convert),
4771         (gst_element_is_locked_state), (gst_element_set_locked_state),
4772         (gst_element_sync_state_with_parent), (gst_element_change_state),
4773         (gst_element_finalize), (gst_element_yield),
4774         (gst_element_interrupt), (gst_element_set_scheduler),
4775         (gst_element_get_scheduler), (gst_element_set_loop_function):
4776         * gst/gstelement.h:
4777         * gst/gstevent.h:
4778         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4779         (gst_format_get_by_nick), (gst_format_get_details),
4780         (gst_format_iterate_definitions):
4781         * gst/gstformat.h:
4782         * gst/gstindex.c: (gst_index_gtype_resolver):
4783         * gst/gstinfo.c:
4784         * gst/gstinfo.h:
4785         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4786         (gst_mem_chunk_free):
4787         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4788         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4789         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4790         (gst_object_dispatch_properties_changed),
4791         (gst_object_set_name_default), (gst_object_set_name),
4792         (gst_object_get_name), (gst_object_set_name_prefix),
4793         (gst_object_get_name_prefix), (gst_object_set_parent),
4794         (gst_object_get_parent), (gst_object_unparent),
4795         (gst_object_check_uniqueness), (gst_object_save_thyself),
4796         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4797         (gst_object_set_property), (gst_object_get_property),
4798         (gst_object_get_path_string):
4799         * gst/gstobject.h:
4800         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4801         (gst_real_pad_init), (gst_real_pad_get_property),
4802         (gst_pad_custom_new), (gst_pad_get_direction),
4803         (gst_pad_set_active), (gst_pad_is_active),
4804         (gst_pad_set_event_function), (gst_pad_is_linked),
4805         (gst_pad_link_free), (gst_pad_link_intersect),
4806         (gst_pad_link_fixate), (gst_pad_set_caps),
4807         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4808         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4809         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4810         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4811         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4812         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4813         (gst_pad_realize), (gst_pad_get_allowed_caps),
4814         (gst_real_pad_dispose), (gst_real_pad_finalize),
4815         (gst_pad_collectv), (gst_pad_collect_valist),
4816         (gst_pad_template_dispose), (gst_pad_template_new),
4817         (gst_pad_get_internal_links):
4818         * gst/gstpad.h:
4819         * gst/gstpipeline.c: (gst_pipeline_dispose),
4820         (gst_pipeline_change_state):
4821         * gst/gstpipeline.h:
4822         * gst/gstplugin.c:
4823         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4824         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4825         * gst/gstpluginfeature.h:
4826         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4827         * gst/gstquery.c: (_gst_query_type_initialize),
4828         (gst_query_type_register), (gst_query_type_get_by_nick),
4829         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4830         * gst/gstquery.h:
4831         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4832         * gst/gstscheduler.c: (gst_scheduler_add_element),
4833         (gst_scheduler_factory_create):
4834         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4835         (gst_structure_free), (gst_structure_set_name),
4836         (gst_structure_id_set_value), (gst_structure_set_value),
4837         (gst_structure_set_valist), (gst_structure_remove_field),
4838         (gst_structure_remove_fields),
4839         (gst_structure_remove_fields_valist),
4840         (gst_structure_remove_all_fields), (gst_structure_foreach),
4841         (gst_structure_map_in_place),
4842         (gst_caps_structure_fixate_field_nearest_int),
4843         (gst_caps_structure_fixate_field_nearest_double):
4844         * gst/gststructure.h:
4845         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4846         (gst_system_clock_init), (gst_system_clock_dispose),
4847         (gst_system_clock_async_thread),
4848         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4849         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4850         * gst/gstsystemclock.h:
4851         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4852         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4853         * gst/gsttaginterface.c:
4854         * gst/gstthread.c: (gst_thread_dispose),
4855         (gst_thread_release_children_locks), (gst_thread_change_state),
4856         (gst_thread_main_loop):
4857         * gst/gsttrashstack.h:
4858         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4859         * gst/gsttypes.h:
4860         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4861         (gst_element_request_pad), (gst_element_get_pad_from_template),
4862         (gst_element_request_compatible_pad),
4863         (gst_element_get_compatible_pad_filtered),
4864         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4865         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4866         (gst_element_link_many), (gst_element_link),
4867         (gst_element_link_pads), (gst_element_unlink_pads),
4868         (gst_element_unlink_many), (gst_element_unlink),
4869         (gst_pad_can_link_filtered), (gst_pad_can_link),
4870         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4871         (gst_object_default_error), (gst_bin_add_many),
4872         (gst_bin_remove_many), (gst_element_populate_std_props),
4873         (gst_element_class_install_std_props), (gst_buffer_merge),
4874         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4875         (link_fold_func), (gst_pad_proxy_setcaps):
4876         * gst/gstutils.h:
4877         * gst/gstvalue.c: (gst_value_deserialize_string):
4878         * gst/parse/grammar.y:
4879         * gst/schedulers/gstbasicscheduler.c:
4880         (gst_basic_scheduler_cothreaded_chain),
4881         (gst_basic_scheduler_chain_recursive_add),
4882         (gst_basic_scheduler_pad_link):
4883         * gst/schedulers/gstoptimalscheduler.c:
4884         (get_group_schedule_function),
4885         (gst_opt_scheduler_state_transition),
4886         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4887         * libs/gst/bytestream/bytestream.c:
4888         * libs/gst/dataprotocol/dataprotocol.c:
4889         (gst_dp_header_from_buffer):
4890         * po/nb.po:
4891         * po/ru.po:
4892         * tests/threadstate/threadstate2.c: (eos):
4893         * tools/gst-compprep.c: (main):
4894         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4895         (print_pad_info), (print_children_info):
4896         * tools/gst-launch.c: (idle_func), (main):
4897         * tools/gst-md5sum.c: (idle_func), (main):
4898         * tools/gst-xmlinspect.c: (print_element_info):
4899         First THREADED backport attempt, focusing on adding locks and
4900         making sure the API is threadsafe. Needs more work. More docs
4901         follow this week.
4902
4903 2005-02-24  Andy Wingo  <wingo@pobox.com>
4904
4905         * tests/bench-complexity.scm:
4906         * tests/complexity.gnuplot: New files, good for running complexity
4907         benchmarks.
4908
4909         * tests/Makefile.am:
4910         * tests/complexity.c: New test, sets up N elements, at each level
4911         teeing into M streams per element. Eeeenteresting.
4912
4913         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4914         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4915         running bench-mass_elements.scm.
4916
4917         * tests/bench-mass_elements.scm: New script, runs mass_elements
4918         for various numbers of identities, outputting the results to a
4919         file. Requires guile 1.6. Just for testing.
4920
4921 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4922
4923         * gst/schedulers/fairscheduler.c:
4924           compile with debug disabled
4925
4926 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4927
4928         * configure.ac:
4929           hunting season on 0.9 is now OPEN
4930
4931 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4932
4933         * docs/libs/tmpl/gstcontrol.sgml:
4934         * docs/libs/tmpl/gstdparam.sgml:
4935         * docs/libs/tmpl/gstdplinint.sgml:
4936         * docs/libs/tmpl/gstdpman.sgml:
4937         * docs/libs/tmpl/gstdpsmooth.sgml:
4938         * docs/libs/tmpl/gstunitconvert.sgml:
4939           more docs for the state of dparams
4940
4941 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4942
4943         * gst/gstelementfactory.c: (gst_element_factory_create):
4944         * gst/gstobject.c: (gst_object_init),
4945         (gst_object_set_name_default), (gst_object_set_name):
4946           name objects by default, not in gst_element_factory_create. Allows
4947           using elements created with g_object_new. (fixes #167283)
4948
4949 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4950
4951         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4952           make the time that debugging functions print relative to when
4953           gst_init was called
4954
4955 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4956
4957         * gst/gsttaginterface.c:
4958           Fix inline docs: tag setter vararg functions are NULL-terminated,
4959           GST_TAG_INVALID doesn't exist any more.
4960
4961 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4962
4963         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4964         Allocate the 1 byte more memory that was forgotten!!!!!
4965         fixes memory corruption on 64bit platforms
4966
4967 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4968
4969         * docs/pwg/building-pads.xml:
4970         * docs/pwg/intro-basics.xml:
4971           fixed a few typos, relabeled introductionary list of types
4972         * docs/random/ensonic/dparams.txt:
4973           more notes abut dparam changes
4974         * libs/gst/control/dparam.c: (gst_dparam_attach):
4975         * libs/gst/control/dparammanager.c:
4976         * libs/gst/control/dparammanager.h:
4977           - many comments and notes on dparam implementation
4978           - new dparams are were not initialized to the default value
4979             from param spec
4980
4981 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4982
4983         submitted by: Peter Astakhov
4984
4985         * po/LINGUAS:
4986         * po/ru.po:
4987           adding Russian translation
4988
4989 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4990
4991         * configure.ac:
4992         * docs/gst/Makefile.am:
4993         * docs/libs/Makefile.am:
4994           make sure popt is added to gtk-doc flags.  Fixes #147782.
4995
4996 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4997
4998         * docs/faq/using.xml:
4999           Fix typo in FAQ (artssink => artsdsink)
5000
5001 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5002
5003         * tools/gst-launch.1.in:
5004           Fix typo (#166699).
5005
5006 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5007
5008         * docs/faq/using.xml:
5009           Add -v argument to fakesrc/fakesink gst-launch line,
5010           so that the promised output will actually show up.
5011
5012 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5013
5014         * gst/gstthread.c: (gst_thread_change_state):
5015           Implement state-change error handling (#166073).
5016
5017 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5018
5019         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5020           Release interrupt after handling (#166250).
5021
5022 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5023
5024         * configure.ac:
5025           back to HEAD
5026
5027 === release 0.8.9 ===
5028
5029 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5030
5031         * NEWS:
5032         * RELEASE:
5033         * configure.ac:
5034           releasing 0.8.9, "Like Eating Glass"
5035
5036 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5037
5038         submitted by: Clytie Siddall
5039
5040         * po/vi.po: Added Vietnamese translation
5041
5042 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5043
5044         patch by: Tim Philipp-Müller
5045
5046         * configure.ac:
5047         * gst/gstpad.c:
5048           unref data when probe function returns FALSE.  Fixes #166362
5049
5050 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5051
5052         * gst/gst.c: (gst_init_get_popt_table):
5053           Fix typo (#166269).
5054
5055 2005-02-04  Andy Wingo  <wingo@pobox.com>
5056
5057         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5058         the debugging on whether the caps are compatible.
5059
5060 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5061
5062         * docs/manual/basics-elements.xml:
5063           Fix two typos.
5064
5065 2005-02-02  Wim Taymans  <wim@fluendo.com>
5066
5067         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5068         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5069         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5070         Remove some FIXMEs after analysing and commenting why they
5071         are not issues.
5072
5073 2005-02-02  Wim Taymans  <wim@fluendo.com>
5074
5075         * gst/schedulers/gstoptimalscheduler.c:
5076         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5077         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5078         (get_invalid_call), (chain_invalid_call),
5079         (get_group_schedule_function), (loop_group_schedule_function),
5080         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5081         (gst_opt_scheduler_state_transition),
5082         (gst_opt_scheduler_add_element),
5083         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5084         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5085         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5086         (gst_opt_scheduler_show):
5087         Added lock to protect scheduler data structures.
5088
5089 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5090
5091         * testsuite/threads/threadi.c: (cb_data):
5092           Fix buglet in test.
5093
5094 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5095
5096         * testsuite/threads/Makefile.am:
5097         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5098           On Wim's request, split the test in three separately-compiled
5099           tests that each test a very specific bug. Two of them still fail,
5100           will create bugs for those. threadi.c indicates why they fail.
5101
5102 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5103
5104         * gst/schedulers/gstoptimalscheduler.c:
5105         (get_group_schedule_function):
5106           Try to work with the threading mess that queue_link is.
5107
5108 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5109
5110         * gst/gstbin.c: (gst_bin_remove_func):
5111           Explicitely make an element release locks in a group when being
5112           remove from a bin.
5113         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5114           If there's no scheduler, always return immediately (similar to
5115           gst_element_interrupt).
5116
5117 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5118
5119         * gst/gstbin.c: (gst_bin_child_state_change_func):
5120           Remove a piece of code that could never be reached.
5121         * docs/gst/gstreamer-sections.txt:
5122         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5123         (gst_pad_call_get_function):
5124         * gst/gstpad.h:
5125         * testsuite/pad/Makefile.am:
5126           Fix #150546, enable tests.
5127
5128 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5129
5130         * docs/pwg/advanced-types.xml:
5131           Fix description for buffer-frames=0.
5132         * docs/gst/tmpl/gstbin.sgml:
5133         * gst/gstbin.c: (gst_bin_child_state_change_func),
5134         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5135         * gst/gstbin.h:
5136         * testsuite/threads/Makefile.am:
5137         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5138         (cb_state), (cb_play), (main):
5139           Fix non-recursive state changes to *really* change the state
5140           of the object, and not just call parent_class->state_change.
5141           Fix a lot of lockups caused by this. Fixes #132775. Add test
5142           for the problem. Also enable test to show #142588 (fixed).
5143         * gst/gstthread.c: (gst_thread_change_state),
5144         (gst_thread_child_state_change):
5145           Don't exit the thread if we go to NULL and are inside thread
5146           context. Instead, return control to the main thread context
5147           and exit from there.
5148         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5149           Don't unset virtual functions, since those may still be used.
5150           That's not necessarily correct, but suffices for now.
5151         * configure.ac:
5152         * testsuite/Makefile.am:
5153         * testsuite/pad/Makefile.am:
5154         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5155         (gst_test_sink_base_init), (gst_test_sink_chain),
5156         (gst_test_sink_init), (main):
5157         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5158         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5159         (main):
5160         * testsuite/pad/link.c: (gst_test_element_class_init),
5161         (gst_test_element_base_init), (gst_test_src_get),
5162         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5163         (gst_test_filter_loop), (gst_test_filter_init),
5164         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5165         (cb_error), (main):
5166           Add tests to show #150546. Pass, but should fail (currently
5167           disabled from the testsuite).
5168         * gst/gstscheduler.c: (gst_scheduler_dispose):
5169           Dereference child schedulers on dispose (#94464).
5170         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5171           Fix typo.
5172         * testsuite/threads/thread.c: (main):
5173           Add more debug.
5174
5175 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5176
5177         * gst/gstpad.c: (gst_pad_push):
5178           Oops, revert previous commit, broke testsuite...
5179
5180 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5181
5182         * gst/gstpad.c: (gst_pad_push):
5183           Add check that the pad on which the push is performed is not a
5184           get-based pad (#150546).
5185
5186 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5187
5188         * gst/elements/gsttypefindelement.c:
5189         (gst_type_find_element_handle_event):
5190           Fix buffer pushing if stream EOSes during typefinding.
5191
5192 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5193
5194         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5195
5196         * gst/gstvalue.c: (gst_string_wrap):
5197           Allow NULL-strings as argument (#165365).
5198
5199 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5200
5201         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5202
5203         * gst/schedulers/faircothreads.c:
5204         (gst_fair_scheduler_cothread_queue_show):
5205           Fix build without debug enabled.
5206
5207 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5208
5209         * docs/gst/gstreamer-sections.txt:
5210         * docs/libs/gstreamer-libs-docs.sgml:
5211         * docs/libs/gstreamer-libs-sections.txt:
5212         * docs/libs/tmpl/gstcontrol.sgml:
5213         * docs/libs/tmpl/gstdparam.sgml:
5214         * docs/libs/tmpl/gstdplinint.sgml:
5215         * docs/libs/tmpl/gstdpman.sgml:
5216         * docs/libs/tmpl/gstdpsmooth.sgml:
5217         * docs/libs/tmpl/gstputbits.sgml:
5218         * docs/libs/tmpl/gstunitconvert.sgml:
5219         * libs/gst/control/dparam.c:
5220         * libs/gst/control/dparam.h:
5221         * libs/gst/control/dparammanager.c:
5222         (gst_dpman_add_required_dparam_callback),
5223         (gst_dpman_add_required_dparam_direct),
5224         (gst_dpman_add_required_dparam_array),
5225         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5226         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5227         (gst_dpman_get_manager)
5228           restructured DParam docs
5229
5230 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5231
5232         * gst-element-check.m4:
5233           Only check for gst-inspect if we haven't already
5234           found it in previous element check runs
5235
5236 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5237
5238         * docs/gst/Makefile.am:
5239         * docs/libs/Makefile.am:
5240           fixed install rules to treat style.css as optional
5241
5242 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5243
5244         * docs/gst/Makefile.am:
5245         * docs/libs/Makefile.am:
5246           install style.css along with docs
5247         * docs/gst/tmpl/gstbin.sgml:
5248         * docs/gst/tmpl/gstclock.sgml:
5249         * docs/gst/tmpl/gstdata.sgml:
5250         * docs/gst/tmpl/gstelement.sgml:
5251         * gst/gstbin.h:
5252         * gst/gstelement.c: (gst_element_class_init):
5253         * gst/gstelement.h:
5254           fixing incomplete docs
5255
5256 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5257
5258         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5259           Don't unref seek event twice when fflush() fails
5260           
5261 2005-01-22  David Schleef  <ds@schleef.org>
5262
5263         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5264
5265 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5266
5267         * docs/gst/Makefile.am:
5268         * docs/libs/Makefile.am:
5269           added params for deprecation guards
5270         * gst/gst.c:
5271         * gst/gst.h:
5272         * gst/gsterror.c: (_gst_resource_errors_init),
5273         (_gst_stream_errors_init):
5274         * gst/gsterror.h:
5275           documented some more enums
5276
5277 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5278         * gst/autoplug/gstspideridentity.c:
5279         Cosmetic fix - spider_find_peek should be static
5280         * gst/parse/parse.l:
5281         Applying fix for #164261
5282
5283 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5284
5285         * docs/gst/gstreamer-sections.txt:
5286         * docs/gst/tmpl/gstplugin.sgml:
5287         * docs/libs/gstreamer-libs-sections.txt:
5288         * docs/libs/tmpl/gstcontrol.sgml:
5289         * gst/gstbuffer.h:
5290         * gst/gsttag.h:
5291         * gst/gstvalue.c:
5292           added docs for the TAG defines
5293
5294 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5295
5296         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5297           Only unref entry if there is an entry.
5298
5299 2005-01-17  Wim Taymans  <wim@fluendo.com>
5300
5301         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5302         (remove_from_group), (schedule_group), (normalize_group),
5303         (gst_opt_scheduler_iterate):
5304         Also ref/unref decoupled elements before iterating the
5305         group since they are not added to the list of elements.
5306
5307 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5308
5309         * docs/manual/highlevel-components.xml:
5310           Add subtitle/streamselection as new features to playbin.
5311
5312 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5313
5314         * docs/manual/manual.xml:
5315           Re-enable dataaccess docs (oops).
5316
5317 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5318
5319         * docs/pwg/advanced-types.xml:
5320         * docs/random/mimetypes:
5321           Add documentation on libsndfile types (#163309), by Steve Baker
5322           <steve@stevebaker.org>.
5323         * gst/gstelement.c: (gst_element_release_request_pad):
5324           If an element has no explicit function, just remove the pad.
5325
5326 2005-01-17  Luca Ognibene  <luogni@tin.it>
5327
5328         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5329
5330         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5331           Fix memleak (#163801).
5332
5333 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5334
5335         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5336           I think this is actually more correct...
5337
5338 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5339
5340         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5341           Another workaround for memory access while destroyed in callback.
5342           Please, someone with refcount knowledge, have a look at this.
5343
5344 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5345
5346         * docs/faq/faq.xml:
5347         * docs/faq/legal.xml:
5348           move the legal Q&A here
5349
5350 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5351
5352         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5353         (gst_tee_request_new_pad):
5354           Fix negotiation.
5355
5356 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5357
5358         * docs/random/omega/caps2:
5359         * testsuite/caps/caps_strings:
5360           replace framerate aproximations by their real value
5361           (24000/1001, 30000/1001, 60000/1001)
5362           Partially fixes bug #164049
5363
5364 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5365
5366         * docs/gst/Makefile.am:
5367           don't fail on the stupid GstPoptOption
5368
5369 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5370
5371         * gst/gstpad.h:
5372         * gst/gstprobe.c:
5373           allow probes to work on ghost pads by realizing the pad
5374           probe debugging
5375
5376 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5377
5378         * docs/gst/gstreamer-sections.txt:
5379         * docs/gst/tmpl/gstpad.sgml:
5380         * gst/gstpad.c: (gst_pad_set_active_recursive):
5381         * gst/gstpad.h:
5382           Add gst_pad_set_active_recursive().
5383
5384 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5385
5386         * docs/random/release:
5387           updates
5388         * gst/gst_private.h:
5389         * gst/gstinfo.c:
5390         * gst/gstobject.c:
5391           move deep_notify logging to a new category
5392         * gst/gstprobe.c:
5393         * gst/gstprobe.h:
5394           add stuff so bindings can wrap probes
5395
5396 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5397
5398         * gst/gstplugin.c: (gst_plugin_load):
5399           Fix plugin loading if plugin/lib was already loaded. Fixes
5400           #163383
5401
5402 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5403
5404         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5405
5406         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5407           Protect plugin loading by a mutex so it's threadsafe. Fixes
5408           #163234.
5409
5410 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5411
5412         * gst/gstevent.c: (_gst_event_copy):
5413           Reference source object when copying events, since it'll be
5414           dereferenced on event dereferencing as well.
5415
5416 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5417
5418         * docs/gst/gstreamer-sections.txt:
5419         * docs/gst/tmpl/gstevent.sgml:
5420         * gst/gstevent.c: (gst_event_new_filler_stamped),
5421         (gst_event_filler_get_duration):
5422         * gst/gstevent.h:
5423           Add two new functions for filler events (which are used to
5424           synchronize streams if one of them is not having any data
5425           for a while) without interrupting the actual data-stream.
5426           Basically a no-op.
5427         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5428         (gst_queue_link_sink), (gst_queue_link_src),
5429         (gst_queue_change_state):
5430           Allow for renegotiation while filled. Required for stream
5431           switching while playing.
5432
5433 2005-01-08  Benjamin Otte  <otte@gnome.org>
5434
5435         * gst/gstelement.c: (gst_element_link_many):
5436           fix up g_return_if_fail's
5437         * po/LINGUAS:
5438         * po/de.po:
5439           add German translation, that was somehow not included
5440
5441 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5442
5443         * docs/random/mimetypes:
5444           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5445           do not add them to riff-lib as they are not common
5446
5447 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5448
5449         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5450           Check for existence of probe after performing the probe before
5451           re-accessing it to prevent segfaults caused by removal of the
5452           probe in the callback.
5453
5454 2005-01-05  David Schleef  <ds@schleef.org>
5455
5456         * testsuite/registry/Makefile.am:
5457         * testsuite/registry/gst-print-formats.c:
5458         (print_pad_templates_info), (print_element_list),
5459         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5460         (g_list_uniqify), (get_pad_templates_info),
5461         (get_element_mime_list), (print_mime_list), (main): A little
5462         program that looks through the registry to find elements of
5463         a given type.  Not particularly interesting as a test, except
5464         that there's no other test covering the same area.
5465
5466 2005-01-05  David Schleef  <ds@schleef.org>
5467
5468         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5469         (fault_handler_sigaction), (fault_spin),
5470         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5471         in signal.h-type signal handlers by not calling forbidden functions,
5472         including gst_element_set_state().
5473
5474 2005-01-05  David Schleef  <ds@schleef.org>
5475
5476         * gst/gstvalue.h: Mark _gst_reserved[] as private
5477
5478 2005-01-05  David Schleef  <ds@schleef.org>
5479
5480         * gst/gstvalue.c: Fix doc build problem.
5481
5482 2005-01-05  David Schleef  <ds@schleef.org>
5483
5484         * gst/gstvalue.c: Add some documentation
5485
5486 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5487
5488         * docs/README:
5489           another shell oneliner for empty return value docs
5490         * gst/gstcaps.c:
5491         * gst/gstvalue.c:
5492         * libs/gst/control/dparam.c:
5493           more doc fixes (parameters and return values)
5494
5495 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5496
5497         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5498
5499         * gst/gstregistry.h:
5500         * gst/registries/gstxmlregistry.c:
5501           Fix macro's for Mingw (fixes #162276).
5502
5503 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5504
5505         * docs/README:
5506           quick shell oneliner to find undocumented members
5507         * docs/gst/tmpl/gstplugin.sgml:
5508         * docs/gst/tmpl/gstscheduler.sgml:
5509         * docs/gst/tmpl/gstthread.sgml:
5510           more enumtypes cleanup
5511         * gst/gsterror.h:
5512           activated documentation comments, now someone needs to document
5513           the enums :(
5514
5515 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5516
5517         * docs/manual/manual.xml:
5518           Add dataaccess part (doh!).
5519
5520 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5521
5522         * docs/manual/advanced-autoplugging.xml:
5523           Fix typo (intiate -> initiate).
5524
5525 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5526
5527         * docs/random/bbb/streamselection:
5528           Add some notes on how to handle multi-subtitle/-audio streams.
5529
5530 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5531
5532         * docs/gst/gstreamer-docs.sgml:
5533         * docs/gst/gstreamer-sections.txt:
5534         * docs/gst/tmpl/gstenumtypes.sgml:
5535         * docs/gst/tmpl/gsterror.sgml:
5536         * docs/gst/tmpl/gstevent.sgml:
5537         * docs/gst/tmpl/gstpad.sgml:
5538         * docs/gst/tmpl/gstpadtemplate.sgml:
5539         * docs/gst/tmpl/gstthread.sgml:
5540           removed gstenumtypes section from docs and put all the enums into
5541           their sections
5542
5543 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5544
5545         * gst/gstplugin.c:
5546           document gst_library_load a bit more (riff special case + return
5547           value if already loaded)
5548         * testsuite/bytestream/filepadsink.c:
5549           plugin name is 'gstbytestream', not 'bytestream'
5550
5551 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5552
5553         * docs/random/bbb/subtitles:
5554           Add some first mind rumblings on proper subtitle support.
5555
5556 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5557
5558         * po/ca.po:
5559         * po/sv.po:
5560           updated translations
5561
5562 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5563
5564         * docs/manual/advanced-dataaccess.xml:
5565           Add section on how to use fakesrc/fakesink/identity in your
5566           application, plus section on how to embed plugins. Also mention
5567           probes.
5568         * docs/manual/appendix-checklist.xml:
5569         * docs/manual/appendix-debugging.xml:
5570         * docs/manual/appendix-gnome.xml:
5571         * docs/manual/appendix-integration.xml:
5572           Debug -> checklist, GNOME -> integration, add sections on Linux,
5573           KDE integration and add other things useful for application
5574           development.
5575         * docs/manual/manual.xml:
5576           Remove some fixmes, update some file pointers.
5577         * docs/pwg/appendix-checklist.xml:
5578           Fix typo.
5579         * docs/pwg/building-boiler.xml:
5580           Remove ugly header and add commented fixme.
5581         * docs/pwg/pwg.xml:
5582           Add fixme.
5583         * examples/manual/Makefile.am:
5584           Add example for added docs.
5585
5586 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5587
5588         * configure.ac:
5589           back to HEAD
5590
5591 === release 0.8.8 ===
5592
5593 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5594
5595         * NEWS:
5596         * RELEASE:
5597         * configure.ac:
5598           Releasing 0.8.8, "I'll Take Care Of You"
5599
5600 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5601
5602         * configure.ac:
5603           second prerelease
5604
5605 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5606
5607         patch by: Wim Taymans
5608
5609         * gst/gstbin.c:
5610           Fix for #159852 - make iterate emission threadsafe
5611
5612 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5613
5614         * docs/faq/cvs.xml:
5615           notes about new fdo account request
5616
5617 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5618
5619         * docs/gst/gstreamer-docs.sgml:
5620         * docs/gst/tmpl/gstenumtypes.sgml:
5621         * docs/gst/tmpl/gstplugin.sgml:
5622         * docs/libs/gstreamer-libs-docs.sgml:
5623           Added missing short docs. Added ids for navigation.
5624
5625 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5626
5627         * docs/manual/advanced-autoplugging.xml:
5628         * docs/manual/advanced-schedulers.xml:
5629         * docs/manual/advanced-threads.xml:
5630           Rewrites. Remove cothreads, go a bit into opt specifically,
5631           document threads and their gotchas, and do some technical stuff
5632           on autoplugging plus add some working examples. Fixes #157395.
5633         * examples/manual/Makefile.am:
5634           Add typefind/autoplugger example (one that actually works).
5635           Remove queue example since it's a duplicate of the thread one.
5636
5637 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5638
5639         * gst/gstvalue.c: (gst_value_deserialize_string):
5640           use deprecated g_value_set_string_take_ownership to keep compatible
5641           with glib 2.2
5642
5643 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5644
5645         * gst/gstvalue.c: (gst_value_deserialize_string):
5646           revert last patch, only dom a g_utf8_validate now before accepting
5647           the string - caps parsing strips " from strings so we can't rely on
5648           them
5649         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5650           disable a test that tested the above and comment it
5651
5652 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5653
5654         Patch reviewed by David Schleef  <ds@schleef.org>
5655
5656         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5657         bug #153882)
5658         * win32/gstenumtypes.h: same
5659
5660 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5661
5662         * gst/gstpad.c: (gst_pad_query):
5663           Do query on realized pad, similar to how convert/send_event handle
5664           this. Also makes sense, since this pad belongs to the function to
5665           which this query will be sent. Fixes #158163.
5666
5667 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5668
5669         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5670
5671 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5672
5673         * docs/faq/general.xml: fix pipeline to actually work
5674
5675 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5676
5677         * gst/gstvalue.c: (gst_value_deserialize_string):
5678           check that a simple string that gets deserialized does not contain
5679           invalid characters
5680         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5681           remove a test that tested a wring behaviour
5682
5683 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5684
5685         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5686
5687         * docs/manual/intro-motivation.xml:
5688           Fix typos.
5689
5690 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5691
5692         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5693
5694         * docs/gst/tmpl/gstprobe.sgml:
5695           Fix documentation of probe callback - it is supposed to return
5696           FALSE, not TRUE, to remove data from the stream (#159087).
5697
5698 2004-12-16  Daniel Gazard  <dany42@free.fr>
5699
5700         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5701
5702         * gst/gstelementfactory.c: (gst_element_factory_create):
5703           Fix compile failure if compiling without libxml2 support (#149936).
5704
5705 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5706
5707         * docs/manual/advanced-autoplugging.xml:
5708         * docs/manual/highlevel-components.xml:
5709           Move spider from autoplugging to components. Autoplugging is for
5710           internals, not for solutions. ;-).
5711
5712 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5713
5714         * docs/random/ds/0.9-suggested-changes:
5715           Make note on device/location/uri property names.
5716
5717 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5718
5719         * docs/manual/advanced-autoplugging.xml:
5720         * docs/manual/advanced-clocks.xml:
5721         * docs/manual/advanced-interfaces.xml:
5722         * docs/manual/advanced-metadata.xml:
5723         * docs/manual/advanced-position.xml:
5724         * docs/manual/advanced-schedulers.xml:
5725         * docs/manual/advanced-threads.xml:
5726         * docs/manual/appendix-gnome.xml:
5727         * docs/manual/appendix-programs.xml:
5728         * docs/manual/appendix-quotes.xml:
5729         * docs/manual/autoplugging.xml:
5730         * docs/manual/basics-bins.xml:
5731         * docs/manual/basics-data.xml:
5732         * docs/manual/basics-elements.xml:
5733         * docs/manual/basics-helloworld.xml:
5734         * docs/manual/basics-init.xml:
5735         * docs/manual/basics-pads.xml:
5736         * docs/manual/basics-plugins.xml:
5737         * docs/manual/bins-api.xml:
5738         * docs/manual/bins.xml:
5739         * docs/manual/buffers-api.xml:
5740         * docs/manual/buffers.xml:
5741         * docs/manual/clocks.xml:
5742         * docs/manual/components.xml:
5743         * docs/manual/cothreads.xml:
5744         * docs/manual/debugging.xml:
5745         * docs/manual/dparams-app.xml:
5746         * docs/manual/dynamic.xml:
5747         * docs/manual/elements-api.xml:
5748         * docs/manual/elements.xml:
5749         * docs/manual/factories.xml:
5750         * docs/manual/gnome.xml:
5751         * docs/manual/goals.xml:
5752         * docs/manual/helloworld.xml:
5753         * docs/manual/helloworld2.xml:
5754         * docs/manual/highlevel-components.xml:
5755         * docs/manual/highlevel-xml.xml:
5756         * docs/manual/init-api.xml:
5757         * docs/manual/intro-basics.xml:
5758         * docs/manual/intro-motivation.xml:
5759         * docs/manual/intro-preface.xml:
5760         * docs/manual/intro.xml:
5761         * docs/manual/links-api.xml:
5762         * docs/manual/links.xml:
5763         * docs/manual/manual.xml:
5764         * docs/manual/motivation.xml:
5765         * docs/manual/pads-api.xml:
5766         * docs/manual/pads.xml:
5767         * docs/manual/plugins-api.xml:
5768         * docs/manual/plugins.xml:
5769         * docs/manual/programs.xml:
5770         * docs/manual/queues.xml:
5771         * docs/manual/quotes.xml:
5772         * docs/manual/schedulers.xml:
5773         * docs/manual/states-api.xml:
5774         * docs/manual/states.xml:
5775         * docs/manual/threads.xml:
5776         * docs/manual/typedetection.xml:
5777         * docs/manual/win32.xml:
5778         * docs/manual/xml.xml:
5779           Try 2. This time, include a short preface as a "general
5780           introduction", also add code blocks around all code samples
5781           so they get compiled. We still need a way to tell readers
5782           the filename of the code sample. In some cases, don't show
5783           all code in the documentation, but do include it in the generated
5784           code. This allows for focussing on specific bits in the docs,
5785           while still having a full test application available.
5786         * examples/manual/Makefile.am:
5787           Fix up examples for new ADM. Add several of the new examples that
5788           were either added or were missing from the build system.
5789         * examples/manual/extract.pl:
5790           Allow nameless blocks.
5791
5792 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5793
5794         * docs/manual/elements-api.xml:
5795         * docs/manual/helloworld.xml:
5796         * examples/manual/extract.pl:
5797           fix last example.  Add example of adding code blocks that are not
5798           shown in docbook output.
5799
5800 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5801
5802         * docs/manual/dynamic.xml:
5803         * docs/manual/elements-api.xml:
5804         * docs/manual/gnome.xml:
5805         * docs/manual/helloworld2.xml:
5806         * docs/manual/init-api.xml:
5807         * docs/manual/queues.xml:
5808         * docs/manual/threads.xml:
5809         * docs/manual/xml.xml:
5810         * examples/manual/extract.pl:
5811           Make it possible to extract example code from separate blocks.
5812           Should make Ronald happy.
5813
5814 2004-12-15  Wim Taymans  <wim@fluendo.com>
5815
5816         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5817         (remove_from_group), (group_elements_set_visited),
5818         (normalize_group), (gst_opt_scheduler_iterate):
5819         Fix bug where a flag was not updated on a decoupled entry point 
5820         because we were just checking the group element list and decoupled
5821         elements are not in that list..
5822
5823 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5824
5825         * docs/manual/advanced-autoplugging.xml:
5826         * docs/manual/advanced-clocks.xml:
5827         * docs/manual/advanced-dparams.xml:
5828         * docs/manual/advanced-interfaces.xml:
5829         * docs/manual/advanced-metadata.xml:
5830         * docs/manual/advanced-position.xml:
5831         * docs/manual/advanced-schedulers.xml:
5832         * docs/manual/advanced-threads.xml:
5833         * docs/manual/appendix-debugging.xml:
5834         * docs/manual/appendix-gnome.xml:
5835         * docs/manual/appendix-programs.xml:
5836         * docs/manual/appendix-quotes.xml:
5837         * docs/manual/appendix-win32.xml:
5838         * docs/manual/autoplugging.xml:
5839         * docs/manual/basics-bins.xml:
5840         * docs/manual/basics-data.xml:
5841         * docs/manual/basics-elements.xml:
5842         * docs/manual/basics-helloworld.xml:
5843         * docs/manual/basics-init.xml:
5844         * docs/manual/basics-pads.xml:
5845         * docs/manual/basics-plugins.xml:
5846         * docs/manual/bins-api.xml:
5847         * docs/manual/bins.xml:
5848         * docs/manual/buffers-api.xml:
5849         * docs/manual/buffers.xml:
5850         * docs/manual/clocks.xml:
5851         * docs/manual/components.xml:
5852         * docs/manual/cothreads.xml:
5853         * docs/manual/debugging.xml:
5854         * docs/manual/dparams-app.xml:
5855         * docs/manual/dynamic.xml:
5856         * docs/manual/elements-api.xml:
5857         * docs/manual/elements.xml:
5858         * docs/manual/factories.xml:
5859         * docs/manual/gnome.xml:
5860         * docs/manual/goals.xml:
5861         * docs/manual/helloworld.xml:
5862         * docs/manual/helloworld2.xml:
5863         * docs/manual/highlevel-components.xml:
5864         * docs/manual/highlevel-xml.xml:
5865         * docs/manual/init-api.xml:
5866         * docs/manual/intro-motivation.xml:
5867         * docs/manual/intro-preface.xml:
5868         * docs/manual/intro.xml:
5869         * docs/manual/links-api.xml:
5870         * docs/manual/links.xml:
5871         * docs/manual/manual.xml:
5872         * docs/manual/motivation.xml:
5873         * docs/manual/pads-api.xml:
5874         * docs/manual/pads.xml:
5875         * docs/manual/plugins-api.xml:
5876         * docs/manual/plugins.xml:
5877         * docs/manual/programs.xml:
5878         * docs/manual/queues.xml:
5879         * docs/manual/quotes.xml:
5880         * docs/manual/schedulers.xml:
5881         * docs/manual/states-api.xml:
5882         * docs/manual/states.xml:
5883         * docs/manual/threads.xml:
5884         * docs/manual/typedetection.xml:
5885         * docs/manual/win32.xml:
5886         * docs/manual/xml.xml:
5887           First try at rewriting the ADM. Needs lotsamore work, but some
5888           parts might already be somewhat useful.
5889         * docs/pwg/advanced-interfaces.xml:
5890           Remove properties interface, it never actually existed (except for
5891           on my HD...).
5892
5893 2004-12-13  David Schleef  <ds@schleef.org>
5894
5895         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5896         be NULL (bug #160220).
5897
5898 2004-12-13  David Schleef  <ds@schleef.org>
5899
5900         * configure.ac: remove all mmx stuff, because it's not used.
5901         * docs/random/ds/0.9-suggested-changes: additional notes
5902         * include/Makefile.am: we don't use these anymore
5903         * include/mmx.h: remove
5904         * include/sse.h: remove
5905
5906 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5907
5908         * docs/random/mimetypes:
5909           Add FOURCC code for h264 codec (VSSH)
5910           Add alternate FOURCC codes for h263 related codecs
5911
5912 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5913
5914         * docs/manual/programs.xml:
5915           Added more gst-launch examples.
5916
5917 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5918
5919         * gst/gstqueue.c: (gst_queue_handle_src_query):
5920           Check for availability again.
5921
5922 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5923
5924         * gst/gstcaps.c: (gst_caps_compare_structures):
5925           Simple caps go first. This has the nice side-effect of fixing an
5926           obscure warning.
5927
5928 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5929
5930         * gst/gstversion.h.in:
5931           Protect header.
5932
5933 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5934
5935         * gst/schedulers/gstoptimalscheduler.c:
5936         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5937         (gst_opt_scheduler_get_wrapper):
5938           When we're recursing into a chain run, only run the directly
5939           related group, not all queued ones. This will fix a possible
5940           deadlock in chains with more than two groups.
5941
5942 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5943
5944         * autogen.sh:
5945           remove patch if autopoint fails
5946
5947 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5948
5949         * docs/gst/gstreamer-sections.txt:
5950           Document Thomas' addition, fix build, make Luis the sheriff happy.
5951
5952 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5953
5954         * gst/gstplugin.c:
5955         * gst/gstplugin.h:
5956           add accessor for version field
5957
5958 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5959
5960         submitted by: Luca Ferretti <elle.uca@infinito.it>
5961
5962         * po/LINGUAS:
5963         * po/it.po:
5964           New tranlation added: Italian
5965
5966 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5967
5968         * gst/gstpad.c: (gst_pad_is_negotiated),
5969         (gst_pad_get_negotiated_caps):
5970           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5971           it doesn't actually check the contents), so be sure to hand it
5972           a RealPad else we'll crash.
5973
5974 2004-12-03  Wim Taymans  <wim@fluendo.com>
5975
5976         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5977         (gst_queue_link), (gst_queue_handle_src_query):
5978         Reverted to 1.110 until this makes the testsuite and various
5979         apps work.
5980
5981 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5982
5983         * docs/upload.mak: fix included CVS conflict strings
5984
5985 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5986
5987         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5988
5989         * gst/gstelement.c: (gst_element_error_full):
5990           Use g_error_new_literal because error text may have
5991           percentage signs in it. Fixes #160019.
5992
5993 2004-12-01  Benjamin Otte  <otte@gnome.org>
5994
5995         * gst/elements/gstbufferstore.c:
5996         (gst_buffer_store_add_buffer_func):
5997           don't try to make subbuffers bigger than they can be. (fixes
5998           #159970)
5999
6000 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6001
6002         * docs/gst/gstreamer-sections.txt:
6003         * docs/gst/tmpl/gstvalue.sgml:
6004           Add new function to docs to fix build.
6005
6006 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6007
6008         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6009         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6010         (_gst_pad_default_fixate_foreach):
6011         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6012         * gst/gstvalue.h:
6013           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6014           in some cases (arrays), the fixedness depends on the content.
6015         * gst/gstqueue.c: (gst_queue_handle_src_query):
6016           Check for availability before doing something.
6017
6018 2004-11-29  Wim Taymans  <wim@fluendo.com>
6019
6020         * testsuite/threads/Makefile.am:
6021         * testsuite/threads/signals.c: (gst_test_get_type),
6022         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6023         (gst_test_set_property), (gst_test_get_property),
6024         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6025         (gst_test_do_prop), (run_thread), (main):
6026         Added a bunch of testcases that show threadsafety bugs in glib.
6027
6028 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6029
6030         * docs/manual/programs.xml:
6031           Added a first batch of gst-launch examples, as provided by Ronald
6032           and others from the devel-mlist
6033
6034 2004-11-28  Benjamin Otte  <otte@gnome.org>
6035
6036         * gst/gstelement.c: (gst_element_negotiate_pads):
6037           simplify
6038         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6039         (gst_value_serialize_string), (gst_value_deserialize_string):
6040           add unwrapping of previously wrapped strings. Fix bug in wrapping
6041           while at it.
6042         * testsuite/caps/value_serialize.c: (test1),
6043         (test_string_serialization), (test_string_deserialization), (main):
6044           add tests for string (de)serialization
6045
6046 2004-11-26  Wim Taymans  <wim@fluendo.com>
6047
6048         * testsuite/threads/159566.c: (object_deep_notify), (main):
6049         * testsuite/threads/Makefile.am:
6050         Added testsuite to show bug #159566
6051
6052 2004-11-25  Wim Taymans  <wim@fluendo.com>
6053
6054         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6055         (gst_thread_child_state_change), (gst_thread_main_loop):
6056         Ref the thread object in the GThread mainloop. Break out of the
6057         thread mainloop if it holds the last ref. This properly exits
6058         the threads when disposing the thread from its own context. It
6059         also avoids possible deadlocks in the dispose function.
6060
6061 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6062
6063         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6064         it is necessary to wait.
6065
6066 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6067
6068         * docs/pwg/building-boiler.xml:
6069           Make description somewhat clearer.
6070
6071 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6072
6073         * docs/upload.mak:
6074           Apparently docs changed location on FDO's server.
6075
6076 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6077
6078         * docs/pwg/appendix-checklist.xml:
6079           Add some random notes on things to check when writing an element.
6080           This list can be extended as people see fit.
6081
6082 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6083
6084         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6085         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6086         pad. The queue will now wait until it is empty and forward the new
6087         caps to the source.
6088         * gst/gstbin.c (gst_bin_set_element_sched)
6089         (gst_bin_unset_element_sched): Make sure that all elements and
6090         links are registered and unregistered with the scheduler exactly
6091         once. This elaborates on a fix by Benjamin Otte, but
6092         guarantees that decoupled elements are also registered.
6093
6094 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6095
6096         * docs/manual/quotes.xml:
6097           add a quote
6098         * configure.ac:
6099         * gst/gst.c:
6100         * gst/gstinfo.c:
6101           add LIBDIR and move init message higher up so it's at the start
6102
6103 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6104
6105         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6106         * gstreamer.spec.in: add fair
6107
6108 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6109
6110         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6111         * gst/elements/gstidentity.c: (gst_identity_class_init):
6112           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6113           <teuf@gnome.org> (#157263).
6114         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6115         (gst_type_find_handle_src_query):
6116           Subtract size of internally stored data from position queries.
6117
6118 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6119
6120         * gst/schedulers/fairscheduler.c:
6121         * gst/schedulers/faircothreads.c:
6122         * gst/schedulers/faircothreads.h:
6123         New cothread based scheduler: Fair scheduler.
6124         * gst/schedulers/gthread-cothreads.h: 
6125         Add the standard #if around the whole file.
6126         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6127         compilation of the functions defined in this file. This is
6128         necessary to be able to use this file as a normal header.
6129         * gst/schedulers/Makefile.am: Add compiling support for fair
6130         scheduler.
6131         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6132         scheduler cothreads layer from documentation generation.
6133
6134 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6135
6136         * gst/autoplug/gstspideridentity.c:
6137         (gst_spider_identity_sink_loop_type_finding):
6138           Don't crash if that function is not implemented.
6139
6140 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6141
6142         * docs/pwg/advanced-types.xml:
6143           Another typo.
6144
6145 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6146
6147         * docs/pwg/intro-preface.xml:
6148           Hm, ok, so the brackets weren't really useful...
6149         * docs/pwg/other-ntoone.xml:
6150           Fix embarassing typo.
6151
6152 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6153
6154         * docs/pwg/intro-preface.xml:
6155           Rewrite preface.
6156
6157 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6158
6159         * docs/pwg/advanced-scheduling.xml:
6160         * docs/pwg/advanced-tagging.xml:
6161         * docs/pwg/advanced-types.xml:
6162         * docs/pwg/building-boiler.xml:
6163         * docs/pwg/building-chainfn.xml:
6164         * docs/pwg/building-signals.xml:
6165         * docs/pwg/building-state.xml:
6166         * docs/pwg/building-testapp.xml:
6167         * docs/pwg/intro-basics.xml:
6168         * docs/pwg/other-manager.xml:
6169         * docs/pwg/other-source.xml:
6170           Typo fixes.
6171         * docs/pwg/other-manager.xml:
6172           Add some first content. No example code yet.
6173         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6174           Remove double newlines.
6175
6176 2004-11-04  Wim Taymans  <wim@fluendo.com>
6177
6178         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6179         (remove_from_group), (normalize_group), (group_migrate_connected),
6180         (gst_opt_scheduler_iterate):
6181         * testsuite/schedulers/.cvsignore:
6182         * testsuite/schedulers/Makefile.am:
6183         * testsuite/schedulers/queue_link.c: (main):
6184         Added testcase for scheduler segfault.
6185         Fix scheduler segfault when removing a decoupled
6186         entry point as the last element from a group.
6187
6188 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6189
6190         * gst/gstmarshal.list: add missing marshaller, fixes build
6191
6192 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6193
6194         * docs/random/signal: added notes about using BOXED for GstBuffer
6195         signal marshallers, not POINTER
6196
6197 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6198
6199         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6200         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6201         POINTER=>BOXED changes to marshal GstBuffers
6202
6203 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6204
6205         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6206         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6207
6208 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6209
6210         * docs/gst/gstreamer-sections.txt:
6211         * docs/gst/tmpl/gstcaps.sgml:
6212         * docs/gst/tmpl/gsterror.sgml:
6213         * docs/gst/tmpl/gstinfo.sgml:
6214         * docs/gst/tmpl/gstmacros.sgml:
6215         * docs/gst/tmpl/gstutils.sgml:
6216         * docs/random/ensonic/interfaces.txt:
6217         * gst/gstinfo.h:
6218           added some more docs, removed two obsolete defines
6219
6220 2004-11-02  Kjartan Maraas <as at gnome.org>
6221
6222         reviewed by: Wim Taymans, Ronald Bultje.
6223
6224         * gst/cothreads.c: (cothread_create):
6225         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6226         (gst_bin_child_state_change_func):
6227         * gst/gstbuffer.c: (gst_buffer_span):
6228         * gst/gstelement.c: (gst_element_get_index),
6229         (gst_element_get_event_masks), (gst_element_get_query_types),
6230         (gst_element_get_formats):
6231         * gst/gsterror.c: (_gst_core_errors_init),
6232         (_gst_library_errors_init), (_gst_resource_errors_init),
6233         (_gst_stream_errors_init):
6234         * gst/gstobject.c: (gst_object_default_deep_notify):
6235         * gst/gstpad.c: (gst_pad_get_event_masks),
6236         (gst_pad_get_internal_links_default):
6237         * gst/gstplugin.c: (gst_plugin_register_func),
6238         (gst_plugin_get_module):
6239         * gst/gststructure.c: (gst_structure_get_string),
6240         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6241         (gst_structure_to_abbr):
6242         * gst/gstutils.c: (gst_print_element_args):
6243         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6244         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6245         Aplied part of patch #157127: Cleanup of issues reported by 
6246         sparse.
6247         Also do not try to use cothreads when there is no cothread
6248         context yet.
6249
6250 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6251
6252         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6253         (gst_opt_scheduler_iterate):
6254         Applied patch #154061. Running a pipeline in which an element 
6255         calls GST_ELEMENT_ERROR in the chain function, the opt 
6256         scheduler doesn't unref the chain so it never gets freed.
6257
6258 2004-11-02  Wim Taymans  <wim@fluendo.com>
6259
6260         * gst/gststructure.c: (gst_structure_get_abbrs),
6261         (gst_structure_from_abbr), (gst_structure_to_abbr):
6262         Remove that ugly if-then thing in the code that converts
6263         between strings and types.
6264
6265 2004-11-02  Wim Taymans  <wim@fluendo.com>
6266
6267         * gst/gstscheduler.c: (gst_scheduler_add_element),
6268         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6269         Aplied clock distribution patch, this should fix bug
6270         #148787.
6271
6272 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6273
6274         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6275
6276         * po/LINGUAS:
6277         * po/nb.po:
6278           Added Norwegian Bokmaal translation
6279
6280 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6281
6282         * tools/gst-inspect.c: (print_signal_info):
6283           print signal arguments as pointers if they are
6284
6285 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6286
6287         * docs/pwg/building-boiler.xml:
6288           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6289
6290 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6291
6292         * gst/parse/parse.l:
6293         * testsuite/parse/parse1.c: (main):
6294         Since parse can do 'element name=a:b' make 'a:b.' work as
6295         well. 
6296         Added testcase to verify fix.
6297
6298 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6299
6300         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6301         Use the realpad when printing the direction.
6302         Add extra \n when printing extensions of typefind factories.
6303
6304 2004-10-13  David Schleef  <ds@schleef.org>
6305
6306         * examples/manual/Makefile.am: $< isn't portable in Makefile
6307         rules.
6308
6309 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6310
6311         * docs/gst/tmpl/gstobject.sgml:
6312         * docs/gst/tmpl/gstplugin.sgml:
6313         * docs/gst/tmpl/gstpluginfeature.sgml:
6314         * docs/gst/tmpl/gstregistry.sgml:
6315         * docs/gst/tmpl/gstversion.sgml:
6316         * gst/gstbin.c:
6317           more api documentation
6318         * gst/gstplugin.c: (gst_plugin_register_func),
6319         (gst_plugin_check_file), (gst_plugin_load_file):
6320           better error signaling and logging
6321
6322 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6323
6324         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6325           Subtract current queue contents from position queries.
6326
6327 2004-10-11  Johan Dahlin  <johan@gnome.org>
6328
6329         * gst/gsturi.c (gst_uri_get_location): unescape string
6330         (gst_uri_construct): escape string.
6331
6332 2004-10-11  Benjamin Otte  <otte@gnome.org>
6333
6334         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6335         (gst_pad_try_set_caps_nonfixed):
6336           allow renegotiation of unconnected pads (as inside spider). Simply
6337           return OK if unconnected - mimic try_set_caps there.
6338
6339 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6340
6341         * gst/gstbin.c: (gst_bin_sync_children_state):
6342           Add missing break.
6343
6344 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6345
6346         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6347         Set element to EOS before sending EOS event
6348
6349 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6350
6351         * gst/elements/gsttypefindelement.c:
6352         (gst_type_find_element_handle_event):
6353         Handle EOS events when doing the transition from
6354         typefind to data passing. This should fix the
6355         infinite loops in short files.
6356
6357 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6358
6359         * gst/gstthread.c: (gst_thread_change_state),
6360         (gst_thread_child_state_change):
6361         Make sure no iteration happens while performing
6362         the state change as it could mess up the internal
6363         consistency of the thread state.
6364
6365 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6366
6367         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6368         (gst_thread_change_state), (gst_thread_child_state_change):
6369         Do not try to grab the iterate lock in the state change method
6370         when we are in the same thread as the iterate or else we
6371         could deadlock. Some other cleanups.
6372
6373 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6374
6375         * configure.ac:
6376           bump nano to cvs
6377
6378 === release 0.8.7 ===
6379
6380 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6381
6382         * configure.ac:
6383         * NEWS:
6384         * RELEASE:
6385         * configure.ac:
6386           releasing 0.8.7, "A Cruise"
6387
6388 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6389
6390         * docs/random/mimetypes:
6391         Add an entry for Sony ATRAC3 audio format with mime-type
6392         used by rmdemux et riff-read
6393
6394 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6395
6396         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6397         Push the buffer store instead of clearing it in case that
6398         the stream is not seekable.
6399
6400 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6401
6402         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6403         (gst_thread_main_loop):
6404         Lock the iteration and the state change so that automatic
6405         negotiation and fixation does not happen at the same time
6406         as the in stream negotiation.
6407
6408 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6409
6410         * configure.ac:
6411           bump nano to cvs
6412
6413 === release 0.8.6 ===
6414
6415 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6416
6417         * configure.ac:
6418         * NEWS:
6419         * RELEASE:
6420         * configure.ac:
6421           releasing 0.8.6, "Narc"
6422
6423 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6424
6425         * configure.ac:
6426           prerel bump
6427
6428 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6429
6430         patch by: Steve Lhomme
6431
6432         * gst/elements/gstfakesrc.c:
6433         * gst/elements/gstidentity.c:
6434         * gst/gstthread.c:
6435           Fix for #153881
6436
6437 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6438
6439         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6440         Fix threadsafety of the crc checking function.
6441
6442 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6443
6444         patch by: Ronald Bultje
6445
6446         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6447         (gst_type_find_element_handle_event),
6448         (gst_type_find_element_chain):
6449         * gst/elements/gsttypefindelement.h:
6450          #153657.
6451          Filter out discont event from seekable sources when typefind
6452          asks them to seek.  Fixes typefind with demuxers for
6453          avi, asf and matroska.
6454
6455 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6456
6457         * docs/gst/gstreamer-sections.txt:
6458         * gst/gstcaps.c:
6459         * gst/gstcaps.h:
6460         * gst/gstpad.c:
6461           Revert preferred caps: (#147789)
6462
6463 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6464
6465         * win32/dirent.c:
6466           fix a memory leak
6467
6468 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6469
6470         * configure.ac:
6471           bump for prerelease
6472
6473 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6474
6475         * docs/Makefile.am:
6476         * docs/manual/elements-api.xml:
6477           restructure so that common stuff is shown first
6478         * docs/manual/init-api.xml:
6479           convert to examples
6480         * docs/manual/manual.xml:
6481         * docs/manuals.mak:
6482         * docs/url.entities:
6483           link to API on the website, possibly override later in build
6484         * examples/manual/.cvsignore:
6485           ignore more
6486         * examples/manual/Makefile.am:
6487           add more examples
6488         * examples/manual/extract.pl:
6489           error out on failure
6490
6491 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6492
6493         * docs/gst/tmpl/gstthread.sgml:
6494         * docs/manual/init-api.xml:
6495         * examples/manual/Makefile.am:
6496           convert two code bits to examples
6497
6498 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6499
6500         * gst/gstelement.c: (gst_element_change_state):
6501           Well, actually, I was about to remove this insane assert when
6502           I noticed Wim already did that. A warning is nice so we can
6503           fix actual ugs (using --g-fatal-warnings and backtraces), so
6504           I added that instead.
6505
6506 2004-09-06  Wim Taymans  <wim@fluendo.com>
6507
6508         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6509         (gst_element_threadsafe_properties_post_run),
6510         (gst_element_set_state), (gst_element_change_state):
6511         Added extra refcounting around various places. 
6512
6513 2004-09-06  Wim Taymans  <wim@fluendo.com>
6514
6515         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6516         Fix debug info.
6517
6518 2004-09-06  Wim Taymans  <wim@fluendo.com>
6519
6520         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6521         (remove_from_group):
6522         Some more debug info.
6523
6524 2004-09-03  Wim Taymans  <wim@fluendo.com>
6525
6526         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6527         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6528         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6529         (gst_fakesrc_get), (gst_fakesrc_change_state):
6530         * gst/elements/gstfakesrc.h:
6531         * gst/elements/gstidentity.c: (gst_identity_class_init),
6532         (gst_identity_init), (gst_identity_chain),
6533         (gst_identity_set_property), (gst_identity_get_property),
6534         (gst_identity_change_state):
6535         * gst/elements/gstidentity.h:
6536         Added datarate properties to limit the datarate.
6537
6538 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6539
6540         * gst/autoplug/gstspider.c: (plugin_init):
6541           don't set a rank. We don't want to autoplug by inserting spiders.
6542
6543 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6544
6545         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6546         (gst_spider_identity_plug):
6547           add a template for spider's sink
6548         * gst/gst.c: (gst_register_core_elements):
6549           queue's rank should be NULL, we don't want spider to add it.
6550
6551 2004-08-18  David Schleef  <ds@schleef.org>
6552
6553         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6554         * docs/libs/Makefile.am: same
6555         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6556         * docs/random/ds/0.9-planning: random additions
6557         * docs/random/ds/0.9-suggested-changes: same
6558         * gst/gstxml.h: remove vestigal GstXMLNs definition
6559
6560         Preferred caps: (#147789)
6561         * docs/gst/gstreamer-sections.txt: Add symbols
6562         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6563         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6564         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6565         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6566         (gst_caps_get_preferred), (gst_caps_set_preferred),
6567         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6568         (gst_caps_use_preferred): Handle caps preferences
6569         * gst/gstcaps.h: Add caps preferences
6570         * gst/gstpad.c: (gst_pad_link_get_preferred),
6571         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6572         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6573         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6574         negotiation.
6575
6576 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6577
6578         * gst/autoplug/gstspideridentity.c:
6579         (gst_spider_identity_request_new_pad):
6580         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6581         (gst_aggregator_init):
6582         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6583         (gst_fakesink_init):
6584         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6585         (gst_fakesrc_init):
6586         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6587         (gst_fdsink_init):
6588         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6589         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6590         (gst_filesink_init):
6591         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6592         (gst_filesrc_init):
6593         * gst/elements/gstidentity.c: (gst_identity_base_init),
6594         (gst_identity_init):
6595         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6596         (gst_multifilesrc_init):
6597         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6598         (gst_pipefilter_init):
6599         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6600         (gst_statistics_init):
6601         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6602         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6603           s/gst_pad_new/&_from_template/
6604           register pad templates in the base_init function
6605           add static pad template definitions
6606
6607 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6608
6609         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6610         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6611         * testsuite/refcounting/pad.c: (main):
6612         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6613           s/gst_pad_new/&_from_template/
6614           prepare deprecation of gst_pad_new
6615
6616 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6617
6618         patch by: Luca Ognibene <skaboy81@virgilio.it>
6619
6620         * gst/gstcaps.c:
6621         * gst/gstelement.c:
6622         * gst/gstpad.c:
6623         * gst/gstxml.c:
6624           fix memleaks.  Fixes #150001
6625
6626 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6627
6628         * docs/random/ds/0.9-suggested-changes:
6629           add notes - mostly about pad templates
6630
6631 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6632
6633         * win32/GStreamer.vcproj:
6634           temporary locale files are .gmo not .mo
6635
6636 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6637
6638         * configure.ac: bump nano to cvs
6639
6640 === release 0.8.5 ===
6641
6642 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6643
6644         * configure.ac:
6645           releasing 0.8.5, "Stuttgart"
6646         * NEWS:
6647         * RELEASE:
6648         * configure.ac:
6649         * docs/random/release:
6650           updates for release
6651
6652 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6653
6654         patch by: Wim Taymans (wim@fluendo.com)
6655
6656         * gst/gstbuffer.c:
6657         * gst/gstindex.h:
6658         * libs/gst/dataprotocol/dataprotocol.c:
6659           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6660
6661 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6662
6663         * Makefile.am:
6664         * win32/MANIFEST:
6665           add win32 dir to the build.  Fixes #149981.
6666
6667 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6668
6669         * configure.ac:
6670           bump libtool versioning
6671         * gst/gststructure.c:
6672           mark function as static
6673         * po/af.po:
6674         * po/az.po:
6675         * po/ca.po:
6676         * po/cs.po:
6677         * po/en_GB.po:
6678         * po/fr.po:
6679         * po/nl.po:
6680         * po/sq.po:
6681         * po/sr.po:
6682         * po/sv.po:
6683         * po/tr.po:
6684         * po/uk.po:
6685           translations update
6686         * win32/README.txt:
6687           trademark protection
6688
6689 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6690
6691         * configure.ac:
6692           fix GST_ORIGIN
6693           set GST_PACKAGE to source, and distinguish between release and other
6694         * tools/gst-inspect.c:
6695           print out plugin an element factory is part of so we see this info
6696
6697 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6698
6699         * docs/gst/gstreamer-sections.txt:
6700         * docs/gst/tmpl/gstbuffer.sgml:
6701         * docs/gst/tmpl/gstschedulerfactory.sgml:
6702           reorder docs a little, make GstBuffer's more sensible.
6703         * gst/gstbuffer.h:
6704           API: added GST_BUFFER_FLAG_DELTA_UNIT
6705         * gst/gstscheduler.c:
6706           comment API addition
6707
6708 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6709
6710         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6711           work with non-regular files that can be mmapped (like /dev/zero)
6712         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6713           get rid of typefinds that require a seek when we can't seek instead
6714           of trying them over and over again
6715         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6716           return non-zero failure value when the pipeline was interrupted or
6717           an error occurred
6718
6719 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6720
6721         * win32/config.h:
6722         * win32/GStreamer.vcproj:
6723           compile and install the locales
6724
6725 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6726
6727         * gst/gstvalue.c:
6728           fix a possible memory leak under Windows
6729
6730 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6731
6732         * win32/GStreamer.vcproj:
6733           fix a memory leak that occured under Windows
6734         * win32/gstreamer.def:
6735           add gst_scheduler_register
6736
6737 2004-08-11  Benjamin Otte  <otte@gnome.org>
6738
6739         * docs/gst/gstreamer-sections.txt:
6740         * gst/gstscheduler.c: (gst_scheduler_register):
6741         * gst/gstscheduler.h:
6742           API:
6743           add gst_scheduler_register shortcut similar to gst_element_register
6744         * gst/schedulers/entryscheduler.c: (plugin_init):
6745         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6746         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6747           use it
6748
6749 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6750
6751         * gst/gstvalue.h:
6752           fix a memory leak that occured under Windows
6753
6754 2004-08-10  Colin Walters  <walters@redhat.com>
6755
6756         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6757         Don't use O_EXCL to open temporary registry.  It will prevent
6758         registry creation if a temporary one already exists, which
6759         is unnecessary.
6760
6761 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6762
6763         * docs/gst/gstreamer-sections.txt:
6764         * docs/gst/tmpl/gstvalue.sgml:
6765           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6766
6767 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6768
6769         * win32/gstbytestream.vcproj:
6770         * win32/gstelements.vcproj:
6771         * win32/gstgetbits.vcproj:
6772         * win32/gst-inspect.vcproj:
6773         * win32/gst-launch.vcproj:
6774         * win32/gstoptimalscheduler.vcproj:
6775         * win32/GStreamer.vcproj:
6776         * win32/gst-register.vcproj:
6777         * win32/gstspider.vcproj:
6778           update the include and lib dirs to fit standard libraries as
6779           described in the Win32 manual
6780
6781 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6782
6783         * win32/config.h:
6784         * win32/gstversion.h:
6785           enable NLS again, push the version number for the coming 0.8.5 release
6786
6787 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6788
6789         * gst/gstvalue.h:
6790           export gst_type_XXX for windows DLLs
6791
6792 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6793
6794         * docs/faq/gst-uninstalled:
6795           fix PKG_CONFIG_PATH and PYTHONPATH
6796         * gst/schedulers/Makefile.am:
6797           cleanup
6798         * libs/gst/bytestream/bytestream.c:
6799           remove newline
6800         * po/LINGUAS:
6801         * po/sq.po:
6802           adding Albanian translation (Laurent Dhima)
6803         * po/cs.po:
6804           updated
6805
6806 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6807
6808         * po/ca.po:
6809         * po/sv.po:
6810           updated translations
6811
6812 2004-08-04  Benjamin Otte  <otte@gnome.org>
6813
6814         * tests/mass_elements.c: (main):
6815           allow specifying src and sink element explicitly, so I can test
6816           videotestsrc instead of fakesrc
6817
6818 2004-08-04  Benjamin Otte  <otte@gnome.org>
6819
6820         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6821         (gst_structure_id_empty_new), (gst_structure_empty_new),
6822         (gst_structure_copy):
6823           add gst_structure_id_empty_new_with_size to allow preallocating
6824           value array sizes. Use this in gst_structure_copy to get rid of
6825           reallocs.
6826           don't do quark=>string=>quark when copying structures
6827
6828 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6829
6830         * docs/manual/win32.xml:
6831         * win32/README.txt:
6832           update documentation with the clean version of dependencies
6833
6834 2004-08-03  Benjamin Otte  <otte@gnome.org>
6835
6836         * gst/schedulers/entryscheduler.c:
6837         (gst_entry_scheduler_remove_element):
6838           fix for GST_DISABLE_DEBUG
6839         * tools/gst-launch.c: (print_tag):
6840           fixes for G_DISABLE_ASSERT
6841
6842 2004-08-03  Benjamin Otte  <otte@gnome.org>
6843
6844         * gst/gst.c: (gst_register_core_elements):
6845           fix for G_DISABLE_ASSERT
6846         * gst/gstinfo.c: (__gst_in_valgrind):
6847           add for GST_DISABLE_DEBUG
6848
6849 2004-08-03  Benjamin Otte  <otte@gnome.org>
6850
6851         * gst/parse/parse.l:
6852           fix for G_DISABLE_ASSERT
6853
6854 2004-08-03  Wim Taymans  <wim@fluendo.com>
6855
6856         * gst/gstbin.c: (gst_bin_get_type),
6857         (gst_bin_child_state_change_func):
6858         * gst/gstthread.c: (gst_thread_change_state):
6859         Backported some debug logging from a reverted patch
6860         Don't try to destroy the thread twice. Added some more
6861         debugging in GstThread. Unlock and signal even if we
6862         are in the thread context.
6863
6864 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6865
6866         * po/uk.po:
6867           updated translation
6868
6869 2004-07-30  David Schleef  <ds@schleef.org>
6870
6871         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6872
6873 2004-07-29  David Schleef  <ds@schleef.org>
6874
6875         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6876         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6877
6878 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6879
6880         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6881         (gst_bin_add_func), (gst_bin_remove_func),
6882         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6883         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6884         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6885         (gst_bin_sync_children_state):
6886         * gst/gstbin.h:
6887         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6888         (gst_thread_change_state):
6889         * testsuite/states/Makefile.am:
6890           revert state change patches as agreed so we can rework them
6891           gradually
6892
6893 2004-07-29  Benjamin Otte  <otte@gnome.org>
6894
6895         * libs/gst/control/Makefile.am:
6896           link to libgstreamer (fixes Debian bug 262019, see
6897           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6898
6899 2004-07-29  Wim Taymans  <wim@fluendo.com>
6900
6901         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6902         (check_from_fraction_convert), (transform_test), (main):
6903         Make the test less pedantic about float roundoff errors.
6904
6905 2004-07-29  Benjamin Otte  <otte@gnome.org>
6906
6907         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6908         (gst_filesrc_srcpad_event):
6909           make seek events to before start/after end of file not fail, but
6910           seek to start/end instead
6911         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6912           add more output
6913
6914 2004-07-29  Benjamin Otte  <otte@gnome.org>
6915
6916         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6917           check that caps are fixed
6918         * gst/gstpad.c: (gst_pad_template_new):
6919           don't try to simplify caps, costs too much time on gst_init
6920         * gst/gstplugin.c: (gst_plugin_add_feature):
6921           G_ERROR if features are added twice
6922         * gst/gsttypefind.c: (gst_type_find_register):
6923         * gst/gstelementfactory.c: (gst_element_register):
6924           don't add features twice
6925         * docs/random/ds/0.9-suggested-changes:
6926           add note about possible gst_init optimization
6927
6928 2004-07-28  David Schleef  <ds@schleef.org>
6929
6930         * testsuite/elements/Makefile.am:
6931         * testsuite/elements/struct_i386.h:
6932         * testsuite/elements/struct_size.c: (main):  A little test
6933         to keep distcheck from working if someone changes a structure
6934         size accidentally.
6935
6936 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6937
6938         * docs/libs/Makefile.am:
6939         * docs/libs/gstreamer-libs-docs.sgml:
6940         * docs/libs/gstreamer-libs-sections.txt:
6941         * docs/libs/tmpl/gstbytestream.sgml:
6942         * docs/libs/tmpl/gstcontrol.sgml:
6943         * docs/libs/tmpl/gstdataprotocol.sgml:
6944         * docs/libs/tmpl/gstgetbits.sgml:
6945         * libs/gst/bytestream/Makefile.am:
6946         * libs/gst/bytestream/bytestream.c:
6947         * libs/gst/bytestream/bytestream.h:
6948         * libs/gst/control/Makefile.am:
6949         * libs/gst/dataprotocol/Makefile.am:
6950         * libs/gst/getbits/Makefile.am:
6951         * libs/gst/getbits/getbits.h:
6952           various doc and style fixes, adding bytestream to libs docs.
6953
6954 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6955
6956         * docs/gst/gstreamer-docs.sgml:
6957         * docs/libs/Makefile.am:
6958         * docs/libs/gstreamer-libs-docs.sgml:
6959         * docs/libs/gstreamer-libs-sections.txt:
6960         * libs/gst/control/dparam.c:
6961           more doc fixes.  gst-libs docs now build the same way as gst.
6962
6963 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6964
6965         * configure.ac:
6966         * testsuite/Makefile.am:
6967         * testsuite/bins/Makefile.am:
6968         * testsuite/caps/Makefile.am:
6969         * testsuite/cleanup/Makefile.am:
6970         * testsuite/clock/Makefile.am:
6971         * testsuite/debug/Makefile.am:
6972         * testsuite/dlopen/Makefile.am:
6973         * testsuite/dynparams/Makefile.am:
6974         * testsuite/elements/.cvsignore:
6975         * testsuite/elements/Makefile.am:
6976         * testsuite/enumcaps/Makefile.am:
6977         * testsuite/enumcaps/enumcaps.c:
6978         * testsuite/ghostpads/Makefile.am:
6979         * testsuite/indexers/Makefile.am:
6980         * testsuite/negotiation/Makefile.am:
6981         * testsuite/parse/Makefile.am:
6982         * testsuite/plugin/Makefile.am:
6983         * testsuite/refcounting/Makefile.am:
6984         * testsuite/schedulers/.cvsignore:
6985         * testsuite/states/Makefile.am:
6986         * testsuite/tags/Makefile.am:
6987         * testsuite/threads/Makefile.am:
6988           fold enumcaps into caps dir
6989           clean up Makefile.am's for testsuite
6990
6991 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6992
6993         * docs/gst/Makefile.am:
6994         * docs/libs/Makefile.am:
6995           clean up docs build.  Fixes needless rebuilding of template files.
6996
6997 2004-07-28  Wim Taymans  <wim@fluendo.com>
6998
6999         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7000         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7001         Make sure that a bin state change tries to keep the children
7002         in sync. 
7003         Added debug logging to the thread.
7004
7005 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7006
7007         * win32/GStreamer.vcproj:
7008         * win32/gstreamer.def:
7009           more exports for the plugins
7010
7011 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7012
7013         * win32/gstgetbits.vcproj:
7014         * win32/gstgetbits.def:
7015         * win32/msvc71.sln:
7016           add support for the getbits plugin
7017
7018 2004-07-27  Wim Taymans  <wim@fluendo.com>
7019
7020         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7021         (gst_value_transform_fraction_double), (_gst_value_initialize):
7022         * testsuite/caps/Makefile.am:
7023         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7024         (check_from_fraction_convert), (transform_test), (main):
7025         Added transform functions between double and fraction.
7026         Added testcase to verify transforms
7027
7028 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7029
7030         * win32/GStreamer.vcproj:
7031           rename GStreamer-0.8.lib to libgstreamer.lib
7032
7033 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7034
7035         * win32/gstelements.vcproj:
7036         * win32/gstoptimalscheduler.vcproj:
7037           fixes for the Release build
7038
7039 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7040
7041         * win32/config.h:
7042           update the version number
7043
7044 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7045
7046         * win32/GStreamer.vcproj:
7047           add gstinterface to the build
7048
7049 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7050
7051         * win32/gstreamer.def:
7052           add many definitions needed by plugins,
7053           GST_CAT_DEFAULT only available in the Debug build ?
7054
7055 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7056
7057         * gst/gstelement.c: (gst_element_set_eos_recursive):
7058           various whitespace fixes.
7059           doc fix, fixes #148497
7060
7061 2004-07-25  Benjamin Otte  <otte@gnome.org>
7062
7063         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7064           don't delay links on the sink elements, it causes unnegotiated
7065           links.
7066         * gst/elements/gsttypefindelement.c:
7067         (gst_type_find_element_base_init):
7068           add our padtemplates, we indeed do have some.
7069         * gst/elements/gsttypefindelement.c:
7070         (gst_type_find_element_handle_event),
7071         (gst_type_find_element_chain):
7072           don't push data when typefinding failed.
7073         * gst/gstpad.c: (gst_pad_link_fixate):
7074           check that no fixate function returns empty caps.
7075         * gst/gstpad.c: (gst_pad_push):
7076           check that the link is negotiated before data gets pushed.
7077         * tools/gst-register.c: (main):
7078           don't assert (fixes #148283)
7079
7080 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7081
7082         * docs/gst/gstreamer-sections.txt:
7083         * docs/gst/tmpl/gstconfig.sgml:
7084           add GST_PLUGIN_EXPORT definition
7085
7086 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7087
7088         * gst/gstplugin.h:
7089         * gst/gstconfig.h.in:
7090         * win32/gstconfig.h:
7091         * win32/gstelements.def:
7092         * win32/gstelements.vcproj:
7093         * win32/gstoptimalscheduler.def:
7094         * win32/gstoptimalscheduler.vcproj:
7095         * win32/gstspider.def:
7096         * win32/gstspider.vcproj:
7097           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7098
7099 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7100
7101         * docs/gst/gstreamer-sections.txt:
7102           remove GST_CAT_DEFAULT because the type has changed
7103
7104 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7105
7106         * win32/gstbytestream.vcproj:
7107         * win32/gstelements.vcproj:
7108         * win32/gst-inspect.vcproj:
7109         * win32/gst-launch.vcproj:
7110         * win32/gstoptimalscheduler.vcproj:
7111         * win32/GStreamer.vcproj:
7112         * win32/gst-register.vcproj:
7113         * win32/gstspider.vcproj:
7114         * win32/msvc71.sln:
7115           Copy the files where needed after building, The testsuite will be
7116           built separately
7117
7118 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7119
7120         * win32/config.h:
7121         * win32/README.txt:
7122         * docs/manual/win32.xml:
7123         Fixed the plugin and GStreamer location
7124
7125 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7126
7127         * win32/gstreamer.def:
7128         More exports for the plugins
7129
7130 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7131
7132         * gst/gstinfo.h:
7133         Marc was right, we need to export literally GST_CAT_DEFAULT
7134
7135 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7136
7137         * win32/config.h:
7138         NLS crashes in gettext, disabled until this is solved
7139
7140 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7141
7142         * win32/gst-inspect.vcproj:
7143         * win32/gst-launch.vcproj:
7144         Should use NLS when available
7145
7146 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7147
7148         * gst/registries/gstxmlregistry.c:
7149         removing the file doesn't seem to be a good idea on Linux
7150
7151 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7152
7153         * gst/registries/gstxmlregistry.c:
7154         Remove the registry before renaming the tempfile (needed for Windows)
7155
7156 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7157
7158         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7159         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7160         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7161         * gst/elements/gstmultifilesrc.h:
7162         Added newmedia property so it generates newmedia events between each
7163         file when property is set, as well as fixed eos handling
7164
7165 2004-07-22  David Schleef  <ds@schleef.org>
7166
7167         * gst/gststructure.c: (gst_structure_id_empty_new),
7168         (gst_structure_empty_new):  Set type field correctly.
7169         * gst/gststructure.h: Check type field correctly.
7170         * testsuite/caps/Makefile.am:
7171         * testsuite/caps/structure.c: (test1), (main): Add a very small
7172         test for structures.
7173
7174 2004-07-22  David Schleef  <ds@schleef.org>
7175
7176         * docs/random/ds/0.9-suggested-changes: more comments
7177         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7178
7179 2004-07-22  Benjamin Otte  <otte@gnome.org>
7180
7181         * gst/gstelementfactory.c: (gst_element_register):
7182           set the factory in the class struct, so gst_element_get_factory
7183           actually works
7184         * gst/parse/grammar.y:
7185           set element to playing when it gets unlocked as we can't rely on the
7186           bin state - all elements in the bin state might still be locked in
7187           NULL)
7188
7189 2004-07-22  Benjamin Otte  <otte@gnome.org>
7190
7191         * gst/gstelement.c: (gst_element_set_state_func):
7192           make this a static function
7193
7194 2004-07-22  Wim Taymans  <wim@fluendo.com>
7195
7196         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7197         (gst_opt_scheduler_pad_link):
7198         fix 147894-2 and the group_link problem.
7199
7200 2004-07-22  Wim Taymans  <wim@fluendo.com>
7201
7202         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7203         (handoff_identity), (main):
7204         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7205         (handoff_identity), (main):
7206         * testsuite/schedulers/Makefile.am:
7207         * testsuite/schedulers/group_link.c: (main):
7208         Show bug in scheduler when linking chain and loop based element 
7209         where the chain based element was not yet in a group.
7210
7211 2004-07-21  Benjamin Otte  <otte@gnome.org>
7212
7213         * gst/.cvsignore:
7214         * gst/autoplug/.cvsignore:
7215         * gst/elements/.cvsignore:
7216         * gst/indexers/.cvsignore:
7217         * libs/gst/bytestream/.cvsignore:
7218         * libs/gst/control/.cvsignore:
7219         * libs/gst/getbits/.cvsignore:
7220         * testsuite/states/.cvsignore:
7221         * testsuite/threads/.cvsignore:
7222           keep this up to date, since I seem to be the only one who cares
7223           about not missing files on commits (editor's note: no you don't,
7224           but feel free to change them at the time you add stuff instead
7225           of later on)
7226
7227 2004-07-21  Benjamin Otte  <otte@gnome.org>
7228
7229         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7230         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7231         (gst_bin_child_state_change_func), (set_kid_state_func),
7232         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7233           make state changes work correctly and reentrant (so removing
7234           elements from bins during state changes of bins doesn't cause
7235           segfaults or even wrong states)
7236           add debugging category and debugging output to print children states
7237         * gst/gstbin.c: (gst_bin_dispose): 
7238           add some assertion checks
7239         * gst/gstbin.h:
7240         * gst/gstbin.c: (gst_bin_sync_children_state):
7241           deprecate this function - it just does gst_bin_set_state (bin,
7242           GST_STATE (bin)) 
7243         * testsuite/threads/queue.c: (main):
7244           don't use gst_bin_sync_children_state anymore
7245         * testsuite/states/Makefile.am:
7246         * testsuite/states/bin.c:
7247           test that the state changes of bins work as expected
7248         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7249           some adjustments to change states correctly, too
7250         * gst/gstthread.c: (gst_thread_change_state):
7251           don't enable/disable "threadsafe" properties, they're unused and
7252           cause random segfaults
7253         * testsuite/threads/Makefile.am:
7254           the queue check randomly passes now, ignore it
7255
7256 2004-07-21  Benjamin Otte  <otte@gnome.org>
7257
7258         * gst/gstpad.c:
7259           check if data is NULL before outputting debug info. (fixes #145100)
7260
7261 2004-07-21  Benjamin Otte  <otte@gnome.org>
7262
7263         * gst/schedulers/entryscheduler.c:
7264         (gst_entry_scheduler_loop_wrapper),
7265         (gst_entry_scheduler_chain_wrapper),
7266         (gst_entry_scheduler_get_wrapper):
7267           reset the state when the cothread starts, so we don't get assertion
7268           failures on restarting of cothreads
7269
7270 2004-07-20  Benjamin Otte  <otte@gnome.org>
7271
7272         * gst/gstelement.c: (gst_element_link_pads_filtered):
7273           use correct sinkpad, if only sinkpad is specified, but not srcpad
7274           (fixes #147889)
7275         * gst/gstelement.c: (gst_element_set_state_func),
7276         (gst_element_change_state): ref/unref the element, signal handlers
7277         could get rid of the element otherwise
7278
7279 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7280
7281         * docs/random/ds/0.9-suggested-changes:
7282           Make note about renaming fixed-list to array.
7283         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7284         (_gst_value_initialize):
7285           Add array intersections.
7286         * testsuite/caps/intersect2.c: (main):
7287           Add test for array intersections.
7288
7289 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7290
7291         * configure.ac: back to cvs
7292
7293 === release 0.8.4 ===
7294
7295 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7296
7297         * configure.ac:
7298           releasing 0.8.4, "Paella"
7299           bump libtool versioning
7300
7301 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7302
7303         * po/LINGUAS:
7304         * po/ca.po:
7305           adding Catalan translation (Jordi Mallach)
7306
7307 2004-07-20  Wim Taymans  <wim@fluendo.com>
7308
7309         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7310         (handoff_identity), (main):
7311         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7312         (handoff_identity), (main):
7313         * testsuite/schedulers/Makefile.am:
7314         Added failing testcase for variant of #147894
7315
7316 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7317
7318         patch by: David Moore
7319
7320         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7321         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7322         (group_migrate_connected):
7323         * testsuite/schedulers/Makefile.am:
7324           fix for #142813 (Deadlock in optimal scheduler)
7325
7326 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7327
7328         patch by: Wim Taymans
7329
7330         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7331         (gst_opt_scheduler_schedule_run_queue),
7332         (gst_opt_scheduler_get_wrapper), (get_group),
7333         (group_migrate_connected):
7334         * testsuite/schedulers/Makefile.am:
7335           fix for #147819 (Add some checks in the opt scheduler)
7336
7337 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7338
7339         patch by: Benjamin Otte
7340
7341         * gst/gstelementfactory.c: (__gst_element_details_set):
7342           fix for #147929: running gst-register in non-utf8 locale can cause
7343           invalid registry
7344
7345 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7346
7347         patch by: Wim Taymans
7348
7349         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7350         (group_has_element), (element_get_reachables_func),
7351         (group_migrate_connected):
7352           fix for #147894 (opt scheduler decoupled elements mismanagement)
7353         * testsuite/schedulers/Makefile.am:
7354           testsuite app now passes
7355
7356 2004-07-19  Wim Taymans  <wim@fluendo.com>
7357
7358         * testsuite/schedulers/147819.c: (handoff_identity1),
7359         (handoff_identity2), (main):
7360         * testsuite/schedulers/Makefile.am:
7361         Added testcase for bug 147819
7362
7363 2004-07-19  Wim Taymans  <wim@fluendo.com>
7364
7365         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7366         (handoff_identity), (main):
7367         * testsuite/schedulers/Makefile.am:
7368         Added testcase for bug 147894
7369
7370 2004-07-16  Wim Taymans  <wim@fluendo.com>
7371
7372         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7373         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7374         * testsuite/schedulers/Makefile.am:
7375         Added testsuite for bug 142183 in its two incarnations. Refcount
7376         is not increased for scheduled elements and threadsafe properties
7377         mutexes are not properly unlocked.
7378
7379 2004-07-16  Wim Taymans  <wim@fluendo.com>
7380
7381         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7382         (create_chain), (destroy_chain), (create_group), (destroy_group),
7383         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7384         (group_dec_link), (gst_opt_scheduler_pad_link),
7385         (group_inc_links_for_element), (group_migrate_connected):
7386         Call group_inc_link with the proper src->sink ordering -- 
7387         break this, and we break sort_chain. patch from wingo for bug
7388         147713.
7389         Partially revert patch 1.89. When adding a loop based element to 
7390         the scheduler, the links to other groups are automatically followed
7391         and incremented. This should not happen because the bin will call
7392         pad_link explicitly for those connection, resulting in them counted 
7393         twice. Results in assertion failure on pipeline cleanup.
7394
7395 2004-07-16  Wim Taymans  <wim@fluendo.com>
7396
7397         * testsuite/schedulers/143777-2.c: (main):
7398         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7399         (main):
7400         * testsuite/schedulers/Makefile.am:
7401         Added cleanup code to testcase 143777-2.
7402         Added testcase to show bug 147713, does not really show the
7403         deadlock as I can't figure out how to trigger it, but it does
7404         demonstrate bad ordering in the scheduler.
7405
7406 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7407
7408         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7409           change strndup to g_strndup.  Fixes #147707
7410
7411 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7412
7413         * po/af.po:
7414         * po/az.po:
7415         * po/cs.po:
7416         * po/en_GB.po:
7417         * po/fr.po:
7418         * po/nl.po:
7419         * po/sr.po:
7420         * po/sv.po:
7421         * po/tr.po:
7422         * po/uk.po:
7423           updated translations
7424
7425 2004-07-16  Benjamin Otte  <otte@gnome.org>
7426
7427         * gst/gstvalue.c: (gst_greatest_common_divisor):
7428           use ints and return ints, fractions only use ints, too, so this
7429           avoids accidently casting multiplications to unsigned
7430         (gst_value_lcopy_fraction): it's ints, not uint32
7431         (gst_value_set_fraction): disallow minint, multiplying and negation
7432           are broken with it
7433         (gst_value_fraction_multiply): fix to make large numbers work and get
7434         rid of the assumption that the multiplication of two ints fits an
7435         int64 - dunno if that's true for all systems
7436         * testsuite/caps/Makefile.am:
7437         * testsuite/caps/fraction-multiply-and-zero.c:
7438         (check_multiplication), (check_equal), (zero_test), (main):
7439           add tests for all the stuff above
7440         * testsuite/caps/value_compare.c: (test1):
7441           fix comment
7442         * tests/.cvsignore:
7443         * testsuite/caps/.cvsignore:
7444         * testsuite/debug/.cvsignore:
7445         * testsuite/dlopen/.cvsignore:
7446         * testsuite/states/.cvsignore:
7447           get up to date
7448
7449 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7450
7451         * docs/manual/bins-api.xml:
7452         * docs/manual/factories.xml:
7453         * docs/manual/helloworld.xml:
7454         * docs/manual/links-api.xml: 
7455           fixes for out of date info, incorrect info and grammar
7456
7457 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7458
7459         * docs/manual/pads.xml:
7460         * docs/manual/pads-api.xml: grammar fix
7461
7462 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7463
7464         * docs/manual/pads-api.xml: typo + grammar fix
7465
7466 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7467
7468         * docs/gst/gstreamer-sections.txt:
7469           add new symbols
7470         * docs/gst/tmpl/gstelement.sgml:
7471         * docs/gst/tmpl/gstpad.sgml:
7472         * docs/gst/tmpl/gsttypes.sgml:
7473         * docs/gst/tmpl/gstvalue.sgml:
7474           update docs
7475         * gst/gststructure.c: (gst_structure_set_valist),
7476         (gst_structure_from_abbr), (gst_structure_to_abbr):
7477         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7478         (gst_greatest_common_divisor), (gst_value_init_fraction),
7479         (gst_value_copy_fraction), (gst_value_collect_fraction),
7480         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7481         (gst_value_get_fraction_numerator),
7482         (gst_value_get_fraction_denominator),
7483         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7484         (gst_value_deserialize_fraction),
7485         (gst_value_transform_fraction_string),
7486         (gst_value_transform_string_fraction),
7487         (gst_value_compare_fraction), (_gst_value_initialize):
7488         * gst/gstvalue.h:
7489           adding GstFraction GValue type, get/set, and multiply
7490         * testsuite/caps/Makefile.am:
7491         * testsuite/caps/fraction.c: (test), (main):
7492         * testsuite/caps/string-conversions.c: (main):
7493         * testsuite/caps/value_compare.c: (test1), (main):
7494           add regression tests for GstFraction
7495
7496 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7497         
7498         * docs/manual/init-api.xml: Grammar fix
7499
7500 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7501
7502         * docs/manual/states.xml: Fix inconsistent information
7503
7504 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7505
7506         * gst/gstelement.c: (gst_element_set_state):
7507         * gst/gstpad.c: (gst_pad_try_set_caps):
7508         * gst/gststructure.c:
7509         * gst/gstthread.c: (gst_thread_child_state_change):
7510         * gst/gstvalue.c: (gst_value_compare_double):
7511         * gst/gstvalue.h:
7512         * testsuite/parse/parse1.c: (main):
7513           debugging additions and style cleanups
7514
7515 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7516
7517         * docs/manual/states.xml: Grammar fix
7518
7519 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7520
7521         * docs/manual/pads.xml: Grammar fix
7522
7523 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7524
7525         * docs/manual/elements.xml: Fixed image reference
7526
7527 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7528
7529         * docs/manual/goals.xml: Grammar fix
7530
7531 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7532
7533         * docs/manual/motivation.xml:
7534         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7535
7536 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7537
7538         * docs/manual/motivation.xml: Fix spelling
7539
7540 2004-07-15  Benjamin Otte  <otte@gnome.org>
7541
7542         * gst/gstelement.h: 
7543           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7544           strings.
7545         * gst/gstelement.c (gst_element_class_init):
7546           GError's are boxed, not objects
7547         * gst/gstmarshal.list:
7548           update list for the fixed error signal
7549
7550 2004-07-14  Andy Wingo  <wingo@pobox.com>
7551
7552         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7553         there all along, but the function wasn't. (guile-gstreamer's build
7554         system uses the address of the function -- I wasn't actually
7555         trying to use this.)
7556
7557 2004-07-14  Andy Wingo  <wingo@pobox.com>
7558
7559         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7560         as gst_pad_proxy_pad_link) just link to every other pad when they
7561         are called. In the case where the graph has cycles, this will mean
7562         that a call to try_set_caps will recurse. Allow this recursion
7563         and return OK, while we wait for the first try_set_caps to give a
7564         proper return value.
7565         (gst_pad_link_call_link_functions): Since this function is the
7566         only one to set the NEGOTIATING flag on a pad, if the flag is set
7567         it means that the link functions have indirectly recursed. If this
7568         happens, error out to avoid infinite recursion and an eventual
7569         SEGV.
7570         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7571         (gst_pad_proxy_getcaps): Intersect the result with the template
7572         caps to ensure that the return value is valid.
7573
7574 2004-07-14  Andy Wingo  <wingo@pobox.com>
7575
7576         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7577         one refcount, the calling function is the owner of the buffer.
7578
7579 2004-07-14  Wim Taymans  <wim@fluendo.com>
7580
7581         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7582         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7583         Fix stupid warning when an element is to be migrated but
7584         is already migrated.
7585
7586 2004-07-14  Wim Taymans  <wim@fluendo.com>
7587
7588         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7589         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7590         Make sure that a single non-loop-based element does not 
7591         end up in a group. This fixes the testsuite again.
7592
7593 2004-07-14  Wim Taymans  <wim@fluendo.com>
7594
7595         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7596         (add_to_group), (merge_groups), (schedule_group),
7597         (gst_opt_scheduler_get_wrapper), (group_elements),
7598         (group_dec_link), (gst_opt_scheduler_pad_link),
7599         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7600         (gst_opt_scheduler_iterate):
7601         move isolated groups to a new chain.
7602         Emit a warning instead of segfaulting in some error cases.
7603         Fix a bug where the link count between groups was not calculated 
7604         correctly. Fixes #144510.
7605
7606 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7607         * gst/elements/gstfilesrc.c:
7608           Binary files support under Windows now OK
7609       
7610 2004-07-13  Benjamin Otte  <otte@gnome.org>
7611
7612           compatibility fixes for Solaris 8/gcc 2.95
7613         * configure.ac:
7614           include libintl libs in LDFLAGS
7615         * gstvalue.c (gst_value_deserialize_buffer):
7616           cast isxdigit stuff to int to silence compiler warning
7617
7618 2004-07-12  Benjamin Otte  <otte@gnome.org>
7619
7620         * gst/gsttypes.h:
7621           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7622           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7623           just causes support madness
7624         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7625           make it work without this
7626         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7627         (gst_file_index_commit):
7628           glib IO channels don't want binary mode
7629         * testsuite/bytestream/filepadsink.c: (main):
7630         * testsuite/bytestream/test1.c: (read_param_file):
7631           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7632
7633 2004-07-12  Benjamin Otte  <otte@gnome.org>
7634
7635         * gst/gstelement.c: (gst_element_class_init),
7636         (gst_element_set_state), (gst_element_set_state_func):
7637           virutalize gst_element_set_state, use set_state member in class
7638           struct that was already added in 0.7 for this.
7639         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7640         (gst_bin_change_state):
7641           make gst_bin_foreach works similar to other foreach functions, plug
7642           memleaks in it. Make functions using it work with the new approach.
7643           Document gst_bin_foreach, so it can be exported if we want to
7644         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7645           use virtualized set_state to make set_state on bins set the state of
7646           all its children.
7647
7648 2004-07-12  Benjamin Otte  <otte@gnome.org>
7649
7650         * configure.ac:
7651           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7652           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7653         * gst/gstpad.c: (gst_pad_alloc_buffer):
7654           allow buffer_alloc functions to return NULL and allocate a normal
7655           buffer in that case
7656
7657 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7658         * gst/elements/gstfilesink.c:
7659         * gst/elements/gstfilesrc.c:
7660         * gst/indexers/gstfileindex.c:
7661         * gst/gsttypes.h:
7662         * testsuite/bytestream/filepadsink.c:
7663         * testsuite/bytestream/test1.c:
7664           Handle binary files under Windows
7665
7666 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7667         * docs/manual/win32.xml:
7668         * win32/config.h:
7669         * win32/gst-register.vcproj:
7670         * win32/gstreamer.def:
7671           Update to another gettext public build
7672
7673 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7674         * gst/gstplugin.c:
7675           Fix an impossible C syntax
7676         * win32/config.h:
7677           Disable i18n under Windows for the moment
7678         * win32/gst-register.vcproj:
7679           Use this configuration
7680
7681 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7682         * docs/manual/quotes.xml:
7683           Keep the quotes file alive
7684         * docs/random/ds/0.9-suggested-changes:
7685           Add the suggestion of including a 'rowstride' as part of video
7686           format caps
7687
7688 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7689
7690         * gst/gstelement.c: (gst_element_set_state),
7691         (gst_element_change_state):
7692           d'oh.  Set PENDING state correctly before forcing bin to change.
7693         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7694         (gst_structure_parse_fixed_list):
7695         * gst/schedulers/gstoptimalscheduler.c:
7696         (gst_opt_scheduler_state_transition):
7697         * testsuite/states/parent.c: (main):
7698           remove comment now that it's fixed.
7699
7700 2004-07-11  Benjamin Otte  <otte@gnome.org>
7701
7702         * gst/gstclock.h:
7703           GST_SECOND shouldn't cause a conversion to unsigned.
7704         * testsuite/clock/.cvsignore:
7705         * testsuite/clock/Makefile.am:
7706         * testsuite/clock/signedness.c: (main):
7707           make sure it never will again
7708
7709 2004-07-11  Andy Wingo  <wingo@pobox.com>
7710
7711         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7712         whose state is higher than the bin state, raise the bin state to
7713         ensure that bin state := highest child state.
7714         
7715 2004-07-11  Andy Wingo  <wingo@pobox.com>
7716
7717         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7718         procedure on the children of a bin. Assumes that the procedure can
7719         change the set of children.
7720         (set_kid_state_func): New static function.
7721         (gst_bin_change_state): Use gst_bin_foreach to call
7722         set_kid_state_func. Fixes a bug: if a child had a state-change
7723         handler that removes it from the bin, there would be a segfault.
7724         Hopefully it should also work in the case where the state-change
7725         handler on one child adds or removes other children. In any case,
7726         fixes should go to gst_bin_foreach.
7727
7728 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7729
7730         * gst/gstelement.c: (gst_element_set_state):
7731           compatibility fix for latest plugins release.  Change loop back
7732           to while {}
7733
7734 2004-07-09  Wim Taymans  <wim@fluendo.com>
7735
7736         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7737         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7738         (gst_thread_main_loop):
7739         Since remove is virtual in GstBin we must not assume the 
7740         elements GList to have anothing useful.
7741         Add some more logging to GstThread and be a bit more paranoid
7742         when resetting the scheduler.
7743         Set the state of the bin to NULL before removing the children.
7744
7745 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7746
7747         * testsuite/threads/Makefile.am:
7748         * testsuite/threads/threadg.c:
7749           added test to check if problem when removing all elements from a
7750           GstThread before setting GstThread state to NULL
7751
7752 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7753
7754         * docs/gst/tmpl/gstelement.sgml:
7755         * docs/gst/tmpl/gsttypes.sgml:
7756         * gst/gstbin.c: (gst_bin_change_state):
7757         * gst/gstelement.c: (gst_element_set_state),
7758         (gst_element_change_state):
7759           rework so that for bins we try to set the state on all children
7760           as well even if the bin is in the correct state already.
7761           change while to do so at least one iteration is done.
7762           For regular elements, we fall back to the previous behaviour for
7763           now since we first need a new plugins release.
7764         * testsuite/states/parent.c: (main):
7765           test for this case
7766           Fixes #123774
7767
7768 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7769
7770         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7771         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7772         (gst_queue_release_locks), (gst_queue_change_state),
7773         (gst_queue_set_property):
7774           add proper lock debugging.  Change dispose to finalize, since
7775           we're freeing mutexes and other stuff which should happen only once.
7776
7777 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7778
7779         * docs/gst/tmpl/gstelement.sgml:
7780         * docs/gst/tmpl/gstplugin.sgml:
7781         * docs/gst/tmpl/gsttypes.sgml:
7782         * docs/pwg/building-state.xml:
7783         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7784         * gst/gstelement.c: (gst_element_change_state):
7785         * gst/gstthread.c: (gst_thread_change_state):
7786           catch wrong state changes in element base class.
7787
7788 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7789
7790         * gst/gstinfo.h:
7791           clean up layout a little.
7792
7793 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7794
7795         * configure.ac:
7796         * testsuite/Makefile.am:
7797         * testsuite/states/Makefile.am:
7798         * testsuite/states/parent.c: (main):
7799           re-enable states testsuite dir.  Add test for state changes and
7800           parent behaviour
7801
7802 2004-07-09  Wim Taymans  <wim@fluendo.com>
7803
7804         * gst/schedulers/gstoptimalscheduler.c:
7805         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7806         (element_get_reachables_func), (element_get_reachables),
7807         (debug_element), (rechain_group), (group_migrate_connected),
7808         (gst_opt_scheduler_pad_unlink):
7809         Do not try to migrate decoupled elements to a new group since
7810         they are not added to groups.
7811
7812 2004-07-08  Benjamin Otte  <otte@gnome.org>
7813
7814         * gst/gstelement.c: (gst_element_error_func):
7815           make reentrant (= allow removing elements in error handler)
7816
7817 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7818
7819         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7820         (gst_pad_send_event), (gst_pad_call_chain_function):
7821           events sent to elements below PAUSED cannot be handled, so
7822           don't try to
7823
7824 2004-07-08  Wim Taymans  <wim@fluendo.com>
7825
7826         * gst/schedulers/gstoptimalscheduler.c:
7827         (chain_recursively_migrate_group), (create_group),
7828         (schedule_group), (gst_opt_scheduler_pad_link),
7829         (group_elements_set_visited), (element_get_reachables_func),
7830         (element_get_reachables), (group_can_reach_group), (debug_element),
7831         (rechain_group), (group_migrate_connected),
7832         (gst_opt_scheduler_pad_unlink):
7833         * testsuite/schedulers/Makefile.am:
7834         Implemented group splitting and rechaining.
7835         Fixes 143777 and 143777-2 in the testsuite.
7836
7837 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7838
7839         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7840           extra debugging
7841         * gst/gstevent.h:
7842         * gst/gstinfo.c: (gst_debug_log_default):
7843           print time nicely.  add thread pointer until someone figures out
7844           a completely portable way of getting at thread id's.
7845         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7846         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7847         (gst_pad_call_chain_function):
7848           extra debugging
7849         * gst/schedulers/gstoptimalscheduler.c:
7850         (get_group_schedule_function), (loop_group_schedule_function),
7851         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7852         (pad_clear_queued), (gst_opt_scheduler_iterate):
7853           rename BUFPEN and friends to DATAPEN since that's what they are.
7854
7855 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7856
7857         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7858         * gst/gstbuffer.h:
7859         * gst/gstpad.c:
7860           cleanups and debugging
7861
7862 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7863
7864         * configure.ac:
7865         * gst/gstvalue.c: (gst_value_compare_enum),
7866         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7867         (gst_value_can_compare), (gst_value_compare):
7868         * testsuite/Makefile.am:
7869         * testsuite/enumcaps/Makefile.am:
7870         * testsuite/enumcaps/enumcaps.c:
7871           Fix enum serialization, deserialization, comparison in caps, add
7872           a test to ensure that this continues working in the future.
7873
7874 2004-07-06  David Schleef  <ds@schleef.org>
7875
7876         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7877         Fix memleak.
7878
7879 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7880
7881         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7882         * gst/gstplugin.h:
7883         * gst/registries/gstxmlregistry.c:
7884         (plugin_times_older_than_recurse), (plugin_times_older_than),
7885         (gst_xml_registry_parse_padtemplate):
7886           only rebuild registry when actual plugins have a newer time than
7887           the registry.  Fixes #145520
7888
7889 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7890
7891         * docs/manual/manual.xml:
7892         * docs/manual/win32.xml:
7893           add chapter on win32 building.  fixes #142422
7894
7895 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7896
7897         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7898
7899         * gst/autoplug/gstspider.c: (gst_spider_init),
7900         (gst_spider_dispose):
7901           fix spider memleaks.  fixes #137863
7902
7903 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7904
7905         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7906
7907         * gst/schedulers/gstoptimalscheduler.c:
7908         (gst_opt_scheduler_pad_unlink):
7909           fix SIGBUS error, fixes #145338
7910
7911 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7912
7913         * gst/gstobject.c: (gst_object_replace):
7914         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7915         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7916           clean up clock lifecycle.  Fixes #109831
7917
7918 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7919
7920         * po/LINGUAS:
7921         * po/cs.po:
7922           added Czech translation (Miloslav Trmac)
7923
7924 2004-07-04  David Schleef  <ds@schleef.org>
7925
7926         * tools/Makefile.am:
7927         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7928
7929 2004-07-04  David Schleef  <ds@schleef.org>
7930
7931         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7932
7933 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7934
7935         * gst/gstbin.c: (gst_bin_restore_thyself):
7936           chain to parent restore so the bins get restored correctly
7937           in the editor
7938
7939 2004-07-03  David Schleef  <ds@schleef.org>
7940
7941         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7942         Actually do something in these functions, like before the big
7943         caps change.  (bug #145137)
7944
7945 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7946
7947         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7948         (gst_element_get_compatible_pad_filtered):
7949         * gst/gstthread.c: (gst_thread_main_loop):
7950           more debugging
7951
7952 2004-07-02  David Schleef  <ds@schleef.org>
7953
7954         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7955         * gst/gstobject.h:
7956         * gst/gstparse.h:
7957         * gst/gsttrace.h:
7958         * gst/gstxml.h:
7959
7960 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7961
7962         * gst/gstpad.c: (gst_pad_check_schedulers),
7963         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7964         (gst_pad_link_prepare):
7965           revert until testsuite is fixed
7966
7967 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7968
7969         * testsuite/Makefile.am:
7970         * testsuite/caps/filtercaps.c: (main):
7971         * testsuite/clock/clock1.c: (main):
7972         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7973           fix some more tests
7974
7975 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7976
7977         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7978         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7979         * testsuite/cleanup/cleanup4.c: (main):
7980           fix testsuite
7981
7982 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7983
7984         * libs/gst/control/control.c:
7985         * libs/gst/control/dparam.c:
7986         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7987         * libs/gst/control/dparammanager.c:
7988         * libs/gst/control/dparammanager.h:
7989         * testsuite/dynparams/Makefile.am:
7990         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7991         (gst_dptest_change_state), (gst_dptest_chain), (main):
7992           fix testcase for dparams
7993           add debugging category
7994
7995 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7996
7997         * testsuite/Rules:
7998           change path
7999
8000 2004-07-02  Benjamin Otte  <otte@gnome.org>
8001
8002         * tests/.cvsignore:
8003         * tests/Makefile.am:
8004         * tests/mass_elements.c: (gst_get_current_time), (main):
8005           add simple benchmark to test various speeds of fakesrc ! identity !
8006           identity ! ... ! fakesink.
8007           Usage: mass_elements [num_identities] [num_buffers]
8008           If not specified they default to 1000.
8009
8010 2004-07-02  Benjamin Otte  <otte@gnome.org>
8011
8012         * gst/gstpad.c: (gst_pad_check_schedulers),
8013         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8014         (gst_pad_link_prepare):
8015           check that pads that get linked belong to the same manager. The old
8016           code allowed linking elements before putting them into bins, so it
8017           worked to link them and then put them in different threads, which
8018           lead to weird behaviour.
8019           Since this effectively disallows linking elements before putting
8020           them in a bin, some applications might not work after this and error
8021           out. If these applications are too critical, we might need to revert
8022           that patch. Please test this before the next release...
8023
8024 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8025
8026         * gst/gstpad.c: (gst_pad_get_caps):
8027           throw an error if the getcaps function does not return a subset of
8028           the template caps.
8029         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8030           make disconts without position info an error in debugging
8031         * tests/spidey_bench.c: (handoff), (main):
8032           don't count first try when averaging
8033
8034 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8035
8036         * gst/gstplugin.c: (gst_plugin_load_file):
8037           figure out problem with dynamic test
8038
8039 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8040
8041         * docs/gst/Makefile.am:
8042           fix docs build
8043
8044 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8045
8046         * po/POTFILES.in:
8047         * po/af.po:
8048         * po/az.po:
8049         * po/en_GB.po:
8050         * po/fr.po:
8051         * po/nl.po:
8052         * po/sr.po:
8053         * po/sv.po:
8054         * po/tr.po:
8055         * po/uk.po:
8056         * tools/gst-register.c: (plugin_added_func), (main):
8057           i18n-ize -register, fix plural
8058
8059 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8060
8061         * gst/elements/gstidentity.c: (gst_identity_class_init),
8062         (gst_identity_init), (gst_identity_chain),
8063         (gst_identity_set_property), (gst_identity_get_property):
8064         * gst/elements/gstidentity.h:
8065           check for perfect stream
8066
8067 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8068
8069         * gst/elements/gstidentity.c: (gst_identity_chain):
8070           print offset_end
8071
8072 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8073
8074         * docs/gst/Makefile.am:
8075         * docs/gst/gstreamer-docs.sgml:
8076           doc fixes
8077
8078 2004-06-24  David Schleef  <ds@schleef.org>
8079
8080         * autogen.sh:  Remove call to env, since the buildbot isn't
8081         broken anymore.
8082
8083 2004-06-24  Wim Taymans  <wim@fluendo.com>
8084
8085         * gst/elements/Makefile.am:
8086         * gst/elements/gstelements.c:
8087         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8088         (gst_multifdsink_class_init), (gst_multifdsink_init),
8089         (gst_multifdsink_add), (gst_multifdsink_remove),
8090         (gst_multifdsink_clear), (gst_multifdsink_chain),
8091         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8092         * gst/elements/gstmultifdsink.h:
8093         Added an element that writes to multiple filedescriptors at once.
8094
8095 2004-06-24  Benjamin Otte  <otte@gnome.org>
8096
8097         * gst/parse/grammar.y:
8098           don't try to link elements before they have been added to bins
8099
8100 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8101
8102         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8103         (gst_file_pad_get_length):
8104         * libs/gst/bytestream/filepad.h:
8105           add 2 new functions
8106
8107 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8108
8109         * docs/gst/gstreamer-sections.txt:
8110         remove from docs, the define that Benjamin removed from gstelement.h
8111
8112 2004-06-22  Benjamin Otte  <otte@gnome.org>
8113
8114         * gst/gstelement.h:
8115           remove define that referenced a nonexisting GstElement struct member
8116
8117 2004-06-20  Benjamin Otte  <otte@gnome.org>
8118
8119         * gst/gstdata.c: (gst_data_is_writable):
8120           whoops, return values were wrong, so writable data was marked as
8121           non-writable and vice versa. (fixes #143953, spotted by Francis
8122           Labonte)
8123           Shows how rarely we need to copy data ;)
8124
8125 2004-06-20  Benjamin Otte  <otte@gnome.org>
8126
8127         * testsuite/schedulers/.cvsignore:
8128         * testsuite/schedulers/Makefile.am:
8129         * testsuite/schedulers/143777-2.c: (main):
8130           add test for opt breakage in bug #143777
8131
8132 2004-06-20  Benjamin Otte  <otte@gnome.org>
8133
8134         * gst/gstpad.c: (gst_pad_call_chain_function):
8135           check for if we were unlinked while inside the chainfunction (fixes
8136           entrygthread having issues with #143777)
8137         * testsuite/schedulers/143777.c: (main):
8138         * testsuite/schedulers/Makefile.am:
8139           add a test for that fix
8140
8141 2004-06-20  Benjamin Otte  <otte@gnome.org>
8142
8143         * gst/gstvalue.c: (gst_value_set_int_range):
8144           test that start is smaller then end
8145         * libs/gst/bytestream/Makefile.am:
8146         * libs/gst/bytestream/filepad.c: 
8147         * libs/gst/bytestream/filepad.h:
8148           add GstFilePad - a pad that behaves like a FILE*
8149         * testsuite/bytestream/.cvsignore:
8150         * testsuite/bytestream/Makefile.am:
8151         * testsuite/bytestream/filepadsink.c: 
8152           test for the GstFilePad
8153
8154 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8155
8156         * gst/elements/gstidentity.c: (gst_identity_class_init),
8157         (gst_identity_init), (gst_identity_set_clock),
8158         (gst_identity_chain), (gst_identity_set_property),
8159         (gst_identity_get_property):
8160         * gst/elements/gstidentity.h:
8161         * gst/gstclock.c: (gst_clock_id_wait):
8162           add a "sync" property to sync to the clock
8163
8164 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8165
8166         * gst/gstelementfactory.c: (gst_element_factory_create):
8167           make the freakin "elementfactory bla has no type" message more
8168           useful. So we actually can do something when someone shows up
8169           complaining about it.
8170
8171 2004-06-15  Johan Dahlin  <johan@gnome.org>
8172
8173         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8174         found. This matches the old behavior better. Thanks to Thomas for
8175         pointing out.
8176
8177 2004-06-14  David Schleef  <ds@schleef.org>
8178
8179         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8180         -fomit-frame-pointer.  Appears to generate correct code in
8181         other cases as well.
8182
8183 2004-06-14  Johan Dahlin  <johan@gnome.org>
8184
8185         * tools/gst-inspect.c (main): Add two new command line options: -a
8186         to print all elements and -n to print the name on each line. Also
8187         fix some error reporting.
8188         (main): Simplify, remove -n and always print names if -a is specified
8189
8190 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8191
8192         * win32/gstconfig.h:
8193         * win32/GSTreamer.vcproj:
8194         * win32/Makefile:
8195         * gst/gstconfig.h.in:
8196         * gst/gst.h:
8197         * gst/gstbin.h:
8198         * gst/gstelement.h:
8199         * gst/gstevent.h:
8200         * gst/gstobject.h:
8201         * gst/gstpad.h:
8202         * docs/gst/gstreamer-sections.txt:
8203         * docs/gst/tmpl/gstconfig.sgml:
8204           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8205
8206 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8207         * docs/gst/gstreamer-sections.txt:
8208         * docs/gst/tmpl/gstconfig.sgml:
8209         Add the GSTREAMER_EXPORT macro to the docs
8210
8211 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8212
8213         * tools/gst-compprep.c: (handle_xmlerror), (main):
8214         Add a check for the version that introduced SetStructuredError to fix
8215         the build on FC1
8216
8217 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8218
8219         * win32/msvc71.sln:
8220         * win32/testsuite/:
8221           prepare to compile the testsuite with MSVC
8222
8223 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8224
8225         * docs/manual/win32.xml:
8226           attempt to transform the Win32 README into an XML doc
8227
8228 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8229
8230         * gst/gst.c:
8231         * gst/gstbin.*:
8232         * gst/config.h.in:
8233         * gst/gstelement.*:
8234         * gst/gstevent.h:
8235         * gst/gstobject.*:
8236         * gst/gstpad.h:
8237         * tools/gst-register.c:
8238         * win32/gstreamer.def:
8239           extern symbols are now exported for the Windows DLL
8240
8241 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8242
8243         * gst/gstinfo.h:
8244           fix a problem to enable/disable DEBUG under MSVC
8245
8246 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8247
8248         * win32/:
8249           enable more debug code in DEBUG build
8250
8251 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8252
8253         * win32/config.h:
8254         * gst/gst-i18n-app.h:
8255           enable NLS under Windows
8256
8257 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8258         * tools/gst-compprep.c: (handle_xmlerror), (main):
8259           Make an error that baffled me a bit clearer
8260
8261 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8262
8263         * gst/gstqueue.c:
8264           don't use g_queue_get_length () because it's 2.4, use ->length
8265
8266 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8267
8268         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8269
8270         * tools/gst-inspect.c: (print_signal_info):
8271           don't free random data twice. (fixes #144185)
8272
8273 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8274
8275         * gst/gstqueue.c:
8276         * gst/gstqueue.h:
8277           fix removing from the wrong queue on event timeout
8278           fix disposing of the event queue by casting correctly
8279           add mutexes for handling the event queue
8280           someone was sleeping when fixing queue last time around :)
8281
8282 2004-06-10  Johan Dahlin  <johan@gnome.org>
8283
8284         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8285         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8286
8287 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8288
8289         * docs/random/gdp:
8290         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8291         * libs/gst/dataprotocol/dataprotocol.c:
8292         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8293         (gst_dp_buffer_from_header):
8294         * libs/gst/dataprotocol/dataprotocol.h:
8295         * libs/gst/dataprotocol/dp-private.h:
8296           rev version to 0.1, add buffer flags and copy them
8297
8298 2004-06-09  Johan Dahlin  <johan@gnome.org>
8299
8300         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8301         the flags from the buffer we're copying.
8302
8303 2004-06-09  Wim Taymans  <wim@fluendo.com>
8304
8305         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8306         * gst/elements/gstidentity.c: (gst_identity_init),
8307         (gst_identity_chain):
8308         Print more buffer info in fakesink.
8309         Make identity output similar to fakesink.
8310
8311 2004-06-07  Daniel Gazard  <dany42@free.fr>
8312
8313         reviewed by Benjamin Otte  <otte@gnome.org>
8314
8315         * configure.ac:
8316           fix cross compiling not working. (fixes #143741)
8317
8318 2004-06-07  Benjamin Otte  <otte@gnome.org>
8319
8320         * gst/gstelement.c: (gst_element_set_time_delay):
8321           add failure check
8322         * gst/gstinfo.h:
8323           put brackets around macro arguments of GST_TIME_ARGS, add note to
8324           move it to correct header in 0.9
8325
8326 2004-06-07  Benjamin Otte  <otte@gnome.org>
8327
8328         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8329         (gst_file_index_load), (_file_index_id_save_entries),
8330         (gst_file_index_commit), (gst_file_index_add_association),
8331         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8332         (gst_file_index_plugin_init):
8333           make debugging use a default category
8334
8335 2004-06-06  David Moore  <dcm@acm.org>
8336
8337         reviewed by Benjamin Otte  <otte@gnome.org>
8338
8339         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8340         (gst_fdsrc_change_state):
8341           reset offset counter when going READY => PAUSED. (fixes #142903)
8342
8343 2004-06-06  ed@catmur.co.uk
8344
8345         reviewed by Benjamin Otte  <otte@gnome.org>
8346
8347         * gst/registries/gstxmlregistry.c:
8348         (gst_xml_registry_rebuild_recurse):
8349           don't rely on g_dir_open to figure out if a file is a directory, use
8350           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8351           directories. (fixes #142850)
8352
8353 2004-06-06  Benjamin Otte  <otte@gnome.org>
8354
8355         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8356           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8357         * libs/gst/bytestream/adapter.c:
8358         * libs/gst/bytestream/adapter.h:
8359           fix copyright in header and typo in debugging category name
8360
8361 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8362
8363         * configure.ac:
8364           bump nano to cvs
8365
8366 === release 0.8.3 ===
8367
8368 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8369
8370         * configure.ac:
8371           update libtool versioning
8372           do a new release
8373         * docs/gst/tmpl/gstelement.sgml:
8374         * docs/gst/tmpl/gsttypes.sgml:
8375         * gst/gstinfo.c: (_gst_debug_init):
8376           put back GST_CAT_DATAFLOW to fix API breakage
8377
8378 2004-06-04  David Schleef  <ds@schleef.org>
8379
8380         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8381
8382 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8383
8384         * configure.ac:
8385           bump nano to cvs
8386
8387 === release 0.8.2 ===
8388
8389 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8390
8391         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8392           check GST_DEBUG environment variable which is parsed the same way
8393           as --gst-debug=
8394
8395 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8396
8397         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8398                             gstmd5sink.c gstshaper.c gsttee.c
8399                             gsttypefindelement.c
8400         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8401
8402           - removing trailing commas at end of enums
8403             it is correct C99 code but C90 compilers would complain
8404             (AIX, Forte, ...)
8405             ('should' fix #143290, at least partially)
8406
8407 2004-05-27  Wim Taymans  <wim@fluendo.com>
8408
8409         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8410         (chain_group_set_enabled), (create_group), (add_to_group),
8411         (merge_groups), (setup_group_scheduler), (group_elements),
8412         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8413         Don't try to follow the pad connections with other groups
8414         when a loop based element is added to the scheduler because
8415         the bin will inform the scheduler about the pad links a little
8416         later.
8417
8418 2004-05-27  Wim Taymans  <wim@fluendo.com>
8419
8420         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8421         (remove_from_chain), (chain_group_set_enabled),
8422         (setup_group_scheduler), (group_element_set_enabled),
8423         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8424         (gst_opt_scheduler_show):
8425         Elements without a group can do a state change as well, just wait
8426         with the setup of the scheduling function when it is added to a
8427         chain.
8428
8429 2004-05-27  Wim Taymans  <wim@fluendo.com>
8430
8431         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8432         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8433         (merge_groups), (setup_group_scheduler),
8434         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8435         (gst_opt_scheduler_show):
8436         Fixes to maintain internal consistency of the scheduler data
8437         structures. 
8438          - adding an enabled group to a chain should increment the
8439            number of enabled elements in that chain.
8440          - removing an enabled group from a chain could disable the
8441            chain.
8442          - removing a disabled group from a chain could enable the
8443            chain.
8444          - add g_assert when internal inconsistency is detected.
8445          - adding an element to a group could increase the number of
8446            links this group has with other groups.
8447          - merging two groups also merges the chains.
8448          - also show group links in the _show method.
8449            
8450
8451 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8452
8453         * gst/gstcaps.c: (gst_caps_structure_simplify):
8454           don't print error messages when there is no error
8455         * gst/gstvalue.c: (gst_value_compare_int_range):
8456           compare the second value, too
8457         * testsuite/caps/Makefile.am:
8458         * testsuite/caps/random.c: (assert_on_error), (main):
8459           add tests to make sure the two things above are checked for
8460
8461 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8462
8463         * configure.ac:
8464         * libs/gst/dataprotocol/Makefile.am:
8465         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8466         * libs/gst/dataprotocol/dataprotocol.h:
8467           wrap header in GST_ENABLE_NEW.  make code use it
8468
8469 2004-05-23  Johan Dahlin  <johan@gnome.org>
8470
8471         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8472         so verbose and print GstElement signal names all the time.
8473
8474 2004-05-22  David Schleef  <ds@schleef.org>
8475
8476         * gst/registries/gstxmlregistry.c:
8477         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8478         (bug #142957)
8479
8480 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8481
8482         * configure.ac:
8483           scrub cflags for glib2 so gcc doesn't complain when glib is in
8484           /usr/local
8485
8486 2004-05-21  Johan Dahlin  <johan@gnome.org>
8487
8488         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8489         __GNUC__, patch from Brian Cameron, fixes bug #142804
8490
8491 2004-05-20  David Schleef  <ds@schleef.org>
8492
8493         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8494         comparison code.  (bug #142819)
8495
8496 2004-05-20  Wim Taymans  <wim@fluendo.com>
8497
8498         * gst/gstbuffer.c: (gst_buffer_default_copy):
8499         * gst/gstbuffer.h:
8500         Added Comment to a flag.
8501         copy relevant flags in _buffer_copy.
8502
8503 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8504
8505         reviewed by: Wim Taymans <wim at fluendo dot com>
8506
8507         * gst/gstbuffer.h:
8508           add GST_BUFFER_IN_CAPS buffer flag
8509         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8510         (gst_structure_parse_any_list), (gst_structure_parse_list),
8511         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8512         * gst/gstvalue.c: (gst_value_serialize_any_list),
8513         (gst_value_transform_any_list_string),
8514         (gst_value_list_prepend_value), (gst_value_list_append_value),
8515         (gst_value_list_get_size), (gst_value_list_get_value),
8516         (gst_value_transform_list_string),
8517         (gst_value_transform_fixed_list_string),
8518         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8519         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8520         (_gst_value_initialize):
8521         * gst/gstvalue.h:
8522           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8523           < , > as a format.
8524         * testsuite/caps/string-conversions.c: (main):
8525           add regression tests for < >
8526
8527 2004-05-20  Johan Dahlin  <johan@gnome.org>
8528
8529         * docs/gst/Makefile.am (all-local): Re-add
8530
8531 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8532
8533         * docs/gst/Makefile.am:
8534         * docs/gst/gstreamer-docs.sgml:
8535         * docs/libs/Makefile.am:
8536         * docs/libs/gstreamer-libs-docs.sgml:
8537           fix distcheck issues
8538
8539 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8540
8541         * libs/gst/dataprotocol/Makefile.am:
8542           add to autotest
8543
8544 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8545
8546         * libs/gst/dataprotocol/Makefile.am:
8547         * libs/gst/dataprotocol/dataprotocol.c:
8548         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8549         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8550         * libs/gst/dataprotocol/dp-private.h:
8551           use GST macros to read/write fixed length ints
8552           add some more asserts
8553
8554 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8555
8556         * docs/libs/gstreamer-libs-docs.sgml:
8557         * docs/libs/gstreamer-libs-sections.txt:
8558           remove idct and putbits
8559         * configure.ac:
8560         * docs/libs/tmpl/gstdataprotocol.sgml:
8561         * libs/gst/Makefile.am:
8562         * libs/gst/dataprotocol/Makefile.am:
8563         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8564         (buffer_test), (caps_test), (event_test), (main):
8565         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8566         (gst_dp_dump_byte_array), (gst_dp_init),
8567         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8568         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8569         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8570         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8571         (gst_dp_validate_header), (gst_dp_validate_payload),
8572         (gst_dp_validate_packet), (plugin_init):
8573         * libs/gst/dataprotocol/dataprotocol.h:
8574         * libs/gst/dataprotocol/dp-private.h:
8575           add dataprotocol
8576
8577 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8578
8579         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8580           fix int variable deserialization and add a helper so we can actually
8581           debug this.
8582
8583 2004-05-18  David Schleef  <ds@schleef.org>
8584
8585         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8586           argv[0].  Calling yourself is probably not the best way to
8587           construct a test like this, btw.
8588
8589 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8590
8591         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8592           don't claim to be more intelligent than a scheduler when the
8593           scheduler claims the pipeline is stopped
8594         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8595         (safe_cothread_destroy),
8596         (gst_entry_scheduler_remove_all_cothreads),
8597         (gst_entry_scheduler_reset), (_remove_cothread),
8598         (gst_entry_scheduler_state_transition):
8599           hold off cothread destruction if we're not in main cothread
8600         * configure.ac:
8601         * testsuite/Makefile.am:
8602           add new test dir
8603         * testsuite/schedulers/.cvsignore:
8604         * testsuite/schedulers/Makefile.am:
8605           add tests
8606         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8607           check relinking and adding/removing elements from a running pipeline
8608         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8609           check unlinking in a running pipeline
8610         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8611           check unreffing a running pipeline
8612         * testsuite/schedulers/useless_iteration.c: (main):
8613           check iterating a pipeline that contains running threads works
8614
8615 2004-05-18  David Schleef  <ds@schleef.org>
8616
8617         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8618           is false.
8619
8620 2004-05-18  Wim Taymans  <wim@fluendo.com>
8621
8622         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8623         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8624         Fixed an error introduced with patch for 1.63. When setting
8625         a get based element as the entry point in a group, make sure
8626         to mark the group as GET based.
8627
8628 2004-05-18  Wim Taymans  <wim@fluendo.com>
8629
8630         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8631         (setup_group_scheduler), (loop_group_schedule_function),
8632         (gst_opt_scheduler_pad_link):
8633         Added some more debug info and fixed a bug where the group
8634         type was set to LOOP but it was in fact unknown.
8635
8636 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8637
8638         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8639           make resetting scheduler work twice in a row
8640
8641 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8642
8643         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8644         (CREATE_USERIALIZATION), (_gst_value_initialize),
8645         (gst_value_compare_float), (gst_value_serialize_float),
8646         (gst_value_deserialize_float), (gst_value_compare_enum),
8647         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8648           add serialization and comparison functions for long, int64, enum and
8649           float values
8650         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8651           use best serialization function in type hierarchy instead of only a
8652           matching one. This is required for enums to work.
8653         * gst/parse/grammar.y:
8654           use gst_caps_deserialize
8655         * testsuite/parse/Makefile.am:
8656           parse1 now works
8657         * testsuite/parse/parse1.c: (main):
8658           remove aggregator check, aggregator is broken, this test works now
8659           but fails because of bug #138012
8660         * testsuite/parse/parse2.c: (main):
8661           s/xvideosink/xvimagesink - this test looks a lot like we should
8662           disable it
8663
8664 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8665
8666         * gst/gstelement.c: (gst_element_class_init):
8667           whoops, store the signal id correctly
8668         * gst/schedulers/gstbasicscheduler.c:
8669         (gst_basic_scheduler_chain_wrapper):
8670           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8671           chain function isn't linked
8672
8673 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8674         * configure.ac:
8675         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8676         support until we decide where the flags should be used
8677         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8678         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8679         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8680         Output refused caps in the debug info
8681
8682 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8683
8684         * gst/elements/gstidentity.c: (gst_identity_chain):
8685           add duration debug
8686         * gst/gstinfo.c: (gst_debug_log_default):
8687           add timestamp
8688
8689 2004-05-13  Benjamin Otte  <otte@gnome.org>
8690
8691         * gst/gstpipeline.c: (gst_pipeline_dispose),
8692         (gst_pipeline_change_state):
8693           call gst_scheduler_reset on dispose (fixes #141416)
8694
8695 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8696
8697         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8698           compute mapsize correctly
8699         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8700           use correct datatypes when calling a varargs function
8701         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8702           push a DISCONT event as first thing
8703         * gst/gst_private.h:
8704         * gst/gstinfo.c: (_gst_debug_init):
8705           remove GST_DATAFLOW debugging category
8706         * gst/gstbin.c: (gst_bin_iterate):
8707           use GST_SCHEDULING category
8708         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8709         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8710         (gst_pad_call_get_function):
8711           add GST_DATAFLOW to easily track flow of buffers or events.
8712         * gst/gstqueue.c: (gst_queue_get_type),
8713         (gst_queue_handle_pending_events), (gst_queue_chain),
8714         (gst_queue_get), (gst_queue_handle_src_event):
8715           use own static debugging category GST_DATAFLOW for dataflow,
8716           use DEBUG category for showing which path events go, use LOG
8717           category for buffers.
8718
8719 2004-05-10  David Schleef  <ds@schleef.org>
8720
8721         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8722
8723 2004-05-10  David Schleef  <ds@schleef.org>
8724
8725         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8726         symbols, because otherwise we don't know what they are.  Thanks,
8727         the GStreamer team.
8728         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8729
8730 2004-05-10  David Schleef  <ds@schleef.org>
8731
8732         (from Steve Lhomme)
8733         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8734         are deleted.  Fix.
8735         * win32/Makefile.inspect:
8736         * win32/Makefile.launch:
8737         * win32/Makefile.register:
8738
8739 2004-05-10  David Schleef  <ds@schleef.org>
8740
8741         * gst/gstinfo.h: Add missing inline function.
8742         * gst/gsttrace.c: add include
8743         * gst/parse/grammar.y: remove unused code
8744         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8745         more portable.
8746         * tools/gst-register.c: wrap unistd.h
8747         
8748         More additions/fixes from Steve for the MSVC build.
8749         * win32/GStreamer.vcproj:
8750         * win32/Makefile:
8751         * win32/Makefile.inspect:
8752         * win32/Makefile.launch:
8753         * win32/Makefile.register:
8754         * win32/README.txt:
8755         * win32/gst-inspect.vcproj:
8756         * win32/gst-launch.vcproj:
8757         * win32/gst-register.vcproj:
8758         * win32/gstbytestream.def:
8759         * win32/gstbytestream.vcproj:
8760         * win32/gstconfig.h:
8761         * win32/gstelements.def:
8762         * win32/gstelements.vcproj:
8763         * win32/gstenumtypes.c:
8764         * win32/gstenumtypes.h:
8765         * win32/gstoptimalscheduler.def:
8766         * win32/gstoptimalscheduler.vcproj:
8767         * win32/gstreamer.def:
8768         * win32/gstspider.def:
8769         * win32/gstspider.vcproj:
8770         * win32/gstversion.h:
8771         * win32/msvc71.sln:
8772
8773 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8774
8775         * gst/gstelement.c: (gst_element_class_init),
8776         (gst_element_no_more_pads):
8777         * gst/gstelement.h:
8778           add gst_element_no_more_pads and the "no-more-pads" signal
8779
8780 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8781
8782         * gst/gstregistry.c: (gst_registry_add_plugin):
8783           refuse to add plugins when a plugin with same name is already
8784           registered. Fixes a bunch of "How to remove plugins?" issues.
8785           May lead to other problems though, let's test
8786
8787 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8788
8789         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8790         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8791         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8792
8793 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8794
8795         * tests/Makefile.am: fix am16 issue
8796
8797 2004-05-09  Benjamin Otte  <otte@gnome.org>
8798
8799         * libs/gst/bytestream/Makefile.am:
8800           we should indeed add .c files to makefiles or they won't be built
8801           (d'oh)
8802
8803 2004-05-08  Benjamin Otte  <otte@gnome.org>
8804
8805         * gst/gstpad.c: (gst_pad_proxy_fixate):
8806           really reduce the set of caps
8807
8808 2004-05-08  Benjamin Otte  <otte@gnome.org>
8809
8810         * tests/Makefile.am:
8811         * tests/spidey_bench.c: (handoff), (main):
8812           add benchmark to test how long spider needs to create a pipeline
8813
8814 2004-05-08  Benjamin Otte  <otte@gnome.org>
8815
8816         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8817           mark links as unengaged when unnegotiating instead of deactivating.
8818           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8819
8820 2004-05-08  Benjamin Otte  <otte@gnome.org>
8821
8822         * docs/manual/helloworld.xml:
8823           s/audiosink/osssink (patch by Patrick Guimond)
8824
8825 2004-05-07  David Schleef  <ds@schleef.org>
8826
8827         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8828         since it contains important stuff.
8829
8830 2004-05-07  David Schleef  <ds@schleef.org>
8831
8832         * testsuite/caps/caps.c: (test3), (main): A check for appending
8833         ANY caps.
8834
8835 2004-05-07  David Schleef  <ds@schleef.org>
8836
8837         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8838         which may contain commas.  Fixes detection of -Wa,-mregnames
8839
8840 2004-05-06  David Schleef  <ds@schleef.org>
8841
8842         Changes to handle compilers that don't have variadic macro
8843         support.  In particular, glib headers define some inlines
8844         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8845         builds.
8846         * gst/Makefile.am:
8847         * gst/cothreads.c:
8848         * gst/elements/gstfdsink.c:
8849         * gst/elements/gstfdsrc.c:
8850         * gst/elements/gstfilesink.c:
8851         * gst/elements/gstfilesrc.c:
8852         * gst/gst_private.h:
8853         * gst/gstatomic.c:
8854         * gst/gstcaps.c: (gst_caps_append):
8855         * gst/gstcpu.c: (gst_cpuid_i386):
8856         * gst/gstelement.c:
8857         * gst/gsterror.c:
8858         * gst/gstfilter.c:
8859         * gst/gstinfo.h:
8860         * gst/gstprobe.c:
8861         * gst/gstquery.c:
8862         * gst/gstregistry.c:
8863         * gst/gststructure.c:
8864         * gst/gsttaginterface.c:
8865         * gst/gsttrace.c: (gst_trace_new):
8866         * gst/gsttrashstack.c:
8867         * gst/gsturi.c:
8868         * gst/gstvalue.c:
8869         * gst/parse/grammar.y:
8870         * gst/parse/parse.l:
8871         * tools/gst-inspect.c: (main):
8872         * tools/gst-launch.c: (main):
8873         * tools/gst-xmlinspect.c: (PUT_STRING):
8874
8875 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8876
8877         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8878         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8879         * gst/elements/gstfilesrc.h:
8880           send NEW_MEDIA events correctly
8881         * gst/elements/gsttypefindelement.c: (start_typefinding),
8882         (gst_type_find_element_handle_event):
8883           restart typefinding when we get a NEW_MEDIA event
8884         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8885         (gst_bin_dispose):
8886           don't die when someone removes elements in callbacks
8887         * gst/gstelement.c: (gst_element_change_state):
8888           improve debugging
8889         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8890           we need a NEW_MEDIA event to engage a link
8891         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8892           don't g_print debugging stuff
8893         * testsuite/caps/simplify.c: (check_caps):
8894
8895 2004-05-04  Benjamin Otte  <otte@gnome.org>
8896
8897         * gst/parse/grammar.y:
8898           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8899
8900 2004-05-04  Benjamin Otte  <otte@gnome.org>
8901
8902         * testsuite/caps/renegotiate.c: (main):
8903           improve output in error case
8904
8905 2004-05-04  Benjamin Otte  <otte@gnome.org>
8906
8907         * gst/parse/grammar.y:
8908           fix assert to not trigger when there's no error argument
8909         * gst/parse/parse.l:
8910           fix definition of caps to allow more than two structures
8911         * testsuite/caps/Makefile.am:
8912         * testsuite/caps/renegotiate.c: (main):
8913           it's sinesrc and works in that case
8914
8915 2004-05-04  Wim Taymans  <wim@fluendo.com>
8916
8917         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8918         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8919         when removing an element from a group, we always need to
8920         decrement the link count that this group had with other 
8921         groups through the element.
8922         added an extra assert to catch inconsistencies when decrementing
8923         the link count.
8924
8925 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8926
8927         * configure.ac:
8928         * docs/gst/Makefile.am:
8929         * docs/gst/gstreamer-sections.txt:
8930         * docs/gst/tmpl/gstcompat.sgml:
8931         * examples/appreader/Makefile.am:
8932         * examples/cutter/Makefile.am:
8933         * examples/events/Makefile.am:
8934         * examples/helloworld/Makefile.am:
8935         * examples/helloworld2/Makefile.am:
8936         * examples/launch/Makefile.am:
8937         * examples/manual/Makefile.am:
8938         * examples/mixer/Makefile.am:
8939         * examples/pingpong/Makefile.am:
8940         * examples/plugins/Makefile.am:
8941         * examples/queue/Makefile.am:
8942         * examples/queue2/Makefile.am:
8943         * examples/queue3/Makefile.am:
8944         * examples/queue4/Makefile.am:
8945         * examples/retag/Makefile.am:
8946         * examples/thread/Makefile.am:
8947         * examples/typefind/Makefile.am:
8948         * examples/xml/Makefile.am:
8949         * gst/Makefile.am:
8950         * gst/autoplug/Makefile.am:
8951         * gst/elements/Makefile.am:
8952         * gst/gstcompat.h:
8953         * gst/indexers/Makefile.am:
8954         * gst/parse/Makefile.am:
8955         * gst/registries/Makefile.am:
8956         * gst/schedulers/Makefile.am:
8957         * libs/gst/bytestream/Makefile.am:
8958         * libs/gst/control/Makefile.am:
8959         * libs/gst/getbits/Makefile.am:
8960         * po/af.po:
8961         * po/az.po:
8962         * po/en_GB.po:
8963         * po/fr.po:
8964         * po/nl.po:
8965         * po/sr.po:
8966         * po/sv.po:
8967         * po/tr.po:
8968         * po/uk.po:
8969         * tests/Makefile.am:
8970         * tests/bufspeed/Makefile.am:
8971         * tests/instantiate/Makefile.am:
8972         * tests/memchunk/Makefile.am:
8973         * tests/muxing/Makefile.am:
8974         * tests/negotiation/Makefile.am:
8975         * tests/probes/Makefile.am:
8976         * tests/sched/Makefile.am:
8977         * tests/seeking/Makefile.am:
8978         * tests/threadstate/Makefile.am:
8979         * testsuite/caps/Makefile.am:
8980         * testsuite/cleanup/Makefile.am:
8981         * testsuite/dlopen/Makefile.am:
8982         * testsuite/dynparams/Makefile.am:
8983         * testsuite/plugin/Makefile.am:
8984         * testsuite/states/Makefile.am:
8985         * tools/Makefile.am:
8986           reorganize compile/link flags to be consistent
8987           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8988
8989 2004-05-04  David Schleef  <ds@schleef.org>
8990
8991         The "once more, with feeling" check-in.
8992         * testsuite/caps/Makefile.am: dist caps_strings
8993         * testsuite/caps/renegotiate.c: (main): This test triggers a
8994           segfault in the core.  Marking as failing.
8995
8996 2004-05-03  David Schleef  <ds@schleef.org>
8997
8998         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8999           by the build bots.
9000         * testsuite/caps/renegotiate.c: (main): Same.
9001
9002 2004-05-03  David Schleef  <ds@schleef.org>
9003
9004         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9005
9006 2004-05-03  David Schleef  <ds@schleef.org>
9007
9008         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9009           variable to find our source file.
9010
9011 2004-05-03  David Schleef  <ds@schleef.org>
9012
9013         * configure.ac:  Link plugins with libgstreamer and dependent
9014           libraries
9015         * testsuite/caps/Makefile.am:
9016         * testsuite/caps/caps_strings:
9017         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9018           through a file of caps strings and test each one
9019
9020 2004-05-04  Benjamin Otte  <otte@gnome.org>
9021
9022         * libs/gst/bytestream/Makefile.am:
9023         * libs/gst/bytestream/adapter.c: 
9024         * libs/gst/bytestream/adapter.h:
9025           add GstAdapter, similar to bytestream, but doesn't require ugly event
9026           handling or uglier loopbased elements
9027
9028 2004-05-03  David Schleef  <ds@schleef.org>
9029
9030         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9031         * testsuite/caps/erathostenes.c:
9032         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9033
9034 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9035
9036         * docs/pwg/pwg.xml:
9037           remove hardcoded stylesheet path (duh)
9038         * docs/random/release:
9039         * docs/gst/gstreamer-sections.txt:
9040         * gst/Makefile.am:
9041         * gst/gst.h:
9042         * gst/gst_private.h:
9043         * gst/gstcaps.c:
9044         * gst/gstevent.c:
9045         * gst/gstformat.c:
9046         * gst/gstinfo.c:
9047         * gst/gstinfo.h:
9048         * gst/gstinterface.c:
9049         * gst/gstmemchunk.c:
9050         * gst/gstprobe.c:
9051         * gst/gstquery.c:
9052         * gst/gstregistry.c:
9053         * gst/gstregistrypool.c:
9054         * gst/gststructure.c:
9055         * gst/gsttaginterface.c:
9056         * gst/gstthread.c:
9057         * gst/gsttrace.c:
9058         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9059         * gst/gsturi.c:
9060         * gst/gstvalue.c:
9061           deprecate gst_info; remove gstlog.h
9062    
9063
9064 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9065
9066         * Makefile.am:
9067         * po/en_GB.po:
9068         * po/sv.po:
9069         * po/uk.po:
9070           updated translations
9071
9072 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9073
9074         * gst/gstbin.c: (gst_bin_dispose):
9075           better debugging
9076
9077 2004-05-03  Johan Dahlin  <johan@gnome.org>
9078
9079         * gst/schedulers/gstoptimalscheduler.c
9080         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9081         really is a GstElement. Avoids critical when running gst-launch -v
9082         and a oggdemux/decoding pipeline.
9083
9084 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9085
9086         * docs/gst/tmpl/gstpipeline.sgml :
9087         * docs/manual/elements-api.xml :
9088                 doc fix by Patrick Guimond (Protector) from devel ML
9089                 reviewed by ronald
9090
9091 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9092
9093         * docs/gst/Makefile.am :
9094         * docs/libs/Makefile.am :
9095                 apply a patch from Arwed v. Merkatz so that gtk-doc
9096                 generated docs install (same for .devhelp file)
9097                 (fixes part 1 of #138836)
9098
9099 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9100
9101         * docs/faq/dependencies.xml: typo
9102         * docs/faq/getting.xml :
9103             - fix download URL for new gstreamer site
9104             - hide sf.net download page as latest version aren't there
9105             - fix apt URLs
9106             - fill "get via CVS" paragraph (link to dev page on the site)
9107         * docs/faq/general.xml:
9108             hide status tables as they no more exists
9109             change case on plugins license file to reflect reality
9110         * docs/faq/troubleshooting.xml:
9111             remove the wiki question/answer as there is no more wiki
9112
9113 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9114
9115         * gst/gsterror.h:
9116           include the headers needed for declarations used in this header
9117
9118 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9119
9120         * docs/random/uraeus/gstreamer_and_midi.txt :
9121           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9122           (fixes #132288)
9123
9124 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9125
9126         reviewed by Benjamin Otte  <otte@gnome.org>
9127
9128         * gst/schedulers/gthread-cothreads.h:
9129           free allocated data for main cothread, too when destroying context
9130           (fixes #141417)
9131
9132 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9133
9134         * docs/manual/goals.xml : remove duplicated paragraph at end 
9135         of doc page (fixes #141448)
9136
9137 2004-04-29  David Schleef  <ds@schleef.org>
9138
9139         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9140         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9141
9142 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9143
9144         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9145           fix property
9146         * gst/gstcaps.c:
9147           fix doc string
9148         * po/POTFILES.in:
9149           rename typefind source file
9150
9151 2004-04-28  David Schleef  <ds@schleef.org>
9152
9153         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9154         * win32/GStreamer.vcproj:
9155         * win32/Makefile:
9156         * win32/config.h:
9157         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9158         (_trewinddir), (_ttelldir), (_tseekdir):
9159         * win32/dirent.h:
9160         * win32/gst-inspect.vcproj:
9161         * win32/gst-launch.vcproj:
9162         * win32/gst-register.vcproj:
9163         * win32/gstbytestream.vcproj:
9164         * win32/gstelements.vcproj:
9165         * win32/gstoptimalscheduler.vcproj:
9166         * win32/gstspider.vcproj:
9167         * win32/gtchar.h:
9168         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9169         * win32/mman.h:
9170         * win32/mman.inl:
9171         * win32/msvc71.sln:
9172
9173 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9174
9175         * gst/gst.c: (init_post):
9176         * gst/gstinfo.c:
9177           remove useless _gst_progname stuff
9178         * tools/gst-inspect.c: (print_field), (print_caps):
9179           improve caps output
9180
9181 2004-04-28  David Schleef  <ds@schleef.org>
9182
9183         Disable parsing of a lot of files that aren't part of the
9184         exported API.  Move corresponding template files to old/,
9185         waiting for removal when they don't contain anything
9186         interesting.
9187         * docs/gst/Makefile.am:
9188         * docs/gst/gstreamer-sections.txt:
9189         * docs/gst/tmpl/cothreads.sgml:
9190         * docs/gst/tmpl/cothreads_compat.sgml:
9191         * docs/gst/tmpl/gettext.sgml:
9192         * docs/gst/tmpl/gobject2gtk.sgml:
9193         * docs/gst/tmpl/grammar.tab.sgml:
9194         * docs/gst/tmpl/gst-i18n-app.sgml:
9195         * docs/gst/tmpl/gst-i18n-lib.sgml:
9196         * docs/gst/tmpl/gst_private.sgml:
9197         * docs/gst/tmpl/gstaggregator.sgml:
9198         * docs/gst/tmpl/gstarch.sgml:
9199         * docs/gst/tmpl/gstatomic_impl.sgml:
9200         * docs/gst/tmpl/gstbufferstore.sgml:
9201         * docs/gst/tmpl/gstdata_private.sgml:
9202         * docs/gst/tmpl/gstdisksink.sgml:
9203         * docs/gst/tmpl/gstdisksrc.sgml:
9204         * docs/gst/tmpl/gstelementfactory.sgml:
9205         * docs/gst/tmpl/gstextratypes.sgml:
9206         * docs/gst/tmpl/gstfakesink.sgml:
9207         * docs/gst/tmpl/gstfakesrc.sgml:
9208         * docs/gst/tmpl/gstfdsink.sgml:
9209         * docs/gst/tmpl/gstfdsrc.sgml:
9210         * docs/gst/tmpl/gstfilesink.sgml:
9211         * docs/gst/tmpl/gstfilesrc.sgml:
9212         * docs/gst/tmpl/gsthttpsrc.sgml:
9213         * docs/gst/tmpl/gstidentity.sgml:
9214         * docs/gst/tmpl/gstindexfactory.sgml:
9215         * docs/gst/tmpl/gstmarshal.sgml:
9216         * docs/gst/tmpl/gstmd5sink.sgml:
9217         * docs/gst/tmpl/gstmultidisksrc.sgml:
9218         * docs/gst/tmpl/gstmultifilesrc.sgml:
9219         * docs/gst/tmpl/gstpadtemplate.sgml:
9220         * docs/gst/tmpl/gstpipefilter.sgml:
9221         * docs/gst/tmpl/gstschedulerfactory.sgml:
9222         * docs/gst/tmpl/gstsearchfuncs.sgml:
9223         * docs/gst/tmpl/gstshaper.sgml:
9224         * docs/gst/tmpl/gstspider.sgml:
9225         * docs/gst/tmpl/gstspideridentity.sgml:
9226         * docs/gst/tmpl/gststatistics.sgml:
9227         * docs/gst/tmpl/gsttee.sgml:
9228         * docs/gst/tmpl/gsttimecache.sgml:
9229         * docs/gst/tmpl/gsttypefind.sgml:
9230         * docs/gst/tmpl/gsttypefindfactory.sgml:
9231         * docs/gst/tmpl/gstxmlregistry.sgml:
9232         * docs/gst/tmpl/gthread-cothreads.sgml:
9233         * docs/gst/tmpl/old/cothreads.sgml:
9234         * docs/gst/tmpl/old/cothreads_compat.sgml:
9235         * docs/gst/tmpl/old/gettext.sgml:
9236         * docs/gst/tmpl/old/gobject2gtk.sgml:
9237         * docs/gst/tmpl/old/grammar.tab.sgml:
9238         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9239         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9240         * docs/gst/tmpl/old/gst_private.sgml:
9241         * docs/gst/tmpl/old/gstaggregator.sgml:
9242         * docs/gst/tmpl/old/gstarch.sgml:
9243         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9244         * docs/gst/tmpl/old/gstbufferstore.sgml:
9245         * docs/gst/tmpl/old/gstdata_private.sgml:
9246         * docs/gst/tmpl/old/gstdisksink.sgml:
9247         * docs/gst/tmpl/old/gstdisksrc.sgml:
9248         * docs/gst/tmpl/old/gstelementfactory.sgml:
9249         * docs/gst/tmpl/old/gstextratypes.sgml:
9250         * docs/gst/tmpl/old/gstfakesink.sgml:
9251         * docs/gst/tmpl/old/gstfakesrc.sgml:
9252         * docs/gst/tmpl/old/gstfdsink.sgml:
9253         * docs/gst/tmpl/old/gstfdsrc.sgml:
9254         * docs/gst/tmpl/old/gstfilesink.sgml:
9255         * docs/gst/tmpl/old/gstfilesrc.sgml:
9256         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9257         * docs/gst/tmpl/old/gstidentity.sgml:
9258         * docs/gst/tmpl/old/gstindexfactory.sgml:
9259         * docs/gst/tmpl/old/gstmarshal.sgml:
9260         * docs/gst/tmpl/old/gstmd5sink.sgml:
9261         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9262         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9263         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9264         * docs/gst/tmpl/old/gstpipefilter.sgml:
9265         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9266         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9267         * docs/gst/tmpl/old/gstshaper.sgml:
9268         * docs/gst/tmpl/old/gstspider.sgml:
9269         * docs/gst/tmpl/old/gstspideridentity.sgml:
9270         * docs/gst/tmpl/old/gststatistics.sgml:
9271         * docs/gst/tmpl/old/gsttee.sgml:
9272         * docs/gst/tmpl/old/gsttimecache.sgml:
9273         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9274         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9275         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9276         * docs/gst/tmpl/old/types.sgml:
9277         * docs/gst/tmpl/types.sgml:
9278
9279         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9280         gtkdoc-scan doesn't like files with the same name in different
9281         directories.
9282         * gst/elements/Makefile.am:
9283         * gst/elements/gstelements.c:
9284         * gst/elements/gsttypefind.c: 
9285         * gst/elements/gsttypefind.h:
9286         * gst/elements/gsttypefindelement.c:
9287         * gst/elements/gsttypefindelement.h:
9288
9289 2004-04-28  David Schleef  <ds@schleef.org>
9290
9291         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9292         patch (bug #141317):
9293         * gst/gst-i18n-lib.h: Allow disabling gettext.
9294         * gst/gstatomic_impl.h: disable warning when it's dumb.
9295         * gst/gstclock.c: fix include
9296         * gst/gstcompat.h: fix variadic macro
9297         * gst/gstinfo.c: fix include
9298         * gst/gstmacros.h: add defines for inlines on MSVC
9299         * gst/gstplugin.c: fix includes
9300         * gst/gstregistry.c: fix includes
9301         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9302         * gst/gstsystemclock.c: fix include
9303         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9304         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9305         * gst/registries/gstxmlregistry.c:
9306         (gst_xml_registry_parse_element_factory): fix use of non-portable
9307         functions
9308         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9309         * libs/gst/control/dparammanager.h: same
9310
9311 2004-04-28  David Schleef  <ds@schleef.org>
9312
9313         Move a bunch of unused files to old/ with names that are
9314         not case-insensitive-unique.  These files still contain some
9315         useful information that needs to be merged into gstbin.sgml,
9316         etc., so they shouldn't be deleted yet.
9317         * docs/gst/tmpl/GstBin.sgml:
9318         * docs/gst/tmpl/GstBuffer.sgml:
9319         * docs/gst/tmpl/GstCaps.sgml:
9320         * docs/gst/tmpl/GstClock.sgml:
9321         * docs/gst/tmpl/GstCompat.sgml:
9322         * docs/gst/tmpl/GstData.sgml:
9323         * docs/gst/tmpl/GstElement.sgml:
9324         * docs/gst/tmpl/GstEvent.sgml:
9325         * docs/gst/tmpl/GstIndex.sgml:
9326         * docs/gst/tmpl/GstStructure.sgml:
9327         * docs/gst/tmpl/GstTag.sgml:
9328         * docs/gst/tmpl/old/GstBin.sgml:
9329         * docs/gst/tmpl/old/GstBuffer.sgml:
9330         * docs/gst/tmpl/old/GstCaps.sgml:
9331         * docs/gst/tmpl/old/GstClock.sgml:
9332         * docs/gst/tmpl/old/GstCompat.sgml:
9333         * docs/gst/tmpl/old/GstData.sgml:
9334         * docs/gst/tmpl/old/GstElement.sgml:
9335         * docs/gst/tmpl/old/GstEvent.sgml:
9336         * docs/gst/tmpl/old/GstIndex.sgml:
9337         * docs/gst/tmpl/old/GstStructure.sgml:
9338         * docs/gst/tmpl/old/GstTag.sgml:
9339
9340 2004-04-28  David Schleef  <ds@schleef.org>
9341
9342         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9343         (gst_caps_append), (gst_caps_append_structure),
9344         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9345         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9346         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9347         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9348         (gst_caps_intersect), (gst_caps_normalize),
9349         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9350         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9351         * gst/gstcaps.h: use GST_IS_CAPS().
9352
9353 2004-04-26  David Schleef  <ds@schleef.org>
9354
9355         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9356         assembly.  gcc doesn't handle it correctly. (bug #141083)
9357         * gst/gsttrashstack.h: same
9358
9359 2004-04-25  Benjamin Otte  <otte@gnome.org>
9360
9361         * gst/gstelement.c: (gst_element_change_state):
9362           fix assertion to do an int comparison
9363
9364 2004-04-25  Benjamin Otte  <otte@gnome.org>
9365
9366         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9367           better debugging output on error
9368
9369 2004-04-25  Benjamin Otte  <otte@gnome.org>
9370
9371         * gst/gstcaps.c: (gst_caps_subtract):
9372           fix memleak
9373
9374 2004-04-23  Benjamin Otte  <otte@gnome.org>
9375
9376         * gst/gstvalue.c: (gst_value_compare_buffer),
9377         (_gst_value_initialize):
9378           add comparison function for buffers
9379
9380 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9381
9382         * docs/pwg/pwg.xml:
9383           Just found out that this so-called "ima-wav" format is really
9384           just "dvi adpcm" (according to the MS WAV documentation). So
9385           renaming it. We didn't use it yet anyway.
9386
9387 2004-04-23  Benjamin Otte  <otte@gnome.org>
9388
9389         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9390           call gst_caps_is_subset
9391
9392 2004-04-23  Benjamin Otte  <otte@gnome.org>
9393
9394         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9395         (gst_caps_is_subset):
9396           add documentation
9397
9398 2004-04-23  Benjamin Otte  <otte@gnome.org>
9399           
9400         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9401         (gst_caps_structure_subtract), (gst_caps_subtract),
9402         (gst_caps_structure_figure_out_union),
9403         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9404           fix simplifying and subtracting not working correctly with optional
9405           properties
9406           solve assorted problems that make it now simplify ebven more
9407         * docs/gst/tmpl/gstcaps.sgml:
9408         * gst/gstcaps.h:
9409           make gst_caps_do_simplify return a bool to indicate if it simplified
9410         * testsuite/caps/simplify.c: (main):
9411           add more checks. The tests is quite a bit useless right now because
9412           the core is heavily simplifying itself.
9413         * testsuite/caps/caps.h:
9414           fix caps to contain all optional properties
9415
9416 2004-04-22  Benjamin Otte  <otte@gnome.org>
9417
9418         * docs/gst/tmpl/gstcaps.sgml:
9419         * docs/gst/tmpl/gstfilesrc.sgml:
9420         * docs/gst/tmpl/gststructure.sgml:
9421         * docs/gst/tmpl/gstvalue.sgml:
9422           update for recent API changes
9423         * gst/gstcaps.c: (gst_caps_do_simplify):
9424           fix to stop trying with a freed structure
9425         * gst/gstpad.c: (gst_pad_link_fixate):
9426           simplify caps
9427         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9428           remove C++ comment
9429         * gst/gstpad.h:
9430           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9431         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9432         (gst_structure_to_string):
9433           keep the correct type when using lists of ranges
9434         * gst/gstvalue.c: (gst_value_list_prepend_value),
9435         (gst_value_list_append_value):
9436           copy the value before adding to the list (d'oh)
9437         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9438         (gst_value_subtract_int_range_int_range):
9439           handle overflows correctly
9440         * gst/gstvalue.c: (gst_value_subtract_from_list):
9441           fix memleak
9442         * testsuite/caps/caps.h:
9443           add a caps that caused segfaults
9444
9445 2004-04-22  Benjamin Otte  <otte@gnome.org>
9446
9447         * testsuite/refcounting/pad.c: (main):
9448           fix test
9449
9450 2004-04-22  Benjamin Otte  <otte@gnome.org>
9451
9452         * gst/gstcaps.c: (gst_caps_subtract):
9453           allow subtracting ANY and EMPTY from ANY caps
9454
9455 2004-04-22  Benjamin Otte  <otte@gnome.org>
9456
9457         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9458         (gst_caps_union):
9459           only simplify in functions that create new caps. Simplifying in
9460           gst_caps_append breaks tests.
9461
9462 2004-04-22  Benjamin Otte  <otte@gnome.org>
9463
9464         * gst/gstcaps.c: (gst_caps_structure_simplify):
9465           unset GValue after use
9466         * gst/gstcaps.c: (gst_caps_append), 
9467         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9468           use gst_caps_simplify (reduces registry size by 30%)
9469         * gst/gstpad.c: (gst_pad_template_new):
9470           don't allow NULL caps
9471
9472 2004-04-22  Benjamin Otte  <otte@gnome.org>
9473
9474         * docs/gst/gstreamer-sections.txt:
9475           add gst_caps_do_simplify
9476         * gst/gstcaps.c:
9477           add documentation for gst_caps_do_simplify
9478         * gst/gstvalue.h:
9479           fix typo in gst_value_register_subtract_func declaration for gst-doc
9480
9481 2004-04-22  Benjamin Otte  <otte@gnome.org>
9482
9483         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9484           fix bug when converting from empty string.
9485         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9486         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9487           use gst_caps_new_empty to allocate a new caps. Only that function
9488           allocates memory for caps now.
9489         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9490         (gst_caps_remove_structure):
9491           add ability to remove one structure (but not to header yet)
9492         * gst/gstcaps.c: (gst_caps_compare_structures),
9493         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9494         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9495         * gst/gstcaps.h:
9496           add gst_caps_do_simplify that tries to simplify a caps in place.
9497           Deprecate old gst_caps_simplify function.
9498         * testsuite/caps/caps.h:
9499           add caps.h containing a common set of caps to test against.
9500         * testsuite/caps/sets.c: (check_caps), (main):
9501           use it.
9502         * testsuite/caps/.cvsignore:
9503         * testsuite/caps/Makefile.am:
9504         * testsuite/caps/simplify.c: (check_caps), (main):
9505           add test to check correctness and efficency of caps simplification.
9506
9507 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9508
9509         reviewed by Benjamin Otte  <otte@gnome.org>
9510
9511         * gst/gstparse.c: (_gst_parse_escape):
9512           Free the GString used in _gst_parse_escape()
9513
9514 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9515
9516         * gst/gstpad.c: (gst_pad_link_negotiate):
9517           refuse to link if the link is not possible
9518         * configure.ac:
9519         * testsuite/Makefile.am:
9520         * testsuite/negotiation/.cvsignore:
9521         * testsuite/negotiation/Makefile.am:
9522         * testsuite/negotiation/pad_link.c: (main):
9523           add test that checks the above behaviour
9524
9525 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9526
9527         * docs/gst/gstreamer-sections.txt:
9528           add newly added API
9529
9530 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9531
9532         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9533         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9534         (gst_filesrc_open_file), (gst_filesrc_close_file),
9535         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9536         * gst/elements/gstfilesrc.h:
9537           add support for non-regular files (#140734)
9538
9539 2004-04-21  Benjamin Otte  <otte@gnome.org>
9540
9541         * gst/gstpad.c: (gst_pad_link_fixate):
9542           add sophisticated error checking code to see if fixation functions
9543           did their fixation right
9544
9545 2004-04-21  Benjamin Otte  <otte@gnome.org>
9546
9547         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9548           check for ANY caps before appending/unioning
9549         * gst/gstcaps.c: (gst_caps_is_subset),
9550         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9551         (gst_caps_structure_subtract), (gst_caps_subtract):
9552         * gst/gstcaps.h:
9553           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9554           the API. deprecate gst_caps_is_equal_fixed
9555         * gst/gstpad.c: (gst_pad_try_set_caps):
9556         * gst/gstqueue.c: (gst_queue_link):
9557           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9558         * gst/gststructure.c: (gst_structure_get_name_id):
9559         * gst/gststructure.h:
9560           add function gst_structure_get_name_id
9561         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9562         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9563         (gst_value_subtract_int_range_int_range),
9564         (gst_value_subtract_double_double_range),
9565         (gst_value_subtract_double_range_double),
9566         (gst_value_subtract_double_range_double_range),
9567         (gst_value_subtract_from_list), (gst_value_subtract_list),
9568         (gst_value_can_intersect), (gst_value_subtract),
9569         (gst_value_can_subtract), (gst_value_register_subtract_func),
9570         (_gst_value_initialize):
9571         * gst/gstvalue.h:
9572           add support for subtracting values from each other. Note that
9573           subtracting means subtracting as in set theory. Required for caps
9574           stuff above.
9575         * testsuite/caps/.cvsignore:
9576         * testsuite/caps/Makefile.am:
9577         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9578         * testsuite/caps/sets.c: (check_caps), (main):
9579         * testsuite/caps/subtract.c: (check_caps), (main):
9580           add tests for subtraction and equality code.
9581
9582 2004-04-20  David Schleef  <ds@schleef.org>
9583
9584         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9585         * gst/indexers/Makefile.am:
9586         * gst/schedulers/Makefile.am:
9587         * libs/gst/bytestream/Makefile.am:
9588         * libs/gst/control/Makefile.am:
9589         * libs/gst/getbits/Makefile.am:
9590
9591 2004-04-20  David Schleef  <ds@schleef.org>
9592
9593         * common/as-libtool.mak: Fine-tune DLL building.
9594         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9595         (like gst-plugins)
9596         * examples/plugins/Makefile.am: remove plugindir
9597         * gst/autoplug/Makefile.am: DLL building fixes
9598         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9599         Windows.
9600         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9601         * gst/indexers/Makefile.am: DLL building fixes
9602         * gst/schedulers/Makefile.am: DLL building fixes.
9603         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9604         * libs/gst/control/Makefile.am: same
9605         * libs/gst/getbits/Makefile.am: same
9606         * testsuite/Makefile.am: New dlopen directory
9607         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9608         when dlopened.
9609         * testsuite/dlopen/dlopen_gst.c: (main): same
9610         * testsuite/dlopen/loadgst.c: (do_test): same
9611
9612 2004-04-20  David Schleef  <ds@schleef.org>
9613
9614         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9615         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9616
9617 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9618
9619         * gst/gstelement.c: (gst_element_wait),
9620         (gst_element_set_time_delay), (gst_element_change_state):
9621           Use GST_TIME_*
9622
9623 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9624
9625         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9626         (gst_spider_identity_plug):
9627           improve debugging messages
9628         * gst/gstbin.c: (gst_bin_remove_func):
9629           make sure the state_change function is only called with simple state
9630           transitions
9631
9632 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9633
9634         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9635         (gst_fakesink_set_property), (gst_fakesink_chain):
9636         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9637         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9638         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9639         * gst/elements/gstidentity.c: (gst_identity_chain),
9640         (gst_identity_set_property):
9641         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9642         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9643           add warnings to _set_property for unknown arguments
9644           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9645
9646 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9647
9648         * Makefile.am:
9649         * docs/manuals.mak:
9650           add .po file download snippet
9651           fix a bug in the doc makefile
9652
9653 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9654
9655         * Makefile.am:
9656         * po/LINGUAS:
9657         * po/en_GB.po:
9658           Added en_GB translation (Gareth Owen)
9659
9660 2004-04-20  Johan Dahlin  <johan@gnome.org>
9661
9662         * gst/gstpad.c (_invent_event): Clean up
9663
9664 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9665
9666         * testsuite/caps/filtercaps.c: (main):
9667           fix test to test things correctly (caps are complicated)
9668
9669 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9670
9671         * testsuite/caps/Makefile.am:
9672         * testsuite/caps/filtercaps.c: (main):
9673           add test (that doesn't work right now, but should)
9674
9675 2004-04-19  David Schleef  <ds@schleef.org>
9676
9677         * configure.ac: Add test for allowing unaligned access.  Add define
9678         to put in gstconfig.h.
9679         * docs/gst/gstreamer-sections.txt: New symbols
9680         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9681         * docs/gst/tmpl/gstfilesrc.sgml:
9682         * docs/gst/tmpl/gstparse.sgml:
9683         * docs/gst/tmpl/gsttypes.sgml:
9684         * docs/gst/tmpl/gstutils.sgml:
9685         * docs/gst/tmpl/gstvalue.sgml:
9686         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9687         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9688         on most !i386/!powerpc architectures.  From Daniel Gazard
9689         <daniel.gazard@free.fr>.  (bug #140156)
9690         * po/af.po: Check in changes made by gettext.
9691         * po/az.po:
9692         * po/fr.po:
9693         * po/nl.po:
9694         * po/sr.po:
9695         * po/sv.po:
9696
9697 2004-04-20  Benjamin Otte  <otte@gnome.org>
9698
9699         * gst/schedulers/entryscheduler.c: 
9700         (gst_entry_scheduler_yield):
9701           refuse to yield when decoupled elements insist on doing that.
9702           At least it's better than crashing
9703
9704 2004-04-19  David Schleef  <ds@schleef.org>
9705
9706         * docs/libs/Makefile.am: Change sinclude to include
9707         * docs/gst/Makefile.am: same
9708         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9709
9710 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9711
9712         * po/LINGUAS:
9713         * po/uk.po:
9714           Added Ukrainian translation (Maxim V. Dziumanenko)
9715
9716 2004-04-19  Johan Dahlin  <johan@gnome.org>
9717
9718         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9719         checking here, do it before calling the function.
9720         Clean up, use for loops instead of while loops while iterating
9721         over lists.
9722
9723         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9724         in debug message.
9725         (gst_spider_create_and_plug): Improve debug message.
9726         General: Replace while loops which iterates over GLists with for
9727         loops. Which are much cleaner, improves readability, especially
9728         for gst_spider_identity_plug
9729
9730         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9731         fixes bug 140477
9732
9733 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9734
9735         * po/LINGUAS:
9736         * po/tr.po:
9737           Added Turkish translation (Baris Cicek)
9738
9739 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9740
9741         * docs/faq/troubleshooting.xml:
9742           Mention gst-register in the FAQ (fixes 139045).
9743
9744 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9745
9746         * docs/gst/gstreamer-sections.txt:
9747
9748 2004-04-17  Benjamin Otte  <otte@gnome.org>
9749
9750         * gst/gstelement.c: (gst_element_dispose):
9751           simplify
9752         * gst/gstpad.c: (gst_pad_call_chain_function):
9753           don't create loads of events due to bad macro usage
9754
9755 2004-04-16  David Schleef  <ds@schleef.org>
9756
9757         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9758         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9759         * gst/gstvalue.c: (gst_value_serialize_buffer),
9760         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9761         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9762         to indicate types that are fixed wrt caps or not.  Switching to
9763         this function fixes (bug #140298).
9764         * gst/gstvalue.h:
9765
9766 2004-04-16  David Schleef  <ds@schleef.org>
9767
9768         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9769         for GST_UNALIGNED_ACESS, since we essentially know which archs
9770         are ok.
9771
9772 2004-04-17  Benjamin Otte  <otte@gnome.org>
9773
9774         * docs/gst/Makefile.am:
9775           ignore gst/parse directory when building docs (fixes #140205)
9776
9777 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9778
9779         * testsuite/refcounting/mem.c: (vmsize):
9780           do error checking
9781
9782 2004-04-16  Johan Dahlin  <johan@gnome.org>
9783
9784         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9785         and gst_pad_call_get_function.
9786
9787 2004-04-15  David Schleef  <ds@schleef.org>
9788
9789         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9790         checks if we can access unaligned memory.
9791         * configure.ac: Use it.
9792
9793 2004-04-16  Benjamin Otte  <otte@gnome.org>
9794
9795         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9796         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9797         * gst/elements/gstfilesrc.h:
9798           s/seek_happened/need_discont/ and require discont before sending any
9799           data
9800
9801 2004-04-15  David Schleef  <ds@schleef.org>
9802
9803         * gst/gstvalue.c: (gst_value_serialize_buffer),
9804         (gst_value_deserialize_buffer), (_gst_value_initialize):
9805         Register these types as fundamental types. (bug #140015)
9806
9807 2004-04-16  Benjamin Otte  <otte@gnome.org>
9808
9809         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9810         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9811         (gst_pad_pull):
9812           implement enforcing discont events before buffers are passed. This
9813           allows state changes of only some elements and later correctly going
9814           on where they left off (or in short: you can now set audio sinks to
9815           NULL to release the device when the pipeline is paused)
9816         * gst/gstpad.c: (gst_pad_call_chain_function),
9817         (gst_pad_call_get_function):
9818         * gst/gstpad.h:
9819           add gst_pad_call_chain_function and gst_pad_call_get_function for
9820           scheduler interaction. They are required because of the changes
9821           above.
9822         * gst/schedulers/entryscheduler.c: (get_buffer),
9823         (gst_entry_scheduler_chain_wrapper),
9824         (gst_entry_scheduler_get_wrapper),
9825         (gst_entry_scheduler_state_transition),
9826         (gst_entry_scheduler_pad_link):
9827         * gst/schedulers/gstbasicscheduler.c:
9828         (gst_basic_scheduler_chain_wrapper),
9829         (gst_basic_scheduler_src_wrapper),
9830         (gst_basic_scheduler_chainhandler_proxy),
9831         (gst_basic_scheduler_gethandler_proxy),
9832         (gst_basic_scheduler_cothreaded_chain),
9833         (gst_basic_scheduler_chain_elements):
9834         * gst/schedulers/gstoptimalscheduler.c:
9835         (get_group_schedule_function), (pad_clear_queued),
9836         (gst_opt_scheduler_pad_link):
9837           use the new functions instead of calling get/chain-functions
9838           directly.
9839
9840 2004-04-15  David Schleef  <ds@schleef.org>
9841
9842         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9843         * docs/gst/tmpl/gstinfo.sgml: same
9844         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9845         gtk-doc put here.
9846         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9847         * examples/queue/queue.c: (main):  We iterate pipelines, not
9848         bins.  (bug #139996)
9849
9850 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9851
9852         * docs/pwg/advanced-types.xml:
9853           Add MS RLE support. Also document Qt RLE although I have no sample
9854           files for that yet. And document an extra property for ADPCM.
9855
9856 2004-04-15  David Schleef  <ds@schleef.org>
9857
9858         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9859         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9860         Windows.
9861
9862 2004-04-15  David Schleef  <ds@schleef.org>
9863
9864         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9865         symbol names to not conflict with new gstinfo.h symbols.
9866         * gst/gstinfo.h: Add inline functions for all those crazy
9867         compilers that don't know how to handle variadic macros (MSVC).
9868
9869 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9870
9871         * configure.ac: bump nano to 1
9872
9873 === release 0.8.1 ===
9874
9875 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9876
9877         * NEWS:
9878         * RELEASE:
9879         * configure.ac:
9880           releasing 0.8.1, "Snow Brigade"
9881
9882 2004-04-14  David Schleef  <ds@schleef.org>
9883
9884         * testsuite/Makefile.am: define tests_ignore
9885         * testsuite/Rules: Added new tests_ignore, which get compiled,
9886         but not run (generally because they're inconsistent or have
9887         heisenbugs).  Now we can ensure all the .c files compile in
9888         testsuite/.
9889         * testsuite/bins/Makefile.am: define tests_ignore
9890         * testsuite/bytestream/Makefile.am:
9891         * testsuite/caps/Makefile.am:
9892         * testsuite/clock/Makefile.am:
9893         * testsuite/debug/Makefile.am:
9894         * testsuite/debug/global.c: (gst_debug_log_one),
9895         (gst_debug_log_two): Fix compilation problem.
9896         * testsuite/dynparams/Makefile.am:
9897         * testsuite/elements/Makefile.am:
9898         * testsuite/ghostpads/Makefile.am:
9899         * testsuite/indexers/Makefile.am:
9900         * testsuite/parse/Makefile.am:
9901         * testsuite/plugin/Makefile.am:
9902         * testsuite/refcounting/Makefile.am:
9903         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9904         results, because it's not calculated correctly.
9905         * testsuite/refcounting/pad.c: (main): same
9906         * testsuite/states/Makefile.am:
9907         * testsuite/tags/Makefile.am:
9908         * testsuite/threads/Makefile.am:
9909
9910 2004-04-14  David Schleef  <ds@schleef.org>
9911
9912         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9913         generating bad code around the cpu detection asm code.
9914
9915 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9916
9917         * tools/gst-inspect.c: (print_element_info):
9918           print numeric version of rank as well, since we added some - 1
9919           rank values to elements
9920
9921 2004-04-13  David Schleef  <ds@schleef.org>
9922
9923         * configure.ac:  Disable various code when compiling for MinGW.
9924         * gst/elements/Makefile.am:
9925         * gst/elements/gstelements.c:
9926         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9927         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9928         * gst/registries/gstxmlregistry.c: (make_dir):
9929
9930 2004-04-13  David Schleef  <ds@schleef.org>
9931
9932         * gst/Makefile.am:
9933         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9934         assembly.
9935         * gst/gstcpuid_i386.s: remove
9936
9937 2004-04-13  David Schleef  <ds@schleef.org>
9938
9939         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9940         seems to think it needs to be done.
9941         * docs/gst/tmpl/gstfakesink.sgml:
9942         * docs/gst/tmpl/gstfakesrc.sgml:
9943         * docs/gst/tmpl/gstfdsink.sgml:
9944         * docs/gst/tmpl/gstfdsrc.sgml:
9945         * docs/gst/tmpl/gstfilesink.sgml:
9946         * docs/gst/tmpl/gstfilesrc.sgml:
9947         * docs/gst/tmpl/gstidentity.sgml:
9948         * docs/gst/tmpl/gstmd5sink.sgml:
9949         * docs/gst/tmpl/gstmultifilesrc.sgml:
9950         * docs/gst/tmpl/gstpipefilter.sgml:
9951         * docs/gst/tmpl/gstshaper.sgml:
9952         * docs/gst/tmpl/gstspider.sgml:
9953         * docs/gst/tmpl/gstspideridentity.sgml:
9954         * docs/gst/tmpl/gststatistics.sgml:
9955         * docs/gst/tmpl/gsttee.sgml:
9956         * docs/gst/tmpl/gsttypefind.sgml:
9957         * docs/gst/tmpl/gstutils.sgml:
9958
9959 2004-04-13  David Schleef  <ds@schleef.org>
9960
9961         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9962         and to build DLLs on Windows.
9963         * gst/Makefile.am:
9964         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9965         (gst_filesrc_open_file):
9966         * gst/schedulers/Makefile.am:
9967
9968 2004-04-13  David Schleef  <ds@schleef.org>
9969
9970         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9971         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9972         fixating lists.
9973
9974 2004-04-12  David Schleef  <ds@schleef.org>
9975
9976         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9977         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9978         to using it.
9979         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9980         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9981         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9982         * gst/gststructure.c: (gst_structure_set_valist),
9983         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9984         support for buffers.
9985         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9986         intended to be const.
9987         * gst/gsttag.h: same
9988         * gst/gstvalue.c: (gst_value_serialize_buffer),
9989         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9990         to (de)serialize buffers.
9991         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9992         * testsuite/caps/string-conversions.c: (main):
9993         * testsuite/caps/value_serialize.c: add new test
9994
9995 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9996
9997         * docs/pwg/advanced-types.xml:
9998           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9999
10000 2004-04-11  Benjamin Otte  <otte@gnome.org>
10001
10002         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10003           rename categories to basic_*
10004         * gst/schedulers/gstbasicscheduler.c: 
10005         (gst_basic_scheduler_chain_wrapper),
10006         (gst_basic_scheduler_chainhandler_proxy),
10007         (gst_basic_scheduler_gethandler_proxy),
10008         (gst_basic_scheduler_eventhandler_proxy):
10009           debugging category fixes - put common stuff in log category
10010         * gst/schedulers/gstbasicscheduler.c: 
10011         (gst_basic_scheduler_chain_elements):
10012           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10013           active and linking two active chains
10014
10015 2004-04-10  Benjamin Otte  <otte@gnome.org>
10016
10017         * docs/pwg/intro-preface.xml:
10018           fix dead links and remove reference to Wiki
10019
10020 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10021
10022         * gst/schedulers/gstbasicscheduler.c:
10023           make sure we can switch back to the main function if we're still in
10024           the main function (supposed to fix #139617)
10025         * gst/schedulers/gthread-cothreads.h:
10026           don't throw an error when switching to the same cothread
10027
10028 2004-04-09  Benjamin Otte  <otte@gnome.org>
10029
10030         * gst/gstbin.c: (gst_bin_get_type):
10031         * gst/gstclock.c: (gst_clock_get_type):
10032         * gst/gstindex.c: (gst_index_get_type):
10033         * gst/gstobject.c: (gst_object_get_type),
10034         (gst_signal_object_get_type):
10035         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10036         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10037         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10038         * gst/gstqueue.c: (gst_queue_get_type):
10039         * gst/gstregistry.c: (gst_registry_get_type):
10040         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10041         * gst/gstthread.c: (gst_thread_get_type):
10042           don't use memchunks for these objects, use malloc instead
10043
10044 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10045
10046         * docs/gst/.cvsignore:
10047         * docs/gst/Makefile.am:
10048         * docs/gst/gstreamer-sections.txt:
10049         * docs/gst/tmpl/gstaggregator.sgml:
10050         * docs/gst/tmpl/gstbuffer.sgml:
10051         * docs/gst/tmpl/gstclock.sgml:
10052         * docs/gst/tmpl/gstelement.sgml:
10053         * docs/gst/tmpl/gstfakesink.sgml:
10054         * docs/gst/tmpl/gstfakesrc.sgml:
10055         * docs/gst/tmpl/gstfdsink.sgml:
10056         * docs/gst/tmpl/gstfdsrc.sgml:
10057         * docs/gst/tmpl/gstfilesink.sgml:
10058         * docs/gst/tmpl/gstfilesrc.sgml:
10059         * docs/gst/tmpl/gstidentity.sgml:
10060         * docs/gst/tmpl/gstindex.sgml:
10061         * docs/gst/tmpl/gstinfo.sgml:
10062         * docs/gst/tmpl/gstmd5sink.sgml:
10063         * docs/gst/tmpl/gstmultifilesrc.sgml:
10064         * docs/gst/tmpl/gstpad.sgml:
10065         * docs/gst/tmpl/gstpipefilter.sgml:
10066         * docs/gst/tmpl/gstpipeline.sgml:
10067         * docs/gst/tmpl/gstpluginfeature.sgml:
10068         * docs/gst/tmpl/gstqueue.sgml:
10069         * docs/gst/tmpl/gstregistry.sgml:
10070         * docs/gst/tmpl/gstscheduler.sgml:
10071         * docs/gst/tmpl/gstshaper.sgml:
10072         * docs/gst/tmpl/gstspider.sgml:
10073         * docs/gst/tmpl/gstspideridentity.sgml:
10074         * docs/gst/tmpl/gststatistics.sgml:
10075         * docs/gst/tmpl/gstsystemclock.sgml:
10076         * docs/gst/tmpl/gsttee.sgml:
10077         * docs/gst/tmpl/gstthread.sgml:
10078         * docs/gst/tmpl/gsttypefind.sgml:
10079         * docs/gst/tmpl/gstutils.sgml:
10080           further doc build fixes
10081
10082 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10083
10084         * docs/gst/Makefile.am:
10085           make docs exit on scanning problems
10086           fix nonsrcdir build issues
10087         * docs/gst/gstreamer-sections.txt:
10088           adding stuff from -unused
10089         * gst/gstqueue.h:
10090           create GstQueueSize
10091         * gst/schedulers/cothreads_compat.h:
10092           fix cothread warnings
10093
10094 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10095
10096         * docs/gst/gstreamer-sections.txt:
10097           remove defines deprecated by Benjamin
10098
10099 2004-04-07  Benjamin Otte  <otte@gnome.org>
10100
10101         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10102           when the buffer is complete, don't check if other buffers are needed
10103         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10104           check that the offset is >0 so we don't try to read before the
10105           beginning of the file
10106         * gst/gstpad.c: (gst_pad_set_pad_template):
10107           sink the template, so we don't end up with 130k pad templates
10108
10109 2004-04-06  Benjamin Otte  <otte@gnome.org>
10110
10111         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10112           don't ref the element, adding already reffed it. And we didn't unref
10113           it later anyway... (huge memleak when you used many spider elements)
10114         * gst/gstelement.c: (gst_element_base_class_finalize):
10115         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10116         (gst_element_register):
10117         * gst/gsturi.c: (gst_element_make_from_uri):
10118           use gst_object_(un)ref instead of g_object(un)ref
10119
10120 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10121
10122         * gst/gstbuffer.h:
10123           remove macro that wouldn't work anymore because struct member has
10124           been removed.
10125         * gst/schedulers/entryscheduler.c: (schedule_forward):
10126           fix segfault for unconnected pads
10127         
10128 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10129
10130         reviewed by David Schleef <ds@schleef.org>
10131
10132         * gst/gstinfo.h:
10133           *_FORMAT modifiers should require putting a % in front of them for
10134           consistency reasons.
10135
10136 2004-04-05  Colin Walters  <walters@redhat.com>
10137
10138         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10139         space.
10140
10141 2004-04-05  Benjamin Otte  <otte@gnome.org>
10142
10143         * configure.ac:
10144         * gst/Makefile.am:
10145         * gst/gst_private.h:
10146         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10147           add support for detecting if GStreamer runs inside valgrind.
10148           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10149           print a big message in valgrind that GStreamer has detected it's
10150           running inside and might now use different code.
10151         * gst/gstmemchunk.c: (populate), (free_area),
10152         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10153         (gst_mem_chunk_free):
10154           flag memchunks for valgrind, so it can detect leaking of chunks.
10155           This allows detecting leaks of GstBuffer and GstEvent correctly
10156           inside valgrind.
10157
10158 2004-04-05  David Schleef  <ds@schleef.org>
10159
10160         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10161           jensgr@gmx.net (Jens Granseuer)
10162
10163 2004-04-05  David Schleef  <ds@schleef.org>
10164
10165         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10166         (gst_buffer_default_free), (gst_buffer_default_copy),
10167         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10168         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10169         structures in one place.
10170
10171 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10172
10173         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10174           (GST_TIME_FORMAT, GST_TIME_ARGS)
10175
10176 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10177
10178         * testsuite/elements/Makefile.am:
10179           disable test until it stops breaking make distcheck
10180
10181 2004-04-05  Johan Dahlin  <johan@gnome.org>
10182
10183         * po/sv.po: Updated translation
10184
10185 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10186
10187         * gst/gstplugin.c: (gst_plugin_load_file):
10188           fix segfault for when original plugin was loaded statically
10189
10190 2004-04-05  Benjamin Otte  <otte@gnome.org>
10191
10192         * testsuite/debug/category.c: (main):
10193         * testsuite/debug/commandline.c: (main):
10194         * testsuite/debug/output.c: (main):
10195           fix tests to work again with debugging enabled
10196
10197 2004-04-05  Benjamin Otte  <otte@gnome.org>
10198
10199         * gst/schedulers/gstbasicscheduler.c:
10200         (gst_basic_scheduler_pad_link):
10201           fix to work with recent scheduling changes
10202
10203 2004-04-05  Benjamin Otte  <otte@gnome.org>
10204
10205         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10206         prepareChangeLog doesn't work when cvs indents):
10207           don't throw an error when no element can be scheduled, there's too
10208           many weird reasons why it doesn't work. Return STOPPED instead.
10209           decoupled elemts' schedulability doesn't depend on bufpens.
10210
10211 2004-04-04  Benjamin Otte  <otte@gnome.org>
10212
10213         * gst/schedulers/gstbasicscheduler.c:
10214         (gst_basic_scheduler_pad_select):
10215           fix uninitialized variable warnings
10216
10217 2004-04-04  Benjamin Otte  <otte@gnome.org>
10218
10219         * gst/gstpad.c: (gst_pad_collect_valist):
10220           fix uninitialized variable warning
10221         * gst/schedulers/entryscheduler.c: (schedule_forward):
10222           fix shadowed variable
10223
10224 2004-04-04  Benjamin Otte  <otte@gnome.org>
10225
10226         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10227         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10228         (gst_pad_select):
10229         * gst/gstpad.h:
10230         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10231         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10232         * gst/gstscheduler.h:
10233           implement gst_pad_collect as replacement for gst_pad_select.
10234           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10235           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10236           new pad_select, lock and unlock calls.
10237         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10238         * gst/cothreads.h:
10239         * gst/schedulers/cothreads_compat.h:
10240         * gst/schedulers/gthread-cothreads.h:
10241           remove unused cothread_lock and cothread_unlock calls
10242         * gst/schedulers/entryscheduler.c:
10243         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10244         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10245         (gst_entry_scheduler_pad_select):
10246           update to new API
10247         * gst/schedulers/gstbasicscheduler.c:
10248         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10249         (gst_basic_scheduler_pad_select):
10250           remove useless lock and unlock calls, update pad_select to new API
10251           (untested)
10252         * gst/schedulers/gstoptimalscheduler.c:
10253         (gst_opt_scheduler_class_init):
10254           remove useless select, lock and unlock function calls
10255         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10256           use gst_pad_collect instead of gst_pad_select
10257
10258 2004-04-04  Benjamin Otte  <otte@gnome.org>
10259
10260         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10261         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10262         (schedule_next_element), (print_entry):
10263           add can_schedule_pad to handle element states.
10264           add schedule_forward to select the correct entry to schedule next
10265
10266 2004-04-03  Benjamin Otte  <otte@gnome.org>
10267
10268         * gst/schedulers/entryscheduler.c: 
10269           remove unused variable, fix error inside Rb, fix compile warning in
10270           unreachable code
10271
10272 2004-04-03  Benjamin Otte  <otte@gnome.org>
10273
10274         * gst/schedulers/entryscheduler.c:
10275           completely revamp the inner workings, so it's a lot easier to
10276           understand and extend
10277
10278 2004-04-03  Andy Wingo  <wingo@pobox.com>
10279
10280         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10281         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10282         This allows better introspection of pipeline topology.
10283         (add_to_chain): Don't do trickery to put loop elements first;
10284         rather, queue a chain sort by marking the chain as dirty.
10285         (remove_from_chain): Mark the chain dirty.
10286         (sort_chain): New function. Sorts the group list so that terminal
10287         sinks are first. This means elements on the sink side will be
10288         preferentially sscheduled before elements on the src side of the
10289         pipeline.
10290         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10291         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10292         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10293         (group_inc_link): Change argument and variable names to match the
10294         new link structure member names (src and sink).
10295         (group_dec_link): Add some description
10296
10297 2004-04-03  Benjamin Otte  <otte@gnome.org>
10298
10299         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10300         * gst/gstinfo.h:
10301         * testsuite/debug/category.c: (main):
10302         * testsuite/debug/commandline.c: (main):
10303         * testsuite/debug/output.c: (main):
10304         * testsuite/debug/printf_extension.c: (main):
10305           fix to successfully build and test with --disable-gst-debug
10306           configure switch (fixes #138705)
10307
10308 2004-04-03  Benjamin Otte  <otte@gnome.org>
10309
10310         * docs/pwg/building-boiler.xml:
10311           add cvs login line and s/anonymous/anoncvs/
10312
10313 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10314
10315         reviewed by Benjamin Otte  <otte@gnome.org>
10316
10317         * gst/gststructure.c: (gst_structure_free):
10318           memleak fix: free fields array (partial fix for #134839)
10319
10320 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10321
10322         * docs/random/ds/0.9-suggested-changes:
10323           Add a note to change handoff use in fakesrc to be usable in
10324           a more generic way (fakesrc should be renamed to appsrc or so).
10325         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10326           Change signal type to scope, so we can fill the buffer in the
10327           handoff handler (that's the whole use of this signal...).
10328
10329 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10330
10331         * docs/pwg/other-ntoone.xml:
10332           Document muxers and n-to-1 elements.
10333
10334 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10335
10336         * gst/registries/gstxmlregistry.c
10337         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10338         determine if a file is a G_MODULE. The old one discards paths
10339         containing "so" somewhere in the middle. My home directory is
10340         called "soto". Go figure...
10341
10342 2004-03-31  David Schleef  <ds@schleef.org>
10343
10344         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10345         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10346         * gst/gstbuffer.h:
10347
10348 2004-03-31  David Schleef  <ds@schleef.org>
10349
10350         * gst/gstvalue.c: (gst_value_union_int_int_range),
10351         (gst_value_union_int_range_int_range), (gst_value_can_union),
10352         (gst_value_union), (_gst_value_initialize):  Add some union
10353         implementations.  We didn't have any previously.
10354         * testsuite/caps/Makefile.am:
10355         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10356         (gst_audioscale_getcaps), (test_caps), (main): A little test
10357         that is the same as the caps manipulation in audioscale.
10358
10359 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10360
10361         * docs/faq/general.xml:
10362           add entry about "does gst support format X?"
10363
10364 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10365
10366         * gst/gstthread.c:
10367           fix docs
10368         * gst/gstutils.h:
10369           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10370
10371 2004-03-30  Benjamin Otte  <otte@gnome.org>
10372
10373         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10374           set the offset of the buffer to the requested offset
10375         * gst/elements/gsttypefind.c: (stop_typefinding):
10376           revert patch 1.18 (which I unfortunately don't know the reason for).
10377           This is needed to allow downstream elements to seek. Otherwise
10378           typefind might overwrite a previous seek by downstream elements.
10379           This lead to errors with id3tag and typefind on some mp3s.
10380         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10381         (gst_entry_scheduler_iterate):
10382           be more verbose when debugging
10383
10384 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10385
10386         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10387           make sure we don't get NULL strings
10388
10389 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10390
10391         * gst/gstcaps.c:
10392         * gst/gstelement.c:
10393         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10394         * gst/gstindex.c: (gst_index_resolver_get_type),
10395         (gst_index_get_type), (gst_index_factory_get_type):
10396         * gst/gstinfo.c:
10397         * gst/gstpad.c:
10398         * gst/gstplugin.c:
10399         * gst/gsturi.c: (gst_uri_handler_get_type):
10400         * gst/gstvalue.c:
10401           first batch of documentation fixes
10402
10403 2004-03-29  David Schleef  <ds@schleef.org>
10404
10405         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10406         * docs/gst/gstreamer-docs.sgml:  More hacking
10407         * docs/gst/gstreamer-sections.txt:
10408         * docs/gst/tmpl/cothreads_compat.sgml:
10409         * docs/gst/tmpl/gstcaps.sgml:
10410         * docs/gst/tmpl/gstclock.sgml:
10411         * docs/gst/tmpl/gstelement.sgml:
10412         * docs/gst/tmpl/gstevent.sgml:
10413         * docs/gst/tmpl/gstpad.sgml:
10414         * docs/gst/tmpl/gstutils.sgml:
10415         * docs/gst/tmpl/gstxml.sgml:
10416         * docs/gst/tmpl/gthread-cothreads.sgml:
10417         * docs/random/ds/0.9-suggested-changes:
10418         * gst/elements/gstfakesink.h: doc fixes
10419         * gst/elements/gstfakesrc.h: doc fixes
10420         * gst/gstcaps.c: doc fixes
10421         * gst/gstcaps.h: doc fixes
10422         * gst/gstelement.c: doc fixes
10423         * gst/gstelement.h: doc fixes
10424         * gst/gstindex.c: doc fixes
10425         * gst/gstinfo.c: doc fixes
10426         * gst/gstpad.c: doc fixes
10427         * gst/gstpad.h: doc fixes
10428         * gst/gstplugin.c: doc fixes
10429         * gst/gsttypefind.h: doc fixes
10430         * gst/gsturi.c: doc fixes
10431         * gst/gstvalue.c: doc fixes
10432
10433 2004-03-29  Colin Walters  <walters@redhat.com>
10434
10435         * gst/registries/gstxmlregistry.c (get_time)
10436         (plugin_times_older_than_recurse):
10437         Use the result of stat to determine whether a path is a file,
10438         so we don't attempt to opendir() files.
10439
10440 2004-03-29  Benjamin Otte  <otte@gnome.org>
10441
10442         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10443           print caps in debugging output when setting caps failed
10444         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10445         (schedule_next_element), (get_buffer), (run_chainhandler),
10446         (element_may_start), (gst_entry_scheduler_chain_handler),
10447         (gst_entry_scheduler_get_handler),
10448         (gst_entry_scheduler_state_transition),
10449         (gst_entry_scheduler_pad_link):
10450           make this scheduler a testcase for mandatory
10451           discont-before-first-buffer which is needed if we want to allow apps
10452           to release the sound device.
10453           add SCHED_ASSERT macro to print scheduler state before an assertion
10454           triggers.
10455
10456 2004-03-29  Benjamin Otte  <otte@gnome.org>
10457
10458         * COPYING:
10459           replace by LGPL (former COPYING.LIB). The core is completely
10460           licensed LGPL.
10461         * COPYING.LIB:
10462           remove
10463
10464 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10465
10466         * po/af.po:
10467         * po/sv.po:
10468           updated Afrikaans and Swedish
10469
10470 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10471
10472         * po/LINGUAS:
10473         * po/az.po:
10474           adding Azerbaijani (Mətin Əmirov)
10475
10476 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10477
10478         * gst/gstelement.h: 
10479         * gst/gstelement.c (gst_element_set_time_delay): New function for
10480         setting element time taking into account a hardware buffering
10481         delay.
10482         (gst_element_set_time): Now just an invocation of
10483         gst_element_set_time_delay.
10484         * gst/gstclock.h: 
10485         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10486         allowing to set event times in the future.
10487         (gst_clock_get_event_time): Now just an invocation of
10488         gst_clock_get_event_time_delay.
10489
10490 2004-03-28  Benjamin Otte  <otte@gnome.org>
10491
10492         * gst/gstbin.c: (gst_bin_set_element_sched),
10493         (gst_bin_unset_element_sched):
10494           don't add decoupled elements to schedulers - otherwise it's
10495           impossible to control if a link to a decoupled element was already
10496           removed from a scheduler or not.
10497         * gst/schedulers/cothreads_compat.h:
10498         * gst/schedulers/gthread-cothreads.h:
10499           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10500           is no "unused" warning.
10501         * gst/schedulers/Makefile.am:
10502         * gst/schedulers/entryscheduler.c:
10503           add new scheduler, based on ideas from talking to David and Martin.
10504           It's supposed to be small and correct. Currently it's also slow (but
10505           it's not noticable)
10506         * examples/retag/retag.c: (main):
10507         * testsuite/bytestream/test1.c: (main):
10508           fix missing NULLs at end of variadic functions
10509         * testsuite/elements/.cvsignore:
10510           update
10511
10512 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10513
10514         * gst/gstevent.h:
10515         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10516
10517 2004-03-25  David Schleef  <ds@schleef.org>
10518
10519         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10520         * docs/gst/tmpl/gstaggregator.sgml:
10521         * docs/gst/tmpl/gstautoplugfactory.sgml:
10522         * docs/gst/tmpl/gstbin.sgml:
10523         * docs/gst/tmpl/gstbuffer.sgml:
10524         * docs/gst/tmpl/gstbufferstore.sgml:
10525         * docs/gst/tmpl/gstfakesink.sgml:
10526         * docs/gst/tmpl/gstfakesrc.sgml:
10527         * docs/gst/tmpl/gstmd5sink.sgml:
10528         * docs/gst/tmpl/gstreamer-unused.sgml:
10529         * docs/gst/tmpl/gstsearchfuncs.sgml:
10530         * docs/gst/tmpl/gstshaper.sgml:
10531         * docs/gst/tmpl/gstspider.sgml:
10532         * docs/gst/tmpl/gsttee.sgml:
10533         * docs/gst/tmpl/gstutils.sgml:
10534         * docs/gst/tmpl/gstvalue.sgml:
10535         * docs/gst/tmpl/gstxml.sgml:
10536         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10537         and we don't support it.
10538         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10539         (gst_use_threads), (gst_has_threads): same
10540         * gst/gstthreaddummy.c: same
10541         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10542         * gst/autoplug/gstspider.h: same
10543         * gst/elements/gstaggregator.h: Remove bogus function from header
10544         * gst/elements/gstfakesink.h: same
10545         * gst/elements/gstfakesrc.h: same
10546         * gst/elements/gstmd5sink.h: same
10547         * gst/elements/gstshaper.h: same
10548         * gst/elements/gsttee.h: same
10549         * gst/gstbin.c: doc fixes
10550         * gst/gstbin.h: Remove unused definition.
10551         * gst/gstbuffer.c: doc fixes
10552         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10553         * gst/gstfilter.c: doc fixes
10554         * gst/gsttag.c: doc fixes
10555         * gst/gstvalue.c: doc fixes
10556
10557 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10558
10559         * docs/pwg/advanced-types.xml:
10560           Document typefinding.
10561         * docs/pwg/other-oneton.xml:
10562           Document one-to-n elements, demuxers and parsers.
10563
10564 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10565
10566         reviewed by: David Schleef  <ds@schleef.org>
10567
10568         * configure.ac: Check bison version (bug #127838)
10569
10570 2004-03-25  David Schleef  <ds@schleef.org>
10571
10572         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10573         * docs/gst/gstreamer-sections.txt:
10574         * docs/gst/tmpl/gstautoplug.sgml:
10575         * docs/gst/tmpl/gststaticautoplug.sgml:
10576         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10577         * docs/gst/tmpl/gstutils.sgml:
10578         * docs/gst/tmpl/gstxml.sgml:
10579
10580 2004-03-24  David Schleef  <ds@schleef.org>
10581
10582         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10583         manual being such complete crap, that I decided to do major
10584         hacking of it.  This checkin replaces any fine tuning that
10585         may have been done previously, with the benefit of actually
10586         being complete for much of the API that was changed since
10587         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10588         * docs/gst/gstreamer-sections.txt:
10589         * docs/gst/tmpl/GstBin.sgml:
10590         * docs/gst/tmpl/GstBuffer.sgml:
10591         * docs/gst/tmpl/GstCaps.sgml:
10592         * docs/gst/tmpl/GstClock.sgml:
10593         * docs/gst/tmpl/GstCompat.sgml:
10594         * docs/gst/tmpl/GstData.sgml:
10595         * docs/gst/tmpl/GstElement.sgml:
10596         * docs/gst/tmpl/GstEvent.sgml:
10597         * docs/gst/tmpl/GstIndex.sgml:
10598         * docs/gst/tmpl/GstStructure.sgml:
10599         * docs/gst/tmpl/GstTag.sgml:
10600         * docs/gst/tmpl/cothreads.sgml:
10601         * docs/gst/tmpl/cothreads_compat.sgml:
10602         * docs/gst/tmpl/gettext.sgml:
10603         * docs/gst/tmpl/grammar.tab.sgml:
10604         * docs/gst/tmpl/gst-i18n-app.sgml:
10605         * docs/gst/tmpl/gst-i18n-lib.sgml:
10606         * docs/gst/tmpl/gst.sgml:
10607         * docs/gst/tmpl/gst_private.sgml:
10608         * docs/gst/tmpl/gstaggregator.sgml:
10609         * docs/gst/tmpl/gstarch.sgml:
10610         * docs/gst/tmpl/gstatomic.sgml:
10611         * docs/gst/tmpl/gstatomic_impl.sgml:
10612         * docs/gst/tmpl/gstbin.sgml:
10613         * docs/gst/tmpl/gstbuffer.sgml:
10614         * docs/gst/tmpl/gstbufferstore.sgml:
10615         * docs/gst/tmpl/gstcaps.sgml:
10616         * docs/gst/tmpl/gstclock.sgml:
10617         * docs/gst/tmpl/gstcompat.sgml:
10618         * docs/gst/tmpl/gstconfig.sgml:
10619         * docs/gst/tmpl/gstcpu.sgml:
10620         * docs/gst/tmpl/gstdata.sgml:
10621         * docs/gst/tmpl/gstdata_private.sgml:
10622         * docs/gst/tmpl/gstelement.sgml:
10623         * docs/gst/tmpl/gstenumtypes.sgml:
10624         * docs/gst/tmpl/gsterror.sgml:
10625         * docs/gst/tmpl/gstevent.sgml:
10626         * docs/gst/tmpl/gstfakesink.sgml:
10627         * docs/gst/tmpl/gstfakesrc.sgml:
10628         * docs/gst/tmpl/gstfilesink.sgml:
10629         * docs/gst/tmpl/gstfilter.sgml:
10630         * docs/gst/tmpl/gstindex.sgml:
10631         * docs/gst/tmpl/gstinfo.sgml:
10632         * docs/gst/tmpl/gstinterface.sgml:
10633         * docs/gst/tmpl/gstlog.sgml:
10634         * docs/gst/tmpl/gstmacros.sgml:
10635         * docs/gst/tmpl/gstmarshal.sgml:
10636         * docs/gst/tmpl/gstmd5sink.sgml:
10637         * docs/gst/tmpl/gstmultifilesrc.sgml:
10638         * docs/gst/tmpl/gstobject.sgml:
10639         * docs/gst/tmpl/gstpad.sgml:
10640         * docs/gst/tmpl/gstparse.sgml:
10641         * docs/gst/tmpl/gstpipeline.sgml:
10642         * docs/gst/tmpl/gstplugin.sgml:
10643         * docs/gst/tmpl/gstpluginfeature.sgml:
10644         * docs/gst/tmpl/gstqueue.sgml:
10645         * docs/gst/tmpl/gstreamer-unused.sgml:
10646         * docs/gst/tmpl/gstregistry.sgml:
10647         * docs/gst/tmpl/gstregistrypool.sgml:
10648         * docs/gst/tmpl/gstscheduler.sgml:
10649         * docs/gst/tmpl/gstsearchfuncs.sgml:
10650         * docs/gst/tmpl/gstshaper.sgml:
10651         * docs/gst/tmpl/gstspider.sgml:
10652         * docs/gst/tmpl/gstspideridentity.sgml:
10653         * docs/gst/tmpl/gststructure.sgml:
10654         * docs/gst/tmpl/gstsystemclock.sgml:
10655         * docs/gst/tmpl/gsttag.sgml:
10656         * docs/gst/tmpl/gsttaginterface.sgml:
10657         * docs/gst/tmpl/gsttee.sgml:
10658         * docs/gst/tmpl/gstthread.sgml:
10659         * docs/gst/tmpl/gsttrace.sgml:
10660         * docs/gst/tmpl/gsttrashstack.sgml:
10661         * docs/gst/tmpl/gsttypefind.sgml:
10662         * docs/gst/tmpl/gsttypes.sgml:
10663         * docs/gst/tmpl/gsturi.sgml:
10664         * docs/gst/tmpl/gsturitype.sgml:
10665         * docs/gst/tmpl/gstutils.sgml:
10666         * docs/gst/tmpl/gstvalue.sgml:
10667         * docs/gst/tmpl/gstversion.sgml:
10668         * docs/gst/tmpl/gstxml.sgml:
10669         * docs/gst/tmpl/gstxmlregistry.sgml:
10670         * docs/gst/tmpl/gthread-cothreads.sgml:
10671         * docs/gst/tmpl/types.sgml:
10672
10673 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10674
10675         * docs/pwg/other-sink.xml:
10676         * docs/pwg/other-source.xml:
10677           Documentation on how to write source and sink elements. Other
10678           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10679           manager, autoplugger) are all still pending.
10680
10681 2004-03-25  Benjamin Otte  <otte@gnome.org>
10682
10683         * testsuite/elements/Makefile.am:
10684         * testsuite/elements/gst-compprep-check:
10685           add check to make sure gst-compprep works
10686         * testsuite/elements/gst-inspect-check.in:
10687           improve initialization output
10688         * testsuite/Makefile.am:
10689         * testsuite/gst-inspect-check:
10690           remove old file
10691
10692 2004-03-24  David Schleef  <ds@schleef.org>
10693
10694         * testsuite/elements/Makefile.am:
10695         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10696         to the testsuite.
10697
10698 2004-03-24  Benjamin Otte  <otte@gnome.org>
10699
10700         * libs/gst/control/dparam.c: (gst_dparam_attach),
10701         (gst_dparam_detach):
10702         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10703           fix lvalue casts for real
10704
10705 2004-03-24  Benjamin Otte  <otte@gnome.org>
10706
10707         * gst/schedulers/gstbasicscheduler.c:
10708         (gst_basic_scheduler_src_wrapper):
10709         * gst/schedulers/gstoptimalscheduler.c:
10710         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10711         (pad_clear_queued), (gst_opt_scheduler_add_element),
10712         (gst_opt_scheduler_remove_element):
10713           fix GStreamer to not have issues with lvalue casts anymore (fixes
10714           #136841)
10715
10716 2004-03-24  Benjamin Otte  <otte@gnome.org>
10717
10718         * gst/gstelement.c:
10719           add documentation about a gobject quirk where the object hasn't the
10720           correct class pointer set on initialization
10721         * gst/schedulers/gstbasicscheduler.c:
10722         (gst_basic_scheduler_src_wrapper):
10723           make sure to not run into an infinite loop
10724
10725 2004-03-22  Benjamin Otte  <otte@gnome.org>
10726
10727         * gst/gstutils.c: (gst_util_dump_mem):
10728         * gst/gstutils.h:
10729           first argument of gst_util_dump_mem should be const
10730
10731 2004-03-22  Johan Dahlin  <johan@gnome.org>
10732
10733         * gst/gstvalue.h: Clean up a little bit.
10734
10735 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10736
10737         reviewed by Benjamin Otte  <otte@gnome.org>
10738
10739         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10740         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10741         (gst_aggregator_class_init), (gst_aggregator_init):
10742         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10743         (gst_filesrc_dispose), (gst_filesrc_set_location):
10744         * gst/elements/gstidentity.c: (gst_identity_finalize),
10745         (gst_identity_class_init), (gst_identity_chain):
10746         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10747         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10748         (gst_statistics_class_init):
10749         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10750         (gst_tee_get_property):
10751           clean up used memory in this elements correctly on teardown (closes
10752           #137279)
10753
10754 2004-03-20  Colin Walters  <walters@redhat.com>
10755
10756         * gst/registries/gstxmlregistry.c:
10757         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10758         registry saving atomic.
10759
10760 2004-03-20  Colin Walters  <walters@redhat.com>
10761
10762         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10763         Just use
10764         access() instead of actually creating and deleting files.
10765
10766 2004-03-18  David Schleef  <ds@schleef.org>
10767
10768         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10769         (bug #137625)
10770
10771 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10772
10773         * po/sv.po: updated translation (Christian Rose)
10774
10775 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10776
10777         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10778         (gst_filesink_get_query_types), (_do_init),
10779         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10780           return FALSE silently
10781         * po/af.po: updated translation (Petri Jooste)
10782
10783 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10784
10785         * Makefile.am:
10786         * configure.ac:
10787           dist common properly
10788         * po/af.po:
10789         * po/fr.po:
10790         * po/nl.po:
10791         * po/sr.po:
10792         * po/sv.po:
10793           refreshing translations
10794
10795 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10796
10797         * po/LINGUAS:
10798         * po/sv.po:
10799         * po/af.po:
10800           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10801
10802 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10803
10804         * Makefile.am: use common/release.mak
10805
10806 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10807
10808         * docs/faq/gst-uninstalled:
10809           adding gst-monkeysaudio to the list of possible plugin dirs
10810
10811 2004-03-16  David Schleef  <ds@schleef.org>
10812
10813         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10814         (gst_init_check_with_popt_table):  Fix some gettext strings to
10815         make them easier to translate.  Required making the strings
10816         non-const.
10817
10818 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10819
10820         * configure.ac: bump nano to 1
10821
10822 === release 0.8.0 ===
10823
10824 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10825
10826         * configure.ac: release 0.8.0, "Executive Slacks"
10827
10828 2004-03-16  Johan Dahlin  <johan@gnome.org>
10829
10830         * gst/schedulers/gstoptimalscheduler.c
10831         (gst_opt_scheduler_pad_unlink): Remove double ;,
10832         spotted by Scott Wheeler
10833
10834 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10835
10836         * configure.ac: bump libtool version
10837
10838 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10839
10840         * gst/gstcaps.h:
10841         * gst/gststructure.h:
10842           add reserved padding
10843
10844 2004-03-15  Benjamin Otte  <otte@gnome.org>
10845
10846         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10847           set the first parameter for select call correctly.
10848           (fixes #137230)
10849
10850 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10851
10852         * *.c,*.h: don't mix tabs and spaces
10853
10854 2004-03-15  Johan Dahlin  <johan@gnome.org>
10855
10856         * gst/schedulers/gstoptimalscheduler.c
10857         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10858         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10859
10860         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10861         
10862 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10863
10864         * testsuite/Rules:
10865           fix gst-register rules
10866
10867 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10868
10869         * testsuite/Rules:
10870           use versioned gst-register
10871
10872 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10873
10874         * docs/libs/gstreamer-libs-sections.txt:
10875           remove </SUBSECTION>
10876         * gst/gstplugin.c:
10877         * gst/gstregistry.c: (gst_registry_add_plugin):
10878         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10879         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10880           add debugging and fix some comment blocks
10881
10882 2004-03-15  Johan Dahlin  <johan@gnome.org>
10883
10884         * *.h: Revert indent changes.
10885         
10886 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10887
10888         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10889           g_error_free the g_error
10890         * tools/gst-feedback-m.m:
10891           check for other versions of gstreamer
10892         * tools/gst-indent:
10893           use sh, not bash
10894
10895 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10896
10897         * tools/gst-register.c: do not spill paths when registries are not
10898           writable, until we fix the "user running gst-register" case.
10899
10900 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10901
10902         * *.c, *.h: commit of gst-indent run on core
10903
10904 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10905
10906         * tools/gst-indent:
10907         * tools/Makefile.am:
10908           add our indentation style as a script
10909
10910 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10911
10912         * po/sr.po:
10913         * po/LINGUAS:
10914           added Serbian translation
10915
10916 2004-03-13  Benjamin Otte  <otte@gnome.org>
10917
10918         * gst/gstelement.c:
10919           add documentation note about gst_element_found_tags_for_pad not
10920           being usable in getfunctions. (see #137042)
10921
10922 2004-03-12  David Schleef  <ds@schleef.org>
10923
10924         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10925         change API right now!  Readd gst_caps_is_simple() macro.
10926         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10927         uninitialized variable.  I'd bet this caused crashes.
10928         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10929
10930 2004-03-12  Johan Dahlin  <johan@gnome.org>
10931
10932         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10933         * gst/gstcaps.h: Clean up
10934
10935         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10936         _gst_caps_initalize()
10937
10938         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10939         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10940
10941         * gst/gststructure.c (gst_structure_get_type): Ditto
10942
10943         * gst/gststructure.h: Ditto
10944         
10945 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10946
10947         * gst/gstqueue.c: (gst_queue_init):
10948           Reset default max. values in queues. Reason is simply to avoid
10949           braindead use. If you want wider values, use the properties. The
10950           default is supposed to always work. Wider values would make this
10951           beast a memory hog by default (250 full-PAL RGB32 video frames?
10952           That's 440 MB! No thank you).
10953
10954 2004-03-10  David Schleef  <ds@schleef.org>
10955
10956         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10957         were found.  (bug #136793)
10958
10959 2004-03-10  Johan Dahlin  <johan@gnome.org>
10960
10961         * gst/schedulers/gstoptimalscheduler.c
10962         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10963         links to elements within the same group, so we can finally remove
10964         that annoying warning. Refactor the code a little bit
10965         (group_dec_links_for_element): Split out
10966
10967 2004-03-09  David Schleef  <ds@schleef.org>
10968
10969         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10970         (bug #134863)
10971
10972 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * configure.ac: first bug fix due to major/minor bump
10975
10976 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10977
10978         * configure.ac: bump nano to 1
10979
10980 === release 0.7.6 ===
10981
10982 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10983
10984         * NEWS:
10985         * RELEASE:
10986         * configure.ac:
10987           releasing 0.7.6, "Almost"
10988         * po/fr.po:
10989         * po/nl.po:
10990         * tools/Makefile.am:
10991         * tools/gst-feedback-m.m:
10992           unversioned source
10993
10994 2004-03-09  Johan Dahlin  <johan@gnome.org>
10995
10996         Reviewed by: Thomas Vander Stichele
10997
10998         * gst/gstelement.c (gst_element_class_init): register second
10999         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11000         language bindings can (de)marshall correctly.
11001
11002         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11003
11004         * gst/gsterror.c (gst_g_error_get_type): New function
11005
11006         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11007         with VOID:OBJECT,OBJECT,STRING 
11008
11009 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11010
11011         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11012         Free a leaked g_timer on early returns.
11013
11014 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11015
11016         * docs/pwg/advanced-types.xml:
11017           Add cinepak description.
11018
11019 2004-03-07  David Schleef  <ds@schleef.org>
11020
11021         * docs/random/mimetypes:  Added cinepak description
11022
11023 2004-03-07  Andy Wingo  <wingo@pobox.com>
11024
11025         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11026
11027         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11028         there are no links to other groups when a group is destroyed.
11029         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11030         removed from a group, make sure the link count to elements linked
11031         to other pads is appropriately decremented. This really fixes
11032         #135672.
11033
11034         The 1.60->1.61 patch has been reapplied in light of this fix.
11035
11036         * gst/gstelement.c (gst_element_dispose): Really protect against
11037         multiple invocations this time.
11038
11039 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11040
11041         * docs/gst/gstreamer-sections.txt:
11042         * docs/gst/tmpl/gsttag.sgml:
11043           remove some deprecated functions, document some existing ones
11044         * gst/gsttag.c: (gst_tag_get_flag):
11045         * gst/gsttag.h:
11046           add accessor function
11047
11048 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11049
11050         * docs/gst/gstreamer-sections.txt:
11051         * docs/gst/tmpl/gsttag.sgml:
11052         * docs/gst/tmpl/gstxml.sgml:
11053         * gst/gsttag.c: (gst_tag_get_flag):
11054         * gst/gsttag.h:
11055
11056 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11057
11058         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11059         leak
11060
11061 2004-03-05  David Schleef  <ds@schleef.org>
11062
11063         * REQUIREMENTS: Add bison and flex.
11064         * configure.ac: Fix comment about bison.
11065         * docs/random/ds/0.9-suggested-changes: yer ma
11066         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11067
11068 2004-03-05  Benjamin Otte  <otte@gnome.org>
11069
11070         * gst/gstelement.c: (gst_element_error_full):
11071           revert recent recursive state changing commit - messing with other
11072           elements' states is evil and should be done by apps only.
11073
11074 2004-03-05  Benjamin Otte  <otte@gnome.org>
11075
11076         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11077           check for empty intersection instead of NULL caps
11078         (gst_element_get_compatible_pad_filtered):
11079           remove old workaround that is only a bug nowadays
11080
11081 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11082
11083         * gst/gstelement.c: (gst_element_error_full):
11084           make elements try to recursively change state to PAUSED on all
11085           parents after an error to suppress ensuing warnings
11086         * gst/parse/grammar.y:
11087           make it check if it was able to sync the state, and throw an error
11088           if not, so stuff like
11089           oggdemux ! vorbisdec ! osssink gets caught
11090
11091 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11092
11093         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11094           it contains lib64; use AS_AC_EXPAND to handle it properly
11095
11096 2004-03-05  David Schleef  <ds@schleef.org>
11097
11098         * gst/gstcpuid_i386.s:  Remove unused code
11099         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11100         (gst_getbits_newbuf): Remove MMX code
11101         * libs/gst/getbits/getbits.h: Remove MMX code
11102
11103 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11104
11105         * debian/.cvsignore:
11106         * debian/README.Debian:
11107         * debian/changelog:
11108         * debian/control:
11109         * debian/control.in:
11110         * debian/copyright:
11111         * debian/gstreamer-core-libs-dev.files:
11112         * debian/gstreamer-core-libs.files:
11113         * debian/gstreamer-core.files:
11114         * debian/gstreamer-core.postinst:
11115         * debian/gstreamer-core.postrm:
11116         * debian/gstreamer-doc.files:
11117         * debian/gstreamer-doc.links:
11118         * debian/gstreamer-doc.lintian:
11119         * debian/gstreamer-runtime.files:
11120         * debian/gstreamer-runtime.manpages:
11121         * debian/gstreamer-runtime.postinst:
11122         * debian/gstreamer-runtime.postrm:
11123         * debian/gstreamer-tools.files:
11124         * debian/gstreamer-tools.manpages:
11125         * debian/libgstreamer-dev.files:
11126         * debian/libgstreamer0.4.1.files:
11127         * debian/libgstreamerVERSION.files:
11128         * debian/rules:
11129         Debian package info not maintained here.
11130
11131 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11132
11133         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11134         * gst/gstbin.c: (gst_bin_class_init):
11135         * gst/gstelement.c: (gst_element_class_init):
11136         * gst/gstindex.c: (gst_index_class_init):
11137         * gst/gstobject.c: (gst_object_class_init),
11138         (gst_signal_object_class_init):
11139         * gst/gstpad.c: (gst_pad_template_class_init):
11140         * gst/gstregistry.c: (gst_registry_class_init):
11141         * gst/gsturi.c: (gst_uri_handler_base_init):
11142         * gst/gstxml.c: (gst_xml_class_init):
11143         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11144         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11145           make all signal names use dashes instead of underscore
11146
11147 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11148
11149         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11150
11151 2004-03-03  Benjamin Otte  <otte@gnome.org>
11152
11153         * gst/schedulers/gstoptimalscheduler.c:
11154           revert last commit by Andy Wingo. It causes segfaults on unreffing
11155           in Rhythmbox. (see bug #135672)
11156
11157 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11158
11159         * po/fr.po: fix typo
11160
11161 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11162
11163         * tools/gst-inspect.c: (main): 
11164         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11165
11166 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11167
11168         * configure.ac:
11169           get GLIB_ONLY and POPT flags for the nonversioned binaries
11170         * tools/Makefile.am:
11171           use them
11172
11173 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11174
11175         * gst/gst.c: (init_post):
11176           change so that GST_REGISTRY now is where the global registry gets
11177           saved, since that is where plugins now get attached to first, and
11178           spilled over to the user registry.  Note that in the case of using
11179           GST_REGISTRY env var, we don't want to affect any real registries
11180           beyond the one given by this var, and thus we don't set a user
11181           registry to spill to.  So make sure GST_REGISTRY is writable.
11182
11183 2004-03-01  David Schleef  <ds@schleef.org>
11184
11185         * AUTHORS:  Added some names.  Add yourself if you're missing.
11186
11187 2004-03-01  David Schleef  <ds@schleef.org>
11188
11189         * MAINTAINERS: Add
11190
11191 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11192
11193         * configure.ac:
11194           remove whitespace
11195         * docs/gst/tmpl/gstbuffer.sgml:
11196         * docs/gst/tmpl/gstdata.sgml:
11197         * docs/gst/tmpl/gstreamer-unused.sgml:
11198         * docs/gst/tmpl/gstxml.sgml:
11199           doc update
11200         * docs/manuals.mak:
11201           add a FIXME
11202         * docs/pwg/intro-preface.xml:
11203         * docs/pwg/pwg.xml:
11204           remove GNOME
11205         * gst/gst.c: (init_post):
11206           try GST_PLUGIN_PATH paths for the _global_registry first
11207         * gst/gstelement.h:
11208           add the error message as well, otherwise (null) debug info doesn't
11209           make much sense
11210         * tools/gst-register.c: (main):
11211           spill paths to next registry if this registry is not writable
11212         * po/fr.po:
11213         * po/nl.po:
11214           translation updates
11215
11216 2004-03-01  Johan Dahlin  <johan@gnome.org>
11217
11218         * gst/gstbuffer.c (_gst_buffer_initialize): 
11219         * gst/gstdata.c (gst_data_get_type): 
11220         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11221         instead of ref, since some applications that uses GBoxed
11222         routines depends on a function that actually returns a copy.
11223
11224 2004-02-27  Benjamin Otte  <otte@gnome.org>
11225
11226         * gst/gstbuffer.h:
11227           remove gst_buffer_free, use gst_data_unref
11228         * gst/gstdata.c: (gst_data_get_type):
11229           use refcounting in GstData GBoxed registration
11230         * gst/gstdata.h:
11231           remove gst_data_free, use gst_data_unref
11232
11233 2004-02-27  Johan Dahlin  <johan@gnome.org>
11234
11235         * gst/gstdata.c (gst_data_get_type): New function, register
11236         GstData as a GBoxed type.
11237
11238         * gst/gstdata.h (GST_TYPE_DATA): New macro
11239
11240 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11241
11242         * Makefile.am:
11243         * gstreamer.spec.in:
11244           put back RELEASE
11245         * gst/Makefile.am:
11246           clean up non-disting of built files
11247         * testsuite/debug/commandline.c:
11248           test fix for option rename
11249
11250 2004-02-26  David Schleef  <ds@schleef.org>
11251
11252         * configure.ac:  We don't really need glib-2.3.  Also remove
11253         some unneeded checks for library functions.
11254         * gst/Makefile.am:  Instead, we need to not dist files created
11255         by glib-genmarshal.
11256
11257 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11258
11259         * configure.ac:
11260           bump glib required version to 2.3.0 for g_value_takes_boxed
11261
11262  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11263
11264         * common/m4/gst-docs.m4
11265         change flavour text from enable to disable as enable is our default
11266         closes bug Bug 135304
11267
11268 === release 0.7.5 ===
11269  
11270  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11271  
11272         * NEWS:
11273           instate NEWS file
11274         * Makefile.am:
11275         * gstreamer.spec.in:
11276         * RELEASE:
11277           put back release
11278         * configure.ac:
11279         * docs/random/release:
11280           more updates
11281
11282 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11283
11284         * gst/gsttag.c: (_gst_tag_initialize):
11285         * po/fr.po:
11286         * po/nl.po:
11287           remove hyphen from codec tags
11288
11289 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11290
11291         * gst/parse/Makefile.am:
11292           fix dependency so that a make from a clean build works the first
11293           time
11294
11295 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11296
11297         * docs/random/release:
11298           update release strategy
11299         * po/fr.po:
11300           auto-update po file
11301         * po/nl.po:
11302           update dutch translation
11303
11304 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11305
11306         * docs/manual/debugging.xml:
11307         fix manual for new debugging system
11308
11309 2004-02-25  Andy Wingo  <wingo@pobox.com>
11310
11311         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11312         gst_pad_link_prepare. Please email the list with specific reasons
11313         for reverting.
11314
11315 2004-02-24  Andy Wingo  <wingo@pobox.com>
11316
11317         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11318         invocations.
11319
11320         * gst/schedulers/gstoptimalscheduler.c:
11321         I added a mess of prototypes at the top of the file by way of
11322         documentation. Some of the operations on chains and groups were
11323         re-organized.
11324
11325         (create_group): Added a type argument so if the group is enabled,
11326         the setup_group_scheduler knows what to do.
11327         (group_elements): Added a type argument here, too, to be passed on
11328         to create_group.
11329         (group_element_set_enabled): If an unlinked PLAYING element is
11330         added to a bin, we have to create a new group to hold the element,
11331         and this function will be called before the group is added to the
11332         chain. Thus we have a valid case for group->chain==NULL. Instead
11333         of calling chain_group_set_enabled, just set the flag on the group
11334         (the chain's status will be set when the group is added to it).
11335         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11336         Setup the group scheduler when the group is enabled, not
11337         specifically when an element goes PAUSED->PLAYING. This means
11338         PLAYING elements can be added, linked, and scheduled into a
11339         PLAYING pipeline, as was intended.
11340         (add_to_group): Don't ref the group twice. I don't know when this
11341         double-ref got in here. Removing it has the potential to cause
11342         segfaults if other parts of the scheduler are buggy. If you find
11343         that the scheduler is segfaulting for you, put in an extra ref
11344         here and see if that hacks over the underlying issue. Of course,
11345         then find out what code is unreffing a group it doesn't own...
11346         (create_group): Make the extra refcount floating, and remove it
11347         after adding the element. This means that...
11348         (unref_group): Destroy when the refcount reaches 0, not 1, like
11349         every other refcounted object in the known universe.
11350         (remove_from_group): When a group becomes empty, set it to be not
11351         active, and remove it from its chain. Don't unref it again,
11352         there's no floating reference any more.
11353         (destroy_group): We have to remove the group from the chain in
11354         remove_from_group (rather than here) to break refcounting cycles
11355         (the chain always has a ref on the group). So assert that
11356         group->chain==NULL.
11357         (ref_group_by_count): Removed, it was commented out anyway.
11358         (merge_chains): Use the remove_from_chain and add_to_chain
11359         primitives to do the reparenting, instead of rolling our own
11360         implementation.
11361         (add_to_chain): The first non-disabled group in the chain's group
11362         list will be the entry point for the chain. Because buffers can
11363         accumulate in loop elements' peer bufpens, we preferentially
11364         schedule loop groups before get groups to avoid unnecessary
11365         execution of get-based groups when the bufpens are already full.
11366         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11367         (get_group_schedule_function): Ditto.
11368         (loop_group_schedule_function): Ditto.
11369         (gst_opt_scheduler_loop_wrapper): Ditto.
11370         (gst_opt_scheduler_iterate): Ditto.
11371
11372         I understand the opt scheduler now, yippee!
11373
11374         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11375         (gst_pad_get_name, gst_pad_set_chain_function) 
11376         (gst_pad_set_get_function, gst_pad_set_event_function) 
11377         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11378         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11379         (gst_pad_set_query_function, gst_pad_get_query_types) 
11380         (gst_pad_get_query_types_default) 
11381         (gst_pad_set_internal_link_function) 
11382         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11383         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11384         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11385         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11386         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11387         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11388         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11389         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11390         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11391         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11392         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11393         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11394         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11395         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11396         argument checks, and some doc fixes.
11397
11398         (gst_pad_custom_new_from_template): Um, does anyone
11399         use these functions? Actually make a custom pad instead of a
11400         normal one.
11401         (gst_pad_try_set_caps): Transpose some checks.
11402         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11403         the pad is in negotiation.
11404         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11405         
11406         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11407
11408         * gst/gstelement.h: 
11409         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11410         on the list.
11411
11412 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11413
11414         * gst/gstbin.c: (gst_bin_add):
11415           add error for not being able to add elements
11416
11417 2004-02-22  Julien MOUTTE <julien@moutte.net>
11418
11419         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11420         audio-codec and video-codec.
11421
11422 2004-02-22  Benjamin Otte  <otte@gnome.org>
11423
11424         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11425
11426         * autogen.sh:
11427           replace test -e with test -x for mkinstalldirs to be more portable.
11428           (fixes #134816)
11429
11430 2004-02-22  Benjamin Otte  <otte@gnome.org>
11431
11432         * gst/gstpad.c:
11433           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11434           too noisy
11435         * gst/gsttag.c: (_gst_tag_initialize):
11436         * gst/gsttag.h:
11437           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11438         * libs/gst/control/dparam.c: (gst_dparam_attach):
11439         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11440           check that types for attached dparams match
11441
11442 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11443
11444         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11445         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11446         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11447           fix errors
11448
11449 2004-02-20  Andy Wingo  <wingo@pobox.com>
11450
11451         * gst/gstbin.c:
11452         * gst/gstbuffer.c:
11453         * gst/gstplugin.c:
11454         * gst/registries/gstxmlregistry.c: 
11455         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11456
11457         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11458         (gst_element_add_pad): DEBUG->INFO, some fixes.
11459         (gst_element_get_compatible_pad_template): Just see if the
11460         templates' caps intersect, not if one is a strict subset of the
11461         other. This conforms more to what gst_pad_link_intersect() does.
11462         (gst_element_class_add_pad_template): Don't memcpy the pad
11463         template, just ref it.
11464         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11465
11466         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11467         (gst_pad_link_filtered): Debug changes.
11468         (gst_pad_link_prepare): New function, consolidated from
11469         can_link_filtered and link_filtered.
11470
11471         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11472         look more like that of the functions in gstelement.c
11473
11474         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11475         object, and return the empty string if object is NULL.
11476
11477         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11478         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11479         LOG, not DEBUG. We still get flex info on debug.
11480
11481         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11482         debug string more verbose.
11483         (plugin_times_older_than): DEBUG->LOG.
11484
11485 2004-02-20  Julien MOUTTE <julien@moutte.net>
11486
11487         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11488         will emit found_tag for each stream they demux with the codec.
11489
11490 2004-02-20  Benjamin Otte  <otte@gnome.org>
11491
11492         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11493           copy navigation event correctly. Check freeing tag lists. 
11494         * gst/gstthread.c: (gst_thread_change_state):
11495           don't abort() on state changing mess - it might happen because of
11496           bugs.
11497         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11498           use boxed functions
11499         * gst/gstvalue.h:
11500           fix GST_VALUE_HOLDS_CAPS
11501
11502 2004-02-19  David Schleef  <ds@schleef.org>
11503
11504         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11505         and use it for GST_FUNCTION.  (bug #134750)
11506
11507 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11508
11509         * po/fr.po:
11510         * po/nl.po:
11511           updating translations
11512
11513 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11514
11515         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11516
11517 2004-02-18  kost@imn.htwk-leipzig.de
11518
11519         reviewed by: David Schleef  <ds@schleef.org>
11520
11521         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11522         for libgstcontrol.
11523
11524 2004-02-18  David Schleef  <ds@schleef.org>
11525
11526         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11527         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11528         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11529         * tools/gst-inspect.c: (print_element_info): Support dumping of
11530         double dparam information.
11531
11532 2004-02-17  David Schleef  <ds@schleef.org>
11533
11534         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11535         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11536         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11537         Use GST_TYPE_CAPS in signal prototype.
11538         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11539         Convert GST_TYPE_CAPS to boxed.
11540         * gst/gstelement.c: (gst_element_class_init):
11541         Use GST_TYPE_TAG_LIST in signal prototype.
11542         * gst/gstindex.c: (gst_index_class_init):
11543         * gst/gstindex.h:
11544         Add GST_TYPE_INDEX_ENTRY type.
11545         * gst/gstmarshal.list:
11546         Add necessary marshal types.
11547         * gst/gstpad.c: (gst_real_pad_class_init),
11548         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11549         (gst_pad_recover_caps_error):
11550         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11551         * gst/gststructure.c: (_gst_structure_initialize),
11552         (gst_structure_copy), (_gst_structure_copy_conditional):
11553         * gst/gststructure.h:
11554         Convert GST_TYPE_STRUCTURE to boxed.
11555         * gst/gsttag.c: (gst_tag_list_get_type):
11556         * gst/gsttag.h:
11557         Add GST_TYPE_TAG_LIST type.
11558
11559 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11560
11561         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11562         to what we agreed with david.
11563         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11564
11565 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11566
11567         * po/nl.po: update translation
11568
11569 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11570
11571         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11572           throw an error if spider is trying to play a mime type there is
11573           no decoder for
11574         * po/POTFILES.in:
11575           add gst/autoplug/gstspider.c for translation
11576
11577 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11578
11579         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11580         silently when the pad is negotiating.
11581
11582 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11583
11584         * docs/faq/Makefile.am:
11585           add script to run gstreamer uninstalled 
11586         * docs/faq/faq.xml:
11587         * docs/faq/developing.xml:
11588         * docs/faq/gst-uninstalled:
11589           extract script to run gstreamer uninstalled
11590         * docs/manuals.mak:
11591           add EXTRA_SOURCES variable for Makefile.am's to set to
11592           use additional SOURCE files for the doc build
11593
11594 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11595
11596         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11597
11598 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11599
11600         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11601         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11602         an error was thrown by osssink. Basically a state change failure for
11603         an element in a different scheduling group was considered as
11604         successful, which means that caps nego was going on and weird stuff
11605         happened. Like I wrote in the comment there, if someone wants to
11606         revert that please drop me a mail explaining why because I really see
11607         no point in keeping that broken behaviour there.
11608         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11609         be empty, we then return NULL which will trigger a nice error when 
11610         pulling from the pad.
11611
11612 2004-02-13  David Schleef  <ds@schleef.org>
11613
11614         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11615         (gst_dparam_get_property), (gst_dparam_set_property),
11616         (gst_dparam_do_update_default):
11617         * libs/gst/control/dparam.h:
11618         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11619         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11620         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11621         (gst_dpsmooth_do_update_double):
11622         * libs/gst/control/dparam_smooth.h:
11623         * libs/gst/control/dparammanager.c:
11624         (gst_dpman_inline_direct_update):
11625         Add support for double dparams.
11626
11627 2004-02-13  David Schleef  <ds@schleef.org>
11628
11629         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11630         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11631
11632 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11633
11634         reviewed by: David Schleef  <ds@schleef.org>
11635
11636         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11637         (gst_fdsrc_init), (gst_fdsrc_set_property),
11638         (gst_fdsrc_get_property), (gst_fdsrc_get):
11639         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11640         and sends an EOS event if file descriptor reading times out.
11641
11642 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11643
11644         * configure.ac:
11645           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11646
11647 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11648
11649         * configure.ac: pass required libxml version as argument
11650         (bug reported by Christophe Fergeau)
11651
11652 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11653   
11654         * docs/gst/gstreamer-docs.sgml:
11655         * docs/gst/tmpl/gstxml.sgml:
11656         * docs/libs/gstreamer-libs-docs.sgml:
11657           version API docs
11658
11659 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11660
11661         * gst/gstinfo.c:
11662         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11663         (gst_registry_pool_feature_filter):
11664         * gst/gstthread.c: (gst_thread_class_init):
11665         * gst/gstvalue.c:
11666           add includes exposed by building without libxml
11667         * gst/indexers/Makefile.am:
11668           do not build fileindex when LOADSAVE disabled; we should have
11669           a better libxml check later since fileindex depends on xml, not
11670           LOADSAVE or REGISTRY
11671         * libs/gst/control/Makefile.am:
11672           link with m
11673         * tools/Makefile.am:
11674           fix wrong source code for gst-xmlinspect
11675
11676 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11677
11678         * configure.ac:
11679           fix gcov help output
11680           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11681         * docs/random/release:
11682           some updated releasing notes
11683         * gstreamer.spec.in:
11684           more updates
11685
11686 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11687
11688         * docs/faq/faq.xml:
11689         * docs/manual/manual.xml:
11690         * docs/pwg/pwg.xml:
11691         * docs/pwg/titlepage.xml:
11692           put version in documentation
11693
11694 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11695
11696         * tools/Makefile.am: fix man page installation
11697
11698 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11699
11700         * configure.ac:
11701           don't check for libxml when load/save and registry disabled (#105844)
11702         * gstreamer.spec.in:
11703           sync with fedora candidate spec
11704
11705 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11706
11707         * po/fr.po:
11708         * po/nl.po:
11709           replace multidisksrc with multifilesrc
11710
11711 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11712
11713         * po/POTFILES.in:
11714           update to multidisksrc => multifilesrc file renaming (#134145)
11715
11716 2004-02-11  David Schleef  <ds@schleef.org>
11717
11718         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11719         * docs/gst/tmpl/gstpadtemplate.sgml: same
11720         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11721         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11722         fixing dance.
11723         * gst/gstutils.c: Remove disabled code that uses GstProps.
11724         * gst/registries/gstxmlregistry.h: same
11725         * docs/random/ds/0.9-suggested-changes: random notes
11726
11727 2004-02-11  kost@imn.htwk-leipzig.de
11728
11729         reviewed by: David Schleef  <ds@schleef.org>
11730
11731         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11732         initialisation of clock (bug #134128)
11733
11734 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11735
11736         * configure.ac:
11737         * gst/elements/Makefile.am:
11738         * gst/elements/gstelements.c:
11739         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11740         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11741         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11742         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11743         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11744         * gst/elements/gstmultifilesrc.h:
11745           rename multidisksrc to multifilesrc (part of #122200)
11746
11747 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11748
11749         * docs/manuals.mak:
11750           fix automake complaints
11751         * gst-element-check.m4:
11752           fix unquotedness
11753
11754 2004-02-11  David Schleef  <ds@schleef.org>
11755
11756         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11757         * gst/gstatomic_impl.h: Disable sparc implementation.
11758
11759 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11760
11761         * gst-element-check.m4:
11762           fix underquoted macros as reported by automake 1.8.x (#133800)
11763         * configure.ac:
11764           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11765           by autopoint (fixes #132996)
11766
11767 2004-02-10  Andy Wingo  <wingo@pobox.com>
11768
11769         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11770         way to do inheritance.
11771         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11772         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11773         Routine docs.
11774         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11775         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11776         doc.
11777         (gst_pad_unlink, gst_pad_is_linked): Docs.
11778         (gst_pad_renegotiate): A brief description of capsnego.
11779         (gst_pad_try_set_caps): Document.
11780         (gst_pad_try_set_caps_nonfixed): Document.
11781         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11782         (gst_pad_set_parent): Deprecated (although not out of the API).
11783         (gst_pad_get_parent): Deprecated, although many plugins use this.
11784         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11785         are private and will go away in 0.9.
11786         (gst_pad_perform_negotiate): Doc.
11787         (gst_pad_link_unnegotiate): I think this is meant to be static.
11788         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11789         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11790         (gst_pad_get_peer): Doc updates.
11791         (gst_pad_caps_change_notify): Doc.
11792         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11793         (gst_ghost_pad_new): Doc fixes.
11794
11795         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11796         (gst_object_check_uniqueness): 
11797
11798         * gst/gstelement.c (gst_element_add_pad) 
11799         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11800         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11801         (gst_element_get_static_pad, gst_element_get_pad_list) 
11802         (gst_element_class_get_pad_template_list) 
11803         (gst_element_class_get_pad_template): Work on the docs.
11804         (gst_element_get_pad_template_list): Uses the class method.
11805         (gst_element_get_compatible_pad_template): Docs, and consolidate
11806         some test conditions. 
11807         (gst_element_get_pad_from_template): New static function.
11808         (gst_element_request_compatible_pad): Docs, and work with
11809         non-request compatible templates. 
11810         (gst_element_get_compatible_pad_filtered): Docs and remove
11811         redundant checks.
11812         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11813         (gst_element_link_filtered, gst_element_link_many) 
11814         (gst_element_link, gst_element_link_pads) 
11815         (gst_element_unlink_many): Docs.
11816
11817 2004-02-05  Andy Wingo  <wingo@pobox.com>
11818
11819         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11820         s/pointer/boxed/.
11821
11822         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11823
11824         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11825         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11826         with the type=GST_TYPE_CAPS. This allows language bindings to know
11827         what kind of data they're dealing with.
11828
11829         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11830         to NULL when g_value_init is called. GstCaps, which rolls its own
11831         type implementation, now does the same instead of allocating empty
11832         caps.
11833         (_gst_caps_initialize, _gst_caps_collect_value,
11834         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11835         table methods. This allows G_VALUE_COLLECT to work.
11836
11837 2004-02-05  Andy Wingo  <wingo@pobox.com>
11838
11839         * configure.ac:
11840         * testsuite/Makefile.am (SUBDIRS): 
11841         * testsuite/ghostpads/Makefile.am: 
11842         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11843
11844         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11845         These two routines are the only ones that set
11846         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11847         pad template. They should be made static, depending on ABI needs.
11848         (gst_real_pad_dispose): Handle the case of ghost pads without a
11849         parent. Assert after dealing with ghost pads that the ghost pad
11850         list is empty.
11851         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11852         set after creation.
11853         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11854         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11855         functions. set_property will call add_ghost_pad/remove_ghost_pad
11856         as appropriate.
11857         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11858
11859         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11860         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11861         (gst_element_remove_pad): Handle ghost pads as well.
11862         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11863         depending on API-stability needs).
11864
11865 2004-02-05  Andy Wingo  <wingo@pobox.com>
11866
11867         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11868         of course they're const
11869
11870 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11871
11872         * tools/Makefile.am:
11873         * tools/gst-feedback:
11874         * tools/gst-feedback-0.7:
11875           make gst-feedback versioned too for consistency
11876
11877 2004-02-11  David Schleef  <ds@schleef.org>
11878
11879         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11880         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11881
11882 2004-02-10  Julien MOUTTE <julien@moutte.net>
11883
11884         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11885         the structure does not contain a valid tag list. Adding a safety check
11886         to remove a noisy warning in that case.
11887
11888 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11889
11890         * gst/gst.c: fix name to be in line with others
11891
11892 2004-02-09  Julien MOUTTE <julien@moutte.net>
11893
11894         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11895         not shout that loud when len is 0. Just return 0 silently.
11896
11897 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11898
11899         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11900         because data_unref has one and I prefer the debug to be symetric.
11901         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11902         were refed when added to the queue and unrefed only once when the queue
11903         was flushed. Now the flush handler unref the buffers two times : first
11904         unref for the ref added when pushing in the queue's tail and second
11905         unref to destroy the flushed buffer.
11906
11907 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11908
11909         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11910
11911 2004-02-06  David Schleef  <ds@schleef.org>
11912
11913         * docs/random/ds/0.9-suggested-changes: Random ramblings
11914         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11915         to int before printing.
11916         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11917         * gst/parse/parse.l: same.  See bug #129600
11918
11919 2004-02-06  David Schleef  <ds@schleef.org>
11920
11921         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11922         (gst_index_add_entry), (gst_index_add_associationv),
11923         (gst_index_add_association): Add gst_index_add_associationv()
11924         and clean up gst_index_add_association(). #127133
11925
11926 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11927
11928         * autogen.sh: check out common with right tag if CVS/Tag exists
11929
11930 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11931
11932         * testsuite/ghostpads/ghostpads.c: (main):
11933           fix testsuite from segfaulting
11934
11935 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11936
11937         * Makefile.am: add release target
11938         * configure.ac: bump nano to 1
11939         * docs/random/release:
11940
11941 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11942
11943         * gst/gstcaps.h:
11944         * gst/gstelement.c: (gst_element_base_class_init),
11945         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11946         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11947         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11948         (gst_real_pad_dispose):
11949         * gst/gststructure.c: (gst_structure_free),
11950         (gst_structure_from_string):
11951           put reverted patch back in
11952         * gst/gstelement.c: (gst_element_remove_pad):
11953           free explicit caps if they're set
11954         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11955           copy the structure when fixating
11956
11957 2004-02-05  David Schleef  <ds@schleef.org>
11958
11959         * gst/gstmarshal.list:
11960         * gst/gstpad.c: (gst_real_pad_class_init),
11961         (_gst_real_pad_fixate_accumulator):
11962         Revert POINTER->BOXED change in signal marshaller.
11963
11964 === release 0.7.4 ===
11965                                                                                 
11966 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11967                                                                                 
11968         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11969         * configure.ac: changed for release
11970
11971 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11972
11973         * gstreamer.spec.in:
11974           bump required version of gtk-doc
11975
11976 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11977
11978         * gst/gstcaps.h:
11979         * gst/gstelement.c: (gst_element_base_class_init),
11980         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11981         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11982         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11983         (gst_real_pad_dispose):
11984         * gst/gststructure.c: (gst_structure_free),
11985         (gst_structure_from_string):
11986           revert patch that breaks applications, reapply after release
11987           to get this fixed properly
11988
11989 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11990
11991         * gst/gsttag.c: (_gst_tag_initialize):
11992         * gst/gsttag.h:
11993           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11994
11995 2004-02-04  David Schleef  <ds@schleef.org>
11996
11997         Fix some memleaks:
11998         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11999         (gst_spider_plug_from_srcpad):
12000         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12001
12002 2004-02-04  David Schleef  <ds@schleef.org>
12003
12004         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12005         a GstRealPad before accessing its structure members.
12006
12007 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12008
12009         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12010         (gst_clock_get_speed):
12011         * gst/gstclock.h:
12012           reset padding, remove unused fields
12013
12014 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12015
12016         * gst/autoplug/gstspideridentity.c:
12017         (gst_spider_identity_sink_loop_type_finding):
12018           use get_allowed_caps, not get_caps (fixes #132519)
12019         * gst/elements/gsttypefind.c: (stop_typefinding):
12020           use correct order when sending buffers and seeking
12021
12022 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12023
12024         * configure.ac:
12025         * gst/gstelement.h:
12026         * gst/gstpad.h:
12027         * gst/gstqueue.h:
12028           upgrade libtool CURRENT, reset padding
12029
12030 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12031
12032         * configure.ac:
12033           bump to prerelease
12034           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12035
12036 2004-02-04  David Schleef  <ds@schleef.org>
12037
12038         * docs/random/ds/0.9-suggested-changes: random notes
12039         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12040         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12041         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12042         expansion.
12043         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12044         (gst_filesink_get_query_types): same
12045         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12046         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12047         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12048         to use new GST_PTR_FORMAT.
12049         * gst/gstelement.h: deprecate function factory macros
12050         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12051         These are our last variadic macros that can't be replaced with
12052         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12053         attempting to deprecate gst_element_clock_wait().
12054         * gst/gstevent.h: same
12055         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12056         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12057         * gst/gstpad.h: deprecate function factory macros similar to above.
12058
12059 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12060
12061         * configure.ac:
12062         * tools/Makefile.am:
12063         * tools/gst-run.c: (popt_callback), (hash_print_key),
12064         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12065         (get_candidates), (main):
12066           add new source file to generate non-versioned wrapper binaries
12067           for our tools.
12068
12069 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12070
12071         * gst/gstevent.c: (_gst_event_free):
12072           actually break; inside the switch statement
12073         * gst/parse/grammar.y:
12074           fix memleak where GValues weren't unset
12075
12076 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12077
12078         * gst/gststructure.c: (gst_structure_from_string):
12079           fix huge memleak
12080         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12081         (new_entry), (gst_type_find_element_chain):
12082         * gst/gstelement.c: (gst_element_base_class_init),
12083         (gst_element_class_set_details):
12084         * gst/gstpad.c: (gst_pad_can_link_filtered):
12085           fix smaller memleaks
12086         * gst/gstpad.c: (gst_real_pad_dispose):
12087           check that explicit caps are gone
12088         * gst/gststructure.c: (gst_structure_free):
12089           actually free the structure
12090         * gst/gstelement.c: (gst_element_clear_pad_caps):
12091           unset explicit caps
12092
12093 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12094
12095         * tools/Makefile.am:
12096           use AM_CFLAGS since all the CFLAGS are the same
12097           use AM_LDFAGS
12098
12099 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12100
12101         * docs/manual/gnome.xml:
12102           expand example a little
12103         * gst/gst.c: (gst_init_with_popt_table),
12104         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12105           make sure popt option displays are done with right textdomain
12106           use GstPoptOption type
12107         * gst/gst.h:
12108           create GstPoptOption type
12109
12110 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12111
12112         * gst/gsterror.c: (_gst_stream_errors_init):
12113         * gst/gsterror.h:
12114           adding error type for no codec
12115         * po/POTFILES.in:
12116           add gst-inspect
12117         * po/nl.po:
12118           update dutch translation
12119         * tools/gst-inspect.c: (print_element_list), (main):
12120           do proper internationalization
12121         * tools/gst-launch.c: (idle_func):
12122           remove commented out function call
12123
12124 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12125
12126         * docs/README:
12127           add some error fixing notes
12128         * docs/gst/gstreamer-sections.txt:
12129           remove double entries
12130         * docs/gst/tmpl/gstbin.sgml:
12131         * docs/gst/tmpl/gstclock.sgml:
12132           remove override
12133         * docs/gst/tmpl/gstelement.sgml:
12134         * docs/gst/tmpl/gstindex.sgml:
12135         * docs/gst/tmpl/gstobject.sgml:
12136         * docs/gst/tmpl/gstpadtemplate.sgml:
12137         * docs/gst/tmpl/gstreamer-unused.sgml:
12138         * docs/gst/tmpl/gsttag.sgml:
12139         * docs/gst/tmpl/gstthread.sgml:
12140         * docs/gst/tmpl/gstxml.sgml:
12141         * gst/gsttag.h:
12142           sync header prototypes with c decls
12143         * gst/gsttaginterface.c:
12144           fix doc headers
12145
12146 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12147
12148         * gst/parse/Makefile.am:
12149         * gst/gstobject.h:
12150           get rid of gstmarshal.h dependency. It's not needed.
12151         * gst/gst.h:
12152         * gst/elements/gstfakesink.c:
12153         * gst/elements/gstfakesrc.c:
12154         * gst/elements/gstidentity.c:
12155         * gst/gstbin.c:
12156         * gst/gstelement.c:
12157         * gst/gstindex.c:
12158         * gst/gstobject.c:
12159         * gst/gstpad.c:
12160         * gst/gstthread.c:
12161         * gst/gstxml.c:
12162         * libs/gst/control/dparam.c:
12163         * libs/gst/control/dparammanager.c:
12164           include gstmarshal.h.
12165         Fixes #132045
12166
12167 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12168
12169         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12170         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12171         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12172         * gst/elements/gstfilesrc.h:
12173           don't ref the filesrc when creating mmaped buffers. Don't keep a
12174           list of not-yet-destroyed buffers.
12175         * gst/gstbuffer.h:
12176           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12177
12178 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12179
12180         * gst/gst.c: (init_pre):
12181           remove textdomain
12182
12183 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12184
12185         * docs/pwg/advanced-events.xml:
12186         * docs/pwg/advanced-scheduling.xml:
12187         * docs/pwg/intro-basics.xml:
12188         * docs/pwg/other-manager.xml:
12189         * docs/pwg/other-nton.xml:
12190         * docs/pwg/other-ntoone.xml:
12191         * docs/pwg/other-oneton.xml:
12192         * docs/pwg/pwg.xml:
12193           All sort of documentation... Forgot what. Point is that I want this
12194           in before I leave. The 'other-*' will be the last section and will
12195           explain issues specific to these type of elements.
12196
12197 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12198
12199         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12200         (gst_filesrc_get_read):
12201           set all the values on buffers that we can
12202
12203 2004-02-02  David Schleef  <ds@schleef.org>
12204
12205         Change usage of isblah() to g_ascii_isblah() to be more locale
12206         independent.  (#133076)
12207         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12208         * gst/gstutils.c:
12209         * gst/parse/parse.l:
12210
12211 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12212
12213         reviewed by: David Schleef  <ds@schleef.org>
12214
12215         Fix memory leaks:
12216         * gst/gstcaps.c: (gst_caps_to_string):
12217         * gst/registries/gstxmlregistry.c:
12218         (gst_xml_registry_add_path_list_func),
12219         (gst_xml_registry_parse_padtemplate):
12220
12221 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12222
12223         * gst/gstelement.c: (gst_element_default_error):
12224           suffix error messages with period
12225
12226 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12227
12228         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12229         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12230         * gst/gsterror.c: (gst_error_get_message):
12231           Suffix with dots
12232         * po/fr.po:
12233         * po/nl.po:
12234           Update translation files
12235
12236 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12237
12238         * gst/autoplug/gstspideridentity.c:
12239         (gst_spider_identity_sink_loop_type_finding):
12240         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12241         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12242         (gst_filesink_close_file), (gst_filesink_handle_event),
12243         (gst_filesink_chain):
12244         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12245         (gst_filesrc_get_read), (gst_filesrc_open_file):
12246         * gst/elements/gstidentity.c: (gst_identity_chain):
12247         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12248         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12249         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12250         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12251         * gst/gsterror.c: (_gst_core_errors_init),
12252         (_gst_library_errors_init), (_gst_resource_errors_init),
12253         (_gst_stream_errors_init), (gst_error_get_message):
12254         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12255         (gst_pad_recover_caps_error), (gst_pad_pull):
12256         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12257         * gst/schedulers/gstbasicscheduler.c:
12258         (gst_basic_scheduler_chainhandler_proxy),
12259         (gst_basic_scheduler_gethandler_proxy),
12260         (gst_basic_scheduler_cothreaded_chain):
12261           Suffix error messages with period.
12262           Use (NULL) instead of NULL
12263
12264 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12265
12266         * docs/gst/tmpl/gstelement.sgml:
12267         * docs/gst/tmpl/gstxml.sgml:
12268         * gst/gstelement.c: (gst_element_error_full):
12269           add element path to error
12270
12271 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12272
12273         * docs/random/mimetypes:
12274           update raw int/float info
12275         * gst/gsttag.c: (_gst_tag_initialize):
12276         * gst/gsttag.h:
12277           add GST_TAG_ENCODER
12278
12279 2004-01-30  David Schleef  <ds@schleef.org>
12280
12281         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12282           missing (#132991)
12283
12284 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12285
12286         reviewed by Benjamin Otte 
12287           parts of the patch submitted in bug #113913
12288
12289         * configure.ac:
12290           use AC_C_INLINE. Use = instead of == with test
12291         * examples/plugins/example.c:
12292         * gst/autoplug/gstspideridentity.c:
12293         * gst/elements/gstfdsrc.c:
12294         * gst/elements/gstfilesrc.c:
12295         * gst/elements/gstidentity.c:
12296         * gst/elements/gstmultidisksrc.c:
12297         * gst/elements/gststatistics.c:
12298         * gst/gstelement.c:
12299         * gst/gstobject.c:
12300         * gst/gstpad.c:
12301         * gst/gstpipeline.c:
12302         * gst/gstthread.c:
12303           don't end enums with a comma
12304         * gst/gstindex.c: (gst_index_compare_func):
12305           do explicit casting to gint
12306         * gst/gsttrace.c: (gst_trace_text_flush):
12307           #define strsize as a macro
12308
12309 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12310
12311         * docs/README:
12312         * docs/gst/gstreamer-docs.sgml:
12313         * docs/gst/gstreamer-sections.txt:
12314         * docs/gst/tmpl/gstelement.sgml:
12315         * docs/gst/tmpl/gsterror.sgml:
12316         * docs/gst/tmpl/gstinterface.sgml:
12317         * docs/gst/tmpl/gstreamer-unused.sgml:
12318         * docs/gst/tmpl/gststructure.sgml:
12319         * docs/gst/tmpl/gsttag.sgml:
12320         * docs/gst/tmpl/gsttaginterface.sgml:
12321         * docs/gst/tmpl/gstvalue.sgml:
12322         make sure all API ends up in the built docs
12323         * gst/gstinterface.c:
12324         * gst/gststructure.c: (gst_structure_id_set_value),
12325         (gst_structure_set_value), (gst_structure_id_get_value):
12326         * gst/gststructure.h:
12327         * gst/gstvalue.h:
12328         sync .h with .c declarations
12329
12330 2004-01-30  Julien Moutte  <julien@moutte.net>
12331
12332         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12333         Ronald will fix riffread.
12334
12335 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12336
12337         * docs/pwg/advanced-interfaces.xml:
12338           Added tuner interface docs.
12339
12340 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12341
12342         * docs/random/mimetypes:
12343           correct Theora information
12344         * gst/gstelement.h:
12345           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12346
12347 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12348
12349         * gst/gstelement.c: (gst_element_error_full):
12350         * gst/gstelement.h:
12351           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12352
12353 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12354
12355         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12356         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12357         again and even before DISCONT.
12358         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12359         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12360         bytestream so that it's not stopping to fill the bytestream if events
12361         different than EOS or DISCONT are received. Instead it process them so
12362         that they go downstream.
12363
12364 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12365
12366         * docs/gst/tmpl/gstelement.sgml:
12367         * docs/gst/tmpl/gstreamer-unused.sgml:
12368         * docs/gst/tmpl/gstxml.sgml:
12369         * gst/autoplug/gstspideridentity.c:
12370         (gst_spider_identity_sink_loop_type_finding):
12371         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12372         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12373         (gst_filesink_close_file), (gst_filesink_handle_event),
12374         (gst_filesink_chain):
12375         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12376         (gst_filesrc_get_read), (gst_filesrc_open_file):
12377         * gst/elements/gstidentity.c: (gst_identity_chain):
12378         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12379         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12380         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12381         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12382         * gst/gstelement.h:
12383         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12384         (gst_pad_recover_caps_error), (gst_pad_pull):
12385         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12386         * gst/schedulers/gstbasicscheduler.c:
12387         (gst_basic_scheduler_chainhandler_proxy),
12388         (gst_basic_scheduler_gethandler_proxy),
12389         (gst_basic_scheduler_cothreaded_chain):
12390           gst_element_error -> GST_ELEMENT_ERROR
12391
12392 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12393
12394         * docs/Makefile.am:
12395         * docs/gst/tmpl/gstelement.sgml:
12396         * docs/gst/tmpl/gstxml.sgml:
12397         * docs/manuals.mak:
12398         * docs/pwg/advanced-request.xml:
12399         * docs/pwg/advanced-scheduling.xml:
12400         * docs/pwg/advanced-tagging.xml:
12401           fix non-validating docbook using CDATA
12402           make sure make check-local gets run first to check if it validates
12403
12404 2004-01-29  Julien MOUTTE <julien@moutte.net>
12405
12406         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12407         handling (up and downstream).
12408         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12409         my_filter thing.
12410
12411 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12412
12413         * docs/pwg/advanced-tagging.xml:
12414           Add docs about tag writing.
12415
12416 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12417
12418         * docs/pwg/advanced-tagging.xml:
12419           Add a part about tag reading and application signalling... Tag
12420           writing still needs to be documented.
12421         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12422           We can set file locations in READY, too.
12423
12424 2004-01-29  Julien MOUTTE <julien@moutte.net>
12425
12426         * docs/random/ds/element-checklist: Adding some notes about src
12427         events.
12428
12429 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12430
12431         * docs/random/mimetypes:
12432           Update docs to point to correct elements for various mimetypes, and
12433           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12434           <stephane.loeuillet@tiscali.fr>.
12435
12436 2004-01-28  David Schleef  <ds@schleef.org>
12437
12438         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12439
12440 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12441
12442         * docs/random/mimetypes:
12443           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12444           undefined"
12445         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12446           make it only work in NULL.
12447         * gst/gstcaps.c:
12448           don't posion NULL caps
12449         * gst/gstelement.c: (gst_element_set_time):
12450           add debugging statement
12451         * gst/gstelement.c: (gst_element_emit_found_tag),
12452         (gst_element_found_tag_func), (gst_element_found_tags):
12453         * gst/gstelement.h:
12454           These functions take const taglists
12455         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12456           fix memleak
12457         * gst/gstpad.c: (gst_pad_event_default):
12458           make more effort on handling discont and clocks, g_warn if everything
12459           fails
12460         * gst/gststructure.c: (gst_structure_remove_fields),
12461         (gst_structure_remove_fields_valist):
12462         * gst/gststructure.h:
12463           add gst_structure_remove_fields(_valist)
12464         * gst/gsttag.c:
12465           fix doc glitch
12466
12467 2004-01-28  David Schleef  <ds@schleef.org>
12468
12469         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12470         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12471         Fix memory leakage of gst_caps_to_string().
12472
12473         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12474         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12475         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12476         (gst_spider_identity_sink_loop_type_finding):
12477         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12478         (find_suggest):
12479         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12480         (gst_pad_set_explicit_caps):
12481         * gst/parse/grammar.y:
12482
12483 2004-01-28  David Schleef  <ds@schleef.org>
12484
12485         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12486         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12487         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12488         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12489         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12490         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12491         (gst_debug_log_default), (_gst_info_printf_extension),
12492         (_gst_info_printf_extension_arginfo):  Add printf extension.
12493         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12494         * gst/gststructure.c: (gst_structure_to_string),
12495         (_gst_structure_parse_value): Use gst_value_deserialize() and
12496         remove old code.
12497         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12498         (gst_value_deserialize_boolean), (gst_strtoi),
12499         (gst_value_deserialize_int), (gst_value_deserialize_double),
12500         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12501         a bunch of deserialize functions and gst_value_deserialize.
12502         * gst/gstvalue.h: er, _de_serialize, not unserialize
12503         * testsuite/caps/string-conversions.c: (main): We don't currently
12504         handle (float) in caps, so convert these to (double).
12505         * testsuite/debug/Makefile.am: Add new test for the printf extension
12506         * testsuite/debug/printf_extension.c: (main): same
12507
12508 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12509
12510         * docs/random/company/time:
12511           Add some docs about clocking and time
12512
12513 2004-01-28  Julien MOUTTE <julien@moutte.net>
12514
12515         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12516
12517 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12518
12519         * docs/pwg/advanced-clock.xml:
12520         * docs/pwg/advanced-dparams.xml:
12521         * docs/pwg/advanced-events.xml:
12522         * docs/pwg/advanced-interfaces.xml:
12523         * docs/pwg/advanced-midi.xml:
12524         * docs/pwg/advanced-request.xml:
12525         * docs/pwg/advanced-scheduling.xml:
12526         * docs/pwg/advanced-tagging.xml:
12527         * docs/pwg/advanced-types.xml:
12528         * docs/pwg/appendix-checklist.xml:
12529         * docs/pwg/building-boiler.xml:
12530         * docs/pwg/building-chainfn.xml:
12531         * docs/pwg/building-filterfactory.xml:
12532         * docs/pwg/building-pads.xml:
12533         * docs/pwg/building-props.xml:
12534         * docs/pwg/building-signals.xml:
12535         * docs/pwg/building-state.xml:
12536         * docs/pwg/building-testapp.xml:
12537         * docs/pwg/intro-basics.xml:
12538         * docs/pwg/intro-preface.xml:
12539         * docs/pwg/other-autoplugger.xml:
12540         * docs/pwg/other-sink.xml:
12541         * docs/pwg/other-source.xml:
12542         * docs/pwg/titlepage.xml:
12543           fix up id's
12544
12545 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12546
12547         * docs/95NonPath:
12548         * docs/HACKING:
12549         * docs/README:
12550         * docs/building-the-docs-on-debian:
12551           collect relevant bits of doc info
12552
12553 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12554
12555         * docs/pwg/advanced_tagging.xml:
12556           Half-assed commit so Thomas can re-arrange document IDs here to be
12557           consistent, too.
12558
12559 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12560
12561         * docs/manual/autoplugging.xml:
12562         * docs/manual/bins-api.xml:
12563         * docs/manual/bins.xml:
12564         * docs/manual/buffers-api.xml:
12565         * docs/manual/buffers.xml:
12566         * docs/manual/clocks.xml:
12567         * docs/manual/components.xml:
12568         * docs/manual/cothreads.xml:
12569         * docs/manual/debugging.xml:
12570         * docs/manual/dparams-app.xml:
12571         * docs/manual/dynamic.xml:
12572         * docs/manual/elements-api.xml:
12573         * docs/manual/elements.xml:
12574         * docs/manual/factories.xml:
12575         * docs/manual/gnome.xml:
12576         * docs/manual/goals.xml:
12577         * docs/manual/helloworld.xml:
12578         * docs/manual/helloworld2.xml:
12579         * docs/manual/init-api.xml:
12580         * docs/manual/intro.xml:
12581         * docs/manual/links-api.xml:
12582         * docs/manual/links.xml:
12583         * docs/manual/manual.xml:
12584         * docs/manual/motivation.xml:
12585         * docs/manual/pads-api.xml:
12586         * docs/manual/pads.xml:
12587         * docs/manual/plugins-api.xml:
12588         * docs/manual/plugins.xml:
12589         * docs/manual/programs.xml:
12590         * docs/manual/queues.xml:
12591         * docs/manual/quotes.xml:
12592         * docs/manual/schedulers.xml:
12593         * docs/manual/states-api.xml:
12594         * docs/manual/states.xml:
12595         * docs/manual/threads.xml:
12596         * docs/manual/typedetection.xml:
12597         * docs/manual/xml.xml:
12598           use chapter, part, section or misc as id starts for all bits
12599
12600 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12601
12602         * docs/gst/gstreamer-sections.txt:
12603           Fix up TITLE of the sections
12604
12605 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12606
12607         * docs/pwg/advanced_interfaces.xml:
12608           Add documentation on propertyprobing.
12609         * docs/pwg/advanced_events.xml:
12610         * docs/pwg/advanced_tagging.xml:
12611         * docs/pwg/building_boiler.xml:
12612         * docs/pwg/building_filterfactory.xml:
12613         * docs/pwg/pwg.xml:
12614           Move filterfactory and tagging into their own chapter, add a chapter
12615           on events. all these are empty placeholders that will be filled in
12616           some day.
12617
12618 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12619
12620         * docs/pwg/advanced_interfaces.xml:
12621           Docs for mixer interface. Also a check for website uploading.
12622
12623 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12624
12625         * docs/HACKING:
12626         * docs/Makefile.am:
12627         * docs/faq/Makefile.am:
12628         * docs/gst/Makefile.am:
12629         * docs/gst/tmpl/gstelement.sgml:
12630         * docs/gst/tmpl/gstplugin.sgml:
12631         * docs/gst/tmpl/gstreamer-unused.sgml:
12632         * docs/libs/Makefile.am:
12633         * docs/manual/Makefile.am:
12634         * docs/manuals.mak:
12635         * docs/pwg/Makefile.am:
12636         * docs/upload.mak:
12637           Separate out upload target and make it similar for
12638           both docbook and gtk-doc docs
12639
12640 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12641
12642         * docs/manuals.mak:
12643           Fix upload target to work with freedesktop
12644
12645 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12646
12647         * docs/pwg/advanced_types.xml:
12648           Add notes on creating your own types.
12649         * docs/pwg/building_boiler.xml:
12650         * docs/pwg/building_pads.xml:
12651         * docs/pwg/building_state.xml:
12652           Add some stuff about how to retrieve values from structures, how
12653           that relates to types and change layout slightly again to be almost
12654           perfect.
12655
12656 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12657
12658         * docs/pwg/advanced_dparams.xml:
12659         * docs/pwg/advanced_scheduling.xml:
12660           Change index layout slightly.
12661
12662 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12663
12664         * docs/pwg/advanced_clock.xml:
12665         * docs/pwg/advanced_interfaces.xml:
12666         * docs/pwg/advanced_midi.xml:
12667           General placeholders for now.
12668         * docs/pwg/advanced_request.xml:
12669           Explanation about sometimes and request pads.
12670         * docs/pwg/advanced_scheduling.xml:
12671           Concept of bytestream, loopfunctions and schedulers.
12672         * docs/pwg/building_boiler.xml:
12673           Add something about plugin-init.
12674
12675 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12676
12677         * docs/pwg/building_pads.xml:
12678           Fix broken docbook
12679
12680 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12681
12682         * docs/pwg/advanced_interfaces.xml:
12683         * docs/pwg/pwg.xml:
12684           Add as a placeholder for future filling-in.
12685         * docs/pwg/basics_autoplugging.xml:
12686         * docs/pwg/basics_buffers.xml:
12687         * docs/pwg/basics_elements.xml:
12688         * docs/pwg/basics_events.xml:
12689         * docs/pwg/basics_plugins.xml:
12690         * docs/pwg/basics_types.xml:
12691           Remove, because unused (this is all in intro_basics.xml).
12692         * docs/pwg/building_signals.xml:
12693           Short intro to signals + reference to GObject docs - we really
12694           shouldn't go into these sort of things to deply because we don't
12695           use them that extensively anyway.
12696         * docs/pwg/building_state.xml:
12697           Explanation of states. Benjamin, please check.
12698         * docs/pwg/building_testapp.xml:
12699           Put everything in one page - putting only a few lines of content
12700           per page doesn't really make sense.
12701
12702           Time to get into the advanced topics. ;).
12703
12704 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12705
12706         * docs/pwg/advanced_types.xml:
12707           Finish documenting the current state of mimetypes.
12708         * docs/pwg/building_boiler.xml:
12709         * docs/pwg/building_chainfn.xml:
12710         * docs/pwg/building_pads.xml:
12711         * docs/pwg/building_props.xml:
12712         * docs/pwg/building_testapp.xml:
12713           Start documenting the "how to build a simple audio filter" part
12714           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12715           states and (maybe?) a short introduction to capsnego in the chapter
12716           on pads (building_pads.xml). Capsnego should probably be explained
12717           fully in advanced_capsnego.xml or so.
12718
12719 2004-01-26  David Schleef  <ds@schleef.org>
12720
12721         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12722         * gst/gstpad.h: Add new function to allow element to (somewhat)
12723         specify non-fixed caps on a pad.
12724         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12725         that I added a few weeks ago.
12726
12727 2004-01-26  David Schleef  <ds@schleef.org>
12728
12729         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12730           making try_set_caps() work with non-fixed caps.
12731
12732 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12733
12734         * docs/pwg/advanced_types.xml:
12735         * docs/pwg/intro_basics.xml:
12736         * docs/pwg/intro_preface.xml:
12737         * docs/pwg/pwg.xml:
12738         * docs/pwg/titlepage.xml:
12739           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12740           in here (docs/random/mimetypes), and will from there on work on both
12741           updating outdated parts and adding missing parts.
12742           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12743
12744 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12745
12746         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12747           policy is set
12748
12749 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12750
12751         * gst/gstelement.h:
12752           remove gst_element_factory_get_version. It doesn't exist anymore.
12753         * gst/gstplugin.c:
12754         * gst/gstplugin.h:
12755           remove gst_plugin_set_name and change gst_plugin_get_longname to
12756           gst_plugin_get_description to match code.
12757         * gst/gsterror.h:
12758           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12759         * gst/gstpad.c: (gst_pad_try_set_caps):
12760           make it work with nonfixed caps.
12761           Note that even in the nonfixed case the link function of the pad
12762           that tries to set caps isn't called.
12763
12764 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12765
12766         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12767           fix bug where buffer was not assembled correctly
12768         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12769           silence by default
12770         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12771           only seek if there's no more buffers that could work without seeking
12772
12773 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12774
12775         * gst/gsttag.c: (_gst_tag_initialize):
12776         * gst/gsttag.h:
12777           Add application tag (for encoding/muxing app).
12778
12779 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12780
12781         * autogen.sh:
12782           make autopoint force, and libtoolize not copy
12783         * common/m4/as-docbook.m4:
12784           added docbook xml catalog setup check
12785         * common/m4/gst-doc.m4:
12786           use docbook check
12787
12788 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12789
12790         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12791         * gst/gsttag.h:
12792           add GstTagFlag
12793
12794 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12795
12796         * docs/gst/gstreamer-sections.txt:
12797         * docs/gst/tmpl/gst.sgml:
12798         * docs/gst/tmpl/gstbuffer.sgml:
12799         * docs/gst/tmpl/gstclock.sgml:
12800         * docs/gst/tmpl/gstelement.sgml:
12801         * docs/gst/tmpl/gstreamer-unused.sgml:
12802         * docs/gst/tmpl/gstxml.sgml:
12803           sync latest API changes to docs
12804
12805 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12806
12807         * gst/gstpluginfeature.c:
12808           fix doc snippet
12809         * tools/gst-inspect.c: (print_element_list):
12810           fix output of typefind
12811           add GPL header
12812         * tools/gst-launch.c:
12813           add GPL header
12814
12815 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12816
12817         * gst/elements/Makefile.am:
12818         * gst/elements/gstelements.c:
12819         * gst/elements/gsttypefindelement.c:
12820         * gst/elements/gsttypefindelement.h:
12821         * po/POTFILES.in:
12822         * po/fr.po:
12823         * po/nl.po:
12824           renamed gsttypefindelement to gsttypefind, conserving CVS history
12825
12826 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12827
12828         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12829         * gst/gsttag.h:
12830           add some tags used in ogg as well
12831           fix _ in replaygain tags
12832
12833 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12834
12835         * gst/gsterror.h:
12836           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12837
12838 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12839
12840         * gst/gstelement.c: (gst_element_error_full):
12841         * gst/gstelement.h:
12842           change _extended to _full
12843
12844 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12845
12846         reviewed by: <delete if not using a buddy>
12847
12848         * docs/gst/tmpl/gst.sgml:
12849         * docs/gst/tmpl/gstbuffer.sgml:
12850         * docs/gst/tmpl/gstclock.sgml:
12851         * docs/gst/tmpl/gstelement.sgml:
12852         * docs/gst/tmpl/gstreamer-unused.sgml:
12853         * docs/gst/tmpl/gstxml.sgml:
12854         * gst/gstelement.c: (gst_element_error_full):
12855         * gst/gstelement.h:
12856
12857 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12858
12859         * gst/gstelement.h: fix _gst_element_error_printf prototype
12860
12861 2004-01-20  David Schleef  <ds@schleef.org>
12862
12863         * gst/gststructure.c: (gst_structure_to_string):
12864         Convert function to use gst_value_serialize().
12865         * gst/gstvalue.c: (gst_value_serialize_list),
12866         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12867         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12868         (gst_value_serialize_int), (gst_value_serialize_double),
12869         (gst_string_wrap), (gst_value_serialize_string),
12870         (gst_value_serialize), (gst_value_deserialize):
12871         * gst/gstvalue.h:
12872         Add implementations for serialize.
12873
12874 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12875
12876         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12877         we want to keep that one in the future or change xvidenc.c to use 
12878         another error.
12879
12880 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12881
12882         * gst/gstelement.c: (_gst_element_error_printf):
12883         * gst/gstelement.h:
12884           privatise function
12885
12886 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12887
12888         * docs/random/error:
12889           doc explaining error system
12890         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12891           cleanup
12892
12893 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12894
12895         * gst/gst-i18n-app.h:
12896         * gst/gst-i18n-lib.h:
12897           remove inclusion of config.h
12898         * po/POTFILES.in:
12899         * po/nl.po:
12900           add gst/gstelement.c
12901
12902 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12903
12904         * po/nl.po: updated Dutch translation
12905
12906 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12907
12908         * gst/gsterror.c: (_gst_core_errors_init),
12909         (_gst_library_errors_init), (_gst_resource_errors_init),
12910         (_gst_stream_errors_init):
12911         remove ending punctuation dots
12912
12913 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12914
12915         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12916         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12917         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12918         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12919         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12920         use GST_ERROR_SYSTEM
12921
12922 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12923
12924         * gst/gstelement.c: (gst_element_error_printf),
12925         (gst_element_error_extended):
12926         * gst/gstelement.h:
12927           add a helper printf function so we can have NULL values passed.
12928
12929 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12930
12931         * gst/gstelement.h:
12932           add G_STMT macros to gst_element_error, which isn't strictly
12933           necessary but people tell me to anyway.
12934
12935 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12936
12937         * gst/Makefile.am:
12938         * gst/autoplug/gstspideridentity.c:
12939         (gst_spider_identity_sink_loop_type_finding):
12940         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12941         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12942         (gst_filesink_close_file), (gst_filesink_handle_event),
12943         (gst_filesink_chain):
12944         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12945         (gst_filesrc_map_region), (gst_filesrc_get_read),
12946         (gst_filesrc_open_file):
12947         * gst/elements/gstidentity.c: (gst_identity_chain):
12948         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12949         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12950         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12951         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12952         * gst/gst.h:
12953         * gst/gst_private.h:
12954         * gst/gstelement.c: (gst_element_class_init),
12955         (gst_element_default_error), (gst_element_error_func),
12956         (gst_element_error_extended):
12957         * gst/gstelement.h:
12958         * gst/gsterror.c: (_gst_core_errors_init),
12959         (_gst_library_errors_init), (_gst_resource_errors_init),
12960         (_gst_stream_errors_init), (gst_error_get_message):
12961         * gst/gsterror.h:
12962         * gst/gstinfo.c: (_gst_debug_init):
12963         * gst/gstmarshal.list:
12964         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12965         (gst_pad_recover_caps_error), (gst_pad_pull):
12966         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12967         * gst/schedulers/gstbasicscheduler.c:
12968         (gst_basic_scheduler_chainhandler_proxy),
12969         (gst_basic_scheduler_gethandler_proxy),
12970         (gst_basic_scheduler_cothreaded_chain):
12971         * po/POTFILES.in:
12972         * po/fr.po:
12973         * po/nl.po:
12974           change error signal
12975           add error categories
12976
12977 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12978
12979         * gst/gsttag.c: (_gst_tag_initialize):
12980         * gst/gsttag.h:
12981         Add replaygain tag
12982
12983 2004-01-18  Colin Walters  <walters@verbum.org>
12984
12985         * examples/retag/retag.c: Call gst_init before processing
12986         program args.  Add g_assert to _link_many call.
12987
12988 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12989
12990         * gst/gstpad.c: (gst_pad_alloc_buffer):
12991           Return a newly allocated buffer when the pad has no peer.
12992
12993 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12994
12995         * gst/gstclock.c: (gst_clock_get_time):
12996           make it compile with gcc 2.95 again.
12997           Patch by Scott Wheeler
12998
12999 2004-01-15  David Schleef  <ds@schleef.org>
13000
13001         * gst/gstcaps.h:
13002         Added gst_caps_is_simple() macro.
13003         * testsuite/caps/caps.c: (test1):
13004         * testsuite/caps/intersect2.c: (main):
13005         * testsuite/caps/intersection.c: (main):
13006         Fixes to make 'make check' work again after removing
13007         gst_caps_is_chained().
13008
13009 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13010
13011         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13012         and additions to the MIDI document.
13013
13014 2004-01-15  David Schleef  <ds@schleef.org>
13015
13016         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13017         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13018         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13019
13020 2004-01-15  David Schleef  <ds@schleef.org>
13021
13022         * gst/gstqueue.c:
13023         * gst/gstqueue.h:
13024         Fix the spelling of "treshold" and make min_threshold actually
13025         affect the queue.
13026
13027 2004-01-15  David Schleef  <ds@schleef.org>
13028
13029         * gst/gstcaps.c:
13030         Add lots of documentation.
13031         * gst/gstcaps.h:
13032         Deprecate a few functions.
13033         * gst/gstpad.c:
13034         Removed use of deprecated functions.
13035
13036 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13037
13038         * gst/gstpad.c: (gst_pad_is_linked):
13039         * gst/gstpad.h:
13040           implement gst_pad_is_linked
13041         * gst/gstelement.h:
13042           reserve space for initiate_state_change
13043
13044 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13045
13046         * gst/autoplug/gstspideridentity.c:
13047         (gst_spider_identity_sink_loop_type_finding):
13048           break infinite loop by just returning instead of looping
13049         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13050           set event time difference correctly. Set it to 1 second instead
13051           of 100ms to be more tolerant
13052         * gst/gstelement.c: (gst_element_set_time):
13053           add debugging output
13054
13055 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13056
13057         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13058           query if buffers are inside the pool, ignore events
13059
13060 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13061
13062         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13063         (gst_clock_set_speed), (gst_clock_set_active),
13064         (gst_clock_is_active), (gst_clock_reset),
13065         (gst_clock_handle_discont):
13066         * gst/gstclock.h:
13067           deprecate old interface and disable functions that aren't in use
13068           anymore.
13069         * gst/gstelement.h:
13070         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13071         (gst_element_set_time), (gst_element_adjust_time):
13072           add concept of "element time" and functions to get/set this time.
13073         * gst/gstelement.c: (gst_element_change_state):
13074           update element time correctly.
13075         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13076           This is a debug message, not a g_critical.
13077         * gst/gstpad.c: (gst_pad_event_default):
13078           handle discontinuous events right with element time.
13079         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13080           update to clocking fixes.
13081           set clocks on elements in READY=>PAUSED. The old behaviour caused
13082           a wrong element time on the first element that started playing.
13083         * gst/schedulers/gstbasicscheduler.c:
13084         (gst_basic_scheduler_class_init):
13085         * gst/schedulers/gstoptimalscheduler.c:
13086         (gst_opt_scheduler_class_init):
13087           remove code that just implements the default behaviour.
13088         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13089           update to use new clocking functions
13090         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13091         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13092           update to test new element time.
13093         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13094           use _get_allowed_caps instead of _get_caps. This catches filtered
13095           caps correctly.
13096         * testsuite/debug/commandline.c:
13097           update for new GST_DEBUG syntax.
13098         * testsuite/threads/Makefile.am:
13099           disable a test that only works sometimes.
13100
13101 2004-01-13  Julien MOUTTE <julien@moutte.net>
13102
13103         * po/LINGUAS: Adding fr.
13104         * po/fr.po: Adding french translation.
13105
13106 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13107
13108         * gst/parse/grammar.y:
13109         * po/POTFILES.in:
13110         * po/nl.po:
13111         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13112           translate parsing error messages
13113
13114 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13115
13116         * po/POTFILES.in: adding gst-launch
13117         * po/nl.po: updated translation, all 99 strings translated
13118         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13119         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13120           fix strings for translation
13121
13122 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13123
13124         * gst/gst.c:
13125           - capitalize beginnings of popt options
13126           - fix strings for translation
13127           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13128
13129 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13130
13131         * po/README: add some notes on how to update translations
13132
13133 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13134
13135         * ABOUT-NLS: removed, is autogenerated from autopoint
13136         * autogen.sh: add autopoint stuff
13137         * configure.ac: fix up gettext stuff
13138         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13139         * gst/elements/gsttypefindelement.c: add header include
13140         * gst/gettext.h: add header, copy from system-installed header
13141         * gst/gst-i18n-app.h: to be included by each app having translations
13142         * gst/gst-i18n-lib.h: to be included by each lib having translations
13143         * gst/gst.c: (init_pre): fix up gettext calls
13144         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13145         * po/LINGUAS: the new way to specify translations present
13146         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13147         * po/Makevars: the variables filled in for GStreamer
13148         * po/POTFILES.in: added new files with translations
13149         * po/de.po: has new strings
13150         * po/nl.po: readded, has new strings
13151
13152 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13153
13154         * gst/gsttag.c: fix some strings marked for translation
13155
13156 2004-01-13  Iain <iain@prettypeople.org>
13157
13158         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13159         group when we add an element to it, cos we unref it when we remove one
13160
13161 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13162
13163         * testsuite/debug/commandline.c: (debug_not_reached):
13164         * testsuite/debug/output.c: (check_message):
13165           fix testsuite
13166
13167 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13168
13169         * examples/cutter/.cvsignore:
13170         * examples/helloworld/.cvsignore:
13171         * examples/launch/.cvsignore:
13172         * examples/manual/.cvsignore:
13173         * examples/mixer/.cvsignore:
13174         * examples/pingpong/.cvsignore:
13175         * examples/plugins/.cvsignore:
13176         * examples/queue/.cvsignore:
13177         * examples/queue2/.cvsignore:
13178         * examples/queue3/.cvsignore:
13179         * examples/queue4/.cvsignore:
13180         * examples/retag/.cvsignore:
13181         * examples/thread/.cvsignore:
13182         * examples/typefind/.cvsignore:
13183         * examples/xml/.cvsignore:
13184         * gst/.cvsignore:
13185         * gst/autoplug/.cvsignore:
13186         * gst/elements/.cvsignore:
13187         * gst/indexers/.cvsignore:
13188         * gst/parse/.cvsignore:
13189         * gst/registries/.cvsignore:
13190         * gst/schedulers/.cvsignore:
13191         * libs/gst/bytestream/.cvsignore:
13192         * libs/gst/control/.cvsignore:
13193         * libs/gst/getbits/.cvsignore:
13194         * tests/.cvsignore:
13195         * tests/bufspeed/.cvsignore:
13196         * tests/instantiate/.cvsignore:
13197         * tests/memchunk/.cvsignore:
13198         * tests/muxing/.cvsignore:
13199         * tests/sched/.cvsignore:
13200         * tests/seeking/.cvsignore:
13201         * tests/threadstate/.cvsignore:
13202         * testsuite/.cvsignore:
13203         * testsuite/caps/.cvsignore:
13204         * testsuite/cleanup/.cvsignore:
13205         * testsuite/dynparams/.cvsignore:
13206         * testsuite/plugin/.cvsignore:
13207         * tools/.cvsignore:
13208           update - this is huge, because it includes *.bb, *.bbg and *.da files
13209           which are generated for gcov.
13210
13211 2004-01-11  David Schleef  <ds@schleef.org>
13212
13213         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13214         a function to parse integers in ways that strto[u]l() does not.
13215
13216 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13217
13218         * tools/gst-inspect.c: (print_caps):
13219           improve output of caps a bit
13220
13221 2004-01-11  David Schleef  <ds@schleef.org>
13222
13223         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13224         inherit correct flags (READONLY and DONTKEEP).
13225
13226 2004-01-11  David Schleef  <ds@schleef.org>
13227
13228         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13229         (gst_filesrc_map_region):
13230         * gst/gstbuffer.c: (_gst_buffer_initialize),
13231         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13232         (gst_buffer_new), (gst_buffer_create_sub),
13233         (gst_buffer_is_span_fast), (gst_buffer_span):
13234         * gst/gstbuffer.h:
13235         Change GstBuffer private structure element names. (all files)
13236         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13237         (gst_queue_link):
13238         * gst/gstqueue.h:
13239         Implement getcaps/pad_link functions that handle the case where
13240         there are data in the queue.
13241
13242 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13243
13244         * gst/elements/gstbufferstore.c:
13245           initialize debugging structure correctly
13246         * gst/elements/gsttee.c: (gst_tee_set_property):
13247           g_object_notify when property was changed
13248         * gst/elements/gsttypefindelement.c:
13249         (gst_type_find_element_change_state):
13250           clear caps correctly
13251
13252 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13253
13254         * gst/gstqueue.c: (gst_queue_init):
13255           Use better defaults for when a queue should block. This
13256           gets rid of jerky playback for quite a few files.
13257           It takes more memory.
13258
13259 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13260
13261         (gst_xml_registry_parse_padtemplate):
13262           make critical message slightly more useful
13263
13264 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13265
13266         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13267         (gst_debug_message_get), (gst_debug_log_default):
13268         * gst/gstinfo.h:
13269           Change gst_debug_log(_valist) to take a const format string.
13270           Change prototype of log function and functions using those to 
13271           take a GstDebugMessage instead of a string that requires using
13272           gst_debug_message_get.
13273
13274 2004-01-08  David Schleef  <ds@schleef.org>
13275
13276         * Makefile.am:
13277         * configure.ac:
13278         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13279         and -ftest-coverage, which allows gcov to show information about
13280         testsuite coverage.
13281
13282 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13283
13284         * gst/gstutils.h:
13285           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13286           GST_PARENT_CALL_WITH_DEFAULT
13287         * gst/elements/gstaggregator.c: 
13288         * gst/elements/gstbufferstore.c: 
13289         * gst/elements/gstfakesink.c: 
13290         * gst/elements/gstfakesrc.c: 
13291         * gst/elements/gstfdsink.c: 
13292         * gst/elements/gstfdsrc.c: 
13293         * gst/elements/gstfilesink.c: 
13294         * gst/elements/gstfilesrc.c: 
13295         * gst/elements/gstidentity.c: 
13296         * gst/elements/gstmd5sink.c: 
13297         * gst/elements/gstmultidisksrc.c:
13298         * gst/elements/gstpipefilter.c: 
13299         * gst/elements/gstshaper.c:
13300         * gst/elements/gststatistics.c:
13301         * gst/elements/gsttee.c:
13302         * gst/elements/gsttypefindelement.c:
13303           use them.
13304
13305 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13306
13307         * docs/gst/gstreamer-docs.sgml: remove props
13308         * docs/gst/gstreamer-sections.txt: remove props
13309         * docs/gst/tmpl/gst.sgml:
13310         * docs/gst/tmpl/gstbin.sgml:
13311         * docs/gst/tmpl/gstbuffer.sgml:
13312         * docs/gst/tmpl/gstcaps.sgml:
13313         * docs/gst/tmpl/gstclock.sgml:
13314         * docs/gst/tmpl/gstelement.sgml:
13315         * docs/gst/tmpl/gstindex.sgml:
13316         * docs/gst/tmpl/gstobject.sgml:
13317         * docs/gst/tmpl/gstpad.sgml:
13318         * docs/gst/tmpl/gstpadtemplate.sgml:
13319         * docs/gst/tmpl/gstreamer-unused.sgml:
13320         * docs/gst/tmpl/gstthread.sgml:
13321         * docs/gst/tmpl/gstxml.sgml:
13322           sync with code reorganization
13323
13324 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13325
13326         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13327         Make the 'Could not find compatible pad' message more informative.
13328
13329 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13330                                                                                 
13331         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13332           Fix for if we pass NULL as property to location.
13333         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13334         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13335           Fix for instantiate-test (see below).
13336         * gst/gststructure.c: (_gst_structure_parse_value):
13337           Fix compile error on gcc-2.96.
13338         * configure.ac:
13339         * tests/Makefile.am:
13340         * tests/instantiate/Makefile.am:
13341         * tests/instantiate/create.c: (create_all_elements), (main):
13342           Add a test that instantiates all elements. This makes it easy to
13343           track dead code for old API/design (like setting event functions
13344           on sink pads and so on).
13345
13346 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13347
13348         * gst/gstcaps.c: (gst_caps_append_structure):
13349           Move the poisoning to allow a NULL structure
13350         * gst/gstevent.c: (_gst_event_free):
13351           When freeing a navigation event, free the structure
13352           also
13353
13354 2004-01-04  David Schleef  <ds@schleef.org>
13355
13356         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13357         Remove usage of gst_pad_proxy_fixate.
13358         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13359         (gst_caps_split_one), (gst_caps_replace):
13360         Add poisoning code.
13361         * gst/gstmarshal.list:
13362         Add pointer__pointer for fixate signal
13363         * gst/gstpad.c: (gst_real_pad_class_init),
13364         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13365         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13366         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13367         Add poisoning code. Add fixate signal on RealPad. Change
13368         set_explicit_caps() to take const GstCaps, like try_set_caps().
13369         * gst/gstpad.h:
13370         * testsuite/caps/Makefile.am:
13371         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13372
13373 2004-01-03  David Schleef  <ds@schleef.org>
13374
13375         * gst/elements/gsttypefindelement.c:
13376         (gst_type_find_element_have_type), (gst_type_find_element_init):
13377         Use gst_pad_use_explicit_caps for src pad.
13378         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13379         before using it.
13380
13381 2004-01-03  David Schleef  <ds@schleef.org>
13382
13383         * gst/gstelement.c: (gst_element_link_pads_filtered),
13384         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13385         that linking was successful.
13386         * gst/gstpad.c: (gst_pad_link_free),
13387         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13388         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13389         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13390         GstPadLinkReturn correctly between functions, and don't fail
13391         when DELAYED is used (DELAYED is very important).  Better
13392         cleanup on unlinking and unnegotiation.  Should fix some spider
13393         bugs.
13394
13395 2004-01-02  David Schleef  <ds@schleef.org>
13396
13397         * gst/gstelement.c: (gst_element_class_init),
13398         (gst_element_base_class_init): ->padtemplates should be cleared
13399         in base_init, since we need to have a fresh list for every
13400         class.  (Alternately, we chould copy the list and share the
13401         actual pad templates (not the list), but that would require
13402         changing every plugin to move pad template registration from
13403         base_init to class_init.)
13404
13405 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13406
13407         * gst/gstelement.c: (gst_element_class_add_pad_template):
13408           Refuse registering a pad template if another pad template
13409           with the same name already exists (#114715).
13410
13411 2004-01-02  David Schleef  <ds@schleef.org>
13412
13413         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13414         (gst_caps_is_equal_fixed): Add new function.
13415         * gst/gstcaps.h: ditto.
13416         * gst/gstpad.c: (gst_real_pad_class_init),
13417         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13418         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13419         check new caps against existing caps -- if they're the same, return
13420         OK without renegotiating.  caps-nego-failed signal fixed so that
13421         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13422         to save an extra caps copy.  Don't complete negotiation if a pad
13423         link function returns DELAYED.
13424
13425 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13426
13427         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13428           Fix wrong g_return_if_fail
13429
13430 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13431
13432         * gst/gstbin.c: (gst_bin_class_init):
13433         Change the marshalling of element_added/element_removed
13434         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13435         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13436
13437 2004-01-01  David Schleef  <ds@schleef.org>
13438
13439         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13440         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13441         (gst_pad_use_explicit_caps):
13442         * gst/gstpad.h:
13443         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13444         to use an internal getcaps and link fuction so that negotiation
13445         always results in the explicitly set caps.
13446         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13447         are particularly useful for decoders.
13448
13449 2003-12-31  David Schleef  <ds@schleef.org>
13450
13451         * gst/elements/gstidentity.c: (gst_identity_class_init),
13452         (gst_identity_init), (gst_identity_chain),
13453         (gst_identity_set_property), (gst_identity_get_property):
13454         * gst/elements/gstidentity.h:
13455         * gst/gstqueue.c: (gst_queue_init):
13456           Negotiation fixes.
13457
13458 2003-12-31  David Schleef  <ds@schleef.org>
13459
13460         * gst/gstcaps.c: (gst_caps_intersect),
13461         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13462           Implement gst_caps_normalize().
13463         * testsuite/caps/normalisation.c: (main):
13464           Add an additional test
13465
13466 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13467
13468         * gst/gstqueue.c: (gst_queue_init):
13469           use gst_pad_proxy_getcaps()
13470
13471 2003-12-31  David Schleef  <ds@schleef.org>
13472
13473         * gst/elements/gstshaper.c: (gst_shaper_link):
13474         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13475         * gst/gstqueue.c: (gst_queue_link):
13476           Negotiation fixes.
13477
13478 2003-12-31  David Schleef  <ds@schleef.org>
13479
13480         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13481         * gst/gstpad.h: Add functions that are useful as default pad
13482         link and fixate functions for elements.
13483
13484 2003-12-30  David Schleef  <ds@schleef.org>
13485
13486         * gst/gstpad.c: (gst_pad_link_try):
13487           Fix segfault when attempting to return to old caps
13488
13489 2003-12-29  David Schleef  <ds@schleef.org>
13490
13491         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13492         (gst_caps_structure_simplify), (gst_caps_simplify):
13493         * gst/gstcaps.h:
13494           Add simplify function
13495         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13496         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13497         * gst/gstpad.h:
13498           Copy over srcnotify, sinknotify when calling old pad_link
13499           functions.  Add new is_negotiated() function.
13500         * gst/gststructure.c: (gst_structure_copy):
13501           Fix an incredibly stupid bug that should have been noticed
13502           weeks ago.  _copy() returned the argument, not the new copy.
13503
13504 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13505
13506         * gst/gstcaps.c: (gst_caps_append):
13507           add sanity checks
13508         * gst/gstcaps.h: (gst_caps_debug):
13509           remove, it doesn't exist anymore.
13510         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13511         (gst_element_threadsafe_properties_post_run):
13512           make debugging messages not clutter up THREAD debug category
13513         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13514         (gst_element_change_state):
13515           update to new caps API
13516         * gst/gstinterface.c: (gst_implements_interface_cast):
13517           don't put vital code in g_return_if_fail
13518         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13519         (gst_pad_link_filtered):
13520           add pst_pad_try_link and use it.
13521         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13522           implement correctly, deprecate first one.
13523         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13524           add and implement.
13525         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13526           implement.
13527         (gst_pad_get_negotiated_caps):
13528           add and implement. Make GST_PAD_CAPS call this function.
13529         (gst_pad_get_caps):
13530           remove unneeded check..
13531         (gst_pad_recover_caps_error):
13532           disable, always return FALSE.
13533         (gst_real_pad_dispose):
13534           don't free caps and appfilter anymore, they're unused.
13535         * gst/gstpad.h:
13536           Reflect changes mentioned above.
13537         * gst/gstsystemclock.c: (gst_system_clock_wait):
13538           Make 'clock is way behind' a debugging message.
13539         * gst/gstthread.c: (gst_thread_change_state):
13540           Fix debugging message
13541
13542 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13543
13544         * gst/gstinfo.h:
13545           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13546         * docs/gst/tmpl/gstreamer-unused.sgml:
13547           removed all traces of cvs conflicts
13548
13549 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13550
13551         * configure.ac:
13552         * gst/schedulers/cothreads_compat.h:
13553         * libs/Makefile.am:
13554           remove last instances of wingo cothread usage
13555
13556 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13557
13558         * gst/gstplugin.c:
13559         * gst/gstversion.h.in:
13560         * gst/parse/grammar.y:
13561           change comment block from /** to /* when not gtk-doc comments
13562
13563 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13564
13565         * gst/gst.c: whitespace and doc style fixes
13566
13567 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13568
13569         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13570
13571 2003-12-24  Colin Walters  <walters@verbum.org>
13572
13573         * gst/elements/gsttypefindelement.c:
13574           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13575           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13576           Don't double-free caps.
13577
13578 2003-12-23  David Schleef  <ds@schleef.org>
13579
13580         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13581           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13582           Many little fixes and additions of debug statements to
13583           get rhythmbox working.
13584
13585 2003-12-23  Colin Walters  <walters@verbum.org>
13586
13587         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13588         Use GST_PAD_LINK_SUCCESSFUL.
13589
13590 2003-12-23  David Schleef  <ds@schleef.org>
13591
13592         * gst/elements/gstaggregator.c:
13593         * gst/elements/gsttee.c:
13594           Use gst_pad_proxy_getcaps().
13595         * gst/gstpad.c:
13596         * gst/gstpad.h:
13597           Add gst_pad_proxy_getcaps(), which filter elements can use
13598           as a generic getcaps implementation.
13599           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13600           was advertised.
13601
13602 2003-12-23  David Schleef  <ds@schleef.org>
13603
13604         * gst/gstpad.c:
13605           Rearrange/rewrite much of the pad negotiation code, since it
13606           resembled pasta.  This actually changes the way some
13607           negotiation works, since the previous code was inconsistent
13608           depending on how it was invoked.  Add (internal) structure
13609           GstPadLink, which is used to hold some information (more in
13610           the future) about the link between two pads.  Fixes a number
13611           of bugs, including random lossage of filter caps when the
13612           initial negotiation is delayed.  A few functions are still
13613           unimplemented.
13614         * gst/gstpad.h:
13615           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13616           these when testing GstPadLinkReturn values instead of comparing
13617           directly.
13618
13619 2003-12-23  David Schleef  <ds@schleef.org>
13620
13621         * gst/gstvalue.c: 
13622         * gst/gstvalue.h:
13623           Rearrange lots of code.  Change registration of compare function
13624           into registration of compare/serialize/deserialize functions.
13625           Doesn't include implementation of gst_value_[de]serialize(),
13626           but that should be easy.
13627
13628 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13629
13630         * docs/gst/gstreamer-sections.txt:
13631         * docs/gst/tmpl/gstprops.sgml: removed
13632         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13633           David removed props and caps code, so let's remove their docs as well.
13634           Removed all no longer existing symbols from gstreamer-sections.txt
13635           
13636 2003-12-22  Colin Walters  <walters@verbum.org>
13637
13638         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13639           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13640           of tags directly.
13641
13642 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13643
13644         * gst/elements/gstelements.c:
13645           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13646         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13647           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13648           gst_caps (peer).
13649
13650 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13651
13652         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13653         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13654         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13655         (gst_spider_identity_sink_loop_type_finding):
13656         * gst/autoplug/gstspideridentity.h:
13657           Fix autoplugging in spider element, so it works with new caps.
13658           This was mainly caused by identifying empty caps incorrectly.
13659
13660 2003-12-22  David Schleef  <ds@schleef.org>
13661
13662         * gststructure.c, gstvalue.c, gstvalue.h: Add
13663           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13664           using g_value_copy()
13665
13666 2003-12-21  David Schleef  <ds@schleef.org>
13667
13668         * many, many files: Merge CAPS branch.  This includes:
13669           - implemention of GstValue and several GstValue types
13670           - implemention of GstStructure
13671           - entire rewrite of GstCaps
13672           - removal of GstProps
13673           - many changes to GstPad to compensate for new caps paradigm
13674           - removal of GstBufferpool
13675         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13676         gstvalue.h, gst/gstcaps[2]*.[ch]:
13677           - rename gstcaps2.[ch] to gstcaps.[ch]
13678
13679 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13680
13681         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13682         (gst_queue_chain), (gst_queue_handle_src_event):
13683           implement timeout for sending events. Workaround for if the
13684           pipeline on this queue is not passing any data.
13685
13686 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13687                                                                                 
13688         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13689         * moved CVS to freedesktop.org