gst/base/gstadapter.h: Added gst_adapter_get_type() to the header
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-04  Edward Hervey  <edward@fluendo.com>
2
3         * gst/base/gstadapter.h: 
4         Added gst_adapter_get_type() to the header
5
6 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
7
8         * check/Makefile.am:
9         * check/gst-libs/controller.c:
10         * libs/gst/controller/gst-controller.c:
11         (gst_controller_new_valist):
12           added check test suite for the controller
13         * gst/base/gstpushsrc.c:
14           fixed a doc typo
15
16 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
17
18         * docs/gst/Makefile.am:
19         * docs/gst/gstreamer-docs.sgml:
20         * docs/gst/gstreamer-sections.txt:
21         * docs/gst/gstreamer.types:
22         * docs/gst/tmpl/gstfakesrc.sgml:
23         * gst/base/README:
24         * gst/base/gstbasesink.c:
25         * gst/base/gstbasesink.h:
26         * gst/base/gstbasesrc.c:
27         * gst/base/gstbasesrc.h:
28         * gst/base/gstbasetransform.c:
29         * gst/base/gstpushsrc.c:
30         * gst/base/gstpushsrc.h:
31           add short/long description docs to base classes
32           add pushsrc to the docs
33           remove consolidated doc fragments
34
35 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
36
37         * configure.ac:
38         * docs/libs/Makefile.am:
39         * docs/libs/gstreamer-libs-docs.sgml:
40         * docs/libs/gstreamer-libs-sections.txt:
41         * docs/libs/gstreamer-libs.types:
42         * examples/Makefile.am:
43         * examples/controller/.cvsignore:
44         * examples/controller/Makefile.am:
45         * examples/controller/audio-example.c: (main):
46         * libs/gst/Makefile.am:
47         * libs/gst/controller/.cvsignore:
48         * libs/gst/controller/Makefile.am:
49         * libs/gst/controller/gst-controller.c:
50         (on_object_controlled_property_changed), (gst_timed_value_compare),
51         (gst_timed_value_find),
52         (gst_controlled_property_set_interpolation_mode),
53         (gst_controlled_property_new), (gst_controlled_property_free),
54         (gst_controller_find_controlled_property),
55         (gst_controller_new_valist), (gst_controller_new),
56         (gst_controller_remove_properties_valist),
57         (gst_controller_remove_properties), (gst_controller_set),
58         (gst_controller_set_from_list), (gst_controller_unset),
59         (gst_controller_get), (gst_controller_get_all),
60         (gst_controller_sink_values), (gst_controller_get_value_arrays),
61         (gst_controller_get_value_array),
62         (gst_controller_set_interpolation_mode),
63         (_gst_controller_finalize), (_gst_controller_init),
64         (_gst_controller_class_init), (gst_controller_get_type):
65         * libs/gst/controller/gst-controller.h:
66         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
67         (g_object_uncontrol_properties), (g_object_get_controller),
68         (g_object_set_controller), (g_object_sink_values),
69         (g_object_get_value_arrays), (g_object_get_value_array):
70         * libs/gst/controller/gst-interpolation.c:
71         (gst_controlled_property_find_timed_value_node),
72         (interpolate_none_get), (interpolate_trigger_get),
73         (interpolate_trigger_get_value_array):
74         * libs/gst/controller/lib.c: (gst_controller_init):
75         * pkgconfig/Makefile.am:
76         * pkgconfig/gstreamer-control-uninstalled.pc.in:
77         * pkgconfig/gstreamer-control.pc.in:
78         * testsuite/Makefile.am:
79         * testsuite/controller/.cvsignore:
80         * testsuite/controller/Makefile.am:
81         * testsuite/controller/interpolator.c: (main):
82           added controller code
83           removed dparam pc files
84
85 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
86         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
87         (gst_collectpads_stop):
88           Broadcast the condition when shutting down, to make sure we wake all
89           threads up. Shut down pads on finalize, for safety.
90
91 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
92         * gst/base/gstbasetransform.c: (gst_base_transform_init),
93         (gst_base_transform_handle_buffer),
94         (gst_base_transform_change_state):
95           Handle PAUSED->READY->PAUSED transition after negotiation
96           occurred already.
97         * gst/gstmessage.c: (gst_message_init):
98           Extra piece of debug for new messages.
99
100 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
101
102         * configure.ac:
103         * docs/gst/tmpl/gstbasesrc.sgml:
104         * docs/gst/tmpl/gstelement.sgml:
105         * docs/gst/tmpl/gstevent.sgml:
106         * docs/gst/tmpl/gstfakesrc.sgml:
107         * docs/gst/tmpl/gstformat.sgml:
108         * docs/gst/tmpl/gstghostpad.sgml:
109         * docs/gst/tmpl/gstpad.sgml:
110         * docs/gst/tmpl/gstquery.sgml:
111         * docs/gst/tmpl/gststructure.sgml:
112         * docs/gst/tmpl/gsttaglist.sgml:
113         * docs/gst/tmpl/gstvalue.sgml:
114         * docs/libs/gstreamer-libs-docs.sgml:
115         * docs/libs/gstreamer-libs-sections.txt:
116         * docs/libs/gstreamer-libs.types:
117         * libs/gst/Makefile.am:
118         * libs/gst/control/.cvsignore:
119         * libs/gst/control/Makefile.am:
120         * libs/gst/control/control.c:
121         * libs/gst/control/control.h:
122         * libs/gst/control/dparam.c:
123         * libs/gst/control/dparam.h:
124         * libs/gst/control/dparam_smooth.c:
125         * libs/gst/control/dparam_smooth.h:
126         * libs/gst/control/dparamcommon.h:
127         * libs/gst/control/dparammanager.c:
128         * libs/gst/control/dparammanager.h:
129         * libs/gst/control/dplinearinterp.c:
130         * libs/gst/control/dplinearinterp.h:
131         * libs/gst/control/unitconvert.c:
132         * libs/gst/control/unitconvert.h:
133         * testsuite/Makefile.am:
134         * testsuite/dynparams/.cvsignore:
135         * testsuite/dynparams/Makefile.am:
136         * testsuite/dynparams/dparamstest.c:
137         * tools/Makefile.am:
138         * tools/gst-inspect.c: (print_element_info), (main):
139         * tools/gst-xmlinspect.c: (print_element_info), (main):
140           deactivate and remove dparams (libgstcontrol)
141
142 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
143
144         * gst/elements/gsttypefindelement.c:
145         (gst_type_find_element_have_type), (gst_type_find_element_init),
146         (stop_typefinding), (gst_type_find_element_handle_event),
147         (gst_type_find_element_chain), (gst_type_find_element_getrange):
148         * gst/elements/gsttypefindelement.h:
149           Set caps on all outgoing buffers, not just the first one.
150
151 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
152
153         * gst/elements/gsttypefindelement.c:
154         (gst_type_find_element_have_type),
155         (gst_type_find_element_check_set_buffer_caps),
156         (gst_type_find_element_init), (stop_typefinding),
157         (gst_type_find_element_handle_event),
158         (gst_type_find_element_chain), (gst_type_find_element_getrange):
159         * gst/elements/gsttypefindelement.h:
160           Set caps on first outgoing buffer when we've found the type.
161
162 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
163
164         * docs/gst/gstreamer-docs.sgml:
165         * docs/gst/gstreamer-sections.txt:
166         * docs/gst/tmpl/gstscheduler.sgml:
167         * docs/gst/tmpl/gstschedulerfactory.sgml:
168           Remove some old cruft from docs.
169
170 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
171
172         * gst/gstpad.h:
173           Fix inline docs for GstPadLinkReturn.
174           
175         * gst/gststructure.c: (gst_structure_has_name):
176         * gst/gststructure.h:
177         * docs/gst/gstreamer-sections.txt:
178           New API: gst_structure_has_name().
179
180 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
181
182         * configure.ac:
183           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
184           and _LARGEFILE_SOURCE in config.h as required. Do not 
185           export those flags in our .pc files any longer (#142209).
186
187           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
188
189         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
190         (gst_file_sink_do_seek), (gst_file_sink_event),
191         (gst_file_sink_get_current_offset), (gst_file_sink_render):
192           Redo seek/tell calls with large file support in mind; add some
193           debugging messages; add log message that tells us when large
194           file support is unavailable or not enabled for some reason.
195
196         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
197           Add log message that tells us when large file support 
198           is unavailable or not enabled for some reason.
199
200 2005-07-29  Wim Taymans  <wim@fluendo.com>
201
202         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
203         Added test for removing an element with ghostpad from a bin.
204         Fixed test as current implementation does the right thing.
205
206         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
207         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
208         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
209         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
210         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
211         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
212         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
213         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
214         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
215         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
216         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
217         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
218         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
219         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
220         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
221         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
222         * gst/gstghostpad.h:
223         Clean up ghostpads, remove properties for internal stuff.
224         Make threadsafe.
225         Fix refcounting.
226         Prepare for switching targets, not all use cases work yet.
227
228 2005-07-29  Wim Taymans  <wim@fluendo.com>
229
230         * docs/design/part-gstghostpad.txt:
231         Small update.
232
233         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
234         (gst_bin_remove_func):
235         Unlinking pads while holding the bin LOCK is not a good
236         idea.
237
238         * gst/gstpad.c: (gst_pad_class_init),
239         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
240         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
241         No prob setting template after creating the pad.
242
243 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
244
245         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
246         (gst_bus_peek), (gst_bus_source_dispatch),
247         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
248         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
249           gst_bus_poll may be called from other threads. Handle
250           this nicely by not making poll_data disappear off the
251           stack once gst_bus_poll returns.
252           gst_bus_peek now increments the refcount on the returned
253           message.
254
255 2005-07-29  Wim Taymans  <wim@fluendo.com>
256
257         * docs/design/part-gstghostpad.txt:
258         Overview of current GhostPad datastructures and use
259         cases for changing the target.
260
261 2005-07-28  Wim Taymans  <wim@fluendo.com>
262
263         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
264         Added checks for hierarchy consistency whan adding linked
265         elements to bins.
266
267         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
268         Added check to test element scheduling without bin/pipeline.
269
270         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
271         First add elements to bin, then link.
272         
273         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
274         (gst_bin_remove_func):
275         Unlink pads from elements added/removed from bin to maintain
276         hierarchy consistency.
277
278 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
279
280         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
281         (gst_base_transform_handle_buffer):
282         * gst/base/gstbasetransform.h:
283           Remove broken delay_configure (fixes renegotiation of software
284           scaling pipelines); remove some leftover printf()s.
285
286 2005-07-28  Wim Taymans  <wim@fluendo.com>
287
288         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
289         Added some more tests for wrong hierarchy
290
291         * docs/design/part-overview.txt:
292         Some updates.
293
294         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
295         Cleanups.
296
297         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
298         (gst_element_dispose):
299         Some more cleanups.
300
301         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
302         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
303         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
304         (gst_pad_set_caps), (gst_pad_send_event):
305         Check for correct hierarchy when linking pads. Moving to
306         strict requirement for ghostpads when linking elements in
307         different bins.
308
309         * gst/gstpad.h:
310         Clean ups. Added WRONG_HIERARCHY return value.
311
312 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
313
314         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
315           Better debug if no transform is possible.
316
317 2005-07-27  Wim Taymans  <wim@fluendo.com>
318
319         * docs/random/wtay/network-transp:
320         Some old doc I had.
321
322 2005-07-27  Wim Taymans  <wim@fluendo.com>
323
324         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
325         (gst_dp_event_from_packet):
326         Fix serialization of seek events.
327
328 2005-07-27  Wim Taymans  <wim@fluendo.com>
329
330         * check/gst-libs/gdp.c: (GST_START_TEST):
331         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
332         Fix compilation and fix event serialization.
333
334 2005-07-27  Wim Taymans  <wim@fluendo.com>
335
336         * CHANGES-0.9:
337         * docs/design/part-TODO.txt:
338         * docs/design/part-events.txt:
339         Some docs updates
340
341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
342         (gst_base_sink_event), (gst_base_sink_do_sync),
343         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
344         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
345         (gst_base_src_do_seek), (gst_base_src_event_handler),
346         (gst_base_src_loop):
347         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
348         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
349         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
350         (gst_base_transform_event), (gst_base_transform_handle_buffer),
351         (gst_base_transform_set_passthrough),
352         (gst_base_transform_is_passthrough):
353         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
354         * gst/elements/gstfilesink.c: (gst_file_sink_event):
355         Event updates.
356
357         * gst/gstbuffer.h:
358         Use faster casts.
359
360         * gst/gstelement.c: (gst_element_seek):
361         * gst/gstelement.h:
362         Update gst_element_seek.
363
364         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
365         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
366         (gst_event_new_flush_start), (gst_event_new_flush_stop),
367         (gst_event_new_eos), (gst_event_new_newsegment),
368         (gst_event_parse_newsegment), (gst_event_new_tag),
369         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
370         (gst_event_parse_qos), (gst_event_new_seek),
371         (gst_event_parse_seek), (gst_event_new_navigation):
372         * gst/gstevent.h:
373         Make GstEvent use GstStructure. Add parsing code, make sure the
374         API is sufficiently generic.
375         Mark possible directions of events and serialization.
376
377         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
378         (_gst_message_copy), (gst_message_new_segment_start),
379         (gst_message_new_segment_done), (gst_message_new_custom),
380         (gst_message_parse_segment_start),
381         (gst_message_parse_segment_done):
382         Small cleanups.
383
384         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
385         (gst_pad_set_caps), (gst_pad_send_event):
386         Update for new events. 
387         Catch events sent in wrong directions.
388
389         * gst/gstqueue.c: (gst_queue_link_src),
390         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
391         (gst_queue_handle_src_query):
392         Event updates.
393
394         * gst/gsttag.c:
395         * gst/gsttag.h:
396         Remove event code from this file.
397
398         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
399         (gst_dp_event_from_packet):
400         Event updates.
401
402 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
403
404         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
405         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
406         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
407           Make debugging actually useful.
408
409 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
410
411         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
412         (gst_pad_fixate_caps):
413           Implement default fixation once again, so that gst_pad_fixate()
414           actually does anything at all. This probably needs to be some
415           sort of a last resort, and use profile-based fixation first, but
416           since that doesn't exist yet, this is the best we have. Fixes
417           visualization in Totem.
418
419 2005-07-22  Wim Taymans  <wim@fluendo.com>
420
421         * docs/design/part-events.txt:
422         Small update.
423
424         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
425         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
426         (gst_base_sink_activate_pull):
427         Some more comments.
428
429         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
430         (gst_fake_src_create):
431         Fix handoff marshall.
432
433         * gst/elements/gstidentity.c: (gst_identity_class_init),
434         (gst_identity_transform_ip):
435         We're a real inplace element.
436
437         * gst/gstbus.c: (gst_bus_post):
438         Added some comments.
439
440         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
441         * tests/muxing/case1.c: (main):
442         * tests/sched/dynamic-pipeline.c: (main):
443         * tests/sched/interrupt1.c: (main):
444         * tests/sched/interrupt2.c: (main):
445         * tests/sched/interrupt3.c: (main):
446         * tests/sched/runxml.c: (main):
447         * tests/sched/sched-stress.c: (main):
448         * tests/seeking/seeking1.c: (event_received), (main):
449         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
450         (main):
451         * tests/threadstate/threadstate3.c: (main):
452         * tests/threadstate/threadstate4.c: (main):
453         * tests/threadstate/threadstate5.c: (main):
454         Fix the tests.
455
456 2005-07-21  Wim Taymans  <wim@fluendo.com>
457
458         * docs/design/part-seeking.txt:
459         Some small additions.
460
461         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
462         (gst_base_sink_get_times), (gst_base_sink_do_sync),
463         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
464         * gst/base/gstbasesink.h:
465         discont values are gint64, handle the math correctly.
466
467         * gst/base/gstbasesrc.c: (gst_base_src_loop):
468         Make the basesrc report error if the source pad is not linked.
469
470         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
471         (gst_queue_loop), (gst_queue_handle_src_query),
472         (gst_queue_src_activate_push):
473         Make queue collect data even if the srcpad is not linked.
474         Start pushing out data as soon as it is linked.
475
476         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
477         * gst/gstutils.h:
478         Added gst_flow_get_name() to ease error reporting.
479
480 2005-07-20  Wim Taymans  <wim@fluendo.com>
481
482         * gst/gstmessage.c: (gst_message_new_segment_start),
483         (gst_message_new_segment_done), (gst_message_parse_segment_start),
484         (gst_message_parse_segment_done):
485         * gst/gstmessage.h:
486         Added a bunch of messages for advanced seeking.
487
488         * gst/parse/grammar.y:
489         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
490         (gst_dpman_state_changed):
491         Fix some new-pad -> pad-added signals
492
493 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
494
495         * docs/manual/appendix-porting.xml:
496         * docs/pwg/appendix-porting.xml:
497           Document new-pad/state-change signal renames and the FixedList
498           type rename.
499
500 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
501
502         * docs/manual/advanced-autoplugging.xml:
503         * docs/manual/basics-helloworld.xml:
504         * docs/manual/basics-pads.xml:
505         * docs/random/ds/0.9-suggested-changes:
506         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
507         * gst/gstelement.h:
508         * gst/gstevent.h:
509         * gst/gstformat.h:
510         * gst/gstquery.h:
511         * gst/gststructure.c: (gst_structure_value_get_generic_type),
512         (gst_structure_parse_array), (gst_structure_parse_value):
513         * gst/gstvalue.c: (gst_type_is_fixed),
514         (gst_value_list_prepend_value), (gst_value_list_append_value),
515         (gst_value_list_get_size), (gst_value_list_get_value),
516         (gst_value_transform_array_string), (gst_value_serialize_array),
517         (gst_value_deserialize_array), (gst_value_intersect_array),
518         (gst_value_is_fixed), (_gst_value_initialize):
519         * gst/gstvalue.h:
520           GstElement::new-pad -> pad-added, GstElement::state-change ->
521           state-changed, GstValueFixedList -> GstValueArray, add format and
522           flags as their own arguments in gst_element_seek() (should improve
523           "bindeability"), remove function generators since they don't work
524           under a whole bunch of compilers (they were deprecated already
525           anyway).
526
527 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
528
529         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
530         (_gst_debug_register_funcptr):
531         * gst/gstinfo.h:
532           Fix illegal cast on some platforms (#309253).
533
534 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
535
536         * gst/gstmessage.c: (gst_message_new_custom):
537         * gst/gstmessage.h:
538           Add _new_custom, make _new_application a macro to _new_custom.
539
540 2005-07-20  Wim Taymans  <wim@fluendo.com>
541
542         * gst/base/gstbasesrc.c: (gst_base_src_init),
543         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
544         * gst/base/gstbasesrc.h:
545         Add a gboolean to decide when to push out a discont.
546
547         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
548         (gst_queue_loop), (gst_queue_handle_src_query),
549         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
550         (gst_queue_set_property), (gst_queue_get_property):
551         Some cleanups.
552
553         * tests/threadstate/threadstate1.c: (main):
554         Make a thread test compile and run... very silly..
555
556
557 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
558
559         * docs/manual/appendix-porting.xml:
560           Mention removal of libgstgconf-0.9.la and existence of gconf
561           elements.
562
563 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
564
565         * docs/pwg/advanced-clock.xml:
566         * docs/pwg/appendix-porting.xml:
567         * docs/pwg/intro-preface.xml:
568         * docs/pwg/other-base.xml:
569         * docs/pwg/other-manager.xml:
570         * docs/pwg/other-nton.xml:
571         * docs/pwg/other-ntoone.xml:
572         * docs/pwg/other-oneton.xml:
573         * docs/pwg/pwg.xml:
574           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
575           demuxer), remove n-to-n (was never written), fix some code examples
576           and links and update the porting section to include all this.
577
578 2005-07-19  Wim Taymans  <wim@fluendo.com>
579
580         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
581         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
582         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
583         (gst_queue_src_activate_push), (gst_queue_change_state),
584         (gst_queue_get_property):
585         * gst/gstqueue.h:
586         Propagate GstFlowReturn more intelligently upstream and output
587         an ERROR/EOS when streaming stopped due to fatal error.
588
589 2005-07-19  Wim Taymans  <wim@fluendo.com>
590
591         * tools/gst-launch.c: (check_intr), (event_loop), (main):
592         Don't block forever for the state change to complete, the
593         pipeline already did with a sensible timeout.
594
595 2005-07-19  Wim Taymans  <wim@fluendo.com>
596
597         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
598         Make sure we never call the create function is we
599         got deactivated.
600
601 2005-07-19  Andy Wingo  <wingo@pobox.com>
602
603         * gst/parse/parse.l: Attempt to solve bug #172815.
604
605 2005-07-19  Wim Taymans  <wim@fluendo.com>
606
607         * docs/design/part-clocks.txt:
608         * docs/design/part-events.txt:
609         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
610         Small docs updates.
611         Only update the seeking values when we are not
612         busy streaming.
613
614 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
615
616         * gst/base/gstbasesrc.c: (gst_base_src_loop):
617           Oops, ignore the result of gst_pad_push_event here.
618
619 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
620
621         * gst/base/gstbasesrc.c: (gst_base_src_loop),
622         (gst_base_src_activate_push):
623           Send discont event from the loop function, as pads
624           aren't activated yet in the activate_push handler.
625
626         * gst/gstbin.c: (bin_bus_handler):
627           Don't leak element name.
628
629 2005-07-18  Andy Wingo  <wingo@pobox.com>
630
631         * configure.ac: Use AS_LIBTOOL_TAGS.
632
633 2005-07-18  Wim Taymans  <wim@fluendo.com>
634
635         * docs/gst/gstreamer.types:
636         Remove deleted types.
637
638 2005-07-18  Wim Taymans  <wim@fluendo.com>
639
640         * check/elements/gstfakesrc.c: (GST_START_TEST):
641         * configure.ac:
642         * gst/Makefile.am:
643         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
644         (init_popt_callback):
645         * gst/gst.h:
646         * gst/gst_private.h:
647         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
648         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
649         * gst/gstbin.h:
650         * gst/gstbus.h:
651         * gst/gstconfig.h.in:
652         * gst/gstelement.c: (gst_element_class_init),
653         (gst_element_set_base_time), (gst_element_get_base_time),
654         (iterator_fold_with_resync), (gst_element_change_state),
655         (gst_element_dispose), (gst_element_get_bus):
656         * gst/gstelement.h:
657         * gst/gstelementfactory.h:
658         * gst/gsterror.c: (_gst_core_errors_init):
659         * gst/gsterror.h:
660         * gst/gstevent.h:
661         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
662         * gst/gstindex.c:
663         * gst/gstinfo.c: (_gst_debug_init):
664         * gst/gstmessage.c: (_gst_message_copy):
665         * gst/gstmessage.h:
666         * gst/gstminiobject.h:
667         * gst/gstobject.c:
668         * gst/gstobject.h:
669         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
670         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
671         * gst/gstpad.h:
672         * gst/gstparse.h:
673         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
674         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
675         (gst_pipeline_get_last_stream_time):
676         * gst/gstpipeline.h:
677         * gst/gstpluginfeature.h:
678         * gst/gstquery.h:
679         * gst/gstscheduler.c:
680         * gst/gstscheduler.h:
681         * gst/gststructure.h:
682         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
683         (gst_task_finalize), (gst_task_func), (gst_task_create),
684         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
685         (gst_task_stop), (gst_task_pause):
686         * gst/gsttask.h:
687         * gst/gsttypefind.h:
688         * gst/gsttypes.h:
689         * gst/registries/gstlibxmlregistry.c: (load_feature),
690         (gst_xml_registry_load), (gst_xml_registry_save_feature):
691         * gst/registries/gstxmlregistry.c:
692         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
693         * gst/schedulers/threadscheduler.c:
694         * libs/gst/control/dparammanager.h:
695         * tools/gst-inspect.c: (print_element_list),
696         (print_plugin_features), (print_element_features):
697         * tools/gst-xmlinspect.c: (print_element_list),
698         (print_plugin_info), (main):
699         Removed plugable schedulers.
700         Removed Scheduler/Manager from elements.
701         Removed gsttypes.h, rearranged includes.
702         Removed dependency pad<->element, element<>pipeline, and
703         various others,  fix includes.
704         implement gst_pad_get_parent() with gst_object_get_parent()
705         Make GstTask sefcontained.
706         Fix _get_state() on GstBin, it did not return ASYNC with a 0
707         timeout.
708         Fix endless loop in iterator_fold_with_resync.
709
710
711 2005-07-18  Wim Taymans  <wim@fluendo.com>
712
713         * gst/Makefile.am:
714         * gst/gstarch.h:
715         Remove old file.
716
717 2005-07-18  Wim Taymans  <wim@fluendo.com>
718
719         * gst/Makefile.am:
720         No more cothreads.h
721
722 2005-07-18  Wim Taymans  <wim@fluendo.com>
723
724         * gst/cothreads.c:
725         * gst/cothreads.h:
726         Let's remove these.
727
728 2005-07-18  Wim Taymans  <wim@fluendo.com>
729
730         * docs/design/part-dynamic.txt:
731         * docs/design/part-events.txt:
732         * docs/design/part-seeking.txt:
733         Some more docs in the works.
734
735         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
736         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
737         (gst_base_transform_setcaps), (gst_base_transform_get_size),
738         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
739         (gst_base_transform_handle_buffer),
740         (gst_base_transform_sink_activate_push),
741         (gst_base_transform_src_activate_pull),
742         (gst_base_transform_set_passthrough),
743         (gst_base_transform_is_passthrough):
744         Refcounting fixes.
745
746         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
747         Cleanups.
748
749         * gst/gstevent.c: (gst_event_finalize):
750         Set SRC to NULL.
751
752         * gst/gstutils.c: (gst_element_unlink),
753         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
754         (gst_pad_proxy_setcaps):
755         * gst/gstutils.h:
756         Add _get_parent_element() to get a pads parent as an element.
757
758 2005-07-18  Wim Taymans  <wim@fluendo.com>
759
760         * check/gst/gstbin.c: (GST_START_TEST):
761         Remove bogus test.
762
763 2005-07-18  Wim Taymans  <wim@fluendo.com>
764
765         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
766         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
767         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
768         (gst_base_sink_event), (gst_base_sink_do_sync),
769         (gst_base_sink_chain), (gst_base_sink_loop),
770         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
771         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
772         Refcounting fixes.
773         Fix logic for returning ASYNC when not prerolled.
774
775 2005-07-18  Wim Taymans  <wim@fluendo.com>
776
777         * gst/gstqueue.c: (gst_queue_handle_sink_event):
778         Fix nasty refcount bug.
779
780 2005-07-16 Philippe Khalaf <burger@speedy.org>
781         * gst/elements/gstfdsrc.c:
782         * gst/elements/gstfdsrc.h:
783         * gst/elements/gstelements.c:
784         * gst/elements/Makefile.am:
785         Ported fdsrc to 0.9.
786
787 2005-07-16  Wim Taymans  <wim@fluendo.com>
788
789         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
790         (gst_base_sink_do_sync):
791         Fix compile error.
792
793 2005-07-16  Wim Taymans  <wim@fluendo.com>
794
795         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
796         (gst_base_sink_event), (gst_base_sink_get_times),
797         (gst_base_sink_do_sync), (gst_base_sink_change_state):
798         * gst/base/gstbasesink.h:
799         Store and use discont values when syncing buffers as described
800         in design docs.
801         
802         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
803         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
804         (gst_base_src_activate_push):
805         Push discont event when starting.
806
807         * gst/elements/gstidentity.c: (gst_identity_transform):
808         Small cleanups.
809
810         * gst/gstbin.c: (gst_bin_change_state):
811         Small cleanups in base_time  distribution.
812
813         * gst/gstelement.c: (gst_element_set_base_time),
814         (gst_element_get_base_time), (gst_element_change_state):
815         * gst/gstelement.h:
816         Added methods for the base_time of the element.
817         Some MT fixes.
818
819         * gst/gstpipeline.c: (gst_pipeline_send_event),
820         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
821         (gst_pipeline_get_last_stream_time):
822         * gst/gstpipeline.h:
823         MT fixes.
824         Handle seeking as described in design doc, remove stream_time
825         hack.
826         Cleanups clock and stream_time selection code. Added accessors
827         for the stream_time.
828         
829
830 2005-07-16  Andy Wingo  <wingo@pobox.com>
831
832         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
833         (#305291).
834
835 2005-07-16  Wim Taymans  <wim@fluendo.com>
836
837         * check/gst/gstbin.c: (GST_START_TEST):
838         Make elements silent as the deep_notify refs the
839         parent, which might make the test fail.
840
841         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
842         Don't hold the lock for too long.
843
844 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
845
846         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
847           Don't unref the caps we passed to gst_caps_make_writable() after
848           passing them. gst_caps_make_writable() will do that for us.
849
850 2005-07-15  Andy Wingo  <wingo@pobox.com>
851
852         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
853         (#157311).
854
855         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
856         own marshalling function for the handoff signal. Properly type the
857         buffer as a buffer. Fixes some warnings. Should do a more general
858         solution.
859         (gst_identity_class_init): Plug into the right marshaller.
860
861 2005-07-15  Wim Taymans  <wim@fluendo.com>
862
863         * docs/design/part-TODO.txt:
864         * docs/design/part-clocks.txt:
865         * docs/design/part-element-sink.txt:
866         * docs/design/part-events.txt:
867         * docs/design/part-gstpipeline.txt:
868         Updated docs, mostly DISCONT related.
869
870 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
871
872         * docs/pwg/building-pads.xml:
873           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
874
875 2005-07-15  Andy Wingo  <wingo@pobox.com>
876
877         * tools/gst-typefind.c: Update, add copyright block.
878
879         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
880         Normalize and truncate caps before fixation.
881
882         * gst/gstcaps.h:
883         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
884         discards all but the first structure from its argument.
885
886 2005-07-15  Wim Taymans  <wim@fluendo.com>
887
888         * gst/base/gstbasetransform.c: (gst_base_transform_init),
889         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
890         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
891         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
892         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
893         (gst_base_transform_chain), (gst_base_transform_change_state),
894         (gst_base_transform_set_passthrough),
895         (gst_base_transform_is_passthrough):
896         * gst/base/gstbasetransform.h:
897         Make passthrough work using the bufferpools.
898         Changed API a bit, subclasses have to write into a buffer
899         provided by the base class.
900         More debug info in nego functions.
901         
902         * gst/elements/gstidentity.c: (gst_identity_init),
903         (gst_identity_transform):
904         Port to new base class.
905
906 2005-07-15  Wim Taymans  <wim@fluendo.com>
907
908         * gst/gstmessage.c: (gst_message_new_state_changed):
909         * tools/gst-launch.c: (event_loop), (main):
910         Totally dump messages in -launch with the -m option.
911         Fix message name for State messages,
912
913 2005-07-14  Wim Taymans  <wim@fluendo.com>
914
915         * gst/base/gstbasesrc.c: (gst_base_src_loop):
916         Post error messages on errors.
917
918 2005-07-14  Wim Taymans  <wim@fluendo.com>
919
920         * gst/gstcaps.c: (gst_caps_do_simplify):
921         Remove debug info.
922
923         * gst/gsterror.h:
924         Define error for stream stopped.
925
926         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
927         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
928         Do proper return values.
929
930         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
931         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
932         (gst_pad_get_range):
933         Better return values.
934
935         * gst/gstpad.h:
936         Reorganise return values, add macro to check for fatal errors.
937
938         * gst/gstqueue.c: (gst_queue_chain):
939         Return proper GstFlowReturn values,
940
941 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
942
943         * docs/gst/gstreamer-sections.txt:
944         * docs/gst/gstreamer.types:
945         * docs/gst/tmpl/gst.sgml:
946         * docs/gst/tmpl/gstbasesink.sgml:
947         * docs/gst/tmpl/gstbasesrc.sgml:
948         * docs/gst/tmpl/gstbasetransform.sgml:
949         * docs/gst/tmpl/gstbin.sgml:
950         * docs/gst/tmpl/gstbuffer.sgml:
951         * docs/gst/tmpl/gstcaps.sgml:
952         * docs/gst/tmpl/gstclock.sgml:
953         * docs/gst/tmpl/gstcompat.sgml:
954         * docs/gst/tmpl/gstconfig.sgml:
955         * docs/gst/tmpl/gstelement.sgml:
956         * docs/gst/tmpl/gstelementdetails.sgml:
957         * docs/gst/tmpl/gstelementfactory.sgml:
958         * docs/gst/tmpl/gstenumtypes.sgml:
959         * docs/gst/tmpl/gsterror.sgml:
960         * docs/gst/tmpl/gstevent.sgml:
961         * docs/gst/tmpl/gstfakesink.sgml:
962         * docs/gst/tmpl/gstfakesrc.sgml:
963         * docs/gst/tmpl/gstfilesink.sgml:
964         * docs/gst/tmpl/gstfilesrc.sgml:
965         * docs/gst/tmpl/gstfilter.sgml:
966         * docs/gst/tmpl/gstformat.sgml:
967         * docs/gst/tmpl/gstghostpad.sgml:
968         * docs/gst/tmpl/gstimplementsinterface.sgml:
969         * docs/gst/tmpl/gstindex.sgml:
970         * docs/gst/tmpl/gstindexfactory.sgml:
971         * docs/gst/tmpl/gstinfo.sgml:
972         * docs/gst/tmpl/gstiterator.sgml:
973         * docs/gst/tmpl/gstmacros.sgml:
974         * docs/gst/tmpl/gstmemchunk.sgml:
975         * docs/gst/tmpl/gstminiobject.sgml:
976         * docs/gst/tmpl/gstobject.sgml:
977         * docs/gst/tmpl/gstpad.sgml:
978         * docs/gst/tmpl/gstpadtemplate.sgml:
979         * docs/gst/tmpl/gstparse.sgml:
980         * docs/gst/tmpl/gstpipeline.sgml:
981         * docs/gst/tmpl/gstplugin.sgml:
982         * docs/gst/tmpl/gstpluginfeature.sgml:
983         * docs/gst/tmpl/gstquery.sgml:
984         * docs/gst/tmpl/gstqueue.sgml:
985         * docs/gst/tmpl/gstregistry.sgml:
986         * docs/gst/tmpl/gstregistrypool.sgml:
987         * docs/gst/tmpl/gstscheduler.sgml:
988         * docs/gst/tmpl/gstschedulerfactory.sgml:
989         * docs/gst/tmpl/gststructure.sgml:
990         * docs/gst/tmpl/gstsystemclock.sgml:
991         * docs/gst/tmpl/gsttaglist.sgml:
992         * docs/gst/tmpl/gsttagsetter.sgml:
993         * docs/gst/tmpl/gsttrace.sgml:
994         * docs/gst/tmpl/gsttrashstack.sgml:
995         * docs/gst/tmpl/gsttypefind.sgml:
996         * docs/gst/tmpl/gsttypefindfactory.sgml:
997         * docs/gst/tmpl/gsttypes.sgml:
998         * docs/gst/tmpl/gsturihandler.sgml:
999         * docs/gst/tmpl/gsturitype.sgml:
1000         * docs/gst/tmpl/gstutils.sgml:
1001         * docs/gst/tmpl/gstvalue.sgml:
1002         * docs/gst/tmpl/gstversion.sgml:
1003         * docs/gst/tmpl/gstxml.sgml:
1004         * docs/libs/tmpl/gstcontrol.sgml:
1005         * docs/libs/tmpl/gstdataprotocol.sgml:
1006         * docs/libs/tmpl/gstdparam.sgml:
1007         * docs/libs/tmpl/gstdplinint.sgml:
1008         * docs/libs/tmpl/gstdpman.sgml:
1009         * docs/libs/tmpl/gstdpsmooth.sgml:
1010         * docs/libs/tmpl/gstgetbits.sgml:
1011         * docs/libs/tmpl/gstunitconvert.sgml:
1012         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1013         (gst_push_src_base_init), (gst_push_src_class_init),
1014         (gst_push_src_init), (gst_push_src_create):
1015         * gst/base/gstpushsrc.h:
1016         * gst/elements/gstelements.c:
1017         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1018         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1019         (gst_fake_sink_init), (gst_fake_sink_set_property),
1020         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1021         (gst_fake_sink_event), (gst_fake_sink_preroll),
1022         (gst_fake_sink_render), (gst_fake_sink_change_state):
1023         * gst/elements/gstfakesink.h:
1024         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1025         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1026         (gst_fake_src_base_init), (gst_fake_src_class_init),
1027         (gst_fake_src_init), (gst_fake_src_event_handler),
1028         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1029         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1030         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1031         (gst_fake_src_create_buffer), (gst_fake_src_create),
1032         (gst_fake_src_start), (gst_fake_src_stop):
1033         * gst/elements/gstfakesrc.h:
1034         * gst/elements/gstfilesink.c: (_do_init),
1035         (gst_file_sink_base_init), (gst_file_sink_class_init),
1036         (gst_file_sink_init), (gst_file_sink_dispose),
1037         (gst_file_sink_set_location), (gst_file_sink_set_property),
1038         (gst_file_sink_get_property), (gst_file_sink_open_file),
1039         (gst_file_sink_close_file), (gst_file_sink_query),
1040         (gst_file_sink_event), (gst_file_sink_render),
1041         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1042         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1043         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1044         * gst/elements/gstfilesink.h:
1045         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1046         (gst_file_src_class_init), (gst_file_src_init),
1047         (gst_file_src_finalize), (gst_file_src_set_location),
1048         (gst_file_src_set_property), (gst_file_src_get_property),
1049         (gst_file_src_map_region), (gst_file_src_map_small_region),
1050         (gst_file_src_create_mmap), (gst_file_src_create_read),
1051         (gst_file_src_create), (gst_file_src_is_seekable),
1052         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1053         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1054         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1055         (gst_file_src_uri_handler_init):
1056         * gst/elements/gstfilesrc.h:
1057           more autistic cleanliness in functions/names/defines
1058
1059 2005-07-13  Andy Wingo  <wingo@pobox.com>
1060
1061         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1062         source couldn't negotiate.
1063
1064         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1065         connections again.
1066
1067         * gst/gstutils.h:
1068         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1069         function. I am channeling Hades. Put your boots on suckers!!!
1070
1071 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1072
1073         * testsuite/caps/Makefile.am:
1074         * testsuite/caps/value_compare.c:
1075         * testsuite/caps/value_intersect.c:
1076         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1077           move two testsuite apps over to the check dir
1078
1079 2005-07-12  Wim Taymans  <wim@fluendo.com>
1080
1081         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1082         Added more debug info in the negotiate process.
1083
1084         * gst/gstmessage.h:
1085         Prepare for segment playback.
1086
1087         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1088         Better debugging.
1089
1090         * gst/gstutils.c:
1091         Some more docs.
1092
1093         * tools/gst-launch.c: (main):
1094         NULL pipeline on errors.
1095
1096 2005-07-12  Andy Wingo  <wingo@pobox.com>
1097
1098         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1099         not it comes from a malloc region. Make sure our copy gets freed.
1100
1101 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1102
1103         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1104         * check/gst/gstmessage.c: (GST_START_TEST):
1105         * check/gst/gststructure.c: (GST_START_TEST),
1106         (gst_structure_suite), (main):
1107           more testing
1108         * gst/gstelement.c: (gst_element_message_full):
1109           clean up GError and debug string now that they get copied
1110         * gst/gstmessage.c: (gst_message_new_error),
1111         (gst_message_new_warning), (gst_message_parse_error),
1112         (gst_message_parse_warning):
1113           use GST_TYPE_G_ERROR for structure_new, and take copies of
1114           arguments, so that we don't mess up refcounting
1115
1116 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1117
1118         * check/Makefile.am:
1119           add per-test valgrind targets
1120         * check/gst-libs/gdp.c: (GST_START_TEST),
1121         (gst_data_protocol_suite), (main):
1122           clean up
1123
1124 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1125
1126         * check/Makefile.am:
1127           instate more valgrindable tests
1128         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1129         (GST_START_TEST), (fakesrc_suite):
1130         * check/gst/gstpad.c: (GST_START_TEST):
1131         * check/gst/gststructure.c: (GST_START_TEST):
1132           fix test leaks
1133         * docs/gst/tmpl/gstminiobject.sgml:
1134         * gst/gstpad.c: (gst_pad_finalize):
1135           fix the static mutex leak
1136
1137 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1138
1139         * check/Makefile.am:
1140           add two more tests for valgrinding
1141         * check/gst/gstvalue.c: (GST_START_TEST):
1142           test refcount of deserialized buffer, found a leak
1143         * docs/gst/gstreamer-docs.sgml:
1144         * docs/gst/gstreamer-sections.txt:
1145         * docs/gst/gstreamer.types:
1146         * docs/gst/tmpl/gstminiobject.sgml:
1147           add miniobject to docs
1148         * gst/gstminiobject.c:
1149           add some docs
1150         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1151         (gst_string_unwrap):
1152           fix a hard-to-find invalid write for one of the tests
1153           fix a leak for deserialized buffers
1154
1155 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1156
1157         * docs/pwg/advanced-events.xml:
1158         * docs/pwg/advanced-request.xml:
1159         * docs/pwg/advanced-scheduling.xml:
1160         * docs/pwg/appendix-porting.xml:
1161         * docs/pwg/building-boiler.xml:
1162         * docs/pwg/intro-preface.xml:
1163         * docs/pwg/other-ntoone.xml:
1164           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1165           of example code and explanation for pad activation, loop() and
1166           getrange() functions and a bit more. Remove old comments pointing
1167           to loop-functions.
1168         * examples/pwg/Makefile.am:
1169           Add loop/getrange examples.
1170
1171 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1172
1173         * configure.ac:
1174           check for valgrind binary + some fixes
1175         * check/gst.supp:
1176           valgrind suppressions for the tests
1177         * check/Makefile.am:
1178           add a valgrind: target that valgrinds the unit tests
1179         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1180         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1181         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1182         * check/gst/gstghostpad.c:
1183           added some cleanup
1184         * check/gst/gstdata.c:
1185           removed
1186         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1187         (thread_unref), (gst_mini_object_suite), (main):
1188           added
1189         * gst/gst.c: (gst_deinit):
1190         * gst/gst.h:
1191           add a method to clean up.
1192         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1193         (gst_system_clock_obtain):
1194           allow for disposing the system clock.
1195         * tools/gst-launch.c: (main):
1196           deinit
1197
1198 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1199
1200         * docs/gst/tmpl/gstbasesrc.sgml:
1201         * docs/gst/tmpl/gstfakesrc.sgml:
1202         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1203         (gst_base_src_init), (gst_base_src_set_property),
1204         (gst_base_src_get_property), (gst_base_src_get_range),
1205         (gst_base_src_start):
1206         * gst/base/gstbasesrc.h:
1207           add num-buffers property
1208         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1209         (gst_fakesrc_init), (gst_fakesrc_set_property),
1210         (gst_fakesrc_get_property), (gst_fakesrc_create),
1211         (gst_fakesrc_start):
1212           remove num-buffers property
1213
1214 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1215
1216         * docs/gst/gstreamer-sections.txt:
1217         * docs/gst/tmpl/gstbasesink.sgml:
1218         * docs/gst/tmpl/gstbasesrc.sgml:
1219         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1220         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1221         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1222         (gst_base_sink_set_property), (gst_base_sink_get_property),
1223         (gst_base_sink_handle_object), (gst_base_sink_event),
1224         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1225         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1226         (gst_base_sink_loop), (gst_base_sink_deactivate),
1227         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1228         (gst_base_sink_change_state):
1229         * gst/base/gstbasesink.h:
1230         * gst/base/gstbasesrc.h:
1231         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1232         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1233         (gst_filesink_init):
1234           more macro splitting
1235
1236 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1237
1238         * gst/gstelement.c: (gst_element_get_bus):
1239           add debug
1240         * tools/gst-launch.c: (check_intr), (event_loop):
1241           fix bus leaks
1242
1243 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1244
1245         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1246           fix a caps leak
1247
1248 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1249
1250         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1251         (gst_base_src_finalize):
1252           add finalize method and clean up properly
1253         * gst/gstpipeline.c: (gst_pipeline_dispose):
1254           add debug
1255
1256 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1257
1258         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1259         (gst_bin_suite):
1260           add more things to check
1261         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1262         * gst/gstelement.c:
1263           more debug
1264
1265 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1266
1267         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1268         (GST_START_TEST), (fakesrc_suite):
1269         * check/gst-libs/gdp.c: (GST_START_TEST):
1270         * check/gst/gst.c: (GST_START_TEST):
1271         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1272         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1273         * check/gst/gstbus.c: (GST_START_TEST):
1274         * check/gst/gstcaps.c: (GST_START_TEST):
1275         * check/gst/gstdata.c: (GST_START_TEST):
1276         * check/gst/gstelement.c: (GST_START_TEST):
1277         * check/gst/gstghostpad.c: (GST_START_TEST):
1278         * check/gst/gstiterator.c: (GST_START_TEST):
1279         * check/gst/gstmessage.c: (GST_START_TEST):
1280         * check/gst/gstobject.c: (GST_START_TEST):
1281         * check/gst/gstpad.c: (GST_START_TEST):
1282         * check/gst/gststructure.c: (GST_START_TEST):
1283         * check/gst/gstsystemclock.c: (GST_START_TEST),
1284         (gst_systemclock_suite):
1285         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1286         * check/gst/gstvalue.c: (GST_START_TEST):
1287         * check/pipelines/cleanup.c: (GST_START_TEST):
1288         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1289         * check/states/sinks.c: (GST_START_TEST):
1290         * check/gstcheck.c: (gst_check_init):
1291         * check/gstcheck.h:
1292           add debugging category
1293           use GST_START_TEST now, so we add a debug line
1294
1295 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1296
1297         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1298           add test for state change message on a bin
1299         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1300           add another test
1301         * gst/gstbin.c: (gst_bin_init):
1302         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1303         * gst/gstelement.c: (gst_element_post_message),
1304         (gst_element_set_state):
1305         * gst/gstelementfactory.c: (gst_element_factory_create):
1306         * gst/gstmessage.c: (gst_message_new):
1307         * gst/gstscheduler.c:
1308           various debugging additions and cleanups
1309
1310 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1311
1312         * check/Makefile.am:
1313         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1314         (main):
1315           adding tests for elements
1316         * gst/gstelement.c: (gst_element_dispose):
1317
1318 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1319
1320         * gst/registries/gstlibxmlregistry.c: (load_feature):
1321           plug more leaks.  A simple gst_init() now is leakfree, yay.
1322
1323 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1324
1325         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1326         (gst_xml_registry_load):
1327           plug another memleak
1328
1329 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1330
1331         * configure.ac:
1332           use GST_SET_ERROR_CFLAGS
1333         * docs/faq/cvs.xml:
1334           change to ERROR_CFLAGS
1335
1336 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1337
1338         * configure.ac:
1339           make GST_ERROR_CFLAGS overridable and re-enable Werror
1340         * docs/faq/cvs.xml:
1341           add a note about error CFLAGS
1342         * docs/gst/tmpl/gstfakesrc.sgml:
1343         * gst/elements/gstfakesrc.c:
1344           comment out some unused code
1345         * gst/gst.c: (split_and_iterate):
1346         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1347         (load_feature):
1348           plug some memleaks
1349
1350 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1351
1352         * common/Makefile.am:
1353         * common/gtk-doc.mak:
1354         * docs/gst/Makefile.am:
1355           factor out gtk-doc.mak
1356
1357 2005-07-07  Wim Taymans  <wim@fluendo.com>
1358
1359         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1360         (gst_thread_scheduler_dispose):
1361         Unlock the STREAM_LOCK completely.
1362
1363 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1364
1365         * check/Makefile.am:
1366         * check/elements/.cvsignore:
1367         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1368         (START_TEST), (fakesrc_suite), (main):
1369         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1370         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1371         (gst_fakesrc_create), (gst_fakesrc_start):
1372         * gst/elements/gstfakesrc.h:
1373           adding a first element test
1374
1375 2005-07-07  Andy Wingo  <wingo@pobox.com>
1376
1377         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1378         debug message.
1379
1380 2005-07-07  Wim Taymans  <wim@fluendo.com>
1381
1382         * gst/gstquery.c:
1383         * gst/gstquery.h:
1384         Remove old types
1385
1386 2005-07-07  Wim Taymans  <wim@fluendo.com>
1387
1388         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1389         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1390         Allow subclasses to implement their own negotiation.
1391
1392 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1393
1394         * docs/design/part-gstbin.txt:
1395         * docs/design/part-gstpipeline.txt:
1396           Update design notes to reflect the movement of
1397           responsibility for bus handling from GstPipeline to
1398           GstBin
1399
1400 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1401
1402         * configure.ac:
1403           Remove unnecessary queue2/3/4 examples.
1404
1405 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1406
1407         * examples/Makefile.am:
1408         * examples/helloworld/helloworld.c: (event_loop), (main):
1409         * examples/queue/queue.c: (event_loop), (main):
1410         * examples/queue2/queue2.c: (main):
1411           Update a couple of the examples to work again.
1412
1413         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1414         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1415          Spelling corrections and extra debug.
1416         
1417         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1418         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1419         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1420         * gst/gstbin.h:
1421         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1422         (gst_pipeline_change_state):
1423         * gst/gstpipeline.h:
1424           Move the bus handler for children to the GstBin, and create a
1425           separate bus for receiving messages from children to the one the
1426           bus sends 'upwards' on.
1427
1428 2005-07-06  Wim Taymans  <wim@fluendo.com>
1429
1430         * gst/base/README:
1431         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1432         (gst_base_sink_handle_object), (gst_base_sink_loop),
1433         (gst_base_sink_change_state):
1434         * gst/base/gstbasesink.h:
1435         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1436         (gst_base_src_init), (gst_base_src_setcaps),
1437         (gst_base_src_getcaps), (gst_base_src_loop),
1438         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1439         (gst_base_src_start), (gst_base_src_change_state):
1440         * gst/base/gstbasesrc.h:
1441         Make basesrc negotiate.
1442         Handle the case where preroll fails in basesink.
1443         Update README.
1444
1445 2005-07-06  Wim Taymans  <wim@fluendo.com>
1446
1447         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1448         Implement the fixate function.
1449         Clean up acceptcaps.
1450
1451 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1452
1453         * docs/pwg/building-filterfactory.xml:
1454         * docs/pwg/pwg.xml:
1455           Remove never-written filter-factory chapter; I'll add the various
1456           base classes to part 4 ("other element types") later on.
1457
1458 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1459
1460         * docs/pwg/advanced-negotiation.xml:
1461         * docs/pwg/building-boiler.xml:
1462         * docs/pwg/building-pads.xml:
1463         * docs/pwg/pwg.xml:
1464         * examples/pwg/Makefile.am:
1465           Add a chapter on caps negotiation, simplify the original code
1466           samples a bit w.r.t. caps negotiation, add link to the advanced
1467           section. Add a bunch of examples showing different use cases of
1468           different types of caps negotiation. Upstream renegotiation isn't
1469           fully documented yet since nobody knows how that works.
1470
1471 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1472
1473         * check/gst/gstpad.c:
1474         * check/gstcheck.c:
1475         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1476           if pad has no parent, return NULL as list of internal links
1477
1478 2005-07-05  Andy Wingo  <wingo@pobox.com>
1479
1480         * gst/elements/gstfilesrc.c:
1481         * gst/elements/gstfakesrc.c: 
1482         * gst/base/gstpushsrc.c:
1483         * gst/base/gstbasesrc.h: 
1484         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1485         
1486 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1487
1488         * Makefile.am:
1489           better report generation target (lcov needs a patch)
1490
1491 2005-07-05  Andy Wingo  <wingo@pobox.com>
1492
1493         * gst/elements, testsuite: Null if we got it...
1494
1495 2005-07-05  Wim Taymans  <wim@fluendo.com>
1496
1497         * configure.ac:
1498         * libs/gst/dataprotocol/Makefile.am:
1499         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1500         * libs/gst/dataprotocol/dataprotocol.h:
1501         * pkgconfig/Makefile.am:
1502         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1503         * pkgconfig/gstreamer-dataprotocol.pc.in:
1504         Ported dataprotol to 0.9. 
1505         Added pkgconfig files.
1506
1507 2005-07-05  Andy Wingo  <wingo@pobox.com>
1508
1509         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1510         Default to returning TRUE for the case when tranform_caps returns
1511         a fixed caps, like for identity or volume.
1512
1513         * check/gst/gstbus.c (pound_bus_with_messages): 
1514         * check/gst/gstmessage.c (START_TEST): 
1515         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1516         message API change.
1517
1518         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1519         logic weaks here: always run transform_caps, trying passthrough
1520         operation only if the original caps intersects with the transform.
1521
1522         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1523         source and sink caps.
1524
1525         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1526         Intersect the peer caps with the pad template before going into
1527         transform_caps.
1528         (gst_base_transform_transform_caps): More debugging.
1529
1530         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1531         src argument.
1532
1533 2005-07-04  Edward Hervey  <edward@fluendo.com>
1534
1535         * gst/gstutils.c:
1536         * gst/gstutils.h:
1537         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1538         in bindings.
1539
1540 2005-07-04  Andy Wingo  <wingo@pobox.com>
1541
1542         * check/gst/gstpad.c: Only set explicit caps on pads.
1543
1544 2005-07-01  Andy Wingo  <wingo@pobox.com>
1545
1546         * tests/network-clock.scm: Commentary update.
1547
1548         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1549         Didn't really make sense, not implementable with basetransform,
1550         etc.
1551         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1552         attempt at implementing the sync property, needs an unlock method.
1553
1554         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1555         New func, by default returns the same caps (the identity
1556         transformation).
1557         (gst_base_transform_getcaps): Uses transform_caps to return
1558         something sensible.
1559         (gst_base_transform_setcaps): Complicated logic to get caps on
1560         both pads, even if they are different, and to call set_caps once
1561         for every time both pads get their caps set.
1562         (gst_base_transform_handle_buffer): Give the ref to the transform
1563         function. Allows in-place modification of the buffer.
1564
1565         * gst/base/gstbasetransform.h (transform_caps): New class method.
1566         Given caps on one side, what can I do on the other.
1567         (set_caps): Take two caps, one for each side of the element.
1568
1569         * gst/gstpad.h:
1570         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1571         caps in place. This is safe because we can check the mutability of
1572         the caps, and a good idea because fixate functions are just called
1573         as a matter of last resort. (Not actually implemented.)
1574         (gst_pad_set_caps): If the caps we're setting is actually the same
1575         as the existing pad caps, just update the pointer without calling
1576         setcaps. Assert that caps is either NULL or fixed, as per the
1577         docs.
1578
1579         * gst/gstghostpad.c: Update for fixate changes.
1580
1581 2005-07-02  Andy Wingo  <wingo@pobox.com>
1582
1583         * gst/gstcaps.c:
1584         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1585         two refcounts makes it immutable, which is enough. Doc more.
1586
1587 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1588
1589         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1590           Put the mini_object into GValue as a mini_object,
1591           not a gpointer, since that's how we declared
1592           the signal.
1593
1594 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1595
1596         * examples/pwg/Makefile.am:
1597           Fix buildbot again.
1598
1599 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1600
1601         * docs/pwg/building-testapp.xml:
1602           Add extra check.
1603         * examples/pwg/Makefile.am:
1604           Fix buildbot.
1605
1606 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1607
1608         * configure.ac:
1609         * examples/Makefile.am:
1610         * examples/pwg/Makefile.am:
1611         * examples/pwg/extract.pl:
1612           Enable building the PWG examples.
1613         * docs/pwg/advanced-interfaces.xml:
1614           Add URI interface stub.
1615         * docs/pwg/advanced-types.xml:
1616         * docs/pwg/other-autoplugger.xml:
1617         * docs/pwg/appendix-porting.xml:
1618         * docs/pwg/pwg.xml:
1619           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1620         * docs/pwg/building-boiler.xml:
1621         * docs/pwg/building-chainfn.xml:
1622         * docs/pwg/building-pads.xml:
1623         * docs/pwg/building-props.xml:
1624         * docs/pwg/building-state.xml:
1625         * docs/pwg/building-testapp.xml:
1626           Update the building-*.xml parts for 0.9 changes. All examples
1627           code blocks compile in examples/pwg/*.
1628
1629 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1630
1631         * docs/manual/advanced-autoplugging.xml:
1632         * docs/manual/appendix-checklist.xml:
1633         * docs/manual/appendix-integration.xml:
1634         * docs/manual/highlevel-components.xml:
1635           Fix playbin/decodebin examples, update docs a bit, mention bus
1636           instead of signals in various places, mention kmplayer and
1637           kaffeine since they have a working GStreamer backend in the KDE
1638           section.
1639
1640 2005-06-30  Wim Taymans  <wim@fluendo.com>
1641
1642         * CHANGES-0.9:
1643         * docs/design/draft-ghostpads.txt:
1644         * docs/design/draft-push-pull.txt:
1645         * docs/design/draft-query.txt:
1646         * docs/design/part-TODO.txt:
1647         * docs/design/part-query.txt:
1648         Added CHANGES-0.9 doc, updated status of other docs.
1649         
1650         * gst/gstquery.h:
1651         Remove "hmm" macro
1652
1653 2005-06-30  Wim Taymans  <wim@fluendo.com>
1654
1655         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1656         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1657         (gst_base_sink_change_state):
1658         * gst/base/gstbasesink.h:
1659         Some tweaks, only EOS and a buffer complete a preroll.
1660
1661 2005-06-30  Andy Wingo  <wingo@pobox.com>
1662
1663         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1664         activate_push down to the internal pad as well.
1665
1666 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1667
1668         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1669
1670         * gst/gsttaginterface.c:
1671           Some documentation fixes (#307394 and #307397).
1672
1673 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1674
1675         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1676
1677         * gst/gstvalue.c: (gst_value_intersect_list):
1678           Fix memleak (#309125).
1679
1680 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1681
1682         * docs/manual/advanced-dataaccess.xml:
1683           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1684         * docs/manual/basics-pads.xml:
1685           Add reference for filtered caps to above chapter.
1686
1687 2005-06-30  Wim Taymans  <wim@fluendo.com>
1688
1689         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1690         (gst_bin_change_state):
1691         Probes are gone.
1692         Lame attempt at making the state change function a bit
1693         more readable.
1694
1695 2005-06-30  Wim Taymans  <wim@fluendo.com>
1696
1697         * docs/design/part-clocks.txt:
1698         * docs/design/part-element-sink.txt:
1699         * docs/design/part-events.txt:
1700         * docs/design/part-preroll.txt:
1701         * docs/design/part-states.txt:
1702         Some more tweeks and additions to the docs.
1703
1704 2005-06-30  Wim Taymans  <wim@fluendo.com>
1705
1706         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1707         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1708         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1709         (gst_pad_check_pull_range), (gst_pad_get_range),
1710         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1711         * gst/gstpad.h:
1712         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1713         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1714         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1715         (gst_pad_remove_buffer_probe):
1716         Removed atomic operations, use existing LOCK.
1717         Move exception handling out of main code path.
1718
1719 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1720
1721         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1722         (silly_return_true_function), (gst_pad_class_init),
1723         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1724         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1725         (gst_pad_send_event):
1726           Fix accumulator, add default value by using _emitv() instead
1727           of _emit() for signal emission.
1728
1729 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1730
1731         * docs/manual/advanced-dataaccess.xml:
1732         * examples/manual/Makefile.am:
1733           Add probe example.
1734         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1735           Make work (??).
1736
1737 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1738
1739         * gst/elements/gstfilesink.c: (gst_filesink_render):
1740           Simplify code so that we don't have to handle short
1741           writes and return GST_FLOW_ERROR if an error occured.
1742
1743 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1744
1745         * docs/gst/gstreamer-docs.sgml:
1746           Remove probes more.
1747
1748 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1749
1750         * docs/gst/gstreamer-sections.txt:
1751         * docs/gst/tmpl/gstpad.sgml:
1752         * docs/gst/tmpl/gstprobe.sgml:
1753         * gst/Makefile.am:
1754         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1755         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1756         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1757         (gst_pad_push_event), (gst_pad_send_event):
1758         * gst/gstpad.h:
1759         * gst/gstutils.c: (gst_pad_add_data_probe),
1760         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1761         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1762         (gst_pad_remove_buffer_probe):
1763         * gst/gstutils.h:
1764           Remove old probes, add new g-signal-based probes and some utility
1765           functions.
1766
1767 2005-06-29  Edward Hervey  <edward@fluendo.com>
1768
1769         * gst/gstelementfactory.c:
1770         * gst/gstutils.h:
1771         * gst/gstutils.c:
1772         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1773         the definition to the header file.
1774
1775 2005-06-29  Andy Wingo  <wingo@pobox.com>
1776
1777         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1778         plugins from the source directory.
1779
1780 2005-06-29  Wim Taymans  <wim@fluendo.com>
1781
1782         * docs/gst/tmpl/gstbuffer.sgml:
1783         * docs/gst/tmpl/gstclock.sgml:
1784         Some fixings for blantently wrong text.
1785
1786 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1787
1788         * check/Makefile.am:
1789         * gst/gst.c: (add_path_func), (init_pre):
1790         * gst/gstregistry.c: (gst_registry_add_path):
1791           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1792           only scan the GST_PLUGIN_PATH locations, and not add
1793           system locations
1794
1795 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1796
1797         * docs/gst/gstreamer-sections.txt:
1798         * docs/gst/tmpl/gstbasesrc.sgml:
1799         * gst/gstelement.c:
1800         * gst/gstelement.h:
1801         * gst/gstevent.c:
1802         * gst/gstutils.c:
1803           doc fixes
1804
1805 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1806
1807         * docs/manual/advanced-autoplugging.xml:
1808           Fix autoplugging example.
1809
1810 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1811
1812         * docs/manual/advanced-autoplugging.xml:
1813         * docs/manual/mime-world.fig:
1814           Try to get autoplugging working, fix type detection. Fix text
1815           in hello-world image.
1816
1817 2005-06-29  Wim Taymans  <wim@fluendo.com>
1818
1819         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1820         (gst_base_sink_change_state):
1821         Small debug line.
1822
1823         * gst/gstclock.h:
1824         map SIGNAL and BROADCAST to the right function.
1825
1826         * gst/gstobject.h:
1827         Remove redundant braces.
1828
1829         * gst/gstpad.c: (gst_pad_set_caps):
1830         Don't call setcaps function when reseting caps to NULL.
1831
1832         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1833         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1834         (gst_system_clock_id_unschedule):
1835         Use BROADCAST as this is what we do.
1836
1837 2005-06-29  Wim Taymans  <wim@fluendo.com>
1838
1839         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1840         We are actually prerolling before commiting the state
1841         change. 
1842
1843 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1844
1845         * docs/manual/advanced-clocks.xml:
1846         * docs/manual/advanced-interfaces.xml:
1847         * docs/manual/advanced-metadata.xml:
1848         * docs/manual/advanced-position.xml:
1849         * docs/manual/advanced-schedulers.xml:
1850         * docs/manual/advanced-threads.xml:
1851         * docs/manual/appendix-porting.xml:
1852         * docs/manual/basics-bins.xml:
1853         * docs/manual/basics-bus.xml:
1854         * docs/manual/basics-elements.xml:
1855         * docs/manual/basics-helloworld.xml:
1856         * docs/manual/basics-pads.xml:
1857         * docs/manual/highlevel-components.xml:
1858         * docs/manual/manual.xml:
1859         * docs/manual/thread.fig:
1860           Update (until threads/scheduling) Application Development Manual;
1861           remove GstThread, add GstBus, add simple porting checklist, add
1862           documentation for tag writing, clocks, make all examples until this
1863           part compile and run.
1864         * examples/manual/Makefile.am:
1865           Update from changes to Application Development Manual; add bus
1866           example, remove thread example.
1867
1868 2005-06-28  Wim Taymans  <wim@fluendo.com>
1869
1870         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1871         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1872         (gst_bus_source_dispatch):
1873         Add debugging messages.
1874         Make internal methods static.
1875         Handle the case where the bus is flushed in the handler.
1876         
1877         * gst/gstelement.c: (gst_element_get_bus):
1878         Fix refcount in _get_bus();
1879
1880         * gst/gstpipeline.c: (gst_pipeline_change_state),
1881         (gst_pipeline_get_clock_func):
1882         Clock refcounting fixes.
1883         Handle the case where preroll timed out more gracefully.
1884         
1885         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1886         Clean up the internal thread in dispose. This is needed
1887         for subclasses that actually get disposed.
1888         
1889         * gst/schedulers/threadscheduler.c:
1890         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1891         (gst_thread_scheduler_dispose):
1892         Free thread pool in dispose.
1893
1894 2005-06-28  Andy Wingo  <wingo@pobox.com>
1895
1896         * tests/network-clock-utils.scm (debug, print-event): New utils.
1897
1898         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1899         (*packet-loss*): Unified loss probability.
1900         (network-time): Report out-of-band events.
1901
1902         * tests/plot-data: Add support for out-of-band events. Hack it
1903         into this script instead of passing it down the pipe; should fix
1904         this later.
1905
1906 2005-06-28  Wim Taymans  <wim@fluendo.com>
1907
1908         * docs/gst/gstreamer.types:
1909         * docs/gst/tmpl/gstbasesrc.sgml:
1910         * docs/gst/tmpl/gstpad.sgml:
1911         Docs fixes.
1912
1913 2005-06-28  Wim Taymans  <wim@fluendo.com>
1914
1915         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1916         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1917         (gst_proxy_pad_do_fixatecaps):
1918         Correctly proxy the check_pull_range function.
1919
1920 2005-06-28  Andy Wingo  <wingo@pobox.com>
1921
1922         * tests/network-clock.scm: Removed need for slib.
1923         
1924 2005-06-28  Wim Taymans  <wim@fluendo.com>
1925
1926         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1927         (gst_basesink_preroll_queue_flush):
1928         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1929         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1930         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1931         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1932         (gst_proxy_pad_set_property):
1933         * gst/gstpad.c:
1934         * gst/gstpad.h:
1935         * gst/gstqueue.c: (gst_queue_init):
1936         The deprecated pad loop function is removed now.
1937
1938 2005-06-28  Andy Wingo  <wingo@pobox.com>
1939
1940         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1941         New parameters, simulate network packet loss.
1942
1943         * tests/network-clock-utils.scm: Initialize the RNG.
1944
1945 2005-06-28  Wim Taymans  <wim@fluendo.com>
1946
1947         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1948         (gst_basesink_event), (gst_basesink_deactivate):
1949         Flushing the preroll queue always needs to unlock the waiters.
1950
1951 2005-06-28  Edward Hervey  <edward@fluendo.com>
1952
1953         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1954         Wheen a seek was successful on a pipeline, set the stream_time to the
1955         seek offset in order to have a synchronized stream_time.
1956
1957 2005-06-28  Wim Taymans  <wim@fluendo.com>
1958
1959         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1960         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1961         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1962         (gst_proxy_pad_do_fixatecaps):
1963         Call wrapper function instead of just calling the function
1964         pointers. This takes care of any locking and whatmore.
1965
1966 2005-06-28  Wim Taymans  <wim@fluendo.com>
1967
1968         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1969         (gst_pad_pull_range):
1970         * gst/gstpad.h:
1971         CONNECTED -> LINKED.
1972
1973 2005-06-28  Andy Wingo  <wingo@pobox.com>
1974
1975         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1976         source-munging commit!!!
1977
1978         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1979         (gst_object_sink): Take gpointer arguments, not GstObject --
1980         avoids casts. Like GLib.
1981
1982         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1983         activate.
1984
1985 2005-06-27  Andy Wingo  <wingo@pobox.com>
1986
1987         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1988         remaining buffer.
1989
1990         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1991         returns a sorted copy of the trace list.
1992         (gst_alloc_trace_print_live): New API, only prints traces with
1993         live objects. Sort the list.
1994         (gst_alloc_trace_print_all): Sort the list.
1995         (gst_alloc_trace_print): Align columns.
1996
1997         * gst/elements/gstttypefindelement.c:
1998         * gst/elements/gsttee.c:
1999         * gst/base/gstbasesrc.c:
2000         * gst/base/gstbasesink.c:
2001         * gst/base/gstbasetransform.c:
2002         * gst/gstqueue.c: Adapt for pad activation changes.
2003
2004         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2005         sched.
2006         (gst_pipeline_dispose): Drop ref on sched.
2007
2008         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2009         (gst_pad_activate_default): Push mode by default.
2010         (pre_activate_switch, post_activate_switch): New stubs, things to
2011         do before and after switching activation modes on pads.
2012         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2013         the pad's activate function to choose which mode to activate.
2014         Shortcut on deactivation and call the right function directly.
2015         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2016         mode.
2017         (gst_pad_activate_push): New API, same for push mode.
2018         (gst_pad_set_activate_function) 
2019         (gst_pad_set_activatepull_function) 
2020         (gst_pad_set_activatepush_function): Setters for new API.
2021
2022         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2023         Trace all miniobjects.
2024         (gst_mini_object_make_writable): Unref the arg if we copy, like
2025         gst_caps_make_writable.
2026
2027         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2028
2029         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2030         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2031         Adapt for new pad API.
2032
2033         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2034
2035         * gst/gstelement.h:
2036         * gst/gstelement.c (gst_element_iterate_src_pads) 
2037         (gst_element_iterate_sink_pads): New API functions.
2038         
2039         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2040         should fold into gstiterator.c in some form.
2041         (gst_element_pads_activate): Simplified via use of fold and
2042         delegation of decisions to gstpad->activate.
2043
2044         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2045         help in debugging.
2046
2047         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2048         class once in init, like gstmessage. Didn't run into this issue
2049         but it seems correct. Don't initialize a trace, gstminiobject does
2050         that.
2051
2052         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2053         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2054         to the bus.
2055         (assert_live_count): New util function, uses alloc traces to check
2056         cleanup.
2057
2058         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2059         To be modified when unlink drops the internal pad.
2060
2061 2005-06-27  Wim Taymans  <wim@fluendo.com>
2062
2063         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2064         (gst_bin_change_state):
2065         Cleanup the get_state() function a little, make sure it
2066         iterates the same set of elements.
2067         Added stub iterate_state_order().
2068
2069 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2070
2071         * docs/gst/gstreamer-docs.sgml:
2072         * docs/gst/gstreamer-sections.txt:
2073         * docs/gst/gstreamer.types:
2074         * docs/gst/tmpl/gstbasesink.sgml:
2075         * docs/gst/tmpl/gstbasesrc.sgml:
2076         * docs/gst/tmpl/gstbasetransform.sgml:
2077         * docs/gst/tmpl/gstelement.sgml:
2078         * docs/gst/tmpl/gstiterator.sgml:
2079         * gst/base/gstbasesrc.c:
2080         * gst/base/gstbasesrc.h:
2081         * gst/base/gstbasetransform.h:
2082         * gst/gstelement.c:
2083         * gst/gstiterator.h:
2084           adding basetransform and iterator docs
2085
2086 2005-06-27  Andy Wingo  <wingo@pobox.com>
2087
2088         * docs/design/part-activation.txt: Notes on how activation should
2089         work -- not quite implemented yet.
2090
2091 2005-06-25  Wim Taymans  <wim@fluendo.com>
2092
2093         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2094         At least get the chain function correct, needs more
2095         fixing.
2096
2097 2005-06-25  Wim Taymans  <wim@fluendo.com>
2098
2099         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2100         (gst_basesink_handle_object), (gst_basesink_event),
2101         (gst_basesink_do_sync), (gst_basesink_handle_event),
2102         (gst_basesink_change_state):
2103         * gst/gsttask.h:
2104         Right, two problems here: ghostpads don't take locks and
2105         glib _rec_mutex_lock_full() with depth==0 still locks.
2106         Catch illegal locking and g_warn them.
2107
2108 2005-06-25  Wim Taymans  <wim@fluendo.com>
2109
2110         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2111         Have to check for completion now...
2112
2113 2005-06-25  Wim Taymans  <wim@fluendo.com>
2114
2115         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2116         (gst_basesink_handle_object), (gst_basesink_event),
2117         (gst_basesink_do_sync), (gst_basesink_handle_event),
2118         (gst_basesink_change_state):
2119         * gst/gstpad.h:
2120         Unlock STREAM_LOCK whatever the recursion was.
2121
2122 2005-06-25  Wim Taymans  <wim@fluendo.com>
2123
2124         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2125         (gst_basesink_preroll_queue_empty),
2126         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2127         (gst_basesink_event), (gst_basesink_do_sync),
2128         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2129         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2130         (gst_basesink_change_state):
2131         Reworked the base sink, handle event and buffer serialisation
2132         correctly and removed possible deadlock.
2133         Handle EOS correctly.
2134
2135 2005-06-25  Wim Taymans  <wim@fluendo.com>
2136
2137         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2138         (gst_pipeline_change_state):
2139         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2140         Allow elements to post EOS in the state change function.
2141         Fix up -launch, make it exit the poll loop when the
2142         pipeline actually changed state.
2143         Fix up warning parsing in -launch.
2144
2145 2005-06-25  Wim Taymans  <wim@fluendo.com>
2146
2147         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2148         (gst_tee_sink_activate):
2149         Core takes STREAM_LOCK for us now.
2150
2151 2005-06-25  Wim Taymans  <wim@fluendo.com>
2152
2153         * gst/gstelement.c: (gst_element_get_state_func),
2154         (gst_element_set_state):
2155         * gst/gstelement.h:
2156         * gst/gstmessage.c: (gst_message_parse_error),
2157         (gst_message_parse_warning):
2158         Keep track of current target state while performing a state
2159         change so that subclasses can do something interesting.
2160         Fix parsing of warning/error messages when GError is NULL.
2161
2162 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2163
2164         * docs/gst/Makefile.am:
2165         * docs/gst/gstreamer-docs.sgml:
2166         * docs/gst/gstreamer-sections.txt:
2167         * docs/gst/gstreamer.types:
2168         * docs/gst/tmpl/gstbasesink.sgml:
2169         * docs/gst/tmpl/gstbasesrc.sgml:
2170         * docs/gst/tmpl/gstbin.sgml:
2171         * docs/gst/tmpl/gstcompat.sgml:
2172         * docs/gst/tmpl/gstfakesink.sgml:
2173         * docs/gst/tmpl/gstfakesrc.sgml:
2174         * docs/gst/tmpl/gstfilesink.sgml:
2175         * docs/gst/tmpl/gstfilesrc.sgml:
2176         * docs/gst/tmpl/gstindex.sgml:
2177         * docs/manual/appendix-quotes.xml:
2178         * gst/base/gstbasesrc.h:
2179         * gst/elements/gstfakesrc.h:
2180         * gst/gstmessage.h:
2181           start pulling in base classes and elements in our docs
2182
2183 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2184
2185         * docs/gst/Makefile.am:
2186         * docs/libs/Makefile.am:
2187           fixed make distcheck with gtk-doc 1.3
2188
2189 2005-06-23  Wim Taymans  <wim@fluendo.com>
2190
2191         * gst/gstelement.c: (gst_element_get_state_func),
2192         (gst_element_set_state), (gst_element_change_state):
2193         When the state did not change, also report NO_PREROLL
2194         when it matters.
2195
2196 2005-06-23  Wim Taymans  <wim@fluendo.com>
2197
2198         * gst/gstpad.c: (gst_pad_event_default):
2199         * gst/gstqueue.c: (gst_queue_loop):
2200         No unsafe task pausing please.
2201
2202 2005-06-23  Wim Taymans  <wim@fluendo.com>
2203
2204         * gst/schedulers/threadscheduler.c:
2205         (gst_thread_scheduler_task_start),
2206         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2207         Ref the task before pushing it on the threadpool. This
2208         makes sure that we have a ref when the threadfunction is
2209         actually called.
2210
2211 2005-06-23  Andy Wingo  <wingo@pobox.com>
2212
2213         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2214         offset is greater than the file's size.
2215
2216         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2217         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2218         * gst/gstobject.c (gst_object_class_init): Make the class lock
2219         recursive. Wim won't let me drop deep_notify. Decodebin works
2220         again, whoopdy doo.
2221
2222         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2223         internal pad, and hacks accordingly. Doesn't do it on the target
2224         pad because we change its caps. Probably catches all cases of
2225         interest tho.
2226         (gst_ghost_pad_set_property): Connect to notify::caps as
2227         appropritate.
2228
2229         * tests/network-clock.scm (plot-simulation): Pipe data to the
2230         elite python skript.
2231
2232         * tests/network-clock-utils.scm (define-parameter): New macro,
2233         defines a parameter that can be set via the command line.
2234         (set-parameter!, parse-parameter-arguments): Command line args
2235         parser.
2236
2237         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2238         stdin.
2239
2240 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2241
2242         * gst/elements/gsttypefindelement.c:
2243         (gst_type_find_element_handle_event):
2244           Don't restart typefinding on a discont.
2245         * gst/gstelement.c: (gst_element_set_state):
2246           Debug spelling fix.
2247         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2248           Allow changing mode of an active pad.
2249           Debug output fixes.
2250         * gst/registries/gstlibxmlregistry.c: (load_feature):
2251           Don't cast a static pad template to a normal pad template.
2252
2253 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2254
2255         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2256         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2257           remove gst_strtoll completely, since it didn't actually do
2258           anything more than what g_ascii_strtoull already does.
2259           check for range errors when deserializing
2260           do a cast for the unsigned cases; but further fixing needs
2261           a decision on what the interpretation of "(int)" and
2262           deserialization should be for values that fall outside the
2263           type's boundaries (ie, refuse, or interpret as casting)
2264
2265 2005-06-23  Wim Taymans  <wim@fluendo.com>
2266
2267         * check/Makefile.am:
2268         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2269         * docs/design/part-live-source.txt:
2270         * docs/design/part-states.txt:
2271         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2272         (gst_basesrc_set_live), (gst_basesrc_is_live),
2273         (gst_basesrc_get_range), (gst_basesrc_activate),
2274         (gst_basesrc_change_state):
2275         * gst/base/gstbasesrc.h:
2276         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2277         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2278         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2279         * gst/gstelement.c: (gst_element_get_state_func),
2280         (gst_element_set_state):
2281         * gst/gstelement.h:
2282         * gst/gsttypes.h:
2283         * tools/gst-launch.c: (event_loop), (main):
2284         Added support for live sources and other elements that
2285         cannot do preroll.
2286         Updated design docs, added live-source design doc.
2287         Implemented live source functionality in basesrc
2288         Fix error condition in _bin_get_state()
2289         Implement live source handling in -launch.
2290         Added check for live sources.
2291         Fixed case in GstBin where elements were changed state
2292         multiple times.
2293
2294
2295 2005-06-23  Andy Wingo  <wingo@pobox.com>
2296
2297         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2298         borken refcounting.
2299
2300         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2301         gst_caps_replace takes care of this for us.
2302
2303         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2304         gst_pad_set_caps on the target, not just its setcaps() function.
2305
2306         * tests/network-clock.scm: 
2307         * tests/network-clock-utils.scm: A network clock simulator.
2308         Something of an algorithmic testbed before doing something in C.
2309
2310 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2311
2312         * check/Makefile.am:
2313         * check/gst/capslist.h:
2314           copy over from 0.8, and add two with bitmasks specified with
2315           (int) 0xFF...
2316         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2317           add test to parse everything from capslist.h
2318         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2319         (main):
2320           add test for structure deserialization
2321         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2322           add tests for deserialization of strings to int types
2323         * gst/gststructure.c: (gst_structure_nth_field_name):
2324         * gst/gststructure.h:
2325           add a way to get the name of a field referenced by index
2326         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2327           instead of checking if the resulting long long lies between
2328           min and max, we check if the long long would fit into
2329           a number of bytes for the final type.
2330           This fixes cases where a string represents 2^32 - 1, which
2331           when cast to int would be the (valid) -1, but is bigger than
2332           G_MAXINT
2333
2334 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2335
2336         * gst/parse/grammar.y:
2337           add a log line for type deserialization
2338
2339 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2340
2341         * check/gst/gstvalue.c: (START_TEST):
2342         * gst/gstvalue.c: (gst_value_deserialize):
2343           return long long, not int, so gint64 deserialization actually
2344           works.  Is there any flag that makes the compiler check this ?
2345           Fixes #308559
2346
2347 2005-06-22  Wim Taymans  <wim@fluendo.com>
2348
2349         * gst/gstbuffer.h:
2350         Added convenience macros for setting buffers in GValue.
2351
2352 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2353
2354         * check/gst/.cvsignore:
2355         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2356           add a test deserializing int64, and comment part out because
2357           it fails, yay !
2358
2359 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2360
2361         * check/Makefile.am:
2362         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2363         * testsuite/Makefile.am:
2364         * testsuite/caps/Makefile.am:
2365         * testsuite/caps/value_serialize.c:
2366         * testsuite/test_gst_init.c:
2367           move a value_serialize test over
2368
2369 2005-06-20  Wim Taymans  <wim@fluendo.com>
2370
2371         * gst/gstpad.c:
2372         Small doc updates.
2373         
2374         * gst/gstvalue.c: (gst_value_compare_buffer),
2375         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2376         (gst_value_compare_flags), (gst_value_serialize_flags),
2377         (gst_value_deserialize_flags), (_gst_value_initialize):
2378         Fix serialisation of buffers, they are not boxed types anymore
2379
2380 2005-06-20  Wim Taymans  <wim@fluendo.com>
2381
2382         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2383         Testcase to show error in buffer-on-caps serialisation.
2384
2385 2005-06-20  Andy Wingo  <wingo@pobox.com>
2386
2387         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2388         will be adding to later.
2389
2390         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2391         if its socks fill with rocks.
2392         (gst_system_clock_obtain): Set the name on object construction.
2393         Avoid double-checked locking.
2394
2395 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2396
2397         * gst/gsturi.c: (gst_element_make_from_uri):
2398           Fix potential endless loop.
2399
2400 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2401
2402         * check/Makefile.am:
2403           add gsttag
2404         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2405         (main):
2406           move over from testsuite dir and clean up
2407         * configure.ac:
2408         * gst/gsttag.c:
2409         * testsuite/Makefile.am:
2410         * testsuite/tags/.cvsignore:
2411         * testsuite/tags/Makefile.am:
2412         * testsuite/tags/merge.c:
2413           remove testsuite/tags
2414
2415 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2416
2417         * docs/gst/gstreamer-sections.txt:
2418         * docs/gst/tmpl/gstenumtypes.sgml:
2419         * win32/gstenumtypes.c:
2420           clean up documentation build a little
2421
2422 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2423
2424         * check/gstcheck.h:
2425           add macros for checking refcounts on objects and caps
2426         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2427           add some more unit tests
2428         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2429         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2430           fix leaked refcounts (I hope :)) so unittest works
2431         * gst/gstpad.h:
2432           whitespace removal
2433
2434 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2435
2436         * configure.ac: back to HEAD
2437
2438 === release 0.9.1 ===
2439
2440 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2441
2442         * NEWS:
2443         * RELEASE:
2444           updated
2445
2446 2005-06-17  Andy Wingo  <wingo@pobox.com>
2447
2448         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2449         assert; it's always possible that the pad gets deactivated in
2450         between the checks in gstpad.c and the implementation. Rely on
2451         finish_preroll() to return a FLUSHING or similar instead of on the
2452         assert.
2453         
2454         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2455         clock and post an EOS message if we come out of finish_preroll in
2456         the playing state.
2457
2458 2005-06-16  David Schleef  <ds@schleef.org>
2459
2460         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2461         (gst_capsfilter_set_property): Allow NULL as possible value
2462         for filter_caps property, indicating GST_CAPS_ANY.
2463
2464 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2465
2466         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2467           fix debug output
2468         * gst/schedulers/Makefile.am:
2469           use libgst prefix
2470         * gstreamer.spec.in:
2471           fix spec for it
2472
2473 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2474
2475         * gstreamer.spec.in:
2476           clean up
2477
2478 2005-06-08  Andy Wingo  <wingo@pobox.com>
2479
2480         * gst/gstutils.c: RPAD fixes all around.
2481         (gst_element_link_pads): Refcounting fixes.
2482
2483         * tools/gst-inspect.c:
2484         * tools/gst-xmlinspect.c:
2485         * parse/grammar.y:
2486         * gst/base/gsttypefindhelper.c:
2487         * gst/base/gstbasesink.c:
2488         * gst/gstqueue.c: RPAD fixes.
2489
2490         * gst/gstghostpad.h:
2491         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2492         pads. The tricky thing is they provide both source and sink
2493         interfaces, since they proxy the internal pad for the external
2494         pad, and vice versa. Implement with lower-level ProxyPad objects,
2495         with the interior proxy pad as a child of the exterior ghost pad.
2496         Should write a doc on this.
2497         
2498         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2499         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2500         gst_object API.
2501         
2502         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2503         pads are real pads. No ghost pads in this file. Not documenting
2504         the myriad s/RPAD/PAD/ and REALIZE fixes.
2505         (gst_pad_class_init): Add properties for "direction" and
2506         "template". Both are construct-only, so they can't change during
2507         the life of the pad. Fixes properly deriving from GstPad.
2508         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2509         derived objects, just set properties when creating the objects via
2510         g_object_new.
2511         (gst_pad_get_parent): Implement as a function, return NULL if the
2512         parent is not an element.
2513         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2514         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2515         
2516         * gst/gstobject.c (gst_object_class_init): Make name a construct
2517         property. Don't set it in the object init.
2518
2519         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2520         with UNKNOWN direction.
2521         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2522         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2523         (gst_element_remove_pad): Remove ghost-pad special cases.
2524         (gst_element_pads_activate): Remove rpad cruft.
2525
2526         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2527         catch the pad's-parent-not-an-element case.
2528
2529         * gst/gst.h: Include gstghostpad.h.
2530
2531         * gst/gst.c (init_post): No more real, ghost pads.
2532
2533         * gst/Makefile.am: Add gstghostpad.[ch].
2534
2535         * check/Makefile.am:
2536         * check/gst/gstbin.c:
2537         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2538         into a bin creates ghost pads, and that the refcounts are right.
2539         Partly moved from gstbin.c.
2540
2541 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2542
2543         * check/gst-libs/.cvsignore:
2544         * check/gst/.cvsignore:
2545         * check/pipelines/.cvsignore:
2546           ignore more
2547         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2548         (START_TEST), (cleanup_suite), (main):
2549           add some tests related to cleanup after running pipelines
2550
2551 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2552
2553         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2554           add a testsuite for GstBuffer
2555
2556 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2557
2558         * gst/gstminiobject.h:
2559           add defines for accessing the refcount
2560
2561 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2562
2563         * Makefile.am: added support for html unit test coverage reports
2564
2565 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2566
2567         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2568           Free existing caps if the capsfilter changes. Add a FIXME about
2569           setting those caps on the pads.
2570
2571         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2572           Before adding a ghost pad to a parent bin, check that there isn't
2573           already one for the element on the bin. Prevents infinite recursion
2574           when using decodebin in parse pipelines. Andy says he'll rewrite the
2575           way this works anyway, so ignore the hack.
2576
2577 2005-06-02  Andy Wingo  <wingo@pobox.com>
2578
2579         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2580         file size, pass it on to the type find helper.
2581
2582         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2583         segment_start and segment_end properly according to the seek
2584         method. Segment_end is still a bit flaky because offset can be
2585         negative for CUR and END cases, but it takes -1 as an "unset"
2586         value.
2587
2588 2005-06-02  Wim Taymans  <wim@fluendo.com>
2589
2590         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2591         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2592         (gst_basesink_activate):
2593         * gst/base/gstbasesink.h:
2594         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2595         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2596         (gst_pad_query), (gst_pad_start_task):
2597         * gst/gstpad.h:
2598         * gst/gstqueue.c: (gst_queue_bufferalloc),
2599         (gst_queue_handle_sink_event), (gst_queue_chain):
2600         Bufferalloc: return GstFlowReturn to more accuratly report
2601         why allocation failed.
2602
2603 2005-06-02  Wim Taymans  <wim@fluendo.com>
2604
2605         * gst/gstpipeline.c: (gst_pipeline_send_event):
2606         Take snapshot of state without blocking.
2607
2608 2005-06-02  Wim Taymans  <wim@fluendo.com>
2609
2610         * docs/design/part-TODO.txt:
2611         * docs/design/part-caps.txt:
2612         * docs/design/part-clocks.txt:
2613         * docs/design/part-negotiation.txt:
2614         * docs/design/part-preroll.txt:
2615         Small doc updates 
2616
2617 2005-05-30  Wim Taymans  <wim@fluendo.com>
2618
2619         * gst/elements/gstidentity.c: (gst_identity_event),
2620         (gst_identity_transform), (gst_identity_get_property):
2621         Protect last_message property as it is accessed from
2622         multiple threads.
2623
2624 2005-05-30  Wim Taymans  <wim@fluendo.com>
2625
2626         * gst/gstelement.c: (gst_element_init),
2627         (gst_element_pads_activate), (gst_element_change_state):
2628         Slicker pad activation code.
2629
2630 2005-05-30  Wim Taymans  <wim@fluendo.com>
2631
2632         * gst/Makefile.am:
2633         * gst/gstelement.h:
2634         * gst/gstelementfactory.h:
2635         * gst/gsttypes.h:
2636         Move elementfactory methods to separate .h file.
2637
2638 2005-05-30  Wim Taymans  <wim@fluendo.com>
2639
2640         * docs/design/part-overview.txt:
2641         * gst/gstsystemclock.h:
2642         Small typo fixes, doc updates.
2643
2644 2005-05-30  Wim Taymans  <wim@fluendo.com>
2645
2646         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2647         (init_popt_callback):
2648         Remove cpu-opt flag.
2649
2650 2005-05-30  Wim Taymans  <wim@fluendo.com>
2651
2652         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2653         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2654         * gst/gstbuffer.h:
2655         Avoid typechecking in places where not needed.
2656         Added accessor for malloc_data.
2657
2658 2005-05-30  Wim Taymans  <wim@fluendo.com>
2659
2660         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2661         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2662         (gst_pad_configure_sink), (gst_pad_configure_src),
2663         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2664         (gst_pad_start_task):
2665         Propagate errors from _set_caps() in configure_src/sink
2666         functions instead of returning TRUE.
2667         FLUSH events can travel up and downstream
2668
2669
2670 2005-05-30  Wim Taymans  <wim@fluendo.com>
2671
2672         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2673         (gst_basesink_activate):
2674         Handle EOS in preroll.
2675
2676 2005-05-30  Wim Taymans  <wim@fluendo.com>
2677
2678         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2679         (gst_queue_loop), (gst_queue_handle_src_event):
2680         Remove old pieces of code
2681         Flushing the queue in an upstream event is a very bad idea.
2682
2683 2005-05-26  Andy Wingo  <wingo@pobox.com>
2684
2685         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2686         gst_value_set_mini_object so as to add a ref on the object (which
2687         will be removed when the value is unset).
2688
2689         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2690         arg type in ::handoff.
2691
2692         * gst/gstelement.c (gst_element_change_state): Also deactivate
2693         pads in READY->NULL, just in case the element didn't make it to
2694         PAUSED. Wingo tested, Wim approved.
2695
2696 2005-05-26  Wim Taymans  <wim@fluendo.com>
2697
2698         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2699         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2700         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2701         A flushing pad cannot be used to alloc_buffer from.
2702
2703 2005-05-26  Wim Taymans  <wim@fluendo.com>
2704
2705         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2706         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2707         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2708         (gst_bus_create_watch), (gst_bus_add_watch_full):
2709         * gst/gstbus.h:
2710         Implement a real GSource and use g_main_context_wakeup() to
2711         signal new messages instead of the socketpair.
2712
2713 2005-05-25  Wim Taymans  <wim@fluendo.com>
2714
2715         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2716         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2717         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2718         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2719         (gst_pad_send_event), (gst_pad_start_task):
2720         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2721         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2722         (gst_queue_sink_activate), (gst_queue_src_activate),
2723         (gst_queue_change_state):
2724         * gst/gstqueue.h:
2725         Fix state changes for non sinks. We now change sinks, then elements
2726         with unconnected srcpads, then the rest.
2727         More efficient queue unlocking in flush and state changes.
2728         Set the pad activate mode even if it does not have an activate
2729         function.
2730
2731 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2732
2733         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2734           Don't go in pull mode for non-seekable sources.
2735         * gst/elements/gsttypefindelement.h:
2736         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2737         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2738         (free_entry), (stop_typefinding),
2739         (gst_type_find_element_handle_event), (find_peek),
2740         (gst_type_find_element_chain), (do_pull_typefind),
2741         (gst_type_find_element_change_state):
2742           Allow typefinding (w/o seeking) in push-mode, simplified version
2743           of what was in 0.8.
2744         * gst/gstutils.c: (gst_buffer_join):
2745         * gst/gstutils.h:
2746           gst_buffer_join() from 0.8.
2747
2748 2005-05-25  Wim Taymans  <wim@fluendo.com>
2749
2750         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2751         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2752         (gst_pad_send_event), (gst_pad_start_task):
2753         Disable attempt at mode switching until it is figured out.
2754
2755 2005-05-25  Wim Taymans  <wim@fluendo.com>
2756
2757         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2758         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2759         (gst_basesink_finish_preroll), (gst_basesink_chain),
2760         (gst_basesink_loop), (gst_basesink_activate),
2761         (gst_basesink_change_state):
2762         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2763         (gst_basesrc_get_range), (gst_basesrc_loop),
2764         (gst_basesrc_activate):
2765         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2766         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2767         (gst_real_pad_init), (gst_real_pad_set_property),
2768         (gst_real_pad_get_property), (gst_pad_set_active),
2769         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2770         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2771         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2772         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2773         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2774         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2775         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2776         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2777         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2778         (gst_pad_stop_task):
2779         * gst/gstpad.h:
2780         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2781         (gst_queue_loop), (gst_queue_src_activate):
2782         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2783         (gst_task_get_state):
2784         * gst/gsttask.h:
2785         * gst/schedulers/threadscheduler.c:
2786         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2787         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2788         in task function.
2789         Remove ACTIVE pad flag, use FLUSHING everywhere
2790         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2791         functions.
2792         Add locks around IS_FLUSHING when reading.
2793         Take STREAM lock in chain(), get_range() functions so plugins
2794         don't need to take it anymore.
2795         
2796
2797
2798 2005-05-25  Wim Taymans  <wim@fluendo.com>
2799
2800         * tools/gst-launch.c: (event_loop):
2801         Unref message after using its contents instead of
2802         before.
2803
2804 2005-05-24  Wim Taymans  <wim@fluendo.com>
2805
2806         * docs/design/draft-ghostpads.txt:
2807         * docs/design/draft-push-pull.txt:
2808         * docs/design/draft-query.txt:
2809         * docs/design/part-overview.txt:
2810         Docs updates, added general overview doc.
2811
2812 2005-05-21  David Schleef  <ds@schleef.org>
2813
2814         * docs/gst/tmpl/old/GstBin.sgml:
2815         * docs/gst/tmpl/old/GstBuffer.sgml:
2816         * docs/gst/tmpl/old/GstCaps.sgml:
2817         * docs/gst/tmpl/old/GstClock.sgml:
2818         * docs/gst/tmpl/old/GstCompat.sgml:
2819         * docs/gst/tmpl/old/GstData.sgml:
2820         * docs/gst/tmpl/old/GstElement.sgml:
2821         * docs/gst/tmpl/old/GstEvent.sgml:
2822         * docs/gst/tmpl/old/GstIndex.sgml:
2823         * docs/gst/tmpl/old/GstStructure.sgml:
2824         * docs/gst/tmpl/old/GstTag.sgml:
2825         * docs/gst/tmpl/old/cothreads.sgml:
2826         * docs/gst/tmpl/old/cothreads_compat.sgml:
2827         * docs/gst/tmpl/old/gettext.sgml:
2828         * docs/gst/tmpl/old/gobject2gtk.sgml:
2829         * docs/gst/tmpl/old/grammar.tab.sgml:
2830         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2831         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2832         * docs/gst/tmpl/old/gst_private.sgml:
2833         * docs/gst/tmpl/old/gstaggregator.sgml:
2834         * docs/gst/tmpl/old/gstarch.sgml:
2835         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2836         * docs/gst/tmpl/old/gstbufferstore.sgml:
2837         * docs/gst/tmpl/old/gstdata_private.sgml:
2838         * docs/gst/tmpl/old/gstdisksink.sgml:
2839         * docs/gst/tmpl/old/gstdisksrc.sgml:
2840         * docs/gst/tmpl/old/gstelementfactory.sgml:
2841         * docs/gst/tmpl/old/gstextratypes.sgml:
2842         * docs/gst/tmpl/old/gstfakesink.sgml:
2843         * docs/gst/tmpl/old/gstfakesrc.sgml:
2844         * docs/gst/tmpl/old/gstfdsink.sgml:
2845         * docs/gst/tmpl/old/gstfdsrc.sgml:
2846         * docs/gst/tmpl/old/gstfilesink.sgml:
2847         * docs/gst/tmpl/old/gstfilesrc.sgml:
2848         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2849         * docs/gst/tmpl/old/gstidentity.sgml:
2850         * docs/gst/tmpl/old/gstindexfactory.sgml:
2851         * docs/gst/tmpl/old/gstmarshal.sgml:
2852         * docs/gst/tmpl/old/gstmd5sink.sgml:
2853         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2854         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2855         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2856         * docs/gst/tmpl/old/gstpipefilter.sgml:
2857         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2858         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2859         * docs/gst/tmpl/old/gstshaper.sgml:
2860         * docs/gst/tmpl/old/gstspider.sgml:
2861         * docs/gst/tmpl/old/gstspideridentity.sgml:
2862         * docs/gst/tmpl/old/gststatistics.sgml:
2863         * docs/gst/tmpl/old/gsttee.sgml:
2864         * docs/gst/tmpl/old/gsttimecache.sgml:
2865         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2866         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2867         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2868         * docs/gst/tmpl/old/types.sgml:
2869           I didn't intend to add these or check them in.
2870
2871 2005-05-19  David Schleef  <ds@schleef.org>
2872
2873         * configure.ac: Use -no-common everywhere.  In a sane world, it
2874           would be the default in libtool, because without it, you can't
2875           build DLLs on Windows.
2876         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2877         * docs/gst/gstreamer-sections.txt:
2878         * docs/gst/tmpl/gstcpu.sgml:
2879         * docs/gst/tmpl/gstdata.sgml:
2880         * docs/gst/tmpl/gstthread.sgml:
2881
2882 2005-05-19  David Schleef  <ds@schleef.org>
2883
2884         * gst/gstminiobject.c: (gst_value_set_mini_object),
2885         (gst_value_take_mini_object), (gst_value_get_mini_object):
2886         * gst/gstminiobject.h: Add GValue set/get functions.
2887
2888 2005-05-19  Wim Taymans  <wim@fluendo.com>
2889
2890         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2891         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2892         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2893         * gst/gstbuffer.h:
2894         * gst/gstbus.c: (gst_bus_post):
2895         * gst/gstelement.c: (gst_element_get_random_pad):
2896         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2897         Make subbufer unref the parent in finalize.
2898         some more debugging info.
2899
2900
2901 2005-05-19  Wim Taymans  <wim@fluendo.com>
2902
2903         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2904         (gst_basesink_init), (gst_basesink_finalize),
2905         (gst_basesink_activate), (gst_basesink_change_state):
2906         Don't free preroll queue too early.
2907
2908 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2909
2910         * gst/Makefile.am:
2911         * gst/ROADMAP:
2912           Hi, I'm outdated. Please shoot me.
2913
2914 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2915
2916         * gst/gstpipeline.c: (gst_pipeline_send_event):
2917           Do not access variables after they have been deleted.
2918
2919 2005-05-19  Wim Taymans  <wim@fluendo.com>
2920
2921         * tools/gst-inspect.c: (print_plugin_features):
2922         A plugin feature does unfortunatly not use the
2923         object name yet...
2924
2925 2005-05-18  Wim Taymans  <wim@fluendo.com>
2926
2927         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2928         Port _span() functions to new subbuffers.
2929
2930 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2931
2932         * gst/gstbin.c: (gst_bin_add_func):
2933           Fix clock settery in bins when adding kids after the clock has
2934           been selected.
2935
2936 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2937
2938         * gst/elements/gstidentity.c: (gst_identity_class_init):
2939           Workaround until signals support GstMiniObject.
2940
2941 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2942
2943         * gst/gstbuffer.c:
2944         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2945
2946 2005-05-18  Wim Taymans  <wim@fluendo.com>
2947
2948         * gst/base/Makefile.am:
2949         * gst/base/gstadapter.c: (gst_adapter_base_init),
2950         (gst_adapter_class_init), (gst_adapter_init),
2951         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2952         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2953         (gst_adapter_flush), (gst_adapter_available),
2954         (gst_adapter_available_fast):
2955         * gst/base/gstadapter.h:
2956         Ported and added adapter to the base classes.
2957
2958 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2959
2960         * gst/gst.c:
2961         * gst/gstmessage.c:
2962           Make sure the class is reffed/unreffed once before threads can be
2963           used.  Fixes #304551.
2964
2965 2005-05-17  Wim Taymans  <wim@fluendo.com>
2966
2967         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2968         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2969         * gst/gstminiobject.c: (gst_mini_object_get_type),
2970         (gst_mini_object_free):
2971         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2972         (gst_pad_push), (gst_pad_push_event):
2973         * gst/gstqueue.c: (gst_queue_change_state):
2974         Don't queue buffers in basesink when we are flushing.
2975         Unref buffer when flushing in basesink.
2976         Flush queue when going to READY
2977         Unref buffer when _push() returns an error.
2978         Don't free MiniObject instance when refcount is incremented
2979         in _finalize() so that we can recover objects.
2980
2981 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2982
2983         * docs/manual/advanced-schedulers.xml:
2984         * docs/manual/appendix-checklist.xml:
2985         * docs/pwg/advanced-clock.xml:
2986         * docs/pwg/advanced-interfaces.xml:
2987         * docs/pwg/advanced-request.xml:
2988         * docs/pwg/advanced-types.xml:
2989         * docs/pwg/intro-preface.xml:
2990         * examples/plugins/example.c: (gst_example_get_type),
2991         (gst_example_class_init), (gst_example_chain),
2992         (gst_example_set_property), (gst_example_get_property),
2993         (gst_example_change_state), (plugin_init):
2994         * examples/plugins/example.h:
2995           small doc fixes
2996
2997 2005-05-17  Wim Taymans  <wim@fluendo.com>
2998
2999         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3000         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3001         * gst/gstqueue.c: (gst_queue_change_state):
3002         Clear queue when going to READY.
3003         Remove IN_SETCAPS flag too.
3004
3005 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3006
3007         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3008           Remove implicit cast from gboolean to GstElementStateReturn;
3009           make sure we still return failure in paused => ready case if
3010           the parent class fails to change state and our own stop 
3011           vfunc succeeds.
3012
3013 2005-05-17  Wim Taymans  <wim@fluendo.com>
3014
3015         * tools/gst-launch.c: (event_loop):
3016         Message was unreffed too soon.
3017
3018 2005-05-16  Andy Wingo  <wingo@pobox.com>
3019
3020         * gst/gstbin.c (sink_iterator_filter): Err... um...
3021
3022         * check/gst/gstbin.c (test_ghost_pads): New test for the
3023         ghosting-if-elements-not-in-same-bin behavior.
3024
3025 2005-05-16  David Schleef  <ds@schleef.org>
3026
3027         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3028         accessing refcount directly.
3029
3030 2005-05-15  David Schleef  <ds@schleef.org>
3031
3032         * check/Makefile.am: remove GstData checks
3033         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3034         * gst/Makefile.am: add miniobject, remove data
3035         * gst/gst.h: add miniobject, remove data
3036         * gst/gstdata.c: remove
3037         * gst/gstdata.h: remove
3038         * gst/gstdata_private.h: remove
3039         * gst/gsttypes.h: remove GstEvent and GstMessage
3040         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3041         * gst/gstmarshal.list: change BOXED -> OBJECT
3042
3043         Implement GstMiniObject.
3044         * gst/gstminiobject.c:
3045         * gst/gstminiobject.h:
3046
3047         Modify to be subclasses of GstMiniObject.
3048         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3049         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3050         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3051         (gst_subbuffer_get_type), (gst_subbuffer_init),
3052         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3053         (gst_buffer_span):
3054         * gst/gstbuffer.h:
3055         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3056         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3057         (_gst_event_copy), (gst_event_new):
3058         * gst/gstevent.h:
3059         * gst/gstmessage.c: (_gst_message_initialize),
3060         (gst_message_get_type), (gst_message_class_init),
3061         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3062         (gst_message_new), (gst_message_new_error),
3063         (gst_message_new_warning), (gst_message_new_tag),
3064         (gst_message_new_state_changed), (gst_message_new_application):
3065         * gst/gstmessage.h:
3066         * gst/gstprobe.c: (gst_probe_perform),
3067         (gst_probe_dispatcher_dispatch):
3068         * gst/gstprobe.h:
3069         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3070         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3071         (_gst_query_copy), (gst_query_new):
3072
3073         Update elements for GstData -> GstMiniObject changes
3074         * gst/gstquery.h:
3075         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3076         (gst_queue_chain), (gst_queue_loop):
3077         * gst/elements/gstbufferstore.c:
3078         (gst_buffer_store_add_buffer_func),
3079         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3080         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3081         (gst_fakesink_render):
3082         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3083         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3084         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3085         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3086         (gst_filesrc_create_read):
3087         * gst/elements/gstidentity.c: (gst_identity_class_init):
3088         * gst/elements/gsttypefindelement.c:
3089         (gst_type_find_element_src_event), (free_entry_buffers),
3090         (gst_type_find_element_handle_event):
3091         * libs/gst/dataprotocol/dataprotocol.c:
3092         (gst_dp_header_from_buffer):
3093         * libs/gst/dataprotocol/dataprotocol.h:
3094         * libs/gst/dataprotocol/dp-private.h:
3095
3096 2005-05-15  David Schleef  <ds@schleef.org>
3097
3098         * gst/elements/gstelements.c: Don't include headers that were
3099         just removed.
3100
3101 2005-05-15  David Schleef  <ds@schleef.org>
3102
3103         * gst/elements/Makefile.am: Remove some elements that don't
3104         need to be in the core (or even exist at all).
3105         * gst/elements/gstaggregator.c:
3106         * gst/elements/gstaggregator.h:
3107         * gst/elements/gstmd5sink.c:
3108         * gst/elements/gstmd5sink.h:
3109         * gst/elements/gstmultifilesrc.c:
3110         * gst/elements/gstmultifilesrc.h:
3111         * gst/elements/gstpipefilter.c:
3112         * gst/elements/gstpipefilter.h:
3113         * gst/elements/gstshaper.c:
3114         * gst/elements/gstshaper.h:
3115         * gst/elements/gststatistics.c:
3116         * gst/elements/gststatistics.h:
3117         * po/POTFILES.in: Remove above files.
3118
3119 2005-05-14  Andy Wingo  <wingo@pobox.com>
3120
3121         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3122         so as to get the refs right.
3123         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3124         unreffing objects that don't pass the filter.
3125
3126         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3127         gst_element_set_bus.
3128         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3129         normal cases, this will destroy the bus.
3130
3131         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3132         object.
3133
3134         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3135         has no sinks.
3136
3137 2005-05-13  Andy Wingo  <wingo@pobox.com>
3138
3139         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3140         gst_pad_link, call pad_link_maybe_ghosting,
3141         (pad_link_maybe_ghosting): Links pads, making sure that the
3142         elements being linked are in the same bin.
3143         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3144         Helpers for pad_link_maybe_ghosting.
3145
3146 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3147
3148         * configure.ac:
3149           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3150
3151 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3152
3153         * docs/design/part-element-source.txt:
3154           Mention GstPushSrc
3155
3156 2005-05-12  Wim Taymans  <wim@fluendo.com>
3157
3158         * gst/base/gstbasesink.c: (gst_basesink_init),
3159         (gst_basesink_activate):
3160         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3161         (gst_basesrc_is_seekable):
3162         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3163         (bin_element_is_sink), (gst_bin_change_state):
3164         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3165         * gst/gstelement.h:
3166         Identify sinks by their flag to avoid overly complicated
3167         checks (fow now).
3168         Do state changes even for elements not reachable from the
3169         sinks.
3170         BaseSink is a sink now :)
3171         Some more debugging info in the basesrc.
3172
3173
3174 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3175
3176         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3177           Implement _query on a bin, similar to _send_event.
3178
3179 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3180
3181         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3182           Discont event offset format should be GST_FORMAT_BYTES,
3183           not GST_FORMAT_TIME.
3184
3185 2005-05-12  Wim Taymans  <wim@fluendo.com>
3186
3187         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3188         Same fix as Ronald's but without the signal. 
3189
3190 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3191
3192         * gst/gstutils.c: (gst_element_query_position):
3193           No, an element is not a pad.
3194
3195 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3196
3197         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3198         (gst_bin_get_state):
3199           If a child is removed from a bin while we remove the child from
3200           the bin and while we're retrieving its state, signal this to the
3201           get_state function so we abort the wait (instead of waiting for
3202           a timeout) and can immediately re-iterate over all other elements.
3203
3204 2005-05-12  Wim Taymans  <wim@fluendo.com>
3205
3206         * gst/base/Makefile.am:
3207         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3208         (gst_basesrc_start):
3209         * gst/base/gstbasesrc.h:
3210         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3211         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3212         (gst_pushsrc_init), (gst_pushsrc_create):
3213         * gst/base/gstpushsrc.h:
3214         Added is_seekable to BaseSrc
3215         Added simple PushSrc.
3216
3217 2005-05-11  Wim Taymans  <wim@fluendo.com>
3218
3219         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3220         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3221         (gst_element_link_pads), (gst_element_query_position),
3222         (gst_element_query_convert), (intersect_caps_func),
3223         (gst_pad_query_position), (gst_pad_query_convert):
3224         Fix refcounting in utils function.
3225         No point in trying to activate a pad when it's added, it could
3226         be added from the state change function and then we deadlock, the
3227         element has to decide what to do.
3228
3229 2005-05-10  Andy Wingo  <wingo@pobox.com>
3230
3231         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3232         *all* the arguments.
3233
3234         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3235         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3236         lock (according to the docs -- if this is wrong change the docs).
3237
3238         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3239         flush messages in the NULL state.
3240
3241         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3242         message immediately and return.
3243         (gst_bus_set_flushing): New function. If a bus is flushing, it
3244         flushes out any queued messages and immediately unrefs new
3245         messages. This is so when an element goes to NULL, all of the
3246         unhandled messages coming from it can be freed, and their
3247         references to the element dropped. In other words: message source
3248         ref considered harmful :P
3249
3250         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3251         we're finished with it.
3252
3253         * gst/gstmessage.c (gst_message_new_state_changed): 
3254
3255 2005-05-10  Wim Taymans  <wim@fluendo.com>
3256
3257         * gst/gstvalue.c: (gst_value_compare_flags),
3258         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3259         (_gst_value_initialize):
3260         Added flags serialize/deserialize/compare code.
3261
3262 2005-05-09  Andy Wingo  <wingo@pobox.com>
3263
3264         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3265         Intersect the peer's caps with our caps.
3266
3267 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3268
3269         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3270         * gst/elements/gsttypefindelement.c: (find_peek):
3271           Handle negative offsets better. Fixes decodebin.
3272
3273 2005-05-09  Wim Taymans  <wim@fluendo.com>
3274
3275         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3276         (gst_base_transform_event):
3277         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3278         Implement accept_caps.
3279         Fix silly lock/unlock mismatch in base class.
3280
3281 2005-05-09  Wim Taymans  <wim@fluendo.com>
3282
3283         * docs/design/draft-push-pull.txt:
3284         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3285         * gst/elements/gstfilesink.c: (gst_filesink_init),
3286         (gst_filesink_query):
3287         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3288         (gst_type_find_handle_src_query), (find_element_get_length):
3289         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3290         * gst/gstelement.h:
3291         * gst/gstmessage.c:
3292         * gst/gstmessage.h:
3293         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3294         (gst_real_pad_get_caps_unlocked),
3295         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3296         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3297         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3298         (gst_real_pad_dispose), (gst_real_pad_finalize),
3299         (gst_pad_load_and_link), (gst_pad_save_thyself),
3300         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3301         (gst_pad_check_pull_range), (gst_pad_pull_range),
3302         (gst_pad_template_get_type), (gst_pad_template_class_init),
3303         (gst_pad_template_init), (gst_pad_template_dispose),
3304         (name_is_valid), (gst_static_pad_template_get),
3305         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3306         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3307         (gst_pad_get_element_private), (gst_pad_start_task),
3308         (gst_pad_pause_task), (gst_pad_stop_task),
3309         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3310         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3311         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3312         (gst_ghost_pad_new):
3313         * gst/gstpad.h:
3314         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3315         (gst_query_new_position), (gst_query_set_position),
3316         (gst_query_parse_position), (gst_query_new_convert),
3317         (gst_query_set_convert), (gst_query_parse_convert):
3318         * gst/gstquery.h:
3319         * gst/gstqueryutils.c:
3320         * gst/gstqueryutils.h:
3321         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3322         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3323         (gst_queue_handle_src_query):
3324         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3325         (gst_element_query_position), (gst_element_query_convert),
3326         (intersect_caps_func), (gst_pad_query_position),
3327         (gst_pad_query_convert):
3328         * gst/gstutils.h:
3329         * tools/gst-inspect.c: (print_pad_info):
3330         * tools/gst-xmlinspect.c: (print_element_info):
3331         Remove old query functions. Ported old code.
3332         Added position/convert helper functions to gstutils.
3333         Reordered gstpad.c code, grouping relevant things.
3334         Remove gst_message_new(), always need to speficy a specific
3335         message.
3336
3337
3338 2005-05-09  Andy Wingo  <wingo@pobox.com>
3339
3340         * gst/gstiterator.h: Add some includes.
3341
3342         * gst/gstqueryutils.h: Include more headers.
3343
3344         * gst/gstpad.h:
3345         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3346         some uses of gst_pad_query.
3347
3348         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3349         NULL out parameters.
3350         (gst_query_new_position): New proc, allocates a new position
3351         query.
3352
3353         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3354         gstqueryutils.c to the build.
3355
3356         * gst/gststructure.c (gst_structure_set_valist): Implement with
3357         the generic G_VALUE_COLLECT.
3358         
3359 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3360
3361         * gst/Makefile.am: (gst_headers):
3362         Added gstqueryutils.h to the list of headers to install, that was
3363         a 'nachty' move wingo :)
3364
3365 2005-05-06  Andy Wingo  <wingo@pobox.com>
3366
3367         * gst/gstquery.h
3368         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3369         GstData, init a memchunk.
3370         (standard_definitions): Add a few query types, deprecate a few.
3371         (gst_query_get_type): New proc.
3372         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3373         implementation.
3374         (gst_query_new_application, gst_query_get_structure): New public
3375         procs.
3376
3377         * docs/design/draft-query.txt: Removed LINKS from the query types,
3378         because all the rest can be dispatched to other pads -- seemed
3379         ugly to have a query that couldn't be dispatched. internal_links
3380         is fine as a pad method.
3381
3382         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3383         in gstpad.c, but maintain binary compatibility for the moment.
3384         Will fix before 0.9 is out.
3385
3386         * gst/gstqueryutils.c: 
3387         * gst/gstqueryutils.h: New files, implement 3 methods for each
3388         query type: parse_query, parse_response, and set. Probably need an
3389         allocator as well.
3390
3391         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3392
3393         * gst/elements/gstfilesink.c (gst_filesink_query2):
3394         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3395         query_types, and formats methods.
3396
3397         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3398         (gst_pad_set_query2_function): New functions.
3399         (gst_real_pad_init): Set query2_default as the default query2
3400         function. Basically just dispatches to internally linked pads.
3401
3402         Needs review!
3403         
3404         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3405         without using the atomic operations. Only one thread can possibly
3406         be accessing the data at this point. Changed so as to avoid
3407         gst_atomic operations.
3408
3409 2005-05-06  Wim Taymans  <wim@fluendo.com>
3410
3411         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3412         Also set caps if we use the fallback buffer alloc.
3413
3414 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3415
3416         * docs/gst/Makefile.am:
3417         * docs/gst/gstreamer-docs.sgml:
3418         * docs/gst/gstreamer-sections.txt:
3419         * docs/gst/tmpl/gstatomic.sgml:
3420         * docs/gst/tmpl/gstmemchunk.sgml:
3421         * testsuite/elements/struct_i386.h:
3422         * win32/GStreamer.vcproj:
3423         * win32/Makefile:
3424           Purge GstAtomic stuff from docs and win32 makefiles as well
3425
3426 2005-05-06  Wim Taymans  <wim@fluendo.com>
3427
3428         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3429         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3430         * gst/gstpad.c: (gst_pad_peer_get_caps):
3431         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3432         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3433         (gst_queue_src_activate), (gst_queue_change_state):
3434         * gst/gstqueue.h:
3435         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3436         (intersect_caps_func):
3437         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3438         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3439         Some fixes for the peer_get_caps() change.
3440
3441 2005-05-06  Wim Taymans  <wim@fluendo.com>
3442
3443         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3444         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3445         (gst_basesink_activate):
3446         Actually do something with error codes returned from the push
3447         functions.
3448
3449 2005-05-06  Wim Taymans  <wim@fluendo.com>
3450
3451         * docs/design/part-element-sink.txt:
3452         * docs/design/part-element-source.txt:
3453         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3454         (gst_basesink_event), (gst_basesink_activate):
3455         * gst/base/gstbasesink.h:
3456         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3457         (gst_basesrc_activate):
3458         * gst/base/gstbasesrc.h:
3459         * gst/gstelement.c: (gst_element_pads_activate):
3460         Some more documentation.
3461         Fixed scheduling decision in _pads_activate().
3462
3463 2005-05-05  Andy Wingo  <wingo@pobox.com>
3464
3465         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3466         the test suite.
3467
3468 2005-05-05  Wim Taymans  <wim@fluendo.com>
3469
3470         * gst/base/Makefile.am:
3471         * gst/base/gstbasesink.h:
3472         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3473         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3474         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3475         (gst_collectpads_class_init), (gst_collectpads_init),
3476         (gst_collectpads_finalize), (gst_collectpads_new),
3477         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3478         (find_pad), (gst_collectpads_remove_pad),
3479         (gst_collectpads_is_active), (gst_collectpads_collect),
3480         (gst_collectpads_collect_range), (gst_collectpads_start),
3481         (gst_collectpads_stop), (gst_collectpads_peek),
3482         (gst_collectpads_pop), (gst_collectpads_available),
3483         (gst_collectpads_read), (gst_collectpads_flush),
3484         (gst_collectpads_chain):
3485         * gst/base/gstcollectpads.h:
3486         * gst/elements/Makefile.am:
3487         * gst/elements/gstelements.c:
3488         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3489         (gst_fakesink_get_times), (gst_fakesink_event),
3490         (gst_fakesink_preroll), (gst_fakesink_render):
3491         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3492         (gst_filesink_init), (gst_filesink_set_location),
3493         (gst_filesink_open_file), (gst_filesink_close_file),
3494         (gst_filesink_pad_query), (gst_filesink_event),
3495         (gst_filesink_render), (gst_filesink_change_state):
3496         * gst/elements/gstfilesink.h:
3497         Added object to help in making collect pad based elements.
3498         Ported filesink.
3499         Make event function in sink baseclass return gboolean.
3500
3501 2005-05-05  Wim Taymans  <wim@fluendo.com>
3502
3503         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3504         (gst_bin_get_by_name):
3505         * gst/gstbuffer.h:
3506         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3507         (gst_clock_finalize):
3508         * gst/gstdata.c: (gst_data_replace):
3509         * gst/gstdata.h:
3510         * gst/gstelement.c: (gst_element_request_pad),
3511         (gst_element_pads_activate):
3512         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3513         (gst_object_unref):
3514         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3515         (gst_pad_set_checkgetrange_function),
3516         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3517         (gst_pad_check_pull_range), (gst_pad_pull_range),
3518         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3519         (gst_pad_pause_task), (gst_pad_stop_task):
3520         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3521         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3522         Fix name lookup in GstBin.
3523         Added _data_replace() function and _buffer_replace()
3524         Use finalize method to clean up clock.
3525         Fix refcounting on request pads.
3526         Fix pad schedule mode error.
3527         Some more object refcounting debug info,
3528
3529
3530 2005-05-04  Andy Wingo <wingo@pobox.com>
3531
3532         * check/Makefile.am:
3533         * docs/gst/tmpl/gstatomic.sgml:
3534         * docs/gst/tmpl/gstplugin.sgml:
3535         * gst/base/gstbasesink.c: (gst_basesink_activate):
3536         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3537         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3538         (gst_basesrc_query), (gst_basesrc_set_property),
3539         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3540         (gst_basesrc_activate):
3541         * gst/base/gstbasesrc.h:
3542         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3543         (gst_base_transform_src_activate):
3544         * gst/elements/gstelements.c:
3545         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3546         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3547         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3548         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3549         (gst_type_find_element_checkgetrange),
3550         (gst_type_find_element_activate):
3551         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3552         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3553         (gst_caps_load_thyself):
3554         * gst/gstelement.c: (gst_element_pads_activate),
3555         (gst_element_save_thyself), (gst_element_restore_thyself):
3556         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3557         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3558         * gst/gstpad.h:
3559         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3560         (gst_xml_parse_file), (gst_xml_parse_memory),
3561         (gst_xml_get_element), (gst_xml_make_element):
3562         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3563         (_file_index_id_save_xml), (gst_file_index_commit):
3564         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3565         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3566         (load_paths):
3567         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3568         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3569         * tools/gst-complete.c: (main):
3570         * tools/gst-compprep.c: (main):
3571         * tools/gst-inspect.c: (print_element_properties_info):
3572         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3573         * tools/gst-xmlinspect.c: (print_element_properties):
3574         GCC 4 fixen.
3575         
3576 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3577
3578         * gst/gstplugin.c: (gst_plugin_check_module),
3579         (gst_plugin_check_file), (gst_plugin_load_file):
3580             apply patch from #172526 to make register work on MacOSX
3581
3582 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3583
3584         * docs/gst/tmpl/gstconfig.sgml:
3585         * gst/gstconfig.h.in:
3586           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3587         * testsuite/debug/printf_extension.c: (main):
3588           Do not use GST_PTR_FORMAT on pointers to types with
3589           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3590         * testsuite/elements/property.h:
3591           use correct printf format
3592
3593 2005-05-02  Wim Taymans  <wim@fluendo.com>
3594
3595         * docs/design/draft-push-pull.txt:
3596         * docs/design/draft-query.txt:
3597         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3598         (gst_basesrc_start):
3599         Added draft for new query API.
3600         Added draft for better selecting scheduling methods.
3601         Make basesrc ignore length if the subclass does not support
3602         it.
3603
3604 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3605
3606         * gst/Makefile.am:
3607           possible fixes for automake-1.5 - _LIBADD is reserved
3608
3609 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3610
3611         * docs/faq/Makefile.am:
3612         * docs/manual/Makefile.am:
3613         * docs/manuals.mak:
3614         * docs/pwg/Makefile.am:
3615         * gst/Makefile.am:
3616           possible fixes for automake-1.5
3617
3618 2005-04-28  Wim Taymans  <wim@fluendo.com>
3619
3620         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3621         (gst_basesink_pad_getcaps), (gst_basesink_init),
3622         (gst_basesink_do_sync):
3623         * gst/gstclock.c: (gst_clock_entry_new):
3624         * gst/gstevent.c: (gst_event_discont_get_value):
3625         * gst/gstpipeline.c: (pipeline_bus_handler),
3626         (gst_pipeline_change_state):
3627         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3628         Better debugging of clocking info.
3629         Allow NULL values when getting discont values.
3630
3631 2005-04-27  Wim Taymans  <wim@fluendo.com>
3632
3633         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3634         * check/gst/gstpad.c: (gst_pad_suite):
3635         Increase timeout for checks.
3636
3637 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3638
3639         * check/Makefile.am:
3640           fix the broken rule for cleanup.  Apparently this rule is
3641           only needed on FC2, so maybe this warrants further autotool
3642           inspection.
3643
3644 2005-04-26  Wim Taymans  <wim@fluendo.com>
3645
3646         * gst/gsttrashstack.h:
3647         Ooohh. a nasty one! After having a failed pop() from the stack,
3648         it's possible that the stack is empty. In that case, don't
3649         follow the NULL pointer.
3650
3651 2005-04-25  Wim Taymans  <wim@fluendo.com>
3652
3653         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3654         (gst_pad_set_checkgetrange_function),
3655         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3656         (gst_pad_check_pull_range), (gst_pad_pull_range),
3657         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3658         (gst_pad_pause_task), (gst_pad_stop_task):
3659         * gst/gstplugin.c: (gst_plugin_load):
3660         * gst/gstplugin.h:
3661         Remove gst_library_load as it does more harm than good with
3662         the new g_module flags.
3663         Revert bogus caps template check in pad linking, pad caps
3664         are important when linking not the template, which is more
3665         general than the current caps.
3666
3667 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3668
3669         * gst/autoplug/.cvsignore:
3670         * gst/autoplug/Makefile.am:
3671         * gst/autoplug/gstsearchfuncs.c:
3672         * gst/autoplug/gstsearchfuncs.h:
3673         * gst/autoplug/gstspider.c:
3674         * gst/autoplug/gstspider.h:
3675         * gst/autoplug/gstspideridentity.c:
3676         * gst/autoplug/gstspideridentity.h:
3677         * gst/autoplug/spidertest.c:
3678           Die, spider, die.
3679
3680 2005-04-25  Wim Taymans  <wim@fluendo.com>
3681
3682         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3683         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3684         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3685         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3686         * gst/gstpad.h:
3687         Added stubs for unimplemented functions. 
3688
3689 2005-04-24  David Schleef  <ds@schleef.org>
3690
3691         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3692         please fix.
3693
3694 2005-04-24  David Schleef  <ds@schleef.org>
3695
3696         Convert everything from GstAtomicInt to g_atomic_int_*, and
3697         remove gstatomic.
3698         * gst/Makefile.am:
3699         * gst/gstatomic.c:
3700         * gst/gstatomic.h:
3701         * gst/gstatomic_impl.h:
3702         * gst/gstbuffer.c:
3703         * gst/gstcaps.c:
3704         * gst/gstcaps.h:
3705         * gst/gstclock.c:
3706         * gst/gstclock.h:
3707         * gst/gstdata.c:
3708         * gst/gstdata.h:
3709         * gst/gstdata_private.h:
3710         * gst/gstevent.c:
3711         * gst/gstinfo.c:
3712         * gst/gstinfo.h:
3713         * gst/gstmessage.c:
3714         * gst/gstobject.c:
3715         * gst/gstobject.h:
3716         * gst/gststructure.c:
3717         * gst/gststructure.h:
3718         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3719         * gst/gstutils.h:
3720
3721 2005-04-24  David Schleef  <ds@schleef.org>
3722
3723         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3724         make the regressions tests work.  Remove some code that is no
3725         longer true.
3726         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3727         Disable warning for pads without templates.
3728
3729 2005-04-24  David Schleef  <ds@schleef.org>
3730
3731         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3732         functions that handle filtered links.
3733         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3734         removed functions.
3735         * gst/gstutils.c: Fix/remove utility functions that handle
3736         filtered caps.
3737         * gst/gstutils.h:
3738         * gst/gstvalue.c: Add serialization/deserialization of caps
3739         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3740         requires fixing so that the filter caps notation creates
3741         a capsfilter element and sets the filter_caps property.  I
3742         think everyone probably wants to keep the shorthand notation.
3743         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3744         * docs/gst/tmpl/gstpad.sgml:
3745
3746         * gst/elements/gstelements.c: Register capsfilter element.
3747         * gst/Makefile.am: fix spacing
3748         * docs/random/ds/0.9-suggested-changes: random
3749
3750 2005-04-23  David Schleef  <ds@schleef.org>
3751
3752         * gst/elements/Makefile.am:
3753         * gst/elements/gstcapsfilter.c: New element that acts like an
3754         identity, but filters caps.  Will eventually replace filtered
3755         caps in pad linking.
3756         * gst/gstutils.c: (gst_element_create_all_pads): New function
3757         to create all the ALWAYS pads that are registered with an
3758         element class.  This functionality should eventually be
3759         merged in with GstElement initialization.
3760         * gst/gstutils.h:
3761         * testsuite/trigger/README: part of trigger test code that should
3762         have been checked in a long time ago.
3763
3764 2005-04-23  David Schleef  <ds@schleef.org>
3765
3766         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3767         needed with new versions of libtool (nobody will confirm this),
3768         and hard to carry around.
3769         * gst/autoplug/Makefile.am:
3770         * gst/base/Makefile.am:
3771         * gst/elements/Makefile.am:
3772         * gst/indexers/Makefile.am:
3773         * gst/schedulers/Makefile.am:
3774         * libs/gst/bytestream/Makefile.am:
3775         * libs/gst/control/Makefile.am:
3776         * libs/gst/dataprotocol/Makefile.am:
3777         * libs/gst/getbits/Makefile.am:
3778
3779 2005-04-21  Wim Taymans  <wim@fluendo.com>
3780
3781         * docs/design/draft-push-pull.txt:
3782         * docs/design/part-MT-refcounting.txt:
3783         * docs/design/part-TODO.txt:
3784         * docs/design/part-caps.txt:
3785         * docs/design/part-events.txt:
3786         * docs/design/part-gstbus.txt:
3787         * docs/design/part-gstpipeline.txt:
3788         * docs/design/part-messages.txt:
3789         * docs/design/part-push-pull.txt:
3790         * docs/design/part-query.txt:
3791         Some more docs.
3792
3793 2005-04-21  Wim Taymans  <wim@fluendo.com>
3794
3795         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3796         (gst_message_new), (gst_message_new_error),
3797         (gst_message_new_warning), (gst_message_new_tag),
3798         (gst_message_new_state_changed), (gst_message_new_application),
3799         (gst_message_get_structure):
3800         * gst/gstmessage.h:
3801         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3802         (gst_structure_copy_conditional):
3803         Use parent refcount in GstMessage to ensure GstStructure
3804         consistency.
3805         Cleaned up headers a bit.
3806         
3807
3808 2005-04-20  Wim Taymans  <wim@fluendo.com>
3809
3810         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3811         (gst_basesink_pad_getcaps), (gst_basesink_init),
3812         (gst_basesink_chain_unlocked):
3813         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3814         (gst_type_find_helper):
3815         * gst/elements/gsttypefindelement.c:
3816         (gst_type_find_element_have_type), (gst_type_find_element_init),
3817         (stop_typefinding), (gst_type_find_element_handle_event),
3818         (find_suggest), (gst_type_find_element_chain),
3819         (gst_type_find_element_checkgetrange),
3820         (gst_type_find_element_getrange), (do_typefind),
3821         (gst_type_find_element_activate):
3822         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3823         (gst_buffer_default_free), (gst_buffer_default_copy),
3824         (gst_buffer_set_caps):
3825         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3826         (gst_caps_replace):
3827         * gst/gstmessage.c: (gst_message_new),
3828         (gst_message_new_state_changed):
3829         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3830         (gst_pad_set_checkgetrange_function),
3831         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3832         (gst_pad_set_caps), (gst_pad_check_pull_range),
3833         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3834         * gst/gstpad.h:
3835         * gst/gsttypefind.c: (gst_type_find_register):
3836         Make gst_caps_replace() work like other _replace() functions.
3837         Use _caps_replace() where possible.
3838         Make sure _message_new() initialises its field.
3839         Add gst_static_pad_template_get_caps()
3840
3841
3842 2005-04-18  Andy Wingo  <wingo@pobox.com>
3843
3844         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3845         on the peer, not the pad. I think that was a typo. Pass an extra
3846         arg to see if random access is possible. Activate the pads as
3847         PULL_RANGE if possible.
3848
3849         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3850
3851         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3852         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3853         to PROP_....
3854
3855 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3856
3857         * docs/faq/using.xml:
3858           Add note on gstreamer-properties (#154996).
3859
3860 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3861
3862         * docs/random/bbb/optional-properties:
3863           Some analysis on optional properties.
3864
3865 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3866
3867         * docs/gst/tmpl/gstelementfactory.sgml:
3868         * gst/gstelement.h:
3869         * gst/gstelementfactory.c: (gst_element_factory_init),
3870         (gst_element_factory_cleanup), (gst_element_register),
3871         (__gst_element_factory_add_static_pad_template),
3872         (gst_element_factory_get_static_pad_templates),
3873         (gst_element_factory_can_src_caps),
3874         (gst_element_factory_can_sink_caps):
3875         * gst/registries/Makefile.am:
3876         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3877         (gst_xml_registry_class_init), (gst_xml_registry_init),
3878         (gst_xml_registry_new), (gst_xml_registry_set_property),
3879         (gst_xml_registry_get_property), (get_time), (make_dir),
3880         (gst_xml_registry_get_perms_func),
3881         (plugin_times_older_than_recurse), (plugin_times_older_than),
3882         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3883         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3884         (add_to_char_array), (read_string), (read_uint), (read_enum),
3885         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3886         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3887         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3888         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3889         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3890         (gst_xml_registry_rebuild):
3891         * gst/registries/gstlibxmlregistry.h:
3892         * tools/gst-compprep.c: (main):
3893         * tools/gst-inspect.c: (print_pad_templates_info):
3894         * tools/gst-xmlinspect.c: (print_element_info):
3895           Use libxml2 for registry parsing, use staticpadtemplates in
3896           elementfactories. Makes gst_init() +/- 10x faster.
3897
3898 2005-04-12  Wim Taymans  <wim@fluendo.com>
3899
3900         * gst/base/Makefile.am:
3901         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3902         (gst_basesink_pad_getcaps), (gst_basesink_init),
3903         (gst_basesink_event), (gst_basesink_change_state):
3904         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3905         (gst_basesrc_init), (gst_basesrc_query),
3906         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3907         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3908         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3909         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3910         (gst_basesrc_stop), (gst_basesrc_activate),
3911         (gst_basesrc_change_state):
3912         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3913         (helper_find_suggest), (gst_type_find_helper):
3914         * gst/base/gsttypefindhelper.h:
3915         * gst/elements/Makefile.am:
3916         * gst/elements/gstelements.c:
3917         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3918         (gst_fakesink_get_times), (gst_fakesink_event),
3919         (gst_fakesink_preroll), (gst_fakesink_render):
3920         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3921         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3922         (gst_fakesrc_get_property), (gst_fakesrc_create),
3923         (gst_fakesrc_start), (gst_fakesrc_stop):
3924         * gst/elements/gstfakesrc.h:
3925         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3926         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3927         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3928         (gst_filesrc_create_read), (gst_filesrc_create),
3929         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3930         (gst_filesrc_start):
3931         * gst/elements/gsttypefindelement.c:
3932         (gst_type_find_element_have_type), (gst_type_find_element_init),
3933         (start_typefinding), (stop_typefinding), (push_buffer_store),
3934         (gst_type_find_element_handle_event),
3935         (gst_type_find_element_chain),
3936         (gst_type_find_element_checkgetrange),
3937         (gst_type_find_element_getrange), (do_typefind),
3938         (gst_type_find_element_activate),
3939         (gst_type_find_element_change_state):
3940         * gst/elements/gsttypefindelement.h:
3941         * gst/gstpipeline.c: (pipeline_bus_handler):
3942         Added typefind helper.
3943         Small preroll fix in the base sink.
3944         Disable typefind code in basesrc.
3945         Crude port of typefindelement.
3946         Fakesrc cleanups.
3947
3948
3949 2005-04-11  Wim Taymans  <wim@fluendo.com>
3950
3951         * check/gst/gstbus.c: (gstbus_suite):
3952         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3953         * check/gstcheck.h:
3954           Fix up the timeout so that the test does not fail.
3955
3956 2005-04-06  Wim Taymans  <wim@fluendo.com>
3957
3958         * gst/base/README:
3959         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3960         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3961         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3962         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3963         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3964         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3965         (gst_basesrc_stop), (gst_basesrc_activate),
3966         (gst_basesrc_change_state), (basesrc_find_peek),
3967         (basesrc_find_suggest), (gst_basesrc_type_find):
3968         * gst/base/gstbasesrc.h:
3969         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3970         (gst_filesrc_class_init), (gst_filesrc_init),
3971         (gst_filesrc_finalize), (gst_filesrc_set_location),
3972         (gst_filesrc_set_property), (gst_filesrc_get_property),
3973         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3974         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3975         (gst_filesrc_create_read), (gst_filesrc_create),
3976         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3977         * gst/elements/gstfilesrc.h:
3978         * gst/gstelement.c: (gst_element_get_state_func),
3979         (gst_element_lost_state), (gst_element_pads_activate):
3980         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3981         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3982         (gst_pad_pull_range):
3983         * gst/gstpad.h:
3984         More work on the generic source base class, implement seeking,
3985         query.
3986         Make filesrc extend the base source class.
3987         Added gst_pad_set_checkgetrange_function to GstPad.
3988
3989 2005-04-06  Andy Wingo  <wingo@pobox.com>
3990
3991         * pkgconfig/gstreamer-base.pc.in:
3992         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3993
3994         * pkgconfig/Makefile.am:
3995         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3996
3997 2005-04-04  Wim Taymans  <wim@fluendo.com>
3998
3999         * gst/base/Makefile.am:
4000         * gst/base/README:
4001         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4002         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4003         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4004         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4005         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4006         (gst_basesrc_base_init), (gst_basesrc_class_init),
4007         (gst_basesrc_init), (gst_basesrc_get_formats),
4008         (gst_basesrc_get_query_types), (gst_basesrc_query),
4009         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4010         (gst_basesrc_set_property), (gst_basesrc_get_property),
4011         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4012         (gst_basesrc_loop), (gst_basesrc_activate),
4013         (gst_basesrc_change_state):
4014         * gst/base/gstbasesrc.h:
4015         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4016         (gst_fakesrc_class_init), (gst_fakesrc_init),
4017         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4018         (gst_fakesrc_get_property), (gst_fakesrc_create):
4019         * gst/elements/gstfakesrc.h:
4020         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4021         (gst_filesrc_open_file), (gst_filesrc_loop),
4022         (gst_filesrc_activate), (filesrc_find_peek),
4023         (gst_filesrc_type_find):
4024         Made base source class, make fakesrc extend it.
4025         Add comments to basesink class.
4026         Some filesrc cleanup.
4027
4028 2005-03-31  David Schleef  <ds@schleef.org>
4029
4030         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4031         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4032         expected to link against libgstreamer.
4033         * gst/base/Makefile.am: link against libgstreamer
4034         * gst/elements/Makefile.am: same
4035
4036 2005-03-31  Andy Wingo  <wingo@pobox.com>
4037
4038         * tests/instantiate/Makefile.am:
4039         * tests/instantiate/caps.c: Add test to test speed of caps copy
4040         and free.
4041
4042         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4043         GMemChunk to be fair.
4044
4045         * gst/gsttrashstack.h: Remove warning about using the fallback
4046         trash stack implementation, it's still faster than malloc.
4047
4048 2005-03-30  Andy Wingo  <wingo@pobox.com>
4049
4050         * tests/complexity.c: Add a copyright.
4051
4052 2005-03-31  Wim Taymans  <wim@fluendo.com>
4053
4054         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4055         (gst_base_transform_class_init), (gst_base_transform_init),
4056         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4057         (gst_base_transform_get_property),
4058         (gst_base_transform_sink_activate),
4059         (gst_base_transform_src_activate),
4060         (gst_base_transform_change_state):
4061         * gst/base/gstbasetransform.h:
4062         * gst/elements/gstidentity.c: (gst_identity_class_init),
4063         (gst_identity_event), (gst_identity_check_perfect),
4064         (gst_identity_transform), (gst_identity_start),
4065         (gst_identity_stop):
4066         Added start/stop methods to transform base class so subclasses 
4067         don't need to deal with state changes even.
4068
4069 2005-03-31  Wim Taymans  <wim@fluendo.com>
4070
4071         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4072         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4073         * gst/gstevent.h:
4074         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4075         (gst_pad_pull_range):
4076         Added rate to the discont event to prepare for variable speed
4077         and reverse playback.
4078
4079 2005-03-29  David Schleef  <ds@schleef.org>
4080
4081         * configure.ac:
4082         * testsuite/trigger/Makefile.am:
4083         * testsuite/trigger/trigger.c: A little example program to show
4084         how trigger-based elements can work.
4085
4086 2005-03-29  Wim Taymans  <wim@fluendo.com>
4087
4088         * gst/base/Makefile.am:
4089         * gst/base/README:
4090         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4091         (gst_basesink_base_init), (gst_basesink_class_init),
4092         (gst_basesink_pad_getcaps), (gst_basesink_init),
4093         (gst_basesink_activate), (gst_basesink_change_state):
4094         * gst/base/gstbasesink.h:
4095         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4096         (gst_base_transform_base_init), (gst_base_transform_finalize),
4097         (gst_base_transform_class_init), (gst_base_transform_init),
4098         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4099         (gst_base_transform_event), (gst_base_transform_getrange),
4100         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4101         (gst_base_transform_set_property),
4102         (gst_base_transform_get_property),
4103         (gst_base_transform_sink_activate),
4104         (gst_base_transform_src_activate),
4105         (gst_base_transform_change_state):
4106         * gst/base/gstbasetransform.h:
4107         * gst/elements/gstidentity.c: (gst_identity_finalize),
4108         (gst_identity_class_init), (gst_identity_init),
4109         (gst_identity_event), (gst_identity_check_perfect),
4110         (gst_identity_transform), (gst_identity_set_property),
4111         (gst_identity_get_property), (gst_identity_change_state):
4112         * gst/elements/gstidentity.h:
4113         * gst/gstelement.c: (gst_element_get_state_func),
4114         (gst_element_lost_state), (gst_element_pads_activate):
4115         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4116         (gst_pad_check_pull_range), (gst_pad_pull_range):
4117         * gst/gstpad.h:
4118         Simplify pad activation.
4119         Added function to check if pull_range can be performed.
4120         Error out when pulling inactive or flushing pads.
4121         Removed const from refcounted types as it does not make sense.
4122         Simplify pad templates in basesink
4123         Added base class for simple 1-to-1 transforms.
4124         Make identity subclass the base transform.
4125
4126 2005-03-29  Andy Wingo  <wingo@pobox.com>
4127
4128         * docs/libs/gstreamer-libs-overrides.txt: 
4129         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4130         really don't understand what's going on, but like whatever. I want
4131         green buildbot!
4132
4133         * docs/gst/Makefile.am:
4134         * docs/libs/Makefile.am: Dist the overrides files.
4135
4136         * check/Makefile.am (clean-local): Remove .libs directories.
4137
4138         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4139         elements to EXTRA_DIST, so po/ files are happy.
4140
4141         * po/POTFILES.in: Er, remove it here.
4142
4143         * po/POTFILES: Remove gstspider.c.
4144
4145         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4146
4147         * docs/libs/gstreamer-libs-docs.sgml: 
4148         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4149         bytestream.
4150
4151         * tests/complexity.c (main): Set the length of the preroll queue
4152         on the sinks to prevent a lockup.
4153
4154         * libs/gst/dataprotocol/Makefile.am: 
4155         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4156         the same as the one in check/gst-libs/gdp.c.
4157
4158         * po/, docs/gst/: Commit automatic changes to docs and po files.
4159
4160         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4161         the versioned libgstbase.
4162
4163         * check/Makefile.am: Depend on an unversioned gst-register, seems
4164         to make autoconf happier.
4165
4166         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4167
4168 2005-03-28  Wim Taymans  <wim@fluendo.com>
4169
4170         * configure.ac:
4171         * docs/design/part-gstelement.txt:
4172         * docs/design/part-negotiation.txt:
4173         * docs/design/part-preroll.txt:
4174         * docs/design/part-scheduling.txt:
4175         * docs/design/part-states.txt:
4176         * gst/Makefile.am:
4177         * gst/base/Makefile.am:
4178         * gst/base/README:
4179         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4180         (gst_basesink_base_init), (gst_basesink_class_init),
4181         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4182         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4183         (gst_basesink_set_pad_functions),
4184         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4185         (gst_basesink_set_property), (gst_basesink_get_property),
4186         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4187         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4188         (gst_basesink_preroll_queue_push),
4189         (gst_basesink_preroll_queue_empty),
4190         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4191         (gst_basesink_event), (gst_basesink_get_times),
4192         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4193         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4194         (gst_basesink_loop), (gst_basesink_activate),
4195         (gst_basesink_change_state):
4196         * gst/base/gstbasesink.h:
4197         * gst/elements/Makefile.am:
4198         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4199         (gst_fakesink_class_init), (gst_fakesink_init),
4200         (gst_fakesink_set_property), (gst_fakesink_get_property),
4201         (gst_fakesink_get_times), (gst_fakesink_event),
4202         (gst_fakesink_preroll), (gst_fakesink_render),
4203         (gst_fakesink_change_state):
4204         * gst/elements/gstfakesink.h:
4205         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4206         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4207         * gst/gstelement.c: (gst_element_add_pad),
4208         (gst_element_get_state_func), (gst_element_abort_state),
4209         (gst_element_commit_state), (gst_element_lost_state),
4210         (gst_element_set_state), (gst_element_pads_activate):
4211         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4212         * gst/gstpipeline.c: (gst_pipeline_send_event),
4213         (gst_pipeline_change_state):
4214         Added state change code.
4215         Added/updated docs.
4216         Added sink base class, make fakesink extend the base class.
4217         Small cleanups in GstPipeline.
4218
4219 2005-03-26  David Schleef  <ds@schleef.org>
4220
4221         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4222         is broken and should be implemented in a different library.
4223         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4224         * gst/gst.h: remove gstcpu.h
4225         * gst/gstcpu.c: remove
4226         * gst/gstcpu.h: remove
4227         * gst/Makefile.am.future: Remove this file.  It's ancient.
4228
4229 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4230
4231         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4232         (gst_bin_send_event):
4233           Add default event/set_manager handlers. The set_manager handler
4234           takes care that the manager is distributed over kids that were
4235           already in the bin before the manager was set. The event handler
4236           is a utility virtual function that sends the event over all sinks,
4237           so that gst_element_send_event (bin, event); has the expected
4238           behaviour.
4239         * gst/gstpad.c: (gst_pad_event_default):
4240           Re-install default event handling for discontinuities, so that
4241           seeking works without requiring hacks in applications or extra
4242           code in sinks.
4243         * gst/gstpipeline.c: (gst_pipeline_class_init),
4244         (gst_pipeline_send_event):
4245           Half hack, half utility: set a pipeline to PAUSED for seek events,
4246           since that is the only way we can guarantee a/v sync. Means that
4247           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4248           and it "just works".
4249
4250 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4251
4252         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4253           Lock/unlock mismatch.
4254
4255 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4256
4257         * docs/faq/gst-uninstalled:
4258           add gst-plugins-base
4259         * docs/gst/Makefile.am:
4260           don't error out until docs are fixed
4261         * docs/gst/gstreamer.types:
4262           remove thread
4263
4264 2005-03-22  Wim Taymans  <wim@fluendo.com>
4265
4266         * check/Makefile.am:
4267         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4268         * gst/gststructure.c: (gst_structure_set_valist),
4269         (gst_structure_copy_conditional):
4270         Activated more tests.
4271         Added message test.
4272         Added G_TYPE_POINTER to GstStructure.
4273         
4274
4275 2005-03-22  Wim Taymans  <wim@fluendo.com>
4276
4277         * docs/design/part-TODO.txt:
4278         * docs/design/part-events.txt:
4279         * docs/design/part-gstbin.txt:
4280         * docs/design/part-gstbus.txt:
4281         * docs/design/part-gstpipeline.txt:
4282         * docs/design/part-messages.txt:
4283         * gst/gstbus.c:
4284         * gst/gstmessage.c:
4285         Docs updates
4286
4287 2005-03-21  Wim Taymans  <wim@fluendo.com>
4288
4289         * gst/gstbus.c: (gst_bus_post):
4290         Fix copy-and-paste error.
4291
4292 2005-03-21  Wim Taymans  <wim@fluendo.com>
4293
4294         * check/Makefile.am:
4295         * gst/Makefile.am:
4296         * gst/elements/Makefile.am:
4297         * gst/elements/gstelements.c:
4298         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4299         (gst_fakesink_event), (gst_fakesink_chain):
4300         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4301         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4302         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4303         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4304         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4305         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4306         (gst_fakesrc_loop), (gst_fakesrc_activate),
4307         (gst_fakesrc_change_state):
4308         * gst/elements/gstfakesrc.h:
4309         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4310         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4311         (gst_filesrc_open_file), (gst_filesrc_loop),
4312         (gst_filesrc_activate), (gst_filesrc_change_state),
4313         (filesrc_find_peek), (filesrc_find_suggest),
4314         (gst_filesrc_type_find):
4315         * gst/elements/gstidentity.c: (gst_identity_finalize),
4316         (gst_identity_class_init), (gst_identity_init),
4317         (gst_identity_proxy_getcaps), (identity_queue_push),
4318         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4319         (gst_identity_getrange), (gst_identity_chain),
4320         (gst_identity_sink_loop), (gst_identity_src_loop),
4321         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4322         (gst_identity_set_property), (gst_identity_get_property),
4323         (gst_identity_change_state):
4324         * gst/elements/gstidentity.h:
4325         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4326         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4327         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4328         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4329         (gst_tee_sink_activate):
4330         * gst/elements/gsttee.h:
4331         * gst/gst.c: (gst_register_core_elements), (init_post):
4332         * gst/gst.h:
4333         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4334         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4335         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4336         (gst_bin_change_state):
4337         * gst/gstbin.h:
4338         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4339         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4340         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4341         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4342         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4343         (bus_watch_callback), (bus_watch_destroy),
4344         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4345         (poll_timeout), (gst_bus_poll):
4346         * gst/gstbus.h:
4347         * gst/gstcaps.h:
4348         * gst/gstdata.h:
4349         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4350         (gst_element_post_message), (gst_element_message_full),
4351         (gst_element_get_state_func), (gst_element_get_state),
4352         (gst_element_abort_state), (gst_element_commit_state),
4353         (gst_element_lost_state), (gst_element_set_state),
4354         (gst_element_pads_activate), (gst_element_change_state),
4355         (gst_element_dispose), (gst_element_set_manager_func),
4356         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4357         (gst_element_set_manager), (gst_element_get_manager),
4358         (gst_element_set_bus), (gst_element_get_bus),
4359         (gst_element_set_scheduler), (gst_element_get_scheduler):
4360         * gst/gstelement.h:
4361         * gst/gstevent.c: (gst_event_new_segment_seek),
4362         (gst_event_new_flush):
4363         * gst/gstevent.h:
4364         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4365         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4366         (gst_message_new_eos), (gst_message_new_error),
4367         (gst_message_new_warning), (gst_message_new_tag),
4368         (gst_message_new_state_changed), (gst_message_new_application),
4369         (gst_message_get_structure), (gst_message_parse_tag),
4370         (gst_message_parse_state_changed), (gst_message_parse_error),
4371         (gst_message_parse_warning):
4372         * gst/gstmessage.h:
4373         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4374         (gst_real_pad_set_property), (gst_pad_set_active),
4375         (gst_pad_is_active), (gst_pad_set_blocked_async),
4376         (gst_pad_set_blocked), (gst_pad_is_blocked),
4377         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4378         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4379         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4380         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4381         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4382         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4383         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4384         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4385         (gst_pad_set_caps), (gst_pad_configure_sink),
4386         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4387         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4388         (gst_real_pad_dispose), (gst_real_pad_finalize),
4389         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4390         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4391         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4392         * gst/gstpad.h:
4393         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4394         (pipeline_bus_handler), (gst_pipeline_change_state),
4395         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4396         * gst/gstpipeline.h:
4397         * gst/gstprobe.h:
4398         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4399         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4400         (gst_queue_link_src), (gst_queue_bufferalloc),
4401         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4402         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4403         (gst_queue_loop), (gst_queue_handle_src_event),
4404         (gst_queue_handle_src_query), (gst_queue_src_activate),
4405         (gst_queue_change_state):
4406         * gst/gstqueue.h:
4407         * gst/gstscheduler.c: (gst_scheduler_init),
4408         (gst_scheduler_dispose), (gst_scheduler_create_task),
4409         (gst_scheduler_factory_create):
4410         * gst/gstscheduler.h:
4411         * gst/gststructure.c: (gst_structure_get_type),
4412         (gst_structure_copy_conditional):
4413         * gst/gststructure.h:
4414         * gst/gsttaginterface.h:
4415         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4416         (gst_task_init), (gst_task_dispose), (gst_task_create),
4417         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4418         (gst_task_pause):
4419         * gst/gsttask.h:
4420         * gst/gstthread.c:
4421         * gst/gstthread.h:
4422         * gst/gsttypes.h:
4423         * gst/schedulers/Makefile.am:
4424         * gst/schedulers/cothreads_compat.h:
4425         * gst/schedulers/entryscheduler.c:
4426         * gst/schedulers/faircothreads.c:
4427         * gst/schedulers/faircothreads.h:
4428         * gst/schedulers/fairscheduler.c:
4429         * gst/schedulers/gstbasicscheduler.c:
4430         * gst/schedulers/gstoptimalscheduler.c:
4431         * gst/schedulers/gthread-cothreads.h:
4432         * gst/schedulers/threadscheduler.c:
4433         (gst_thread_scheduler_task_get_type),
4434         (gst_thread_scheduler_task_class_init),
4435         (gst_thread_scheduler_task_init),
4436         (gst_thread_scheduler_task_start),
4437         (gst_thread_scheduler_task_stop),
4438         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4439         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4440         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4441         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4442         (plugin_init):
4443         * libs/gst/Makefile.am:
4444         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4445         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4446         (gst_file_pad_parent_set):
4447         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4448         (gst_dp_event_from_packet):
4449         * tests/complexity.c: (main):
4450         * tests/mass_elements.c: (main):
4451         * testsuite/states/locked.c: (message_received), (main):
4452         * testsuite/states/parent.c: (main):
4453         * tools/gst-inspect.c: (print_element_flag_info),
4454         (print_implementation_info), (print_pad_info):
4455         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4456         (main):
4457         * tools/gst-md5sum.c: (event_loop), (main):
4458         * tools/gst-typefind.c: (main):
4459         * tools/gst-xmlinspect.c: (print_element_info):
4460         Next big merge.
4461         Added GstBus for mainloop integration.
4462         Added GstMessage for sending notifications on the bus.
4463         Added GstTask as an abstraction for pipeline entry points.
4464         Removed GstThread.
4465         Removed Schedulers.
4466         Simplified GstQueue for multithreaded core.
4467         Made _link threadsafe, removed old capsnego.
4468         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4469         Added pad blocking functions.
4470         Reworked scheduling functions in GstPad to prepare for
4471         scheduling updates soon.
4472         Moved events out of data stream.
4473         Simplified GstEvent types.
4474         Added return values to push/pull.
4475         Removed clocking from GstElement.
4476         Added prototypes for state change function for next merge.
4477         Removed iterate from bins and state change management.
4478         Fixed some elements, disabled others for now.
4479         Fixed -inspect and -launch.
4480         Added check for GstBus.
4481
4482 2005-03-10  Wim Taymans  <wim@fluendo.com>
4483
4484         * docs/design/part-MT-refcounting.txt:
4485         * docs/design/part-clocks.txt:
4486         * docs/design/part-gstelement.txt:
4487         * docs/design/part-gstobject.txt:
4488         * docs/design/part-standards.txt:
4489         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4490         (gst_bin_remove_func), (gst_bin_remove):
4491         * gst/gstbin.h:
4492         * gst/gstbuffer.c:
4493         * gst/gstcaps.h:
4494         * testsuite/clock/clock1.c: (main):
4495         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4496         (main):
4497         * testsuite/dlopen/loadgst.c: (do_test):
4498         * testsuite/refcounting/bin.c: (add_remove_test1),
4499         (add_remove_test2), (main):
4500         * testsuite/refcounting/element.c: (main):
4501         * testsuite/refcounting/element_pad.c: (main):
4502         * testsuite/refcounting/pad.c: (main):
4503         * tools/gst-launch.c: (sigint_handler_sighandler):
4504         * tools/gst-typefind.c: (main):
4505         Doc updates.
4506         Added doc about clock.
4507         removed gst_bin_iterate_recurse_up(), marked methods
4508         for removal.
4509         Fix more testsuites.
4510
4511 2005-03-09  Wim Taymans  <wim@fluendo.com>
4512
4513         * gst/gstpad.c: (gst_pad_get_direction),
4514         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4515         (gst_pad_collect_valist):
4516         * testsuite/bins/interface.c: (main):
4517         * testsuite/caps/audioscale.c: (test_caps):
4518         * testsuite/caps/caps.c: (test1), (test2), (test3):
4519         * testsuite/caps/deserialize.c: (main):
4520         * testsuite/caps/enumcaps.c: (main):
4521         * testsuite/caps/filtercaps.c: (main):
4522         * testsuite/caps/intersect2.c: (main):
4523         * testsuite/caps/random.c: (main):
4524         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4525         * testsuite/caps/sets.c: (check_caps):
4526         * testsuite/caps/simplify.c: (check_caps), (main):
4527         * testsuite/caps/subtract.c: (check_caps):
4528         Fix _pad_get_direction wrt ghostpads.
4529         Fix caps testsuite.
4530
4531 2005-03-09  Wim Taymans  <wim@fluendo.com>
4532
4533         * check/Makefile.am:
4534         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4535         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4536         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4537         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4538         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4539         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4540         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4541         (bin_element_is_sink), (gst_bin_iterate_sinks),
4542         (gst_bin_iterate_all_by_interface):
4543         * gst/gstbin.h:
4544         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4545         (gst_element_change_state), (gst_element_dispose),
4546         (gst_element_finalize), (gst_element_set_loop_function):
4547         * gst/gstelement.h:
4548         * gst/gstiterator.c: (find_custom_fold_func):
4549         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4550         (gst_pad_collectv), (gst_pad_collect_valist),
4551         (gst_pad_template_new):
4552         * gst/gstpipeline.c: (gst_pipeline_class_init),
4553         (gst_pipeline_dispose), (gst_pipeline_set_property),
4554         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4555         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4556         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4557         * gst/gstutils.h:
4558         * gst/schedulers/entryscheduler.c:
4559         * gst/schedulers/gstbasicscheduler.c:
4560         (gst_basic_scheduler_cothreaded_chain),
4561         (gst_basic_scheduler_chain_add_element):
4562         * testsuite/bins/interface.c: (main):
4563         Added GstBin test.
4564         Added GstSystemClock test.
4565         Implemented clock distribution code in GstBin.
4566         Implemented iterate sinks method for future use.
4567         Rearranged gstelement.h
4568         Fix GstIterator comparison bug.
4569         Moved some code to GstPipeline, mostly clocking related.
4570
4571 2005-03-09  Wim Taymans  <wim@fluendo.com>
4572
4573         * configure.ac:
4574         * gst/gst_private.h:
4575         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4576         (gst_bin_remove_func), (gst_bin_remove),
4577         (gst_bin_get_by_name_recurse_up):
4578         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4579         (gst_clock_id_compare_func), (gst_clock_id_wait),
4580         (gst_clock_id_wait_async), (gst_clock_init),
4581         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4582         * gst/gstelement.h:
4583         * gst/gstinfo.c: (_gst_debug_init):
4584         * gst/gstobject.h:
4585         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4586         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4587         * gst/gstpad.h:
4588         Bump version number, we're now 0.9.0
4589         Add future debugging category.
4590         Fix NULL _unref() in _get_by_name_recurse_up
4591         Rearrange gstpad.h.
4592         Update some docs.
4593
4594 2005-03-08  Wim Taymans  <wim@fluendo.com>
4595
4596         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4597         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4598         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4599         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4600         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4601         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4602         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4603         * gst/elements/gstidentity.c: (gst_identity_class_init):
4604         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4605         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4606         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4607         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4608         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4609         (gst_tee_link):
4610         * gst/gstelement.c: (gst_element_class_init),
4611         (gst_element_base_class_init), (gst_element_init),
4612         (gst_element_get_random_pad), (gst_element_wait_state_change),
4613         (gst_element_change_state), (gst_element_dispose),
4614         (gst_element_finalize), (gst_element_set_loop_function):
4615         * gst/gstelement.h:
4616         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4617         * gst/gstthread.c: (gst_thread_class_init),
4618         (gst_thread_release_children_locks), (gst_thread_change_state):
4619         * gst/schedulers/gstbasicscheduler.c:
4620         (gst_basic_scheduler_loopfunc_wrapper),
4621         (gst_basic_scheduler_chain_wrapper),
4622         (gst_basic_scheduler_src_wrapper),
4623         (gst_basic_scheduler_remove_element):
4624         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4625         Remove threadsafe properties. Fix elements because GObject
4626         complains when installing a property before declaring a
4627         set/get_property handler.
4628         Rearrange gstelement.h file, use STATE macros for state locks.
4629         Free mutexes in the finalize method instead of dispose.
4630
4631 2005-03-08  Wim Taymans  <wim@fluendo.com>
4632
4633         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4634         * gst/gstthread.c: (gst_thread_release_children_locks):
4635         Added parentage check.
4636         Fix build og GstThread again.
4637
4638 2005-03-08  Wim Taymans  <wim@fluendo.com>
4639
4640         * docs/design/part-MT-refcounting.txt:
4641         * docs/design/part-conventions.txt:
4642         * docs/design/part-gstobject.txt:
4643         * docs/design/part-relations.txt:
4644         * docs/design/part-standards.txt:
4645         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4646         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4647         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4648         (gst_bin_iterate_all_by_interface):
4649         * gst/gstbuffer.h:
4650         * gst/gstclock.h:
4651         * gst/gstelement.c: (gst_element_class_init),
4652         (gst_element_change_state), (gst_element_set_loop_function):
4653         * gst/gstelement.h:
4654         * gst/gstiterator.c:
4655         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4656         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4657         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4658         (gst_object_set_parent), (gst_object_unparent),
4659         (gst_object_check_uniqueness):
4660         * gst/gstobject.h:
4661         Docs updates, clean up some headers.
4662
4663 2005-03-07  Wim Taymans  <wim@fluendo.com>
4664
4665         * check/.cvsignore:
4666         * check/Makefile.am:
4667         * check/gst-libs/.cvsignore:
4668         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4669         * check/gst/.cvsignore:
4670         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4671         (START_TEST), (gstbus_suite), (main):
4672         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4673         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4674         (gst_data_suite), (main):
4675         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4676         (add_fold_func), (gstiterator_suite), (main):
4677         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4678         (thread_name_object), (thread_name_object_default),
4679         (gst_object_name_compare), (gst_object_suite), (main):
4680         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4681         (gst_pad_suite), (main):
4682         * check/gstcheck.c: (gst_check_log_message_func),
4683         (gst_check_log_critical_func), (gst_check_init):
4684         * check/gstcheck.h:
4685         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4686         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4687         Added checks.
4688
4689 2005-03-07  Wim Taymans  <wim@fluendo.com>
4690
4691         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4692         (gst_list_iterator_next), (gst_list_iterator_resync),
4693         (gst_list_iterator_free), (gst_iterator_new_list),
4694         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4695         (gst_iterator_free), (gst_iterator_push), (filter_next),
4696         (filter_resync), (filter_uninit), (filter_free),
4697         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4698         (gst_iterator_foreach), (find_custom_fold_func),
4699         (gst_iterator_find_custom):
4700         * gst/gstiterator.h:
4701         Added missing files.
4702
4703 2005-03-07  Wim Taymans  <wim@fluendo.com>
4704
4705         * Makefile.am:
4706         * configure.ac:
4707         * docs/design/part-MT-refcounting.txt:
4708         * docs/design/part-conventions.txt:
4709         * docs/design/part-gstobject.txt:
4710         * docs/design/part-relations.txt:
4711         * examples/mixer/mixer.c: (main):
4712         * examples/thread/thread.c: (eos), (main):
4713         * gst/Makefile.am:
4714         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4715         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4716         (gst_spider_plug_from_srcpad):
4717         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4718         (gst_spider_identity_change_state),
4719         (gst_spider_identity_sink_loop_type_finding):
4720         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4721         * gst/elements/gstidentity.c: (gst_identity_init):
4722         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4723         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4724         * gst/elements/gsttypefindelement.c: (free_entry):
4725         * gst/gst.c:
4726         * gst/gst.h:
4727         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4728         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4729         (gst_bin_set_index), (gst_bin_set_element_sched),
4730         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4731         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4732         (gst_bin_iterate_elements), (iterate_child_recurse),
4733         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4734         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4735         (compare_interface), (gst_bin_get_by_interface),
4736         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4737         * gst/gstbin.h:
4738         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4739         (gst_buffer_default_free), (gst_buffer_default_copy),
4740         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4741         (gst_buffer_create_sub):
4742         * gst/gstbuffer.h:
4743         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4744         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4745         (gst_caps_unref), (gst_static_caps_get),
4746         (gst_caps_remove_and_get_structure), (gst_caps_append),
4747         (gst_caps_append_structure), (gst_caps_remove_structure),
4748         (gst_caps_copy_nth), (gst_caps_set_simple),
4749         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4750         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4751         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4752         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4753         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4754         (gst_caps_structure_figure_out_union),
4755         (gst_caps_switch_structures), (gst_caps_do_simplify),
4756         (gst_caps_replace), (gst_caps_from_string),
4757         (gst_caps_copy_conditional):
4758         * gst/gstcaps.h:
4759         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4760         (_gst_clock_id_free), (gst_clock_id_unref),
4761         (gst_clock_id_compare_func), (gst_clock_id_wait),
4762         (gst_clock_id_wait_async), (gst_clock_class_init),
4763         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4764         (gst_clock_get_time), (gst_clock_set_time_adjust),
4765         (gst_clock_set_property), (gst_clock_get_property):
4766         * gst/gstclock.h:
4767         * gst/gstcompat.h:
4768         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4769         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4770         * gst/gstdata.h:
4771         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4772         (gst_element_requires_clock), (gst_element_provides_clock),
4773         (gst_element_set_clock), (gst_element_clock_wait),
4774         (gst_element_wait), (gst_element_set_time_delay),
4775         (gst_element_is_indexable), (gst_element_add_pad),
4776         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4777         (pad_compare_name), (gst_element_get_static_pad),
4778         (gst_element_request_pad), (gst_element_get_request_pad),
4779         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4780         (gst_element_class_get_pad_template_list),
4781         (gst_element_class_get_pad_template), (gst_element_error_func),
4782         (gst_element_get_random_pad), (gst_element_get_event_masks),
4783         (gst_element_send_event), (gst_element_seek),
4784         (gst_element_get_query_types), (gst_element_query),
4785         (gst_element_get_formats), (gst_element_convert),
4786         (gst_element_is_locked_state), (gst_element_set_locked_state),
4787         (gst_element_sync_state_with_parent), (gst_element_change_state),
4788         (gst_element_finalize), (gst_element_yield),
4789         (gst_element_interrupt), (gst_element_set_scheduler),
4790         (gst_element_get_scheduler), (gst_element_set_loop_function):
4791         * gst/gstelement.h:
4792         * gst/gstevent.h:
4793         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4794         (gst_format_get_by_nick), (gst_format_get_details),
4795         (gst_format_iterate_definitions):
4796         * gst/gstformat.h:
4797         * gst/gstindex.c: (gst_index_gtype_resolver):
4798         * gst/gstinfo.c:
4799         * gst/gstinfo.h:
4800         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4801         (gst_mem_chunk_free):
4802         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4803         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4804         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4805         (gst_object_dispatch_properties_changed),
4806         (gst_object_set_name_default), (gst_object_set_name),
4807         (gst_object_get_name), (gst_object_set_name_prefix),
4808         (gst_object_get_name_prefix), (gst_object_set_parent),
4809         (gst_object_get_parent), (gst_object_unparent),
4810         (gst_object_check_uniqueness), (gst_object_save_thyself),
4811         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4812         (gst_object_set_property), (gst_object_get_property),
4813         (gst_object_get_path_string):
4814         * gst/gstobject.h:
4815         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4816         (gst_real_pad_init), (gst_real_pad_get_property),
4817         (gst_pad_custom_new), (gst_pad_get_direction),
4818         (gst_pad_set_active), (gst_pad_is_active),
4819         (gst_pad_set_event_function), (gst_pad_is_linked),
4820         (gst_pad_link_free), (gst_pad_link_intersect),
4821         (gst_pad_link_fixate), (gst_pad_set_caps),
4822         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4823         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4824         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4825         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4826         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4827         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4828         (gst_pad_realize), (gst_pad_get_allowed_caps),
4829         (gst_real_pad_dispose), (gst_real_pad_finalize),
4830         (gst_pad_collectv), (gst_pad_collect_valist),
4831         (gst_pad_template_dispose), (gst_pad_template_new),
4832         (gst_pad_get_internal_links):
4833         * gst/gstpad.h:
4834         * gst/gstpipeline.c: (gst_pipeline_dispose),
4835         (gst_pipeline_change_state):
4836         * gst/gstpipeline.h:
4837         * gst/gstplugin.c:
4838         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4839         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4840         * gst/gstpluginfeature.h:
4841         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4842         * gst/gstquery.c: (_gst_query_type_initialize),
4843         (gst_query_type_register), (gst_query_type_get_by_nick),
4844         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4845         * gst/gstquery.h:
4846         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4847         * gst/gstscheduler.c: (gst_scheduler_add_element),
4848         (gst_scheduler_factory_create):
4849         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4850         (gst_structure_free), (gst_structure_set_name),
4851         (gst_structure_id_set_value), (gst_structure_set_value),
4852         (gst_structure_set_valist), (gst_structure_remove_field),
4853         (gst_structure_remove_fields),
4854         (gst_structure_remove_fields_valist),
4855         (gst_structure_remove_all_fields), (gst_structure_foreach),
4856         (gst_structure_map_in_place),
4857         (gst_caps_structure_fixate_field_nearest_int),
4858         (gst_caps_structure_fixate_field_nearest_double):
4859         * gst/gststructure.h:
4860         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4861         (gst_system_clock_init), (gst_system_clock_dispose),
4862         (gst_system_clock_async_thread),
4863         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4864         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4865         * gst/gstsystemclock.h:
4866         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4867         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4868         * gst/gsttaginterface.c:
4869         * gst/gstthread.c: (gst_thread_dispose),
4870         (gst_thread_release_children_locks), (gst_thread_change_state),
4871         (gst_thread_main_loop):
4872         * gst/gsttrashstack.h:
4873         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4874         * gst/gsttypes.h:
4875         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4876         (gst_element_request_pad), (gst_element_get_pad_from_template),
4877         (gst_element_request_compatible_pad),
4878         (gst_element_get_compatible_pad_filtered),
4879         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4880         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4881         (gst_element_link_many), (gst_element_link),
4882         (gst_element_link_pads), (gst_element_unlink_pads),
4883         (gst_element_unlink_many), (gst_element_unlink),
4884         (gst_pad_can_link_filtered), (gst_pad_can_link),
4885         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4886         (gst_object_default_error), (gst_bin_add_many),
4887         (gst_bin_remove_many), (gst_element_populate_std_props),
4888         (gst_element_class_install_std_props), (gst_buffer_merge),
4889         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4890         (link_fold_func), (gst_pad_proxy_setcaps):
4891         * gst/gstutils.h:
4892         * gst/gstvalue.c: (gst_value_deserialize_string):
4893         * gst/parse/grammar.y:
4894         * gst/schedulers/gstbasicscheduler.c:
4895         (gst_basic_scheduler_cothreaded_chain),
4896         (gst_basic_scheduler_chain_recursive_add),
4897         (gst_basic_scheduler_pad_link):
4898         * gst/schedulers/gstoptimalscheduler.c:
4899         (get_group_schedule_function),
4900         (gst_opt_scheduler_state_transition),
4901         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4902         * libs/gst/bytestream/bytestream.c:
4903         * libs/gst/dataprotocol/dataprotocol.c:
4904         (gst_dp_header_from_buffer):
4905         * po/nb.po:
4906         * po/ru.po:
4907         * tests/threadstate/threadstate2.c: (eos):
4908         * tools/gst-compprep.c: (main):
4909         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4910         (print_pad_info), (print_children_info):
4911         * tools/gst-launch.c: (idle_func), (main):
4912         * tools/gst-md5sum.c: (idle_func), (main):
4913         * tools/gst-xmlinspect.c: (print_element_info):
4914         First THREADED backport attempt, focusing on adding locks and
4915         making sure the API is threadsafe. Needs more work. More docs
4916         follow this week.
4917
4918 2005-02-24  Andy Wingo  <wingo@pobox.com>
4919
4920         * tests/bench-complexity.scm:
4921         * tests/complexity.gnuplot: New files, good for running complexity
4922         benchmarks.
4923
4924         * tests/Makefile.am:
4925         * tests/complexity.c: New test, sets up N elements, at each level
4926         teeing into M streams per element. Eeeenteresting.
4927
4928         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4929         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4930         running bench-mass_elements.scm.
4931
4932         * tests/bench-mass_elements.scm: New script, runs mass_elements
4933         for various numbers of identities, outputting the results to a
4934         file. Requires guile 1.6. Just for testing.
4935
4936 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4937
4938         * gst/schedulers/fairscheduler.c:
4939           compile with debug disabled
4940
4941 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4942
4943         * configure.ac:
4944           hunting season on 0.9 is now OPEN
4945
4946 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4947
4948         * docs/libs/tmpl/gstcontrol.sgml:
4949         * docs/libs/tmpl/gstdparam.sgml:
4950         * docs/libs/tmpl/gstdplinint.sgml:
4951         * docs/libs/tmpl/gstdpman.sgml:
4952         * docs/libs/tmpl/gstdpsmooth.sgml:
4953         * docs/libs/tmpl/gstunitconvert.sgml:
4954           more docs for the state of dparams
4955
4956 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4957
4958         * gst/gstelementfactory.c: (gst_element_factory_create):
4959         * gst/gstobject.c: (gst_object_init),
4960         (gst_object_set_name_default), (gst_object_set_name):
4961           name objects by default, not in gst_element_factory_create. Allows
4962           using elements created with g_object_new. (fixes #167283)
4963
4964 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4965
4966         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4967           make the time that debugging functions print relative to when
4968           gst_init was called
4969
4970 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4971
4972         * gst/gsttaginterface.c:
4973           Fix inline docs: tag setter vararg functions are NULL-terminated,
4974           GST_TAG_INVALID doesn't exist any more.
4975
4976 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4977
4978         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4979         Allocate the 1 byte more memory that was forgotten!!!!!
4980         fixes memory corruption on 64bit platforms
4981
4982 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4983
4984         * docs/pwg/building-pads.xml:
4985         * docs/pwg/intro-basics.xml:
4986           fixed a few typos, relabeled introductionary list of types
4987         * docs/random/ensonic/dparams.txt:
4988           more notes abut dparam changes
4989         * libs/gst/control/dparam.c: (gst_dparam_attach):
4990         * libs/gst/control/dparammanager.c:
4991         * libs/gst/control/dparammanager.h:
4992           - many comments and notes on dparam implementation
4993           - new dparams are were not initialized to the default value
4994             from param spec
4995
4996 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4997
4998         submitted by: Peter Astakhov
4999
5000         * po/LINGUAS:
5001         * po/ru.po:
5002           adding Russian translation
5003
5004 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5005
5006         * configure.ac:
5007         * docs/gst/Makefile.am:
5008         * docs/libs/Makefile.am:
5009           make sure popt is added to gtk-doc flags.  Fixes #147782.
5010
5011 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5012
5013         * docs/faq/using.xml:
5014           Fix typo in FAQ (artssink => artsdsink)
5015
5016 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5017
5018         * tools/gst-launch.1.in:
5019           Fix typo (#166699).
5020
5021 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5022
5023         * docs/faq/using.xml:
5024           Add -v argument to fakesrc/fakesink gst-launch line,
5025           so that the promised output will actually show up.
5026
5027 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5028
5029         * gst/gstthread.c: (gst_thread_change_state):
5030           Implement state-change error handling (#166073).
5031
5032 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5033
5034         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5035           Release interrupt after handling (#166250).
5036
5037 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5038
5039         * configure.ac:
5040           back to HEAD
5041
5042 === release 0.8.9 ===
5043
5044 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5045
5046         * NEWS:
5047         * RELEASE:
5048         * configure.ac:
5049           releasing 0.8.9, "Like Eating Glass"
5050
5051 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5052
5053         submitted by: Clytie Siddall
5054
5055         * po/vi.po: Added Vietnamese translation
5056
5057 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5058
5059         patch by: Tim Philipp-Müller
5060
5061         * configure.ac:
5062         * gst/gstpad.c:
5063           unref data when probe function returns FALSE.  Fixes #166362
5064
5065 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5066
5067         * gst/gst.c: (gst_init_get_popt_table):
5068           Fix typo (#166269).
5069
5070 2005-02-04  Andy Wingo  <wingo@pobox.com>
5071
5072         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5073         the debugging on whether the caps are compatible.
5074
5075 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5076
5077         * docs/manual/basics-elements.xml:
5078           Fix two typos.
5079
5080 2005-02-02  Wim Taymans  <wim@fluendo.com>
5081
5082         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5083         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5084         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5085         Remove some FIXMEs after analysing and commenting why they
5086         are not issues.
5087
5088 2005-02-02  Wim Taymans  <wim@fluendo.com>
5089
5090         * gst/schedulers/gstoptimalscheduler.c:
5091         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5092         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5093         (get_invalid_call), (chain_invalid_call),
5094         (get_group_schedule_function), (loop_group_schedule_function),
5095         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5096         (gst_opt_scheduler_state_transition),
5097         (gst_opt_scheduler_add_element),
5098         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5099         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5100         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5101         (gst_opt_scheduler_show):
5102         Added lock to protect scheduler data structures.
5103
5104 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5105
5106         * testsuite/threads/threadi.c: (cb_data):
5107           Fix buglet in test.
5108
5109 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5110
5111         * testsuite/threads/Makefile.am:
5112         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5113           On Wim's request, split the test in three separately-compiled
5114           tests that each test a very specific bug. Two of them still fail,
5115           will create bugs for those. threadi.c indicates why they fail.
5116
5117 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5118
5119         * gst/schedulers/gstoptimalscheduler.c:
5120         (get_group_schedule_function):
5121           Try to work with the threading mess that queue_link is.
5122
5123 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5124
5125         * gst/gstbin.c: (gst_bin_remove_func):
5126           Explicitely make an element release locks in a group when being
5127           remove from a bin.
5128         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5129           If there's no scheduler, always return immediately (similar to
5130           gst_element_interrupt).
5131
5132 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5133
5134         * gst/gstbin.c: (gst_bin_child_state_change_func):
5135           Remove a piece of code that could never be reached.
5136         * docs/gst/gstreamer-sections.txt:
5137         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5138         (gst_pad_call_get_function):
5139         * gst/gstpad.h:
5140         * testsuite/pad/Makefile.am:
5141           Fix #150546, enable tests.
5142
5143 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5144
5145         * docs/pwg/advanced-types.xml:
5146           Fix description for buffer-frames=0.
5147         * docs/gst/tmpl/gstbin.sgml:
5148         * gst/gstbin.c: (gst_bin_child_state_change_func),
5149         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5150         * gst/gstbin.h:
5151         * testsuite/threads/Makefile.am:
5152         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5153         (cb_state), (cb_play), (main):
5154           Fix non-recursive state changes to *really* change the state
5155           of the object, and not just call parent_class->state_change.
5156           Fix a lot of lockups caused by this. Fixes #132775. Add test
5157           for the problem. Also enable test to show #142588 (fixed).
5158         * gst/gstthread.c: (gst_thread_change_state),
5159         (gst_thread_child_state_change):
5160           Don't exit the thread if we go to NULL and are inside thread
5161           context. Instead, return control to the main thread context
5162           and exit from there.
5163         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5164           Don't unset virtual functions, since those may still be used.
5165           That's not necessarily correct, but suffices for now.
5166         * configure.ac:
5167         * testsuite/Makefile.am:
5168         * testsuite/pad/Makefile.am:
5169         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5170         (gst_test_sink_base_init), (gst_test_sink_chain),
5171         (gst_test_sink_init), (main):
5172         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5173         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5174         (main):
5175         * testsuite/pad/link.c: (gst_test_element_class_init),
5176         (gst_test_element_base_init), (gst_test_src_get),
5177         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5178         (gst_test_filter_loop), (gst_test_filter_init),
5179         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5180         (cb_error), (main):
5181           Add tests to show #150546. Pass, but should fail (currently
5182           disabled from the testsuite).
5183         * gst/gstscheduler.c: (gst_scheduler_dispose):
5184           Dereference child schedulers on dispose (#94464).
5185         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5186           Fix typo.
5187         * testsuite/threads/thread.c: (main):
5188           Add more debug.
5189
5190 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5191
5192         * gst/gstpad.c: (gst_pad_push):
5193           Oops, revert previous commit, broke testsuite...
5194
5195 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5196
5197         * gst/gstpad.c: (gst_pad_push):
5198           Add check that the pad on which the push is performed is not a
5199           get-based pad (#150546).
5200
5201 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5202
5203         * gst/elements/gsttypefindelement.c:
5204         (gst_type_find_element_handle_event):
5205           Fix buffer pushing if stream EOSes during typefinding.
5206
5207 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5208
5209         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5210
5211         * gst/gstvalue.c: (gst_string_wrap):
5212           Allow NULL-strings as argument (#165365).
5213
5214 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5215
5216         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5217
5218         * gst/schedulers/faircothreads.c:
5219         (gst_fair_scheduler_cothread_queue_show):
5220           Fix build without debug enabled.
5221
5222 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5223
5224         * docs/gst/gstreamer-sections.txt:
5225         * docs/libs/gstreamer-libs-docs.sgml:
5226         * docs/libs/gstreamer-libs-sections.txt:
5227         * docs/libs/tmpl/gstcontrol.sgml:
5228         * docs/libs/tmpl/gstdparam.sgml:
5229         * docs/libs/tmpl/gstdplinint.sgml:
5230         * docs/libs/tmpl/gstdpman.sgml:
5231         * docs/libs/tmpl/gstdpsmooth.sgml:
5232         * docs/libs/tmpl/gstputbits.sgml:
5233         * docs/libs/tmpl/gstunitconvert.sgml:
5234         * libs/gst/control/dparam.c:
5235         * libs/gst/control/dparam.h:
5236         * libs/gst/control/dparammanager.c:
5237         (gst_dpman_add_required_dparam_callback),
5238         (gst_dpman_add_required_dparam_direct),
5239         (gst_dpman_add_required_dparam_array),
5240         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5241         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5242         (gst_dpman_get_manager)
5243           restructured DParam docs
5244
5245 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5246
5247         * gst-element-check.m4:
5248           Only check for gst-inspect if we haven't already
5249           found it in previous element check runs
5250
5251 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5252
5253         * docs/gst/Makefile.am:
5254         * docs/libs/Makefile.am:
5255           fixed install rules to treat style.css as optional
5256
5257 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5258
5259         * docs/gst/Makefile.am:
5260         * docs/libs/Makefile.am:
5261           install style.css along with docs
5262         * docs/gst/tmpl/gstbin.sgml:
5263         * docs/gst/tmpl/gstclock.sgml:
5264         * docs/gst/tmpl/gstdata.sgml:
5265         * docs/gst/tmpl/gstelement.sgml:
5266         * gst/gstbin.h:
5267         * gst/gstelement.c: (gst_element_class_init):
5268         * gst/gstelement.h:
5269           fixing incomplete docs
5270
5271 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5272
5273         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5274           Don't unref seek event twice when fflush() fails
5275           
5276 2005-01-22  David Schleef  <ds@schleef.org>
5277
5278         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5279
5280 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5281
5282         * docs/gst/Makefile.am:
5283         * docs/libs/Makefile.am:
5284           added params for deprecation guards
5285         * gst/gst.c:
5286         * gst/gst.h:
5287         * gst/gsterror.c: (_gst_resource_errors_init),
5288         (_gst_stream_errors_init):
5289         * gst/gsterror.h:
5290           documented some more enums
5291
5292 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5293         * gst/autoplug/gstspideridentity.c:
5294         Cosmetic fix - spider_find_peek should be static
5295         * gst/parse/parse.l:
5296         Applying fix for #164261
5297
5298 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5299
5300         * docs/gst/gstreamer-sections.txt:
5301         * docs/gst/tmpl/gstplugin.sgml:
5302         * docs/libs/gstreamer-libs-sections.txt:
5303         * docs/libs/tmpl/gstcontrol.sgml:
5304         * gst/gstbuffer.h:
5305         * gst/gsttag.h:
5306         * gst/gstvalue.c:
5307           added docs for the TAG defines
5308
5309 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5310
5311         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5312           Only unref entry if there is an entry.
5313
5314 2005-01-17  Wim Taymans  <wim@fluendo.com>
5315
5316         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5317         (remove_from_group), (schedule_group), (normalize_group),
5318         (gst_opt_scheduler_iterate):
5319         Also ref/unref decoupled elements before iterating the
5320         group since they are not added to the list of elements.
5321
5322 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5323
5324         * docs/manual/highlevel-components.xml:
5325           Add subtitle/streamselection as new features to playbin.
5326
5327 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5328
5329         * docs/manual/manual.xml:
5330           Re-enable dataaccess docs (oops).
5331
5332 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5333
5334         * docs/pwg/advanced-types.xml:
5335         * docs/random/mimetypes:
5336           Add documentation on libsndfile types (#163309), by Steve Baker
5337           <steve@stevebaker.org>.
5338         * gst/gstelement.c: (gst_element_release_request_pad):
5339           If an element has no explicit function, just remove the pad.
5340
5341 2005-01-17  Luca Ognibene  <luogni@tin.it>
5342
5343         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5344
5345         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5346           Fix memleak (#163801).
5347
5348 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5349
5350         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5351           I think this is actually more correct...
5352
5353 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5354
5355         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5356           Another workaround for memory access while destroyed in callback.
5357           Please, someone with refcount knowledge, have a look at this.
5358
5359 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5360
5361         * docs/faq/faq.xml:
5362         * docs/faq/legal.xml:
5363           move the legal Q&A here
5364
5365 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5366
5367         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5368         (gst_tee_request_new_pad):
5369           Fix negotiation.
5370
5371 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5372
5373         * docs/random/omega/caps2:
5374         * testsuite/caps/caps_strings:
5375           replace framerate aproximations by their real value
5376           (24000/1001, 30000/1001, 60000/1001)
5377           Partially fixes bug #164049
5378
5379 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5380
5381         * docs/gst/Makefile.am:
5382           don't fail on the stupid GstPoptOption
5383
5384 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5385
5386         * gst/gstpad.h:
5387         * gst/gstprobe.c:
5388           allow probes to work on ghost pads by realizing the pad
5389           probe debugging
5390
5391 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5392
5393         * docs/gst/gstreamer-sections.txt:
5394         * docs/gst/tmpl/gstpad.sgml:
5395         * gst/gstpad.c: (gst_pad_set_active_recursive):
5396         * gst/gstpad.h:
5397           Add gst_pad_set_active_recursive().
5398
5399 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5400
5401         * docs/random/release:
5402           updates
5403         * gst/gst_private.h:
5404         * gst/gstinfo.c:
5405         * gst/gstobject.c:
5406           move deep_notify logging to a new category
5407         * gst/gstprobe.c:
5408         * gst/gstprobe.h:
5409           add stuff so bindings can wrap probes
5410
5411 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5412
5413         * gst/gstplugin.c: (gst_plugin_load):
5414           Fix plugin loading if plugin/lib was already loaded. Fixes
5415           #163383
5416
5417 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5418
5419         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5420
5421         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5422           Protect plugin loading by a mutex so it's threadsafe. Fixes
5423           #163234.
5424
5425 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5426
5427         * gst/gstevent.c: (_gst_event_copy):
5428           Reference source object when copying events, since it'll be
5429           dereferenced on event dereferencing as well.
5430
5431 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5432
5433         * docs/gst/gstreamer-sections.txt:
5434         * docs/gst/tmpl/gstevent.sgml:
5435         * gst/gstevent.c: (gst_event_new_filler_stamped),
5436         (gst_event_filler_get_duration):
5437         * gst/gstevent.h:
5438           Add two new functions for filler events (which are used to
5439           synchronize streams if one of them is not having any data
5440           for a while) without interrupting the actual data-stream.
5441           Basically a no-op.
5442         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5443         (gst_queue_link_sink), (gst_queue_link_src),
5444         (gst_queue_change_state):
5445           Allow for renegotiation while filled. Required for stream
5446           switching while playing.
5447
5448 2005-01-08  Benjamin Otte  <otte@gnome.org>
5449
5450         * gst/gstelement.c: (gst_element_link_many):
5451           fix up g_return_if_fail's
5452         * po/LINGUAS:
5453         * po/de.po:
5454           add German translation, that was somehow not included
5455
5456 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5457
5458         * docs/random/mimetypes:
5459           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5460           do not add them to riff-lib as they are not common
5461
5462 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5463
5464         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5465           Check for existence of probe after performing the probe before
5466           re-accessing it to prevent segfaults caused by removal of the
5467           probe in the callback.
5468
5469 2005-01-05  David Schleef  <ds@schleef.org>
5470
5471         * testsuite/registry/Makefile.am:
5472         * testsuite/registry/gst-print-formats.c:
5473         (print_pad_templates_info), (print_element_list),
5474         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5475         (g_list_uniqify), (get_pad_templates_info),
5476         (get_element_mime_list), (print_mime_list), (main): A little
5477         program that looks through the registry to find elements of
5478         a given type.  Not particularly interesting as a test, except
5479         that there's no other test covering the same area.
5480
5481 2005-01-05  David Schleef  <ds@schleef.org>
5482
5483         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5484         (fault_handler_sigaction), (fault_spin),
5485         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5486         in signal.h-type signal handlers by not calling forbidden functions,
5487         including gst_element_set_state().
5488
5489 2005-01-05  David Schleef  <ds@schleef.org>
5490
5491         * gst/gstvalue.h: Mark _gst_reserved[] as private
5492
5493 2005-01-05  David Schleef  <ds@schleef.org>
5494
5495         * gst/gstvalue.c: Fix doc build problem.
5496
5497 2005-01-05  David Schleef  <ds@schleef.org>
5498
5499         * gst/gstvalue.c: Add some documentation
5500
5501 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5502
5503         * docs/README:
5504           another shell oneliner for empty return value docs
5505         * gst/gstcaps.c:
5506         * gst/gstvalue.c:
5507         * libs/gst/control/dparam.c:
5508           more doc fixes (parameters and return values)
5509
5510 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5511
5512         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5513
5514         * gst/gstregistry.h:
5515         * gst/registries/gstxmlregistry.c:
5516           Fix macro's for Mingw (fixes #162276).
5517
5518 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5519
5520         * docs/README:
5521           quick shell oneliner to find undocumented members
5522         * docs/gst/tmpl/gstplugin.sgml:
5523         * docs/gst/tmpl/gstscheduler.sgml:
5524         * docs/gst/tmpl/gstthread.sgml:
5525           more enumtypes cleanup
5526         * gst/gsterror.h:
5527           activated documentation comments, now someone needs to document
5528           the enums :(
5529
5530 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5531
5532         * docs/manual/manual.xml:
5533           Add dataaccess part (doh!).
5534
5535 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5536
5537         * docs/manual/advanced-autoplugging.xml:
5538           Fix typo (intiate -> initiate).
5539
5540 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5541
5542         * docs/random/bbb/streamselection:
5543           Add some notes on how to handle multi-subtitle/-audio streams.
5544
5545 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5546
5547         * docs/gst/gstreamer-docs.sgml:
5548         * docs/gst/gstreamer-sections.txt:
5549         * docs/gst/tmpl/gstenumtypes.sgml:
5550         * docs/gst/tmpl/gsterror.sgml:
5551         * docs/gst/tmpl/gstevent.sgml:
5552         * docs/gst/tmpl/gstpad.sgml:
5553         * docs/gst/tmpl/gstpadtemplate.sgml:
5554         * docs/gst/tmpl/gstthread.sgml:
5555           removed gstenumtypes section from docs and put all the enums into
5556           their sections
5557
5558 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5559
5560         * gst/gstplugin.c:
5561           document gst_library_load a bit more (riff special case + return
5562           value if already loaded)
5563         * testsuite/bytestream/filepadsink.c:
5564           plugin name is 'gstbytestream', not 'bytestream'
5565
5566 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5567
5568         * docs/random/bbb/subtitles:
5569           Add some first mind rumblings on proper subtitle support.
5570
5571 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5572
5573         * po/ca.po:
5574         * po/sv.po:
5575           updated translations
5576
5577 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5578
5579         * docs/manual/advanced-dataaccess.xml:
5580           Add section on how to use fakesrc/fakesink/identity in your
5581           application, plus section on how to embed plugins. Also mention
5582           probes.
5583         * docs/manual/appendix-checklist.xml:
5584         * docs/manual/appendix-debugging.xml:
5585         * docs/manual/appendix-gnome.xml:
5586         * docs/manual/appendix-integration.xml:
5587           Debug -> checklist, GNOME -> integration, add sections on Linux,
5588           KDE integration and add other things useful for application
5589           development.
5590         * docs/manual/manual.xml:
5591           Remove some fixmes, update some file pointers.
5592         * docs/pwg/appendix-checklist.xml:
5593           Fix typo.
5594         * docs/pwg/building-boiler.xml:
5595           Remove ugly header and add commented fixme.
5596         * docs/pwg/pwg.xml:
5597           Add fixme.
5598         * examples/manual/Makefile.am:
5599           Add example for added docs.
5600
5601 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5602
5603         * configure.ac:
5604           back to HEAD
5605
5606 === release 0.8.8 ===
5607
5608 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5609
5610         * NEWS:
5611         * RELEASE:
5612         * configure.ac:
5613           Releasing 0.8.8, "I'll Take Care Of You"
5614
5615 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5616
5617         * configure.ac:
5618           second prerelease
5619
5620 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5621
5622         patch by: Wim Taymans
5623
5624         * gst/gstbin.c:
5625           Fix for #159852 - make iterate emission threadsafe
5626
5627 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * docs/faq/cvs.xml:
5630           notes about new fdo account request
5631
5632 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5633
5634         * docs/gst/gstreamer-docs.sgml:
5635         * docs/gst/tmpl/gstenumtypes.sgml:
5636         * docs/gst/tmpl/gstplugin.sgml:
5637         * docs/libs/gstreamer-libs-docs.sgml:
5638           Added missing short docs. Added ids for navigation.
5639
5640 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5641
5642         * docs/manual/advanced-autoplugging.xml:
5643         * docs/manual/advanced-schedulers.xml:
5644         * docs/manual/advanced-threads.xml:
5645           Rewrites. Remove cothreads, go a bit into opt specifically,
5646           document threads and their gotchas, and do some technical stuff
5647           on autoplugging plus add some working examples. Fixes #157395.
5648         * examples/manual/Makefile.am:
5649           Add typefind/autoplugger example (one that actually works).
5650           Remove queue example since it's a duplicate of the thread one.
5651
5652 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5653
5654         * gst/gstvalue.c: (gst_value_deserialize_string):
5655           use deprecated g_value_set_string_take_ownership to keep compatible
5656           with glib 2.2
5657
5658 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5659
5660         * gst/gstvalue.c: (gst_value_deserialize_string):
5661           revert last patch, only dom a g_utf8_validate now before accepting
5662           the string - caps parsing strips " from strings so we can't rely on
5663           them
5664         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5665           disable a test that tested the above and comment it
5666
5667 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5668
5669         Patch reviewed by David Schleef  <ds@schleef.org>
5670
5671         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5672         bug #153882)
5673         * win32/gstenumtypes.h: same
5674
5675 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5676
5677         * gst/gstpad.c: (gst_pad_query):
5678           Do query on realized pad, similar to how convert/send_event handle
5679           this. Also makes sense, since this pad belongs to the function to
5680           which this query will be sent. Fixes #158163.
5681
5682 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5683
5684         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5685
5686 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5687
5688         * docs/faq/general.xml: fix pipeline to actually work
5689
5690 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5691
5692         * gst/gstvalue.c: (gst_value_deserialize_string):
5693           check that a simple string that gets deserialized does not contain
5694           invalid characters
5695         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5696           remove a test that tested a wring behaviour
5697
5698 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5699
5700         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5701
5702         * docs/manual/intro-motivation.xml:
5703           Fix typos.
5704
5705 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5706
5707         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5708
5709         * docs/gst/tmpl/gstprobe.sgml:
5710           Fix documentation of probe callback - it is supposed to return
5711           FALSE, not TRUE, to remove data from the stream (#159087).
5712
5713 2004-12-16  Daniel Gazard  <dany42@free.fr>
5714
5715         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5716
5717         * gst/gstelementfactory.c: (gst_element_factory_create):
5718           Fix compile failure if compiling without libxml2 support (#149936).
5719
5720 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5721
5722         * docs/manual/advanced-autoplugging.xml:
5723         * docs/manual/highlevel-components.xml:
5724           Move spider from autoplugging to components. Autoplugging is for
5725           internals, not for solutions. ;-).
5726
5727 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5728
5729         * docs/random/ds/0.9-suggested-changes:
5730           Make note on device/location/uri property names.
5731
5732 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5733
5734         * docs/manual/advanced-autoplugging.xml:
5735         * docs/manual/advanced-clocks.xml:
5736         * docs/manual/advanced-interfaces.xml:
5737         * docs/manual/advanced-metadata.xml:
5738         * docs/manual/advanced-position.xml:
5739         * docs/manual/advanced-schedulers.xml:
5740         * docs/manual/advanced-threads.xml:
5741         * docs/manual/appendix-gnome.xml:
5742         * docs/manual/appendix-programs.xml:
5743         * docs/manual/appendix-quotes.xml:
5744         * docs/manual/autoplugging.xml:
5745         * docs/manual/basics-bins.xml:
5746         * docs/manual/basics-data.xml:
5747         * docs/manual/basics-elements.xml:
5748         * docs/manual/basics-helloworld.xml:
5749         * docs/manual/basics-init.xml:
5750         * docs/manual/basics-pads.xml:
5751         * docs/manual/basics-plugins.xml:
5752         * docs/manual/bins-api.xml:
5753         * docs/manual/bins.xml:
5754         * docs/manual/buffers-api.xml:
5755         * docs/manual/buffers.xml:
5756         * docs/manual/clocks.xml:
5757         * docs/manual/components.xml:
5758         * docs/manual/cothreads.xml:
5759         * docs/manual/debugging.xml:
5760         * docs/manual/dparams-app.xml:
5761         * docs/manual/dynamic.xml:
5762         * docs/manual/elements-api.xml:
5763         * docs/manual/elements.xml:
5764         * docs/manual/factories.xml:
5765         * docs/manual/gnome.xml:
5766         * docs/manual/goals.xml:
5767         * docs/manual/helloworld.xml:
5768         * docs/manual/helloworld2.xml:
5769         * docs/manual/highlevel-components.xml:
5770         * docs/manual/highlevel-xml.xml:
5771         * docs/manual/init-api.xml:
5772         * docs/manual/intro-basics.xml:
5773         * docs/manual/intro-motivation.xml:
5774         * docs/manual/intro-preface.xml:
5775         * docs/manual/intro.xml:
5776         * docs/manual/links-api.xml:
5777         * docs/manual/links.xml:
5778         * docs/manual/manual.xml:
5779         * docs/manual/motivation.xml:
5780         * docs/manual/pads-api.xml:
5781         * docs/manual/pads.xml:
5782         * docs/manual/plugins-api.xml:
5783         * docs/manual/plugins.xml:
5784         * docs/manual/programs.xml:
5785         * docs/manual/queues.xml:
5786         * docs/manual/quotes.xml:
5787         * docs/manual/schedulers.xml:
5788         * docs/manual/states-api.xml:
5789         * docs/manual/states.xml:
5790         * docs/manual/threads.xml:
5791         * docs/manual/typedetection.xml:
5792         * docs/manual/win32.xml:
5793         * docs/manual/xml.xml:
5794           Try 2. This time, include a short preface as a "general
5795           introduction", also add code blocks around all code samples
5796           so they get compiled. We still need a way to tell readers
5797           the filename of the code sample. In some cases, don't show
5798           all code in the documentation, but do include it in the generated
5799           code. This allows for focussing on specific bits in the docs,
5800           while still having a full test application available.
5801         * examples/manual/Makefile.am:
5802           Fix up examples for new ADM. Add several of the new examples that
5803           were either added or were missing from the build system.
5804         * examples/manual/extract.pl:
5805           Allow nameless blocks.
5806
5807 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5808
5809         * docs/manual/elements-api.xml:
5810         * docs/manual/helloworld.xml:
5811         * examples/manual/extract.pl:
5812           fix last example.  Add example of adding code blocks that are not
5813           shown in docbook output.
5814
5815 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5816
5817         * docs/manual/dynamic.xml:
5818         * docs/manual/elements-api.xml:
5819         * docs/manual/gnome.xml:
5820         * docs/manual/helloworld2.xml:
5821         * docs/manual/init-api.xml:
5822         * docs/manual/queues.xml:
5823         * docs/manual/threads.xml:
5824         * docs/manual/xml.xml:
5825         * examples/manual/extract.pl:
5826           Make it possible to extract example code from separate blocks.
5827           Should make Ronald happy.
5828
5829 2004-12-15  Wim Taymans  <wim@fluendo.com>
5830
5831         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5832         (remove_from_group), (group_elements_set_visited),
5833         (normalize_group), (gst_opt_scheduler_iterate):
5834         Fix bug where a flag was not updated on a decoupled entry point 
5835         because we were just checking the group element list and decoupled
5836         elements are not in that list..
5837
5838 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5839
5840         * docs/manual/advanced-autoplugging.xml:
5841         * docs/manual/advanced-clocks.xml:
5842         * docs/manual/advanced-dparams.xml:
5843         * docs/manual/advanced-interfaces.xml:
5844         * docs/manual/advanced-metadata.xml:
5845         * docs/manual/advanced-position.xml:
5846         * docs/manual/advanced-schedulers.xml:
5847         * docs/manual/advanced-threads.xml:
5848         * docs/manual/appendix-debugging.xml:
5849         * docs/manual/appendix-gnome.xml:
5850         * docs/manual/appendix-programs.xml:
5851         * docs/manual/appendix-quotes.xml:
5852         * docs/manual/appendix-win32.xml:
5853         * docs/manual/autoplugging.xml:
5854         * docs/manual/basics-bins.xml:
5855         * docs/manual/basics-data.xml:
5856         * docs/manual/basics-elements.xml:
5857         * docs/manual/basics-helloworld.xml:
5858         * docs/manual/basics-init.xml:
5859         * docs/manual/basics-pads.xml:
5860         * docs/manual/basics-plugins.xml:
5861         * docs/manual/bins-api.xml:
5862         * docs/manual/bins.xml:
5863         * docs/manual/buffers-api.xml:
5864         * docs/manual/buffers.xml:
5865         * docs/manual/clocks.xml:
5866         * docs/manual/components.xml:
5867         * docs/manual/cothreads.xml:
5868         * docs/manual/debugging.xml:
5869         * docs/manual/dparams-app.xml:
5870         * docs/manual/dynamic.xml:
5871         * docs/manual/elements-api.xml:
5872         * docs/manual/elements.xml:
5873         * docs/manual/factories.xml:
5874         * docs/manual/gnome.xml:
5875         * docs/manual/goals.xml:
5876         * docs/manual/helloworld.xml:
5877         * docs/manual/helloworld2.xml:
5878         * docs/manual/highlevel-components.xml:
5879         * docs/manual/highlevel-xml.xml:
5880         * docs/manual/init-api.xml:
5881         * docs/manual/intro-motivation.xml:
5882         * docs/manual/intro-preface.xml:
5883         * docs/manual/intro.xml:
5884         * docs/manual/links-api.xml:
5885         * docs/manual/links.xml:
5886         * docs/manual/manual.xml:
5887         * docs/manual/motivation.xml:
5888         * docs/manual/pads-api.xml:
5889         * docs/manual/pads.xml:
5890         * docs/manual/plugins-api.xml:
5891         * docs/manual/plugins.xml:
5892         * docs/manual/programs.xml:
5893         * docs/manual/queues.xml:
5894         * docs/manual/quotes.xml:
5895         * docs/manual/schedulers.xml:
5896         * docs/manual/states-api.xml:
5897         * docs/manual/states.xml:
5898         * docs/manual/threads.xml:
5899         * docs/manual/typedetection.xml:
5900         * docs/manual/win32.xml:
5901         * docs/manual/xml.xml:
5902           First try at rewriting the ADM. Needs lotsamore work, but some
5903           parts might already be somewhat useful.
5904         * docs/pwg/advanced-interfaces.xml:
5905           Remove properties interface, it never actually existed (except for
5906           on my HD...).
5907
5908 2004-12-13  David Schleef  <ds@schleef.org>
5909
5910         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5911         be NULL (bug #160220).
5912
5913 2004-12-13  David Schleef  <ds@schleef.org>
5914
5915         * configure.ac: remove all mmx stuff, because it's not used.
5916         * docs/random/ds/0.9-suggested-changes: additional notes
5917         * include/Makefile.am: we don't use these anymore
5918         * include/mmx.h: remove
5919         * include/sse.h: remove
5920
5921 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5922
5923         * docs/random/mimetypes:
5924           Add FOURCC code for h264 codec (VSSH)
5925           Add alternate FOURCC codes for h263 related codecs
5926
5927 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5928
5929         * docs/manual/programs.xml:
5930           Added more gst-launch examples.
5931
5932 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5933
5934         * gst/gstqueue.c: (gst_queue_handle_src_query):
5935           Check for availability again.
5936
5937 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5938
5939         * gst/gstcaps.c: (gst_caps_compare_structures):
5940           Simple caps go first. This has the nice side-effect of fixing an
5941           obscure warning.
5942
5943 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5944
5945         * gst/gstversion.h.in:
5946           Protect header.
5947
5948 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5949
5950         * gst/schedulers/gstoptimalscheduler.c:
5951         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5952         (gst_opt_scheduler_get_wrapper):
5953           When we're recursing into a chain run, only run the directly
5954           related group, not all queued ones. This will fix a possible
5955           deadlock in chains with more than two groups.
5956
5957 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5958
5959         * autogen.sh:
5960           remove patch if autopoint fails
5961
5962 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5963
5964         * docs/gst/gstreamer-sections.txt:
5965           Document Thomas' addition, fix build, make Luis the sheriff happy.
5966
5967 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5968
5969         * gst/gstplugin.c:
5970         * gst/gstplugin.h:
5971           add accessor for version field
5972
5973 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5974
5975         submitted by: Luca Ferretti <elle.uca@infinito.it>
5976
5977         * po/LINGUAS:
5978         * po/it.po:
5979           New tranlation added: Italian
5980
5981 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5982
5983         * gst/gstpad.c: (gst_pad_is_negotiated),
5984         (gst_pad_get_negotiated_caps):
5985           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5986           it doesn't actually check the contents), so be sure to hand it
5987           a RealPad else we'll crash.
5988
5989 2004-12-03  Wim Taymans  <wim@fluendo.com>
5990
5991         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5992         (gst_queue_link), (gst_queue_handle_src_query):
5993         Reverted to 1.110 until this makes the testsuite and various
5994         apps work.
5995
5996 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5997
5998         * docs/upload.mak: fix included CVS conflict strings
5999
6000 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6001
6002         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6003
6004         * gst/gstelement.c: (gst_element_error_full):
6005           Use g_error_new_literal because error text may have
6006           percentage signs in it. Fixes #160019.
6007
6008 2004-12-01  Benjamin Otte  <otte@gnome.org>
6009
6010         * gst/elements/gstbufferstore.c:
6011         (gst_buffer_store_add_buffer_func):
6012           don't try to make subbuffers bigger than they can be. (fixes
6013           #159970)
6014
6015 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6016
6017         * docs/gst/gstreamer-sections.txt:
6018         * docs/gst/tmpl/gstvalue.sgml:
6019           Add new function to docs to fix build.
6020
6021 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6022
6023         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6024         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6025         (_gst_pad_default_fixate_foreach):
6026         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6027         * gst/gstvalue.h:
6028           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6029           in some cases (arrays), the fixedness depends on the content.
6030         * gst/gstqueue.c: (gst_queue_handle_src_query):
6031           Check for availability before doing something.
6032
6033 2004-11-29  Wim Taymans  <wim@fluendo.com>
6034
6035         * testsuite/threads/Makefile.am:
6036         * testsuite/threads/signals.c: (gst_test_get_type),
6037         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6038         (gst_test_set_property), (gst_test_get_property),
6039         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6040         (gst_test_do_prop), (run_thread), (main):
6041         Added a bunch of testcases that show threadsafety bugs in glib.
6042
6043 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6044
6045         * docs/manual/programs.xml:
6046           Added a first batch of gst-launch examples, as provided by Ronald
6047           and others from the devel-mlist
6048
6049 2004-11-28  Benjamin Otte  <otte@gnome.org>
6050
6051         * gst/gstelement.c: (gst_element_negotiate_pads):
6052           simplify
6053         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6054         (gst_value_serialize_string), (gst_value_deserialize_string):
6055           add unwrapping of previously wrapped strings. Fix bug in wrapping
6056           while at it.
6057         * testsuite/caps/value_serialize.c: (test1),
6058         (test_string_serialization), (test_string_deserialization), (main):
6059           add tests for string (de)serialization
6060
6061 2004-11-26  Wim Taymans  <wim@fluendo.com>
6062
6063         * testsuite/threads/159566.c: (object_deep_notify), (main):
6064         * testsuite/threads/Makefile.am:
6065         Added testsuite to show bug #159566
6066
6067 2004-11-25  Wim Taymans  <wim@fluendo.com>
6068
6069         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6070         (gst_thread_child_state_change), (gst_thread_main_loop):
6071         Ref the thread object in the GThread mainloop. Break out of the
6072         thread mainloop if it holds the last ref. This properly exits
6073         the threads when disposing the thread from its own context. It
6074         also avoids possible deadlocks in the dispose function.
6075
6076 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6077
6078         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6079         it is necessary to wait.
6080
6081 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6082
6083         * docs/pwg/building-boiler.xml:
6084           Make description somewhat clearer.
6085
6086 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6087
6088         * docs/upload.mak:
6089           Apparently docs changed location on FDO's server.
6090
6091 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6092
6093         * docs/pwg/appendix-checklist.xml:
6094           Add some random notes on things to check when writing an element.
6095           This list can be extended as people see fit.
6096
6097 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6098
6099         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6100         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6101         pad. The queue will now wait until it is empty and forward the new
6102         caps to the source.
6103         * gst/gstbin.c (gst_bin_set_element_sched)
6104         (gst_bin_unset_element_sched): Make sure that all elements and
6105         links are registered and unregistered with the scheduler exactly
6106         once. This elaborates on a fix by Benjamin Otte, but
6107         guarantees that decoupled elements are also registered.
6108
6109 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6110
6111         * docs/manual/quotes.xml:
6112           add a quote
6113         * configure.ac:
6114         * gst/gst.c:
6115         * gst/gstinfo.c:
6116           add LIBDIR and move init message higher up so it's at the start
6117
6118 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6119
6120         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6121         * gstreamer.spec.in: add fair
6122
6123 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6124
6125         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6126         * gst/elements/gstidentity.c: (gst_identity_class_init):
6127           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6128           <teuf@gnome.org> (#157263).
6129         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6130         (gst_type_find_handle_src_query):
6131           Subtract size of internally stored data from position queries.
6132
6133 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6134
6135         * gst/schedulers/fairscheduler.c:
6136         * gst/schedulers/faircothreads.c:
6137         * gst/schedulers/faircothreads.h:
6138         New cothread based scheduler: Fair scheduler.
6139         * gst/schedulers/gthread-cothreads.h: 
6140         Add the standard #if around the whole file.
6141         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6142         compilation of the functions defined in this file. This is
6143         necessary to be able to use this file as a normal header.
6144         * gst/schedulers/Makefile.am: Add compiling support for fair
6145         scheduler.
6146         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6147         scheduler cothreads layer from documentation generation.
6148
6149 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6150
6151         * gst/autoplug/gstspideridentity.c:
6152         (gst_spider_identity_sink_loop_type_finding):
6153           Don't crash if that function is not implemented.
6154
6155 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6156
6157         * docs/pwg/advanced-types.xml:
6158           Another typo.
6159
6160 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6161
6162         * docs/pwg/intro-preface.xml:
6163           Hm, ok, so the brackets weren't really useful...
6164         * docs/pwg/other-ntoone.xml:
6165           Fix embarassing typo.
6166
6167 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6168
6169         * docs/pwg/intro-preface.xml:
6170           Rewrite preface.
6171
6172 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6173
6174         * docs/pwg/advanced-scheduling.xml:
6175         * docs/pwg/advanced-tagging.xml:
6176         * docs/pwg/advanced-types.xml:
6177         * docs/pwg/building-boiler.xml:
6178         * docs/pwg/building-chainfn.xml:
6179         * docs/pwg/building-signals.xml:
6180         * docs/pwg/building-state.xml:
6181         * docs/pwg/building-testapp.xml:
6182         * docs/pwg/intro-basics.xml:
6183         * docs/pwg/other-manager.xml:
6184         * docs/pwg/other-source.xml:
6185           Typo fixes.
6186         * docs/pwg/other-manager.xml:
6187           Add some first content. No example code yet.
6188         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6189           Remove double newlines.
6190
6191 2004-11-04  Wim Taymans  <wim@fluendo.com>
6192
6193         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6194         (remove_from_group), (normalize_group), (group_migrate_connected),
6195         (gst_opt_scheduler_iterate):
6196         * testsuite/schedulers/.cvsignore:
6197         * testsuite/schedulers/Makefile.am:
6198         * testsuite/schedulers/queue_link.c: (main):
6199         Added testcase for scheduler segfault.
6200         Fix scheduler segfault when removing a decoupled
6201         entry point as the last element from a group.
6202
6203 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6204
6205         * gst/gstmarshal.list: add missing marshaller, fixes build
6206
6207 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6208
6209         * docs/random/signal: added notes about using BOXED for GstBuffer
6210         signal marshallers, not POINTER
6211
6212 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6213
6214         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6215         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6216         POINTER=>BOXED changes to marshal GstBuffers
6217
6218 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6219
6220         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6221         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6222
6223 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6224
6225         * docs/gst/gstreamer-sections.txt:
6226         * docs/gst/tmpl/gstcaps.sgml:
6227         * docs/gst/tmpl/gsterror.sgml:
6228         * docs/gst/tmpl/gstinfo.sgml:
6229         * docs/gst/tmpl/gstmacros.sgml:
6230         * docs/gst/tmpl/gstutils.sgml:
6231         * docs/random/ensonic/interfaces.txt:
6232         * gst/gstinfo.h:
6233           added some more docs, removed two obsolete defines
6234
6235 2004-11-02  Kjartan Maraas <as at gnome.org>
6236
6237         reviewed by: Wim Taymans, Ronald Bultje.
6238
6239         * gst/cothreads.c: (cothread_create):
6240         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6241         (gst_bin_child_state_change_func):
6242         * gst/gstbuffer.c: (gst_buffer_span):
6243         * gst/gstelement.c: (gst_element_get_index),
6244         (gst_element_get_event_masks), (gst_element_get_query_types),
6245         (gst_element_get_formats):
6246         * gst/gsterror.c: (_gst_core_errors_init),
6247         (_gst_library_errors_init), (_gst_resource_errors_init),
6248         (_gst_stream_errors_init):
6249         * gst/gstobject.c: (gst_object_default_deep_notify):
6250         * gst/gstpad.c: (gst_pad_get_event_masks),
6251         (gst_pad_get_internal_links_default):
6252         * gst/gstplugin.c: (gst_plugin_register_func),
6253         (gst_plugin_get_module):
6254         * gst/gststructure.c: (gst_structure_get_string),
6255         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6256         (gst_structure_to_abbr):
6257         * gst/gstutils.c: (gst_print_element_args):
6258         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6259         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6260         Aplied part of patch #157127: Cleanup of issues reported by 
6261         sparse.
6262         Also do not try to use cothreads when there is no cothread
6263         context yet.
6264
6265 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6266
6267         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6268         (gst_opt_scheduler_iterate):
6269         Applied patch #154061. Running a pipeline in which an element 
6270         calls GST_ELEMENT_ERROR in the chain function, the opt 
6271         scheduler doesn't unref the chain so it never gets freed.
6272
6273 2004-11-02  Wim Taymans  <wim@fluendo.com>
6274
6275         * gst/gststructure.c: (gst_structure_get_abbrs),
6276         (gst_structure_from_abbr), (gst_structure_to_abbr):
6277         Remove that ugly if-then thing in the code that converts
6278         between strings and types.
6279
6280 2004-11-02  Wim Taymans  <wim@fluendo.com>
6281
6282         * gst/gstscheduler.c: (gst_scheduler_add_element),
6283         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6284         Aplied clock distribution patch, this should fix bug
6285         #148787.
6286
6287 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6288
6289         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6290
6291         * po/LINGUAS:
6292         * po/nb.po:
6293           Added Norwegian Bokmaal translation
6294
6295 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6296
6297         * tools/gst-inspect.c: (print_signal_info):
6298           print signal arguments as pointers if they are
6299
6300 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6301
6302         * docs/pwg/building-boiler.xml:
6303           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6304
6305 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6306
6307         * gst/parse/parse.l:
6308         * testsuite/parse/parse1.c: (main):
6309         Since parse can do 'element name=a:b' make 'a:b.' work as
6310         well. 
6311         Added testcase to verify fix.
6312
6313 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6314
6315         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6316         Use the realpad when printing the direction.
6317         Add extra \n when printing extensions of typefind factories.
6318
6319 2004-10-13  David Schleef  <ds@schleef.org>
6320
6321         * examples/manual/Makefile.am: $< isn't portable in Makefile
6322         rules.
6323
6324 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6325
6326         * docs/gst/tmpl/gstobject.sgml:
6327         * docs/gst/tmpl/gstplugin.sgml:
6328         * docs/gst/tmpl/gstpluginfeature.sgml:
6329         * docs/gst/tmpl/gstregistry.sgml:
6330         * docs/gst/tmpl/gstversion.sgml:
6331         * gst/gstbin.c:
6332           more api documentation
6333         * gst/gstplugin.c: (gst_plugin_register_func),
6334         (gst_plugin_check_file), (gst_plugin_load_file):
6335           better error signaling and logging
6336
6337 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6338
6339         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6340           Subtract current queue contents from position queries.
6341
6342 2004-10-11  Johan Dahlin  <johan@gnome.org>
6343
6344         * gst/gsturi.c (gst_uri_get_location): unescape string
6345         (gst_uri_construct): escape string.
6346
6347 2004-10-11  Benjamin Otte  <otte@gnome.org>
6348
6349         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6350         (gst_pad_try_set_caps_nonfixed):
6351           allow renegotiation of unconnected pads (as inside spider). Simply
6352           return OK if unconnected - mimic try_set_caps there.
6353
6354 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6355
6356         * gst/gstbin.c: (gst_bin_sync_children_state):
6357           Add missing break.
6358
6359 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6360
6361         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6362         Set element to EOS before sending EOS event
6363
6364 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6365
6366         * gst/elements/gsttypefindelement.c:
6367         (gst_type_find_element_handle_event):
6368         Handle EOS events when doing the transition from
6369         typefind to data passing. This should fix the
6370         infinite loops in short files.
6371
6372 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6373
6374         * gst/gstthread.c: (gst_thread_change_state),
6375         (gst_thread_child_state_change):
6376         Make sure no iteration happens while performing
6377         the state change as it could mess up the internal
6378         consistency of the thread state.
6379
6380 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6381
6382         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6383         (gst_thread_change_state), (gst_thread_child_state_change):
6384         Do not try to grab the iterate lock in the state change method
6385         when we are in the same thread as the iterate or else we
6386         could deadlock. Some other cleanups.
6387
6388 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6389
6390         * configure.ac:
6391           bump nano to cvs
6392
6393 === release 0.8.7 ===
6394
6395 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6396
6397         * configure.ac:
6398         * NEWS:
6399         * RELEASE:
6400         * configure.ac:
6401           releasing 0.8.7, "A Cruise"
6402
6403 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6404
6405         * docs/random/mimetypes:
6406         Add an entry for Sony ATRAC3 audio format with mime-type
6407         used by rmdemux et riff-read
6408
6409 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6410
6411         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6412         Push the buffer store instead of clearing it in case that
6413         the stream is not seekable.
6414
6415 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6416
6417         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6418         (gst_thread_main_loop):
6419         Lock the iteration and the state change so that automatic
6420         negotiation and fixation does not happen at the same time
6421         as the in stream negotiation.
6422
6423 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6424
6425         * configure.ac:
6426           bump nano to cvs
6427
6428 === release 0.8.6 ===
6429
6430 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6431
6432         * configure.ac:
6433         * NEWS:
6434         * RELEASE:
6435         * configure.ac:
6436           releasing 0.8.6, "Narc"
6437
6438 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6439
6440         * configure.ac:
6441           prerel bump
6442
6443 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6444
6445         patch by: Steve Lhomme
6446
6447         * gst/elements/gstfakesrc.c:
6448         * gst/elements/gstidentity.c:
6449         * gst/gstthread.c:
6450           Fix for #153881
6451
6452 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6453
6454         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6455         Fix threadsafety of the crc checking function.
6456
6457 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6458
6459         patch by: Ronald Bultje
6460
6461         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6462         (gst_type_find_element_handle_event),
6463         (gst_type_find_element_chain):
6464         * gst/elements/gsttypefindelement.h:
6465          #153657.
6466          Filter out discont event from seekable sources when typefind
6467          asks them to seek.  Fixes typefind with demuxers for
6468          avi, asf and matroska.
6469
6470 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6471
6472         * docs/gst/gstreamer-sections.txt:
6473         * gst/gstcaps.c:
6474         * gst/gstcaps.h:
6475         * gst/gstpad.c:
6476           Revert preferred caps: (#147789)
6477
6478 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6479
6480         * win32/dirent.c:
6481           fix a memory leak
6482
6483 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6484
6485         * configure.ac:
6486           bump for prerelease
6487
6488 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6489
6490         * docs/Makefile.am:
6491         * docs/manual/elements-api.xml:
6492           restructure so that common stuff is shown first
6493         * docs/manual/init-api.xml:
6494           convert to examples
6495         * docs/manual/manual.xml:
6496         * docs/manuals.mak:
6497         * docs/url.entities:
6498           link to API on the website, possibly override later in build
6499         * examples/manual/.cvsignore:
6500           ignore more
6501         * examples/manual/Makefile.am:
6502           add more examples
6503         * examples/manual/extract.pl:
6504           error out on failure
6505
6506 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6507
6508         * docs/gst/tmpl/gstthread.sgml:
6509         * docs/manual/init-api.xml:
6510         * examples/manual/Makefile.am:
6511           convert two code bits to examples
6512
6513 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6514
6515         * gst/gstelement.c: (gst_element_change_state):
6516           Well, actually, I was about to remove this insane assert when
6517           I noticed Wim already did that. A warning is nice so we can
6518           fix actual ugs (using --g-fatal-warnings and backtraces), so
6519           I added that instead.
6520
6521 2004-09-06  Wim Taymans  <wim@fluendo.com>
6522
6523         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6524         (gst_element_threadsafe_properties_post_run),
6525         (gst_element_set_state), (gst_element_change_state):
6526         Added extra refcounting around various places. 
6527
6528 2004-09-06  Wim Taymans  <wim@fluendo.com>
6529
6530         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6531         Fix debug info.
6532
6533 2004-09-06  Wim Taymans  <wim@fluendo.com>
6534
6535         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6536         (remove_from_group):
6537         Some more debug info.
6538
6539 2004-09-03  Wim Taymans  <wim@fluendo.com>
6540
6541         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6542         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6543         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6544         (gst_fakesrc_get), (gst_fakesrc_change_state):
6545         * gst/elements/gstfakesrc.h:
6546         * gst/elements/gstidentity.c: (gst_identity_class_init),
6547         (gst_identity_init), (gst_identity_chain),
6548         (gst_identity_set_property), (gst_identity_get_property),
6549         (gst_identity_change_state):
6550         * gst/elements/gstidentity.h:
6551         Added datarate properties to limit the datarate.
6552
6553 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6554
6555         * gst/autoplug/gstspider.c: (plugin_init):
6556           don't set a rank. We don't want to autoplug by inserting spiders.
6557
6558 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6559
6560         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6561         (gst_spider_identity_plug):
6562           add a template for spider's sink
6563         * gst/gst.c: (gst_register_core_elements):
6564           queue's rank should be NULL, we don't want spider to add it.
6565
6566 2004-08-18  David Schleef  <ds@schleef.org>
6567
6568         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6569         * docs/libs/Makefile.am: same
6570         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6571         * docs/random/ds/0.9-planning: random additions
6572         * docs/random/ds/0.9-suggested-changes: same
6573         * gst/gstxml.h: remove vestigal GstXMLNs definition
6574
6575         Preferred caps: (#147789)
6576         * docs/gst/gstreamer-sections.txt: Add symbols
6577         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6578         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6579         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6580         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6581         (gst_caps_get_preferred), (gst_caps_set_preferred),
6582         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6583         (gst_caps_use_preferred): Handle caps preferences
6584         * gst/gstcaps.h: Add caps preferences
6585         * gst/gstpad.c: (gst_pad_link_get_preferred),
6586         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6587         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6588         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6589         negotiation.
6590
6591 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6592
6593         * gst/autoplug/gstspideridentity.c:
6594         (gst_spider_identity_request_new_pad):
6595         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6596         (gst_aggregator_init):
6597         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6598         (gst_fakesink_init):
6599         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6600         (gst_fakesrc_init):
6601         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6602         (gst_fdsink_init):
6603         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6604         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6605         (gst_filesink_init):
6606         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6607         (gst_filesrc_init):
6608         * gst/elements/gstidentity.c: (gst_identity_base_init),
6609         (gst_identity_init):
6610         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6611         (gst_multifilesrc_init):
6612         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6613         (gst_pipefilter_init):
6614         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6615         (gst_statistics_init):
6616         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6617         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6618           s/gst_pad_new/&_from_template/
6619           register pad templates in the base_init function
6620           add static pad template definitions
6621
6622 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6623
6624         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6625         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6626         * testsuite/refcounting/pad.c: (main):
6627         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6628           s/gst_pad_new/&_from_template/
6629           prepare deprecation of gst_pad_new
6630
6631 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6632
6633         patch by: Luca Ognibene <skaboy81@virgilio.it>
6634
6635         * gst/gstcaps.c:
6636         * gst/gstelement.c:
6637         * gst/gstpad.c:
6638         * gst/gstxml.c:
6639           fix memleaks.  Fixes #150001
6640
6641 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6642
6643         * docs/random/ds/0.9-suggested-changes:
6644           add notes - mostly about pad templates
6645
6646 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6647
6648         * win32/GStreamer.vcproj:
6649           temporary locale files are .gmo not .mo
6650
6651 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6652
6653         * configure.ac: bump nano to cvs
6654
6655 === release 0.8.5 ===
6656
6657 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6658
6659         * configure.ac:
6660           releasing 0.8.5, "Stuttgart"
6661         * NEWS:
6662         * RELEASE:
6663         * configure.ac:
6664         * docs/random/release:
6665           updates for release
6666
6667 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6668
6669         patch by: Wim Taymans (wim@fluendo.com)
6670
6671         * gst/gstbuffer.c:
6672         * gst/gstindex.h:
6673         * libs/gst/dataprotocol/dataprotocol.c:
6674           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6675
6676 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6677
6678         * Makefile.am:
6679         * win32/MANIFEST:
6680           add win32 dir to the build.  Fixes #149981.
6681
6682 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6683
6684         * configure.ac:
6685           bump libtool versioning
6686         * gst/gststructure.c:
6687           mark function as static
6688         * po/af.po:
6689         * po/az.po:
6690         * po/ca.po:
6691         * po/cs.po:
6692         * po/en_GB.po:
6693         * po/fr.po:
6694         * po/nl.po:
6695         * po/sq.po:
6696         * po/sr.po:
6697         * po/sv.po:
6698         * po/tr.po:
6699         * po/uk.po:
6700           translations update
6701         * win32/README.txt:
6702           trademark protection
6703
6704 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6705
6706         * configure.ac:
6707           fix GST_ORIGIN
6708           set GST_PACKAGE to source, and distinguish between release and other
6709         * tools/gst-inspect.c:
6710           print out plugin an element factory is part of so we see this info
6711
6712 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6713
6714         * docs/gst/gstreamer-sections.txt:
6715         * docs/gst/tmpl/gstbuffer.sgml:
6716         * docs/gst/tmpl/gstschedulerfactory.sgml:
6717           reorder docs a little, make GstBuffer's more sensible.
6718         * gst/gstbuffer.h:
6719           API: added GST_BUFFER_FLAG_DELTA_UNIT
6720         * gst/gstscheduler.c:
6721           comment API addition
6722
6723 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6724
6725         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6726           work with non-regular files that can be mmapped (like /dev/zero)
6727         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6728           get rid of typefinds that require a seek when we can't seek instead
6729           of trying them over and over again
6730         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6731           return non-zero failure value when the pipeline was interrupted or
6732           an error occurred
6733
6734 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6735
6736         * win32/config.h:
6737         * win32/GStreamer.vcproj:
6738           compile and install the locales
6739
6740 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6741
6742         * gst/gstvalue.c:
6743           fix a possible memory leak under Windows
6744
6745 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6746
6747         * win32/GStreamer.vcproj:
6748           fix a memory leak that occured under Windows
6749         * win32/gstreamer.def:
6750           add gst_scheduler_register
6751
6752 2004-08-11  Benjamin Otte  <otte@gnome.org>
6753
6754         * docs/gst/gstreamer-sections.txt:
6755         * gst/gstscheduler.c: (gst_scheduler_register):
6756         * gst/gstscheduler.h:
6757           API:
6758           add gst_scheduler_register shortcut similar to gst_element_register
6759         * gst/schedulers/entryscheduler.c: (plugin_init):
6760         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6761         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6762           use it
6763
6764 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6765
6766         * gst/gstvalue.h:
6767           fix a memory leak that occured under Windows
6768
6769 2004-08-10  Colin Walters  <walters@redhat.com>
6770
6771         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6772         Don't use O_EXCL to open temporary registry.  It will prevent
6773         registry creation if a temporary one already exists, which
6774         is unnecessary.
6775
6776 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6777
6778         * docs/gst/gstreamer-sections.txt:
6779         * docs/gst/tmpl/gstvalue.sgml:
6780           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6781
6782 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6783
6784         * win32/gstbytestream.vcproj:
6785         * win32/gstelements.vcproj:
6786         * win32/gstgetbits.vcproj:
6787         * win32/gst-inspect.vcproj:
6788         * win32/gst-launch.vcproj:
6789         * win32/gstoptimalscheduler.vcproj:
6790         * win32/GStreamer.vcproj:
6791         * win32/gst-register.vcproj:
6792         * win32/gstspider.vcproj:
6793           update the include and lib dirs to fit standard libraries as
6794           described in the Win32 manual
6795
6796 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6797
6798         * win32/config.h:
6799         * win32/gstversion.h:
6800           enable NLS again, push the version number for the coming 0.8.5 release
6801
6802 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6803
6804         * gst/gstvalue.h:
6805           export gst_type_XXX for windows DLLs
6806
6807 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6808
6809         * docs/faq/gst-uninstalled:
6810           fix PKG_CONFIG_PATH and PYTHONPATH
6811         * gst/schedulers/Makefile.am:
6812           cleanup
6813         * libs/gst/bytestream/bytestream.c:
6814           remove newline
6815         * po/LINGUAS:
6816         * po/sq.po:
6817           adding Albanian translation (Laurent Dhima)
6818         * po/cs.po:
6819           updated
6820
6821 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6822
6823         * po/ca.po:
6824         * po/sv.po:
6825           updated translations
6826
6827 2004-08-04  Benjamin Otte  <otte@gnome.org>
6828
6829         * tests/mass_elements.c: (main):
6830           allow specifying src and sink element explicitly, so I can test
6831           videotestsrc instead of fakesrc
6832
6833 2004-08-04  Benjamin Otte  <otte@gnome.org>
6834
6835         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6836         (gst_structure_id_empty_new), (gst_structure_empty_new),
6837         (gst_structure_copy):
6838           add gst_structure_id_empty_new_with_size to allow preallocating
6839           value array sizes. Use this in gst_structure_copy to get rid of
6840           reallocs.
6841           don't do quark=>string=>quark when copying structures
6842
6843 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6844
6845         * docs/manual/win32.xml:
6846         * win32/README.txt:
6847           update documentation with the clean version of dependencies
6848
6849 2004-08-03  Benjamin Otte  <otte@gnome.org>
6850
6851         * gst/schedulers/entryscheduler.c:
6852         (gst_entry_scheduler_remove_element):
6853           fix for GST_DISABLE_DEBUG
6854         * tools/gst-launch.c: (print_tag):
6855           fixes for G_DISABLE_ASSERT
6856
6857 2004-08-03  Benjamin Otte  <otte@gnome.org>
6858
6859         * gst/gst.c: (gst_register_core_elements):
6860           fix for G_DISABLE_ASSERT
6861         * gst/gstinfo.c: (__gst_in_valgrind):
6862           add for GST_DISABLE_DEBUG
6863
6864 2004-08-03  Benjamin Otte  <otte@gnome.org>
6865
6866         * gst/parse/parse.l:
6867           fix for G_DISABLE_ASSERT
6868
6869 2004-08-03  Wim Taymans  <wim@fluendo.com>
6870
6871         * gst/gstbin.c: (gst_bin_get_type),
6872         (gst_bin_child_state_change_func):
6873         * gst/gstthread.c: (gst_thread_change_state):
6874         Backported some debug logging from a reverted patch
6875         Don't try to destroy the thread twice. Added some more
6876         debugging in GstThread. Unlock and signal even if we
6877         are in the thread context.
6878
6879 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6880
6881         * po/uk.po:
6882           updated translation
6883
6884 2004-07-30  David Schleef  <ds@schleef.org>
6885
6886         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6887
6888 2004-07-29  David Schleef  <ds@schleef.org>
6889
6890         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6891         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6892
6893 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6894
6895         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6896         (gst_bin_add_func), (gst_bin_remove_func),
6897         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6898         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6899         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6900         (gst_bin_sync_children_state):
6901         * gst/gstbin.h:
6902         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6903         (gst_thread_change_state):
6904         * testsuite/states/Makefile.am:
6905           revert state change patches as agreed so we can rework them
6906           gradually
6907
6908 2004-07-29  Benjamin Otte  <otte@gnome.org>
6909
6910         * libs/gst/control/Makefile.am:
6911           link to libgstreamer (fixes Debian bug 262019, see
6912           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6913
6914 2004-07-29  Wim Taymans  <wim@fluendo.com>
6915
6916         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6917         (check_from_fraction_convert), (transform_test), (main):
6918         Make the test less pedantic about float roundoff errors.
6919
6920 2004-07-29  Benjamin Otte  <otte@gnome.org>
6921
6922         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6923         (gst_filesrc_srcpad_event):
6924           make seek events to before start/after end of file not fail, but
6925           seek to start/end instead
6926         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6927           add more output
6928
6929 2004-07-29  Benjamin Otte  <otte@gnome.org>
6930
6931         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6932           check that caps are fixed
6933         * gst/gstpad.c: (gst_pad_template_new):
6934           don't try to simplify caps, costs too much time on gst_init
6935         * gst/gstplugin.c: (gst_plugin_add_feature):
6936           G_ERROR if features are added twice
6937         * gst/gsttypefind.c: (gst_type_find_register):
6938         * gst/gstelementfactory.c: (gst_element_register):
6939           don't add features twice
6940         * docs/random/ds/0.9-suggested-changes:
6941           add note about possible gst_init optimization
6942
6943 2004-07-28  David Schleef  <ds@schleef.org>
6944
6945         * testsuite/elements/Makefile.am:
6946         * testsuite/elements/struct_i386.h:
6947         * testsuite/elements/struct_size.c: (main):  A little test
6948         to keep distcheck from working if someone changes a structure
6949         size accidentally.
6950
6951 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6952
6953         * docs/libs/Makefile.am:
6954         * docs/libs/gstreamer-libs-docs.sgml:
6955         * docs/libs/gstreamer-libs-sections.txt:
6956         * docs/libs/tmpl/gstbytestream.sgml:
6957         * docs/libs/tmpl/gstcontrol.sgml:
6958         * docs/libs/tmpl/gstdataprotocol.sgml:
6959         * docs/libs/tmpl/gstgetbits.sgml:
6960         * libs/gst/bytestream/Makefile.am:
6961         * libs/gst/bytestream/bytestream.c:
6962         * libs/gst/bytestream/bytestream.h:
6963         * libs/gst/control/Makefile.am:
6964         * libs/gst/dataprotocol/Makefile.am:
6965         * libs/gst/getbits/Makefile.am:
6966         * libs/gst/getbits/getbits.h:
6967           various doc and style fixes, adding bytestream to libs docs.
6968
6969 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6970
6971         * docs/gst/gstreamer-docs.sgml:
6972         * docs/libs/Makefile.am:
6973         * docs/libs/gstreamer-libs-docs.sgml:
6974         * docs/libs/gstreamer-libs-sections.txt:
6975         * libs/gst/control/dparam.c:
6976           more doc fixes.  gst-libs docs now build the same way as gst.
6977
6978 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6979
6980         * configure.ac:
6981         * testsuite/Makefile.am:
6982         * testsuite/bins/Makefile.am:
6983         * testsuite/caps/Makefile.am:
6984         * testsuite/cleanup/Makefile.am:
6985         * testsuite/clock/Makefile.am:
6986         * testsuite/debug/Makefile.am:
6987         * testsuite/dlopen/Makefile.am:
6988         * testsuite/dynparams/Makefile.am:
6989         * testsuite/elements/.cvsignore:
6990         * testsuite/elements/Makefile.am:
6991         * testsuite/enumcaps/Makefile.am:
6992         * testsuite/enumcaps/enumcaps.c:
6993         * testsuite/ghostpads/Makefile.am:
6994         * testsuite/indexers/Makefile.am:
6995         * testsuite/negotiation/Makefile.am:
6996         * testsuite/parse/Makefile.am:
6997         * testsuite/plugin/Makefile.am:
6998         * testsuite/refcounting/Makefile.am:
6999         * testsuite/schedulers/.cvsignore:
7000         * testsuite/states/Makefile.am:
7001         * testsuite/tags/Makefile.am:
7002         * testsuite/threads/Makefile.am:
7003           fold enumcaps into caps dir
7004           clean up Makefile.am's for testsuite
7005
7006 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7007
7008         * docs/gst/Makefile.am:
7009         * docs/libs/Makefile.am:
7010           clean up docs build.  Fixes needless rebuilding of template files.
7011
7012 2004-07-28  Wim Taymans  <wim@fluendo.com>
7013
7014         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7015         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7016         Make sure that a bin state change tries to keep the children
7017         in sync. 
7018         Added debug logging to the thread.
7019
7020 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7021
7022         * win32/GStreamer.vcproj:
7023         * win32/gstreamer.def:
7024           more exports for the plugins
7025
7026 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7027
7028         * win32/gstgetbits.vcproj:
7029         * win32/gstgetbits.def:
7030         * win32/msvc71.sln:
7031           add support for the getbits plugin
7032
7033 2004-07-27  Wim Taymans  <wim@fluendo.com>
7034
7035         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7036         (gst_value_transform_fraction_double), (_gst_value_initialize):
7037         * testsuite/caps/Makefile.am:
7038         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7039         (check_from_fraction_convert), (transform_test), (main):
7040         Added transform functions between double and fraction.
7041         Added testcase to verify transforms
7042
7043 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7044
7045         * win32/GStreamer.vcproj:
7046           rename GStreamer-0.8.lib to libgstreamer.lib
7047
7048 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7049
7050         * win32/gstelements.vcproj:
7051         * win32/gstoptimalscheduler.vcproj:
7052           fixes for the Release build
7053
7054 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7055
7056         * win32/config.h:
7057           update the version number
7058
7059 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7060
7061         * win32/GStreamer.vcproj:
7062           add gstinterface to the build
7063
7064 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7065
7066         * win32/gstreamer.def:
7067           add many definitions needed by plugins,
7068           GST_CAT_DEFAULT only available in the Debug build ?
7069
7070 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7071
7072         * gst/gstelement.c: (gst_element_set_eos_recursive):
7073           various whitespace fixes.
7074           doc fix, fixes #148497
7075
7076 2004-07-25  Benjamin Otte  <otte@gnome.org>
7077
7078         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7079           don't delay links on the sink elements, it causes unnegotiated
7080           links.
7081         * gst/elements/gsttypefindelement.c:
7082         (gst_type_find_element_base_init):
7083           add our padtemplates, we indeed do have some.
7084         * gst/elements/gsttypefindelement.c:
7085         (gst_type_find_element_handle_event),
7086         (gst_type_find_element_chain):
7087           don't push data when typefinding failed.
7088         * gst/gstpad.c: (gst_pad_link_fixate):
7089           check that no fixate function returns empty caps.
7090         * gst/gstpad.c: (gst_pad_push):
7091           check that the link is negotiated before data gets pushed.
7092         * tools/gst-register.c: (main):
7093           don't assert (fixes #148283)
7094
7095 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7096
7097         * docs/gst/gstreamer-sections.txt:
7098         * docs/gst/tmpl/gstconfig.sgml:
7099           add GST_PLUGIN_EXPORT definition
7100
7101 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7102
7103         * gst/gstplugin.h:
7104         * gst/gstconfig.h.in:
7105         * win32/gstconfig.h:
7106         * win32/gstelements.def:
7107         * win32/gstelements.vcproj:
7108         * win32/gstoptimalscheduler.def:
7109         * win32/gstoptimalscheduler.vcproj:
7110         * win32/gstspider.def:
7111         * win32/gstspider.vcproj:
7112           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7113
7114 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7115
7116         * docs/gst/gstreamer-sections.txt:
7117           remove GST_CAT_DEFAULT because the type has changed
7118
7119 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7120
7121         * win32/gstbytestream.vcproj:
7122         * win32/gstelements.vcproj:
7123         * win32/gst-inspect.vcproj:
7124         * win32/gst-launch.vcproj:
7125         * win32/gstoptimalscheduler.vcproj:
7126         * win32/GStreamer.vcproj:
7127         * win32/gst-register.vcproj:
7128         * win32/gstspider.vcproj:
7129         * win32/msvc71.sln:
7130           Copy the files where needed after building, The testsuite will be
7131           built separately
7132
7133 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7134
7135         * win32/config.h:
7136         * win32/README.txt:
7137         * docs/manual/win32.xml:
7138         Fixed the plugin and GStreamer location
7139
7140 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7141
7142         * win32/gstreamer.def:
7143         More exports for the plugins
7144
7145 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7146
7147         * gst/gstinfo.h:
7148         Marc was right, we need to export literally GST_CAT_DEFAULT
7149
7150 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7151
7152         * win32/config.h:
7153         NLS crashes in gettext, disabled until this is solved
7154
7155 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7156
7157         * win32/gst-inspect.vcproj:
7158         * win32/gst-launch.vcproj:
7159         Should use NLS when available
7160
7161 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7162
7163         * gst/registries/gstxmlregistry.c:
7164         removing the file doesn't seem to be a good idea on Linux
7165
7166 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7167
7168         * gst/registries/gstxmlregistry.c:
7169         Remove the registry before renaming the tempfile (needed for Windows)
7170
7171 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7172
7173         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7174         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7175         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7176         * gst/elements/gstmultifilesrc.h:
7177         Added newmedia property so it generates newmedia events between each
7178         file when property is set, as well as fixed eos handling
7179
7180 2004-07-22  David Schleef  <ds@schleef.org>
7181
7182         * gst/gststructure.c: (gst_structure_id_empty_new),
7183         (gst_structure_empty_new):  Set type field correctly.
7184         * gst/gststructure.h: Check type field correctly.
7185         * testsuite/caps/Makefile.am:
7186         * testsuite/caps/structure.c: (test1), (main): Add a very small
7187         test for structures.
7188
7189 2004-07-22  David Schleef  <ds@schleef.org>
7190
7191         * docs/random/ds/0.9-suggested-changes: more comments
7192         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7193
7194 2004-07-22  Benjamin Otte  <otte@gnome.org>
7195
7196         * gst/gstelementfactory.c: (gst_element_register):
7197           set the factory in the class struct, so gst_element_get_factory
7198           actually works
7199         * gst/parse/grammar.y:
7200           set element to playing when it gets unlocked as we can't rely on the
7201           bin state - all elements in the bin state might still be locked in
7202           NULL)
7203
7204 2004-07-22  Benjamin Otte  <otte@gnome.org>
7205
7206         * gst/gstelement.c: (gst_element_set_state_func):
7207           make this a static function
7208
7209 2004-07-22  Wim Taymans  <wim@fluendo.com>
7210
7211         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7212         (gst_opt_scheduler_pad_link):
7213         fix 147894-2 and the group_link problem.
7214
7215 2004-07-22  Wim Taymans  <wim@fluendo.com>
7216
7217         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7218         (handoff_identity), (main):
7219         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7220         (handoff_identity), (main):
7221         * testsuite/schedulers/Makefile.am:
7222         * testsuite/schedulers/group_link.c: (main):
7223         Show bug in scheduler when linking chain and loop based element 
7224         where the chain based element was not yet in a group.
7225
7226 2004-07-21  Benjamin Otte  <otte@gnome.org>
7227
7228         * gst/.cvsignore:
7229         * gst/autoplug/.cvsignore:
7230         * gst/elements/.cvsignore:
7231         * gst/indexers/.cvsignore:
7232         * libs/gst/bytestream/.cvsignore:
7233         * libs/gst/control/.cvsignore:
7234         * libs/gst/getbits/.cvsignore:
7235         * testsuite/states/.cvsignore:
7236         * testsuite/threads/.cvsignore:
7237           keep this up to date, since I seem to be the only one who cares
7238           about not missing files on commits (editor's note: no you don't,
7239           but feel free to change them at the time you add stuff instead
7240           of later on)
7241
7242 2004-07-21  Benjamin Otte  <otte@gnome.org>
7243
7244         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7245         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7246         (gst_bin_child_state_change_func), (set_kid_state_func),
7247         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7248           make state changes work correctly and reentrant (so removing
7249           elements from bins during state changes of bins doesn't cause
7250           segfaults or even wrong states)
7251           add debugging category and debugging output to print children states
7252         * gst/gstbin.c: (gst_bin_dispose): 
7253           add some assertion checks
7254         * gst/gstbin.h:
7255         * gst/gstbin.c: (gst_bin_sync_children_state):
7256           deprecate this function - it just does gst_bin_set_state (bin,
7257           GST_STATE (bin)) 
7258         * testsuite/threads/queue.c: (main):
7259           don't use gst_bin_sync_children_state anymore
7260         * testsuite/states/Makefile.am:
7261         * testsuite/states/bin.c:
7262           test that the state changes of bins work as expected
7263         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7264           some adjustments to change states correctly, too
7265         * gst/gstthread.c: (gst_thread_change_state):
7266           don't enable/disable "threadsafe" properties, they're unused and
7267           cause random segfaults
7268         * testsuite/threads/Makefile.am:
7269           the queue check randomly passes now, ignore it
7270
7271 2004-07-21  Benjamin Otte  <otte@gnome.org>
7272
7273         * gst/gstpad.c:
7274           check if data is NULL before outputting debug info. (fixes #145100)
7275
7276 2004-07-21  Benjamin Otte  <otte@gnome.org>
7277
7278         * gst/schedulers/entryscheduler.c:
7279         (gst_entry_scheduler_loop_wrapper),
7280         (gst_entry_scheduler_chain_wrapper),
7281         (gst_entry_scheduler_get_wrapper):
7282           reset the state when the cothread starts, so we don't get assertion
7283           failures on restarting of cothreads
7284
7285 2004-07-20  Benjamin Otte  <otte@gnome.org>
7286
7287         * gst/gstelement.c: (gst_element_link_pads_filtered):
7288           use correct sinkpad, if only sinkpad is specified, but not srcpad
7289           (fixes #147889)
7290         * gst/gstelement.c: (gst_element_set_state_func),
7291         (gst_element_change_state): ref/unref the element, signal handlers
7292         could get rid of the element otherwise
7293
7294 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7295
7296         * docs/random/ds/0.9-suggested-changes:
7297           Make note about renaming fixed-list to array.
7298         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7299         (_gst_value_initialize):
7300           Add array intersections.
7301         * testsuite/caps/intersect2.c: (main):
7302           Add test for array intersections.
7303
7304 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7305
7306         * configure.ac: back to cvs
7307
7308 === release 0.8.4 ===
7309
7310 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7311
7312         * configure.ac:
7313           releasing 0.8.4, "Paella"
7314           bump libtool versioning
7315
7316 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7317
7318         * po/LINGUAS:
7319         * po/ca.po:
7320           adding Catalan translation (Jordi Mallach)
7321
7322 2004-07-20  Wim Taymans  <wim@fluendo.com>
7323
7324         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7325         (handoff_identity), (main):
7326         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7327         (handoff_identity), (main):
7328         * testsuite/schedulers/Makefile.am:
7329         Added failing testcase for variant of #147894
7330
7331 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7332
7333         patch by: David Moore
7334
7335         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7336         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7337         (group_migrate_connected):
7338         * testsuite/schedulers/Makefile.am:
7339           fix for #142813 (Deadlock in optimal scheduler)
7340
7341 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7342
7343         patch by: Wim Taymans
7344
7345         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7346         (gst_opt_scheduler_schedule_run_queue),
7347         (gst_opt_scheduler_get_wrapper), (get_group),
7348         (group_migrate_connected):
7349         * testsuite/schedulers/Makefile.am:
7350           fix for #147819 (Add some checks in the opt scheduler)
7351
7352 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7353
7354         patch by: Benjamin Otte
7355
7356         * gst/gstelementfactory.c: (__gst_element_details_set):
7357           fix for #147929: running gst-register in non-utf8 locale can cause
7358           invalid registry
7359
7360 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7361
7362         patch by: Wim Taymans
7363
7364         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7365         (group_has_element), (element_get_reachables_func),
7366         (group_migrate_connected):
7367           fix for #147894 (opt scheduler decoupled elements mismanagement)
7368         * testsuite/schedulers/Makefile.am:
7369           testsuite app now passes
7370
7371 2004-07-19  Wim Taymans  <wim@fluendo.com>
7372
7373         * testsuite/schedulers/147819.c: (handoff_identity1),
7374         (handoff_identity2), (main):
7375         * testsuite/schedulers/Makefile.am:
7376         Added testcase for bug 147819
7377
7378 2004-07-19  Wim Taymans  <wim@fluendo.com>
7379
7380         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7381         (handoff_identity), (main):
7382         * testsuite/schedulers/Makefile.am:
7383         Added testcase for bug 147894
7384
7385 2004-07-16  Wim Taymans  <wim@fluendo.com>
7386
7387         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7388         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7389         * testsuite/schedulers/Makefile.am:
7390         Added testsuite for bug 142183 in its two incarnations. Refcount
7391         is not increased for scheduled elements and threadsafe properties
7392         mutexes are not properly unlocked.
7393
7394 2004-07-16  Wim Taymans  <wim@fluendo.com>
7395
7396         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7397         (create_chain), (destroy_chain), (create_group), (destroy_group),
7398         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7399         (group_dec_link), (gst_opt_scheduler_pad_link),
7400         (group_inc_links_for_element), (group_migrate_connected):
7401         Call group_inc_link with the proper src->sink ordering -- 
7402         break this, and we break sort_chain. patch from wingo for bug
7403         147713.
7404         Partially revert patch 1.89. When adding a loop based element to 
7405         the scheduler, the links to other groups are automatically followed
7406         and incremented. This should not happen because the bin will call
7407         pad_link explicitly for those connection, resulting in them counted 
7408         twice. Results in assertion failure on pipeline cleanup.
7409
7410 2004-07-16  Wim Taymans  <wim@fluendo.com>
7411
7412         * testsuite/schedulers/143777-2.c: (main):
7413         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7414         (main):
7415         * testsuite/schedulers/Makefile.am:
7416         Added cleanup code to testcase 143777-2.
7417         Added testcase to show bug 147713, does not really show the
7418         deadlock as I can't figure out how to trigger it, but it does
7419         demonstrate bad ordering in the scheduler.
7420
7421 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7422
7423         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7424           change strndup to g_strndup.  Fixes #147707
7425
7426 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7427
7428         * po/af.po:
7429         * po/az.po:
7430         * po/cs.po:
7431         * po/en_GB.po:
7432         * po/fr.po:
7433         * po/nl.po:
7434         * po/sr.po:
7435         * po/sv.po:
7436         * po/tr.po:
7437         * po/uk.po:
7438           updated translations
7439
7440 2004-07-16  Benjamin Otte  <otte@gnome.org>
7441
7442         * gst/gstvalue.c: (gst_greatest_common_divisor):
7443           use ints and return ints, fractions only use ints, too, so this
7444           avoids accidently casting multiplications to unsigned
7445         (gst_value_lcopy_fraction): it's ints, not uint32
7446         (gst_value_set_fraction): disallow minint, multiplying and negation
7447           are broken with it
7448         (gst_value_fraction_multiply): fix to make large numbers work and get
7449         rid of the assumption that the multiplication of two ints fits an
7450         int64 - dunno if that's true for all systems
7451         * testsuite/caps/Makefile.am:
7452         * testsuite/caps/fraction-multiply-and-zero.c:
7453         (check_multiplication), (check_equal), (zero_test), (main):
7454           add tests for all the stuff above
7455         * testsuite/caps/value_compare.c: (test1):
7456           fix comment
7457         * tests/.cvsignore:
7458         * testsuite/caps/.cvsignore:
7459         * testsuite/debug/.cvsignore:
7460         * testsuite/dlopen/.cvsignore:
7461         * testsuite/states/.cvsignore:
7462           get up to date
7463
7464 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7465
7466         * docs/manual/bins-api.xml:
7467         * docs/manual/factories.xml:
7468         * docs/manual/helloworld.xml:
7469         * docs/manual/links-api.xml: 
7470           fixes for out of date info, incorrect info and grammar
7471
7472 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7473
7474         * docs/manual/pads.xml:
7475         * docs/manual/pads-api.xml: grammar fix
7476
7477 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7478
7479         * docs/manual/pads-api.xml: typo + grammar fix
7480
7481 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7482
7483         * docs/gst/gstreamer-sections.txt:
7484           add new symbols
7485         * docs/gst/tmpl/gstelement.sgml:
7486         * docs/gst/tmpl/gstpad.sgml:
7487         * docs/gst/tmpl/gsttypes.sgml:
7488         * docs/gst/tmpl/gstvalue.sgml:
7489           update docs
7490         * gst/gststructure.c: (gst_structure_set_valist),
7491         (gst_structure_from_abbr), (gst_structure_to_abbr):
7492         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7493         (gst_greatest_common_divisor), (gst_value_init_fraction),
7494         (gst_value_copy_fraction), (gst_value_collect_fraction),
7495         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7496         (gst_value_get_fraction_numerator),
7497         (gst_value_get_fraction_denominator),
7498         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7499         (gst_value_deserialize_fraction),
7500         (gst_value_transform_fraction_string),
7501         (gst_value_transform_string_fraction),
7502         (gst_value_compare_fraction), (_gst_value_initialize):
7503         * gst/gstvalue.h:
7504           adding GstFraction GValue type, get/set, and multiply
7505         * testsuite/caps/Makefile.am:
7506         * testsuite/caps/fraction.c: (test), (main):
7507         * testsuite/caps/string-conversions.c: (main):
7508         * testsuite/caps/value_compare.c: (test1), (main):
7509           add regression tests for GstFraction
7510
7511 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7512         
7513         * docs/manual/init-api.xml: Grammar fix
7514
7515 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7516
7517         * docs/manual/states.xml: Fix inconsistent information
7518
7519 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7520
7521         * gst/gstelement.c: (gst_element_set_state):
7522         * gst/gstpad.c: (gst_pad_try_set_caps):
7523         * gst/gststructure.c:
7524         * gst/gstthread.c: (gst_thread_child_state_change):
7525         * gst/gstvalue.c: (gst_value_compare_double):
7526         * gst/gstvalue.h:
7527         * testsuite/parse/parse1.c: (main):
7528           debugging additions and style cleanups
7529
7530 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7531
7532         * docs/manual/states.xml: Grammar fix
7533
7534 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7535
7536         * docs/manual/pads.xml: Grammar fix
7537
7538 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7539
7540         * docs/manual/elements.xml: Fixed image reference
7541
7542 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7543
7544         * docs/manual/goals.xml: Grammar fix
7545
7546 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7547
7548         * docs/manual/motivation.xml:
7549         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7550
7551 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7552
7553         * docs/manual/motivation.xml: Fix spelling
7554
7555 2004-07-15  Benjamin Otte  <otte@gnome.org>
7556
7557         * gst/gstelement.h: 
7558           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7559           strings.
7560         * gst/gstelement.c (gst_element_class_init):
7561           GError's are boxed, not objects
7562         * gst/gstmarshal.list:
7563           update list for the fixed error signal
7564
7565 2004-07-14  Andy Wingo  <wingo@pobox.com>
7566
7567         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7568         there all along, but the function wasn't. (guile-gstreamer's build
7569         system uses the address of the function -- I wasn't actually
7570         trying to use this.)
7571
7572 2004-07-14  Andy Wingo  <wingo@pobox.com>
7573
7574         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7575         as gst_pad_proxy_pad_link) just link to every other pad when they
7576         are called. In the case where the graph has cycles, this will mean
7577         that a call to try_set_caps will recurse. Allow this recursion
7578         and return OK, while we wait for the first try_set_caps to give a
7579         proper return value.
7580         (gst_pad_link_call_link_functions): Since this function is the
7581         only one to set the NEGOTIATING flag on a pad, if the flag is set
7582         it means that the link functions have indirectly recursed. If this
7583         happens, error out to avoid infinite recursion and an eventual
7584         SEGV.
7585         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7586         (gst_pad_proxy_getcaps): Intersect the result with the template
7587         caps to ensure that the return value is valid.
7588
7589 2004-07-14  Andy Wingo  <wingo@pobox.com>
7590
7591         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7592         one refcount, the calling function is the owner of the buffer.
7593
7594 2004-07-14  Wim Taymans  <wim@fluendo.com>
7595
7596         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7597         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7598         Fix stupid warning when an element is to be migrated but
7599         is already migrated.
7600
7601 2004-07-14  Wim Taymans  <wim@fluendo.com>
7602
7603         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7604         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7605         Make sure that a single non-loop-based element does not 
7606         end up in a group. This fixes the testsuite again.
7607
7608 2004-07-14  Wim Taymans  <wim@fluendo.com>
7609
7610         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7611         (add_to_group), (merge_groups), (schedule_group),
7612         (gst_opt_scheduler_get_wrapper), (group_elements),
7613         (group_dec_link), (gst_opt_scheduler_pad_link),
7614         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7615         (gst_opt_scheduler_iterate):
7616         move isolated groups to a new chain.
7617         Emit a warning instead of segfaulting in some error cases.
7618         Fix a bug where the link count between groups was not calculated 
7619         correctly. Fixes #144510.
7620
7621 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7622         * gst/elements/gstfilesrc.c:
7623           Binary files support under Windows now OK
7624       
7625 2004-07-13  Benjamin Otte  <otte@gnome.org>
7626
7627           compatibility fixes for Solaris 8/gcc 2.95
7628         * configure.ac:
7629           include libintl libs in LDFLAGS
7630         * gstvalue.c (gst_value_deserialize_buffer):
7631           cast isxdigit stuff to int to silence compiler warning
7632
7633 2004-07-12  Benjamin Otte  <otte@gnome.org>
7634
7635         * gst/gsttypes.h:
7636           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7637           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7638           just causes support madness
7639         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7640           make it work without this
7641         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7642         (gst_file_index_commit):
7643           glib IO channels don't want binary mode
7644         * testsuite/bytestream/filepadsink.c: (main):
7645         * testsuite/bytestream/test1.c: (read_param_file):
7646           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7647
7648 2004-07-12  Benjamin Otte  <otte@gnome.org>
7649
7650         * gst/gstelement.c: (gst_element_class_init),
7651         (gst_element_set_state), (gst_element_set_state_func):
7652           virutalize gst_element_set_state, use set_state member in class
7653           struct that was already added in 0.7 for this.
7654         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7655         (gst_bin_change_state):
7656           make gst_bin_foreach works similar to other foreach functions, plug
7657           memleaks in it. Make functions using it work with the new approach.
7658           Document gst_bin_foreach, so it can be exported if we want to
7659         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7660           use virtualized set_state to make set_state on bins set the state of
7661           all its children.
7662
7663 2004-07-12  Benjamin Otte  <otte@gnome.org>
7664
7665         * configure.ac:
7666           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7667           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7668         * gst/gstpad.c: (gst_pad_alloc_buffer):
7669           allow buffer_alloc functions to return NULL and allocate a normal
7670           buffer in that case
7671
7672 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7673         * gst/elements/gstfilesink.c:
7674         * gst/elements/gstfilesrc.c:
7675         * gst/indexers/gstfileindex.c:
7676         * gst/gsttypes.h:
7677         * testsuite/bytestream/filepadsink.c:
7678         * testsuite/bytestream/test1.c:
7679           Handle binary files under Windows
7680
7681 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7682         * docs/manual/win32.xml:
7683         * win32/config.h:
7684         * win32/gst-register.vcproj:
7685         * win32/gstreamer.def:
7686           Update to another gettext public build
7687
7688 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7689         * gst/gstplugin.c:
7690           Fix an impossible C syntax
7691         * win32/config.h:
7692           Disable i18n under Windows for the moment
7693         * win32/gst-register.vcproj:
7694           Use this configuration
7695
7696 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7697         * docs/manual/quotes.xml:
7698           Keep the quotes file alive
7699         * docs/random/ds/0.9-suggested-changes:
7700           Add the suggestion of including a 'rowstride' as part of video
7701           format caps
7702
7703 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7704
7705         * gst/gstelement.c: (gst_element_set_state),
7706         (gst_element_change_state):
7707           d'oh.  Set PENDING state correctly before forcing bin to change.
7708         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7709         (gst_structure_parse_fixed_list):
7710         * gst/schedulers/gstoptimalscheduler.c:
7711         (gst_opt_scheduler_state_transition):
7712         * testsuite/states/parent.c: (main):
7713           remove comment now that it's fixed.
7714
7715 2004-07-11  Benjamin Otte  <otte@gnome.org>
7716
7717         * gst/gstclock.h:
7718           GST_SECOND shouldn't cause a conversion to unsigned.
7719         * testsuite/clock/.cvsignore:
7720         * testsuite/clock/Makefile.am:
7721         * testsuite/clock/signedness.c: (main):
7722           make sure it never will again
7723
7724 2004-07-11  Andy Wingo  <wingo@pobox.com>
7725
7726         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7727         whose state is higher than the bin state, raise the bin state to
7728         ensure that bin state := highest child state.
7729         
7730 2004-07-11  Andy Wingo  <wingo@pobox.com>
7731
7732         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7733         procedure on the children of a bin. Assumes that the procedure can
7734         change the set of children.
7735         (set_kid_state_func): New static function.
7736         (gst_bin_change_state): Use gst_bin_foreach to call
7737         set_kid_state_func. Fixes a bug: if a child had a state-change
7738         handler that removes it from the bin, there would be a segfault.
7739         Hopefully it should also work in the case where the state-change
7740         handler on one child adds or removes other children. In any case,
7741         fixes should go to gst_bin_foreach.
7742
7743 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7744
7745         * gst/gstelement.c: (gst_element_set_state):
7746           compatibility fix for latest plugins release.  Change loop back
7747           to while {}
7748
7749 2004-07-09  Wim Taymans  <wim@fluendo.com>
7750
7751         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7752         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7753         (gst_thread_main_loop):
7754         Since remove is virtual in GstBin we must not assume the 
7755         elements GList to have anothing useful.
7756         Add some more logging to GstThread and be a bit more paranoid
7757         when resetting the scheduler.
7758         Set the state of the bin to NULL before removing the children.
7759
7760 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7761
7762         * testsuite/threads/Makefile.am:
7763         * testsuite/threads/threadg.c:
7764           added test to check if problem when removing all elements from a
7765           GstThread before setting GstThread state to NULL
7766
7767 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7768
7769         * docs/gst/tmpl/gstelement.sgml:
7770         * docs/gst/tmpl/gsttypes.sgml:
7771         * gst/gstbin.c: (gst_bin_change_state):
7772         * gst/gstelement.c: (gst_element_set_state),
7773         (gst_element_change_state):
7774           rework so that for bins we try to set the state on all children
7775           as well even if the bin is in the correct state already.
7776           change while to do so at least one iteration is done.
7777           For regular elements, we fall back to the previous behaviour for
7778           now since we first need a new plugins release.
7779         * testsuite/states/parent.c: (main):
7780           test for this case
7781           Fixes #123774
7782
7783 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7784
7785         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7786         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7787         (gst_queue_release_locks), (gst_queue_change_state),
7788         (gst_queue_set_property):
7789           add proper lock debugging.  Change dispose to finalize, since
7790           we're freeing mutexes and other stuff which should happen only once.
7791
7792 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7793
7794         * docs/gst/tmpl/gstelement.sgml:
7795         * docs/gst/tmpl/gstplugin.sgml:
7796         * docs/gst/tmpl/gsttypes.sgml:
7797         * docs/pwg/building-state.xml:
7798         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7799         * gst/gstelement.c: (gst_element_change_state):
7800         * gst/gstthread.c: (gst_thread_change_state):
7801           catch wrong state changes in element base class.
7802
7803 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7804
7805         * gst/gstinfo.h:
7806           clean up layout a little.
7807
7808 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7809
7810         * configure.ac:
7811         * testsuite/Makefile.am:
7812         * testsuite/states/Makefile.am:
7813         * testsuite/states/parent.c: (main):
7814           re-enable states testsuite dir.  Add test for state changes and
7815           parent behaviour
7816
7817 2004-07-09  Wim Taymans  <wim@fluendo.com>
7818
7819         * gst/schedulers/gstoptimalscheduler.c:
7820         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7821         (element_get_reachables_func), (element_get_reachables),
7822         (debug_element), (rechain_group), (group_migrate_connected),
7823         (gst_opt_scheduler_pad_unlink):
7824         Do not try to migrate decoupled elements to a new group since
7825         they are not added to groups.
7826
7827 2004-07-08  Benjamin Otte  <otte@gnome.org>
7828
7829         * gst/gstelement.c: (gst_element_error_func):
7830           make reentrant (= allow removing elements in error handler)
7831
7832 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7833
7834         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7835         (gst_pad_send_event), (gst_pad_call_chain_function):
7836           events sent to elements below PAUSED cannot be handled, so
7837           don't try to
7838
7839 2004-07-08  Wim Taymans  <wim@fluendo.com>
7840
7841         * gst/schedulers/gstoptimalscheduler.c:
7842         (chain_recursively_migrate_group), (create_group),
7843         (schedule_group), (gst_opt_scheduler_pad_link),
7844         (group_elements_set_visited), (element_get_reachables_func),
7845         (element_get_reachables), (group_can_reach_group), (debug_element),
7846         (rechain_group), (group_migrate_connected),
7847         (gst_opt_scheduler_pad_unlink):
7848         * testsuite/schedulers/Makefile.am:
7849         Implemented group splitting and rechaining.
7850         Fixes 143777 and 143777-2 in the testsuite.
7851
7852 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7853
7854         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7855           extra debugging
7856         * gst/gstevent.h:
7857         * gst/gstinfo.c: (gst_debug_log_default):
7858           print time nicely.  add thread pointer until someone figures out
7859           a completely portable way of getting at thread id's.
7860         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7861         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7862         (gst_pad_call_chain_function):
7863           extra debugging
7864         * gst/schedulers/gstoptimalscheduler.c:
7865         (get_group_schedule_function), (loop_group_schedule_function),
7866         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7867         (pad_clear_queued), (gst_opt_scheduler_iterate):
7868           rename BUFPEN and friends to DATAPEN since that's what they are.
7869
7870 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7871
7872         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7873         * gst/gstbuffer.h:
7874         * gst/gstpad.c:
7875           cleanups and debugging
7876
7877 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7878
7879         * configure.ac:
7880         * gst/gstvalue.c: (gst_value_compare_enum),
7881         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7882         (gst_value_can_compare), (gst_value_compare):
7883         * testsuite/Makefile.am:
7884         * testsuite/enumcaps/Makefile.am:
7885         * testsuite/enumcaps/enumcaps.c:
7886           Fix enum serialization, deserialization, comparison in caps, add
7887           a test to ensure that this continues working in the future.
7888
7889 2004-07-06  David Schleef  <ds@schleef.org>
7890
7891         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7892         Fix memleak.
7893
7894 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7895
7896         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7897         * gst/gstplugin.h:
7898         * gst/registries/gstxmlregistry.c:
7899         (plugin_times_older_than_recurse), (plugin_times_older_than),
7900         (gst_xml_registry_parse_padtemplate):
7901           only rebuild registry when actual plugins have a newer time than
7902           the registry.  Fixes #145520
7903
7904 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7905
7906         * docs/manual/manual.xml:
7907         * docs/manual/win32.xml:
7908           add chapter on win32 building.  fixes #142422
7909
7910 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7911
7912         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7913
7914         * gst/autoplug/gstspider.c: (gst_spider_init),
7915         (gst_spider_dispose):
7916           fix spider memleaks.  fixes #137863
7917
7918 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7919
7920         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7921
7922         * gst/schedulers/gstoptimalscheduler.c:
7923         (gst_opt_scheduler_pad_unlink):
7924           fix SIGBUS error, fixes #145338
7925
7926 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7927
7928         * gst/gstobject.c: (gst_object_replace):
7929         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7930         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7931           clean up clock lifecycle.  Fixes #109831
7932
7933 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7934
7935         * po/LINGUAS:
7936         * po/cs.po:
7937           added Czech translation (Miloslav Trmac)
7938
7939 2004-07-04  David Schleef  <ds@schleef.org>
7940
7941         * tools/Makefile.am:
7942         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7943
7944 2004-07-04  David Schleef  <ds@schleef.org>
7945
7946         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7947
7948 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7949
7950         * gst/gstbin.c: (gst_bin_restore_thyself):
7951           chain to parent restore so the bins get restored correctly
7952           in the editor
7953
7954 2004-07-03  David Schleef  <ds@schleef.org>
7955
7956         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7957         Actually do something in these functions, like before the big
7958         caps change.  (bug #145137)
7959
7960 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7961
7962         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7963         (gst_element_get_compatible_pad_filtered):
7964         * gst/gstthread.c: (gst_thread_main_loop):
7965           more debugging
7966
7967 2004-07-02  David Schleef  <ds@schleef.org>
7968
7969         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7970         * gst/gstobject.h:
7971         * gst/gstparse.h:
7972         * gst/gsttrace.h:
7973         * gst/gstxml.h:
7974
7975 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7976
7977         * gst/gstpad.c: (gst_pad_check_schedulers),
7978         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7979         (gst_pad_link_prepare):
7980           revert until testsuite is fixed
7981
7982 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7983
7984         * testsuite/Makefile.am:
7985         * testsuite/caps/filtercaps.c: (main):
7986         * testsuite/clock/clock1.c: (main):
7987         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7988           fix some more tests
7989
7990 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7991
7992         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7993         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7994         * testsuite/cleanup/cleanup4.c: (main):
7995           fix testsuite
7996
7997 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7998
7999         * libs/gst/control/control.c:
8000         * libs/gst/control/dparam.c:
8001         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8002         * libs/gst/control/dparammanager.c:
8003         * libs/gst/control/dparammanager.h:
8004         * testsuite/dynparams/Makefile.am:
8005         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8006         (gst_dptest_change_state), (gst_dptest_chain), (main):
8007           fix testcase for dparams
8008           add debugging category
8009
8010 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8011
8012         * testsuite/Rules:
8013           change path
8014
8015 2004-07-02  Benjamin Otte  <otte@gnome.org>
8016
8017         * tests/.cvsignore:
8018         * tests/Makefile.am:
8019         * tests/mass_elements.c: (gst_get_current_time), (main):
8020           add simple benchmark to test various speeds of fakesrc ! identity !
8021           identity ! ... ! fakesink.
8022           Usage: mass_elements [num_identities] [num_buffers]
8023           If not specified they default to 1000.
8024
8025 2004-07-02  Benjamin Otte  <otte@gnome.org>
8026
8027         * gst/gstpad.c: (gst_pad_check_schedulers),
8028         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8029         (gst_pad_link_prepare):
8030           check that pads that get linked belong to the same manager. The old
8031           code allowed linking elements before putting them into bins, so it
8032           worked to link them and then put them in different threads, which
8033           lead to weird behaviour.
8034           Since this effectively disallows linking elements before putting
8035           them in a bin, some applications might not work after this and error
8036           out. If these applications are too critical, we might need to revert
8037           that patch. Please test this before the next release...
8038
8039 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8040
8041         * gst/gstpad.c: (gst_pad_get_caps):
8042           throw an error if the getcaps function does not return a subset of
8043           the template caps.
8044         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8045           make disconts without position info an error in debugging
8046         * tests/spidey_bench.c: (handoff), (main):
8047           don't count first try when averaging
8048
8049 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8050
8051         * gst/gstplugin.c: (gst_plugin_load_file):
8052           figure out problem with dynamic test
8053
8054 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8055
8056         * docs/gst/Makefile.am:
8057           fix docs build
8058
8059 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8060
8061         * po/POTFILES.in:
8062         * po/af.po:
8063         * po/az.po:
8064         * po/en_GB.po:
8065         * po/fr.po:
8066         * po/nl.po:
8067         * po/sr.po:
8068         * po/sv.po:
8069         * po/tr.po:
8070         * po/uk.po:
8071         * tools/gst-register.c: (plugin_added_func), (main):
8072           i18n-ize -register, fix plural
8073
8074 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8075
8076         * gst/elements/gstidentity.c: (gst_identity_class_init),
8077         (gst_identity_init), (gst_identity_chain),
8078         (gst_identity_set_property), (gst_identity_get_property):
8079         * gst/elements/gstidentity.h:
8080           check for perfect stream
8081
8082 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8083
8084         * gst/elements/gstidentity.c: (gst_identity_chain):
8085           print offset_end
8086
8087 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8088
8089         * docs/gst/Makefile.am:
8090         * docs/gst/gstreamer-docs.sgml:
8091           doc fixes
8092
8093 2004-06-24  David Schleef  <ds@schleef.org>
8094
8095         * autogen.sh:  Remove call to env, since the buildbot isn't
8096         broken anymore.
8097
8098 2004-06-24  Wim Taymans  <wim@fluendo.com>
8099
8100         * gst/elements/Makefile.am:
8101         * gst/elements/gstelements.c:
8102         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8103         (gst_multifdsink_class_init), (gst_multifdsink_init),
8104         (gst_multifdsink_add), (gst_multifdsink_remove),
8105         (gst_multifdsink_clear), (gst_multifdsink_chain),
8106         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8107         * gst/elements/gstmultifdsink.h:
8108         Added an element that writes to multiple filedescriptors at once.
8109
8110 2004-06-24  Benjamin Otte  <otte@gnome.org>
8111
8112         * gst/parse/grammar.y:
8113           don't try to link elements before they have been added to bins
8114
8115 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8116
8117         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8118         (gst_file_pad_get_length):
8119         * libs/gst/bytestream/filepad.h:
8120           add 2 new functions
8121
8122 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8123
8124         * docs/gst/gstreamer-sections.txt:
8125         remove from docs, the define that Benjamin removed from gstelement.h
8126
8127 2004-06-22  Benjamin Otte  <otte@gnome.org>
8128
8129         * gst/gstelement.h:
8130           remove define that referenced a nonexisting GstElement struct member
8131
8132 2004-06-20  Benjamin Otte  <otte@gnome.org>
8133
8134         * gst/gstdata.c: (gst_data_is_writable):
8135           whoops, return values were wrong, so writable data was marked as
8136           non-writable and vice versa. (fixes #143953, spotted by Francis
8137           Labonte)
8138           Shows how rarely we need to copy data ;)
8139
8140 2004-06-20  Benjamin Otte  <otte@gnome.org>
8141
8142         * testsuite/schedulers/.cvsignore:
8143         * testsuite/schedulers/Makefile.am:
8144         * testsuite/schedulers/143777-2.c: (main):
8145           add test for opt breakage in bug #143777
8146
8147 2004-06-20  Benjamin Otte  <otte@gnome.org>
8148
8149         * gst/gstpad.c: (gst_pad_call_chain_function):
8150           check for if we were unlinked while inside the chainfunction (fixes
8151           entrygthread having issues with #143777)
8152         * testsuite/schedulers/143777.c: (main):
8153         * testsuite/schedulers/Makefile.am:
8154           add a test for that fix
8155
8156 2004-06-20  Benjamin Otte  <otte@gnome.org>
8157
8158         * gst/gstvalue.c: (gst_value_set_int_range):
8159           test that start is smaller then end
8160         * libs/gst/bytestream/Makefile.am:
8161         * libs/gst/bytestream/filepad.c: 
8162         * libs/gst/bytestream/filepad.h:
8163           add GstFilePad - a pad that behaves like a FILE*
8164         * testsuite/bytestream/.cvsignore:
8165         * testsuite/bytestream/Makefile.am:
8166         * testsuite/bytestream/filepadsink.c: 
8167           test for the GstFilePad
8168
8169 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8170
8171         * gst/elements/gstidentity.c: (gst_identity_class_init),
8172         (gst_identity_init), (gst_identity_set_clock),
8173         (gst_identity_chain), (gst_identity_set_property),
8174         (gst_identity_get_property):
8175         * gst/elements/gstidentity.h:
8176         * gst/gstclock.c: (gst_clock_id_wait):
8177           add a "sync" property to sync to the clock
8178
8179 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8180
8181         * gst/gstelementfactory.c: (gst_element_factory_create):
8182           make the freakin "elementfactory bla has no type" message more
8183           useful. So we actually can do something when someone shows up
8184           complaining about it.
8185
8186 2004-06-15  Johan Dahlin  <johan@gnome.org>
8187
8188         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8189         found. This matches the old behavior better. Thanks to Thomas for
8190         pointing out.
8191
8192 2004-06-14  David Schleef  <ds@schleef.org>
8193
8194         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8195         -fomit-frame-pointer.  Appears to generate correct code in
8196         other cases as well.
8197
8198 2004-06-14  Johan Dahlin  <johan@gnome.org>
8199
8200         * tools/gst-inspect.c (main): Add two new command line options: -a
8201         to print all elements and -n to print the name on each line. Also
8202         fix some error reporting.
8203         (main): Simplify, remove -n and always print names if -a is specified
8204
8205 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8206
8207         * win32/gstconfig.h:
8208         * win32/GSTreamer.vcproj:
8209         * win32/Makefile:
8210         * gst/gstconfig.h.in:
8211         * gst/gst.h:
8212         * gst/gstbin.h:
8213         * gst/gstelement.h:
8214         * gst/gstevent.h:
8215         * gst/gstobject.h:
8216         * gst/gstpad.h:
8217         * docs/gst/gstreamer-sections.txt:
8218         * docs/gst/tmpl/gstconfig.sgml:
8219           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8220
8221 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8222         * docs/gst/gstreamer-sections.txt:
8223         * docs/gst/tmpl/gstconfig.sgml:
8224         Add the GSTREAMER_EXPORT macro to the docs
8225
8226 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8227
8228         * tools/gst-compprep.c: (handle_xmlerror), (main):
8229         Add a check for the version that introduced SetStructuredError to fix
8230         the build on FC1
8231
8232 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8233
8234         * win32/msvc71.sln:
8235         * win32/testsuite/:
8236           prepare to compile the testsuite with MSVC
8237
8238 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8239
8240         * docs/manual/win32.xml:
8241           attempt to transform the Win32 README into an XML doc
8242
8243 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8244
8245         * gst/gst.c:
8246         * gst/gstbin.*:
8247         * gst/config.h.in:
8248         * gst/gstelement.*:
8249         * gst/gstevent.h:
8250         * gst/gstobject.*:
8251         * gst/gstpad.h:
8252         * tools/gst-register.c:
8253         * win32/gstreamer.def:
8254           extern symbols are now exported for the Windows DLL
8255
8256 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8257
8258         * gst/gstinfo.h:
8259           fix a problem to enable/disable DEBUG under MSVC
8260
8261 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8262
8263         * win32/:
8264           enable more debug code in DEBUG build
8265
8266 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8267
8268         * win32/config.h:
8269         * gst/gst-i18n-app.h:
8270           enable NLS under Windows
8271
8272 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8273         * tools/gst-compprep.c: (handle_xmlerror), (main):
8274           Make an error that baffled me a bit clearer
8275
8276 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8277
8278         * gst/gstqueue.c:
8279           don't use g_queue_get_length () because it's 2.4, use ->length
8280
8281 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8282
8283         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8284
8285         * tools/gst-inspect.c: (print_signal_info):
8286           don't free random data twice. (fixes #144185)
8287
8288 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8289
8290         * gst/gstqueue.c:
8291         * gst/gstqueue.h:
8292           fix removing from the wrong queue on event timeout
8293           fix disposing of the event queue by casting correctly
8294           add mutexes for handling the event queue
8295           someone was sleeping when fixing queue last time around :)
8296
8297 2004-06-10  Johan Dahlin  <johan@gnome.org>
8298
8299         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8300         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8301
8302 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8303
8304         * docs/random/gdp:
8305         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8306         * libs/gst/dataprotocol/dataprotocol.c:
8307         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8308         (gst_dp_buffer_from_header):
8309         * libs/gst/dataprotocol/dataprotocol.h:
8310         * libs/gst/dataprotocol/dp-private.h:
8311           rev version to 0.1, add buffer flags and copy them
8312
8313 2004-06-09  Johan Dahlin  <johan@gnome.org>
8314
8315         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8316         the flags from the buffer we're copying.
8317
8318 2004-06-09  Wim Taymans  <wim@fluendo.com>
8319
8320         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8321         * gst/elements/gstidentity.c: (gst_identity_init),
8322         (gst_identity_chain):
8323         Print more buffer info in fakesink.
8324         Make identity output similar to fakesink.
8325
8326 2004-06-07  Daniel Gazard  <dany42@free.fr>
8327
8328         reviewed by Benjamin Otte  <otte@gnome.org>
8329
8330         * configure.ac:
8331           fix cross compiling not working. (fixes #143741)
8332
8333 2004-06-07  Benjamin Otte  <otte@gnome.org>
8334
8335         * gst/gstelement.c: (gst_element_set_time_delay):
8336           add failure check
8337         * gst/gstinfo.h:
8338           put brackets around macro arguments of GST_TIME_ARGS, add note to
8339           move it to correct header in 0.9
8340
8341 2004-06-07  Benjamin Otte  <otte@gnome.org>
8342
8343         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8344         (gst_file_index_load), (_file_index_id_save_entries),
8345         (gst_file_index_commit), (gst_file_index_add_association),
8346         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8347         (gst_file_index_plugin_init):
8348           make debugging use a default category
8349
8350 2004-06-06  David Moore  <dcm@acm.org>
8351
8352         reviewed by Benjamin Otte  <otte@gnome.org>
8353
8354         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8355         (gst_fdsrc_change_state):
8356           reset offset counter when going READY => PAUSED. (fixes #142903)
8357
8358 2004-06-06  ed@catmur.co.uk
8359
8360         reviewed by Benjamin Otte  <otte@gnome.org>
8361
8362         * gst/registries/gstxmlregistry.c:
8363         (gst_xml_registry_rebuild_recurse):
8364           don't rely on g_dir_open to figure out if a file is a directory, use
8365           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8366           directories. (fixes #142850)
8367
8368 2004-06-06  Benjamin Otte  <otte@gnome.org>
8369
8370         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8371           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8372         * libs/gst/bytestream/adapter.c:
8373         * libs/gst/bytestream/adapter.h:
8374           fix copyright in header and typo in debugging category name
8375
8376 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8377
8378         * configure.ac:
8379           bump nano to cvs
8380
8381 === release 0.8.3 ===
8382
8383 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8384
8385         * configure.ac:
8386           update libtool versioning
8387           do a new release
8388         * docs/gst/tmpl/gstelement.sgml:
8389         * docs/gst/tmpl/gsttypes.sgml:
8390         * gst/gstinfo.c: (_gst_debug_init):
8391           put back GST_CAT_DATAFLOW to fix API breakage
8392
8393 2004-06-04  David Schleef  <ds@schleef.org>
8394
8395         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8396
8397 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8398
8399         * configure.ac:
8400           bump nano to cvs
8401
8402 === release 0.8.2 ===
8403
8404 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8405
8406         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8407           check GST_DEBUG environment variable which is parsed the same way
8408           as --gst-debug=
8409
8410 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8411
8412         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8413                             gstmd5sink.c gstshaper.c gsttee.c
8414                             gsttypefindelement.c
8415         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8416
8417           - removing trailing commas at end of enums
8418             it is correct C99 code but C90 compilers would complain
8419             (AIX, Forte, ...)
8420             ('should' fix #143290, at least partially)
8421
8422 2004-05-27  Wim Taymans  <wim@fluendo.com>
8423
8424         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8425         (chain_group_set_enabled), (create_group), (add_to_group),
8426         (merge_groups), (setup_group_scheduler), (group_elements),
8427         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8428         Don't try to follow the pad connections with other groups
8429         when a loop based element is added to the scheduler because
8430         the bin will inform the scheduler about the pad links a little
8431         later.
8432
8433 2004-05-27  Wim Taymans  <wim@fluendo.com>
8434
8435         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8436         (remove_from_chain), (chain_group_set_enabled),
8437         (setup_group_scheduler), (group_element_set_enabled),
8438         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8439         (gst_opt_scheduler_show):
8440         Elements without a group can do a state change as well, just wait
8441         with the setup of the scheduling function when it is added to a
8442         chain.
8443
8444 2004-05-27  Wim Taymans  <wim@fluendo.com>
8445
8446         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8447         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8448         (merge_groups), (setup_group_scheduler),
8449         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8450         (gst_opt_scheduler_show):
8451         Fixes to maintain internal consistency of the scheduler data
8452         structures. 
8453          - adding an enabled group to a chain should increment the
8454            number of enabled elements in that chain.
8455          - removing an enabled group from a chain could disable the
8456            chain.
8457          - removing a disabled group from a chain could enable the
8458            chain.
8459          - add g_assert when internal inconsistency is detected.
8460          - adding an element to a group could increase the number of
8461            links this group has with other groups.
8462          - merging two groups also merges the chains.
8463          - also show group links in the _show method.
8464            
8465
8466 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8467
8468         * gst/gstcaps.c: (gst_caps_structure_simplify):
8469           don't print error messages when there is no error
8470         * gst/gstvalue.c: (gst_value_compare_int_range):
8471           compare the second value, too
8472         * testsuite/caps/Makefile.am:
8473         * testsuite/caps/random.c: (assert_on_error), (main):
8474           add tests to make sure the two things above are checked for
8475
8476 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8477
8478         * configure.ac:
8479         * libs/gst/dataprotocol/Makefile.am:
8480         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8481         * libs/gst/dataprotocol/dataprotocol.h:
8482           wrap header in GST_ENABLE_NEW.  make code use it
8483
8484 2004-05-23  Johan Dahlin  <johan@gnome.org>
8485
8486         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8487         so verbose and print GstElement signal names all the time.
8488
8489 2004-05-22  David Schleef  <ds@schleef.org>
8490
8491         * gst/registries/gstxmlregistry.c:
8492         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8493         (bug #142957)
8494
8495 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8496
8497         * configure.ac:
8498           scrub cflags for glib2 so gcc doesn't complain when glib is in
8499           /usr/local
8500
8501 2004-05-21  Johan Dahlin  <johan@gnome.org>
8502
8503         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8504         __GNUC__, patch from Brian Cameron, fixes bug #142804
8505
8506 2004-05-20  David Schleef  <ds@schleef.org>
8507
8508         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8509         comparison code.  (bug #142819)
8510
8511 2004-05-20  Wim Taymans  <wim@fluendo.com>
8512
8513         * gst/gstbuffer.c: (gst_buffer_default_copy):
8514         * gst/gstbuffer.h:
8515         Added Comment to a flag.
8516         copy relevant flags in _buffer_copy.
8517
8518 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8519
8520         reviewed by: Wim Taymans <wim at fluendo dot com>
8521
8522         * gst/gstbuffer.h:
8523           add GST_BUFFER_IN_CAPS buffer flag
8524         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8525         (gst_structure_parse_any_list), (gst_structure_parse_list),
8526         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8527         * gst/gstvalue.c: (gst_value_serialize_any_list),
8528         (gst_value_transform_any_list_string),
8529         (gst_value_list_prepend_value), (gst_value_list_append_value),
8530         (gst_value_list_get_size), (gst_value_list_get_value),
8531         (gst_value_transform_list_string),
8532         (gst_value_transform_fixed_list_string),
8533         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8534         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8535         (_gst_value_initialize):
8536         * gst/gstvalue.h:
8537           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8538           < , > as a format.
8539         * testsuite/caps/string-conversions.c: (main):
8540           add regression tests for < >
8541
8542 2004-05-20  Johan Dahlin  <johan@gnome.org>
8543
8544         * docs/gst/Makefile.am (all-local): Re-add
8545
8546 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8547
8548         * docs/gst/Makefile.am:
8549         * docs/gst/gstreamer-docs.sgml:
8550         * docs/libs/Makefile.am:
8551         * docs/libs/gstreamer-libs-docs.sgml:
8552           fix distcheck issues
8553
8554 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8555
8556         * libs/gst/dataprotocol/Makefile.am:
8557           add to autotest
8558
8559 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8560
8561         * libs/gst/dataprotocol/Makefile.am:
8562         * libs/gst/dataprotocol/dataprotocol.c:
8563         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8564         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8565         * libs/gst/dataprotocol/dp-private.h:
8566           use GST macros to read/write fixed length ints
8567           add some more asserts
8568
8569 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8570
8571         * docs/libs/gstreamer-libs-docs.sgml:
8572         * docs/libs/gstreamer-libs-sections.txt:
8573           remove idct and putbits
8574         * configure.ac:
8575         * docs/libs/tmpl/gstdataprotocol.sgml:
8576         * libs/gst/Makefile.am:
8577         * libs/gst/dataprotocol/Makefile.am:
8578         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8579         (buffer_test), (caps_test), (event_test), (main):
8580         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8581         (gst_dp_dump_byte_array), (gst_dp_init),
8582         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8583         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8584         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8585         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8586         (gst_dp_validate_header), (gst_dp_validate_payload),
8587         (gst_dp_validate_packet), (plugin_init):
8588         * libs/gst/dataprotocol/dataprotocol.h:
8589         * libs/gst/dataprotocol/dp-private.h:
8590           add dataprotocol
8591
8592 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8593
8594         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8595           fix int variable deserialization and add a helper so we can actually
8596           debug this.
8597
8598 2004-05-18  David Schleef  <ds@schleef.org>
8599
8600         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8601           argv[0].  Calling yourself is probably not the best way to
8602           construct a test like this, btw.
8603
8604 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8605
8606         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8607           don't claim to be more intelligent than a scheduler when the
8608           scheduler claims the pipeline is stopped
8609         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8610         (safe_cothread_destroy),
8611         (gst_entry_scheduler_remove_all_cothreads),
8612         (gst_entry_scheduler_reset), (_remove_cothread),
8613         (gst_entry_scheduler_state_transition):
8614           hold off cothread destruction if we're not in main cothread
8615         * configure.ac:
8616         * testsuite/Makefile.am:
8617           add new test dir
8618         * testsuite/schedulers/.cvsignore:
8619         * testsuite/schedulers/Makefile.am:
8620           add tests
8621         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8622           check relinking and adding/removing elements from a running pipeline
8623         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8624           check unlinking in a running pipeline
8625         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8626           check unreffing a running pipeline
8627         * testsuite/schedulers/useless_iteration.c: (main):
8628           check iterating a pipeline that contains running threads works
8629
8630 2004-05-18  David Schleef  <ds@schleef.org>
8631
8632         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8633           is false.
8634
8635 2004-05-18  Wim Taymans  <wim@fluendo.com>
8636
8637         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8638         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8639         Fixed an error introduced with patch for 1.63. When setting
8640         a get based element as the entry point in a group, make sure
8641         to mark the group as GET based.
8642
8643 2004-05-18  Wim Taymans  <wim@fluendo.com>
8644
8645         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8646         (setup_group_scheduler), (loop_group_schedule_function),
8647         (gst_opt_scheduler_pad_link):
8648         Added some more debug info and fixed a bug where the group
8649         type was set to LOOP but it was in fact unknown.
8650
8651 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8652
8653         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8654           make resetting scheduler work twice in a row
8655
8656 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8657
8658         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8659         (CREATE_USERIALIZATION), (_gst_value_initialize),
8660         (gst_value_compare_float), (gst_value_serialize_float),
8661         (gst_value_deserialize_float), (gst_value_compare_enum),
8662         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8663           add serialization and comparison functions for long, int64, enum and
8664           float values
8665         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8666           use best serialization function in type hierarchy instead of only a
8667           matching one. This is required for enums to work.
8668         * gst/parse/grammar.y:
8669           use gst_caps_deserialize
8670         * testsuite/parse/Makefile.am:
8671           parse1 now works
8672         * testsuite/parse/parse1.c: (main):
8673           remove aggregator check, aggregator is broken, this test works now
8674           but fails because of bug #138012
8675         * testsuite/parse/parse2.c: (main):
8676           s/xvideosink/xvimagesink - this test looks a lot like we should
8677           disable it
8678
8679 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8680
8681         * gst/gstelement.c: (gst_element_class_init):
8682           whoops, store the signal id correctly
8683         * gst/schedulers/gstbasicscheduler.c:
8684         (gst_basic_scheduler_chain_wrapper):
8685           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8686           chain function isn't linked
8687
8688 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8689         * configure.ac:
8690         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8691         support until we decide where the flags should be used
8692         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8693         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8694         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8695         Output refused caps in the debug info
8696
8697 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8698
8699         * gst/elements/gstidentity.c: (gst_identity_chain):
8700           add duration debug
8701         * gst/gstinfo.c: (gst_debug_log_default):
8702           add timestamp
8703
8704 2004-05-13  Benjamin Otte  <otte@gnome.org>
8705
8706         * gst/gstpipeline.c: (gst_pipeline_dispose),
8707         (gst_pipeline_change_state):
8708           call gst_scheduler_reset on dispose (fixes #141416)
8709
8710 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8711
8712         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8713           compute mapsize correctly
8714         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8715           use correct datatypes when calling a varargs function
8716         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8717           push a DISCONT event as first thing
8718         * gst/gst_private.h:
8719         * gst/gstinfo.c: (_gst_debug_init):
8720           remove GST_DATAFLOW debugging category
8721         * gst/gstbin.c: (gst_bin_iterate):
8722           use GST_SCHEDULING category
8723         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8724         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8725         (gst_pad_call_get_function):
8726           add GST_DATAFLOW to easily track flow of buffers or events.
8727         * gst/gstqueue.c: (gst_queue_get_type),
8728         (gst_queue_handle_pending_events), (gst_queue_chain),
8729         (gst_queue_get), (gst_queue_handle_src_event):
8730           use own static debugging category GST_DATAFLOW for dataflow,
8731           use DEBUG category for showing which path events go, use LOG
8732           category for buffers.
8733
8734 2004-05-10  David Schleef  <ds@schleef.org>
8735
8736         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8737
8738 2004-05-10  David Schleef  <ds@schleef.org>
8739
8740         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8741         symbols, because otherwise we don't know what they are.  Thanks,
8742         the GStreamer team.
8743         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8744
8745 2004-05-10  David Schleef  <ds@schleef.org>
8746
8747         (from Steve Lhomme)
8748         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8749         are deleted.  Fix.
8750         * win32/Makefile.inspect:
8751         * win32/Makefile.launch:
8752         * win32/Makefile.register:
8753
8754 2004-05-10  David Schleef  <ds@schleef.org>
8755
8756         * gst/gstinfo.h: Add missing inline function.
8757         * gst/gsttrace.c: add include
8758         * gst/parse/grammar.y: remove unused code
8759         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8760         more portable.
8761         * tools/gst-register.c: wrap unistd.h
8762         
8763         More additions/fixes from Steve for the MSVC build.
8764         * win32/GStreamer.vcproj:
8765         * win32/Makefile:
8766         * win32/Makefile.inspect:
8767         * win32/Makefile.launch:
8768         * win32/Makefile.register:
8769         * win32/README.txt:
8770         * win32/gst-inspect.vcproj:
8771         * win32/gst-launch.vcproj:
8772         * win32/gst-register.vcproj:
8773         * win32/gstbytestream.def:
8774         * win32/gstbytestream.vcproj:
8775         * win32/gstconfig.h:
8776         * win32/gstelements.def:
8777         * win32/gstelements.vcproj:
8778         * win32/gstenumtypes.c:
8779         * win32/gstenumtypes.h:
8780         * win32/gstoptimalscheduler.def:
8781         * win32/gstoptimalscheduler.vcproj:
8782         * win32/gstreamer.def:
8783         * win32/gstspider.def:
8784         * win32/gstspider.vcproj:
8785         * win32/gstversion.h:
8786         * win32/msvc71.sln:
8787
8788 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8789
8790         * gst/gstelement.c: (gst_element_class_init),
8791         (gst_element_no_more_pads):
8792         * gst/gstelement.h:
8793           add gst_element_no_more_pads and the "no-more-pads" signal
8794
8795 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8796
8797         * gst/gstregistry.c: (gst_registry_add_plugin):
8798           refuse to add plugins when a plugin with same name is already
8799           registered. Fixes a bunch of "How to remove plugins?" issues.
8800           May lead to other problems though, let's test
8801
8802 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8803
8804         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8805         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8806         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8807
8808 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8809
8810         * tests/Makefile.am: fix am16 issue
8811
8812 2004-05-09  Benjamin Otte  <otte@gnome.org>
8813
8814         * libs/gst/bytestream/Makefile.am:
8815           we should indeed add .c files to makefiles or they won't be built
8816           (d'oh)
8817
8818 2004-05-08  Benjamin Otte  <otte@gnome.org>
8819
8820         * gst/gstpad.c: (gst_pad_proxy_fixate):
8821           really reduce the set of caps
8822
8823 2004-05-08  Benjamin Otte  <otte@gnome.org>
8824
8825         * tests/Makefile.am:
8826         * tests/spidey_bench.c: (handoff), (main):
8827           add benchmark to test how long spider needs to create a pipeline
8828
8829 2004-05-08  Benjamin Otte  <otte@gnome.org>
8830
8831         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8832           mark links as unengaged when unnegotiating instead of deactivating.
8833           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8834
8835 2004-05-08  Benjamin Otte  <otte@gnome.org>
8836
8837         * docs/manual/helloworld.xml:
8838           s/audiosink/osssink (patch by Patrick Guimond)
8839
8840 2004-05-07  David Schleef  <ds@schleef.org>
8841
8842         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8843         since it contains important stuff.
8844
8845 2004-05-07  David Schleef  <ds@schleef.org>
8846
8847         * testsuite/caps/caps.c: (test3), (main): A check for appending
8848         ANY caps.
8849
8850 2004-05-07  David Schleef  <ds@schleef.org>
8851
8852         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8853         which may contain commas.  Fixes detection of -Wa,-mregnames
8854
8855 2004-05-06  David Schleef  <ds@schleef.org>
8856
8857         Changes to handle compilers that don't have variadic macro
8858         support.  In particular, glib headers define some inlines
8859         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8860         builds.
8861         * gst/Makefile.am:
8862         * gst/cothreads.c:
8863         * gst/elements/gstfdsink.c:
8864         * gst/elements/gstfdsrc.c:
8865         * gst/elements/gstfilesink.c:
8866         * gst/elements/gstfilesrc.c:
8867         * gst/gst_private.h:
8868         * gst/gstatomic.c:
8869         * gst/gstcaps.c: (gst_caps_append):
8870         * gst/gstcpu.c: (gst_cpuid_i386):
8871         * gst/gstelement.c:
8872         * gst/gsterror.c:
8873         * gst/gstfilter.c:
8874         * gst/gstinfo.h:
8875         * gst/gstprobe.c:
8876         * gst/gstquery.c:
8877         * gst/gstregistry.c:
8878         * gst/gststructure.c:
8879         * gst/gsttaginterface.c:
8880         * gst/gsttrace.c: (gst_trace_new):
8881         * gst/gsttrashstack.c:
8882         * gst/gsturi.c:
8883         * gst/gstvalue.c:
8884         * gst/parse/grammar.y:
8885         * gst/parse/parse.l:
8886         * tools/gst-inspect.c: (main):
8887         * tools/gst-launch.c: (main):
8888         * tools/gst-xmlinspect.c: (PUT_STRING):
8889
8890 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8891
8892         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8893         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8894         * gst/elements/gstfilesrc.h:
8895           send NEW_MEDIA events correctly
8896         * gst/elements/gsttypefindelement.c: (start_typefinding),
8897         (gst_type_find_element_handle_event):
8898           restart typefinding when we get a NEW_MEDIA event
8899         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8900         (gst_bin_dispose):
8901           don't die when someone removes elements in callbacks
8902         * gst/gstelement.c: (gst_element_change_state):
8903           improve debugging
8904         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8905           we need a NEW_MEDIA event to engage a link
8906         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8907           don't g_print debugging stuff
8908         * testsuite/caps/simplify.c: (check_caps):
8909
8910 2004-05-04  Benjamin Otte  <otte@gnome.org>
8911
8912         * gst/parse/grammar.y:
8913           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8914
8915 2004-05-04  Benjamin Otte  <otte@gnome.org>
8916
8917         * testsuite/caps/renegotiate.c: (main):
8918           improve output in error case
8919
8920 2004-05-04  Benjamin Otte  <otte@gnome.org>
8921
8922         * gst/parse/grammar.y:
8923           fix assert to not trigger when there's no error argument
8924         * gst/parse/parse.l:
8925           fix definition of caps to allow more than two structures
8926         * testsuite/caps/Makefile.am:
8927         * testsuite/caps/renegotiate.c: (main):
8928           it's sinesrc and works in that case
8929
8930 2004-05-04  Wim Taymans  <wim@fluendo.com>
8931
8932         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8933         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8934         when removing an element from a group, we always need to
8935         decrement the link count that this group had with other 
8936         groups through the element.
8937         added an extra assert to catch inconsistencies when decrementing
8938         the link count.
8939
8940 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8941
8942         * configure.ac:
8943         * docs/gst/Makefile.am:
8944         * docs/gst/gstreamer-sections.txt:
8945         * docs/gst/tmpl/gstcompat.sgml:
8946         * examples/appreader/Makefile.am:
8947         * examples/cutter/Makefile.am:
8948         * examples/events/Makefile.am:
8949         * examples/helloworld/Makefile.am:
8950         * examples/helloworld2/Makefile.am:
8951         * examples/launch/Makefile.am:
8952         * examples/manual/Makefile.am:
8953         * examples/mixer/Makefile.am:
8954         * examples/pingpong/Makefile.am:
8955         * examples/plugins/Makefile.am:
8956         * examples/queue/Makefile.am:
8957         * examples/queue2/Makefile.am:
8958         * examples/queue3/Makefile.am:
8959         * examples/queue4/Makefile.am:
8960         * examples/retag/Makefile.am:
8961         * examples/thread/Makefile.am:
8962         * examples/typefind/Makefile.am:
8963         * examples/xml/Makefile.am:
8964         * gst/Makefile.am:
8965         * gst/autoplug/Makefile.am:
8966         * gst/elements/Makefile.am:
8967         * gst/gstcompat.h:
8968         * gst/indexers/Makefile.am:
8969         * gst/parse/Makefile.am:
8970         * gst/registries/Makefile.am:
8971         * gst/schedulers/Makefile.am:
8972         * libs/gst/bytestream/Makefile.am:
8973         * libs/gst/control/Makefile.am:
8974         * libs/gst/getbits/Makefile.am:
8975         * po/af.po:
8976         * po/az.po:
8977         * po/en_GB.po:
8978         * po/fr.po:
8979         * po/nl.po:
8980         * po/sr.po:
8981         * po/sv.po:
8982         * po/tr.po:
8983         * po/uk.po:
8984         * tests/Makefile.am:
8985         * tests/bufspeed/Makefile.am:
8986         * tests/instantiate/Makefile.am:
8987         * tests/memchunk/Makefile.am:
8988         * tests/muxing/Makefile.am:
8989         * tests/negotiation/Makefile.am:
8990         * tests/probes/Makefile.am:
8991         * tests/sched/Makefile.am:
8992         * tests/seeking/Makefile.am:
8993         * tests/threadstate/Makefile.am:
8994         * testsuite/caps/Makefile.am:
8995         * testsuite/cleanup/Makefile.am:
8996         * testsuite/dlopen/Makefile.am:
8997         * testsuite/dynparams/Makefile.am:
8998         * testsuite/plugin/Makefile.am:
8999         * testsuite/states/Makefile.am:
9000         * tools/Makefile.am:
9001           reorganize compile/link flags to be consistent
9002           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9003
9004 2004-05-04  David Schleef  <ds@schleef.org>
9005
9006         The "once more, with feeling" check-in.
9007         * testsuite/caps/Makefile.am: dist caps_strings
9008         * testsuite/caps/renegotiate.c: (main): This test triggers a
9009           segfault in the core.  Marking as failing.
9010
9011 2004-05-03  David Schleef  <ds@schleef.org>
9012
9013         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9014           by the build bots.
9015         * testsuite/caps/renegotiate.c: (main): Same.
9016
9017 2004-05-03  David Schleef  <ds@schleef.org>
9018
9019         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9020
9021 2004-05-03  David Schleef  <ds@schleef.org>
9022
9023         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9024           variable to find our source file.
9025
9026 2004-05-03  David Schleef  <ds@schleef.org>
9027
9028         * configure.ac:  Link plugins with libgstreamer and dependent
9029           libraries
9030         * testsuite/caps/Makefile.am:
9031         * testsuite/caps/caps_strings:
9032         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9033           through a file of caps strings and test each one
9034
9035 2004-05-04  Benjamin Otte  <otte@gnome.org>
9036
9037         * libs/gst/bytestream/Makefile.am:
9038         * libs/gst/bytestream/adapter.c: 
9039         * libs/gst/bytestream/adapter.h:
9040           add GstAdapter, similar to bytestream, but doesn't require ugly event
9041           handling or uglier loopbased elements
9042
9043 2004-05-03  David Schleef  <ds@schleef.org>
9044
9045         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9046         * testsuite/caps/erathostenes.c:
9047         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9048
9049 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9050
9051         * docs/pwg/pwg.xml:
9052           remove hardcoded stylesheet path (duh)
9053         * docs/random/release:
9054         * docs/gst/gstreamer-sections.txt:
9055         * gst/Makefile.am:
9056         * gst/gst.h:
9057         * gst/gst_private.h:
9058         * gst/gstcaps.c:
9059         * gst/gstevent.c:
9060         * gst/gstformat.c:
9061         * gst/gstinfo.c:
9062         * gst/gstinfo.h:
9063         * gst/gstinterface.c:
9064         * gst/gstmemchunk.c:
9065         * gst/gstprobe.c:
9066         * gst/gstquery.c:
9067         * gst/gstregistry.c:
9068         * gst/gstregistrypool.c:
9069         * gst/gststructure.c:
9070         * gst/gsttaginterface.c:
9071         * gst/gstthread.c:
9072         * gst/gsttrace.c:
9073         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9074         * gst/gsturi.c:
9075         * gst/gstvalue.c:
9076           deprecate gst_info; remove gstlog.h
9077    
9078
9079 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9080
9081         * Makefile.am:
9082         * po/en_GB.po:
9083         * po/sv.po:
9084         * po/uk.po:
9085           updated translations
9086
9087 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9088
9089         * gst/gstbin.c: (gst_bin_dispose):
9090           better debugging
9091
9092 2004-05-03  Johan Dahlin  <johan@gnome.org>
9093
9094         * gst/schedulers/gstoptimalscheduler.c
9095         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9096         really is a GstElement. Avoids critical when running gst-launch -v
9097         and a oggdemux/decoding pipeline.
9098
9099 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9100
9101         * docs/gst/tmpl/gstpipeline.sgml :
9102         * docs/manual/elements-api.xml :
9103                 doc fix by Patrick Guimond (Protector) from devel ML
9104                 reviewed by ronald
9105
9106 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9107
9108         * docs/gst/Makefile.am :
9109         * docs/libs/Makefile.am :
9110                 apply a patch from Arwed v. Merkatz so that gtk-doc
9111                 generated docs install (same for .devhelp file)
9112                 (fixes part 1 of #138836)
9113
9114 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9115
9116         * docs/faq/dependencies.xml: typo
9117         * docs/faq/getting.xml :
9118             - fix download URL for new gstreamer site
9119             - hide sf.net download page as latest version aren't there
9120             - fix apt URLs
9121             - fill "get via CVS" paragraph (link to dev page on the site)
9122         * docs/faq/general.xml:
9123             hide status tables as they no more exists
9124             change case on plugins license file to reflect reality
9125         * docs/faq/troubleshooting.xml:
9126             remove the wiki question/answer as there is no more wiki
9127
9128 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9129
9130         * gst/gsterror.h:
9131           include the headers needed for declarations used in this header
9132
9133 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9134
9135         * docs/random/uraeus/gstreamer_and_midi.txt :
9136           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9137           (fixes #132288)
9138
9139 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9140
9141         reviewed by Benjamin Otte  <otte@gnome.org>
9142
9143         * gst/schedulers/gthread-cothreads.h:
9144           free allocated data for main cothread, too when destroying context
9145           (fixes #141417)
9146
9147 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9148
9149         * docs/manual/goals.xml : remove duplicated paragraph at end 
9150         of doc page (fixes #141448)
9151
9152 2004-04-29  David Schleef  <ds@schleef.org>
9153
9154         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9155         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9156
9157 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9158
9159         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9160           fix property
9161         * gst/gstcaps.c:
9162           fix doc string
9163         * po/POTFILES.in:
9164           rename typefind source file
9165
9166 2004-04-28  David Schleef  <ds@schleef.org>
9167
9168         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9169         * win32/GStreamer.vcproj:
9170         * win32/Makefile:
9171         * win32/config.h:
9172         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9173         (_trewinddir), (_ttelldir), (_tseekdir):
9174         * win32/dirent.h:
9175         * win32/gst-inspect.vcproj:
9176         * win32/gst-launch.vcproj:
9177         * win32/gst-register.vcproj:
9178         * win32/gstbytestream.vcproj:
9179         * win32/gstelements.vcproj:
9180         * win32/gstoptimalscheduler.vcproj:
9181         * win32/gstspider.vcproj:
9182         * win32/gtchar.h:
9183         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9184         * win32/mman.h:
9185         * win32/mman.inl:
9186         * win32/msvc71.sln:
9187
9188 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9189
9190         * gst/gst.c: (init_post):
9191         * gst/gstinfo.c:
9192           remove useless _gst_progname stuff
9193         * tools/gst-inspect.c: (print_field), (print_caps):
9194           improve caps output
9195
9196 2004-04-28  David Schleef  <ds@schleef.org>
9197
9198         Disable parsing of a lot of files that aren't part of the
9199         exported API.  Move corresponding template files to old/,
9200         waiting for removal when they don't contain anything
9201         interesting.
9202         * docs/gst/Makefile.am:
9203         * docs/gst/gstreamer-sections.txt:
9204         * docs/gst/tmpl/cothreads.sgml:
9205         * docs/gst/tmpl/cothreads_compat.sgml:
9206         * docs/gst/tmpl/gettext.sgml:
9207         * docs/gst/tmpl/gobject2gtk.sgml:
9208         * docs/gst/tmpl/grammar.tab.sgml:
9209         * docs/gst/tmpl/gst-i18n-app.sgml:
9210         * docs/gst/tmpl/gst-i18n-lib.sgml:
9211         * docs/gst/tmpl/gst_private.sgml:
9212         * docs/gst/tmpl/gstaggregator.sgml:
9213         * docs/gst/tmpl/gstarch.sgml:
9214         * docs/gst/tmpl/gstatomic_impl.sgml:
9215         * docs/gst/tmpl/gstbufferstore.sgml:
9216         * docs/gst/tmpl/gstdata_private.sgml:
9217         * docs/gst/tmpl/gstdisksink.sgml:
9218         * docs/gst/tmpl/gstdisksrc.sgml:
9219         * docs/gst/tmpl/gstelementfactory.sgml:
9220         * docs/gst/tmpl/gstextratypes.sgml:
9221         * docs/gst/tmpl/gstfakesink.sgml:
9222         * docs/gst/tmpl/gstfakesrc.sgml:
9223         * docs/gst/tmpl/gstfdsink.sgml:
9224         * docs/gst/tmpl/gstfdsrc.sgml:
9225         * docs/gst/tmpl/gstfilesink.sgml:
9226         * docs/gst/tmpl/gstfilesrc.sgml:
9227         * docs/gst/tmpl/gsthttpsrc.sgml:
9228         * docs/gst/tmpl/gstidentity.sgml:
9229         * docs/gst/tmpl/gstindexfactory.sgml:
9230         * docs/gst/tmpl/gstmarshal.sgml:
9231         * docs/gst/tmpl/gstmd5sink.sgml:
9232         * docs/gst/tmpl/gstmultidisksrc.sgml:
9233         * docs/gst/tmpl/gstmultifilesrc.sgml:
9234         * docs/gst/tmpl/gstpadtemplate.sgml:
9235         * docs/gst/tmpl/gstpipefilter.sgml:
9236         * docs/gst/tmpl/gstschedulerfactory.sgml:
9237         * docs/gst/tmpl/gstsearchfuncs.sgml:
9238         * docs/gst/tmpl/gstshaper.sgml:
9239         * docs/gst/tmpl/gstspider.sgml:
9240         * docs/gst/tmpl/gstspideridentity.sgml:
9241         * docs/gst/tmpl/gststatistics.sgml:
9242         * docs/gst/tmpl/gsttee.sgml:
9243         * docs/gst/tmpl/gsttimecache.sgml:
9244         * docs/gst/tmpl/gsttypefind.sgml:
9245         * docs/gst/tmpl/gsttypefindfactory.sgml:
9246         * docs/gst/tmpl/gstxmlregistry.sgml:
9247         * docs/gst/tmpl/gthread-cothreads.sgml:
9248         * docs/gst/tmpl/old/cothreads.sgml:
9249         * docs/gst/tmpl/old/cothreads_compat.sgml:
9250         * docs/gst/tmpl/old/gettext.sgml:
9251         * docs/gst/tmpl/old/gobject2gtk.sgml:
9252         * docs/gst/tmpl/old/grammar.tab.sgml:
9253         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9254         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9255         * docs/gst/tmpl/old/gst_private.sgml:
9256         * docs/gst/tmpl/old/gstaggregator.sgml:
9257         * docs/gst/tmpl/old/gstarch.sgml:
9258         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9259         * docs/gst/tmpl/old/gstbufferstore.sgml:
9260         * docs/gst/tmpl/old/gstdata_private.sgml:
9261         * docs/gst/tmpl/old/gstdisksink.sgml:
9262         * docs/gst/tmpl/old/gstdisksrc.sgml:
9263         * docs/gst/tmpl/old/gstelementfactory.sgml:
9264         * docs/gst/tmpl/old/gstextratypes.sgml:
9265         * docs/gst/tmpl/old/gstfakesink.sgml:
9266         * docs/gst/tmpl/old/gstfakesrc.sgml:
9267         * docs/gst/tmpl/old/gstfdsink.sgml:
9268         * docs/gst/tmpl/old/gstfdsrc.sgml:
9269         * docs/gst/tmpl/old/gstfilesink.sgml:
9270         * docs/gst/tmpl/old/gstfilesrc.sgml:
9271         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9272         * docs/gst/tmpl/old/gstidentity.sgml:
9273         * docs/gst/tmpl/old/gstindexfactory.sgml:
9274         * docs/gst/tmpl/old/gstmarshal.sgml:
9275         * docs/gst/tmpl/old/gstmd5sink.sgml:
9276         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9277         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9278         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9279         * docs/gst/tmpl/old/gstpipefilter.sgml:
9280         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9281         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9282         * docs/gst/tmpl/old/gstshaper.sgml:
9283         * docs/gst/tmpl/old/gstspider.sgml:
9284         * docs/gst/tmpl/old/gstspideridentity.sgml:
9285         * docs/gst/tmpl/old/gststatistics.sgml:
9286         * docs/gst/tmpl/old/gsttee.sgml:
9287         * docs/gst/tmpl/old/gsttimecache.sgml:
9288         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9289         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9290         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9291         * docs/gst/tmpl/old/types.sgml:
9292         * docs/gst/tmpl/types.sgml:
9293
9294         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9295         gtkdoc-scan doesn't like files with the same name in different
9296         directories.
9297         * gst/elements/Makefile.am:
9298         * gst/elements/gstelements.c:
9299         * gst/elements/gsttypefind.c: 
9300         * gst/elements/gsttypefind.h:
9301         * gst/elements/gsttypefindelement.c:
9302         * gst/elements/gsttypefindelement.h:
9303
9304 2004-04-28  David Schleef  <ds@schleef.org>
9305
9306         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9307         patch (bug #141317):
9308         * gst/gst-i18n-lib.h: Allow disabling gettext.
9309         * gst/gstatomic_impl.h: disable warning when it's dumb.
9310         * gst/gstclock.c: fix include
9311         * gst/gstcompat.h: fix variadic macro
9312         * gst/gstinfo.c: fix include
9313         * gst/gstmacros.h: add defines for inlines on MSVC
9314         * gst/gstplugin.c: fix includes
9315         * gst/gstregistry.c: fix includes
9316         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9317         * gst/gstsystemclock.c: fix include
9318         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9319         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9320         * gst/registries/gstxmlregistry.c:
9321         (gst_xml_registry_parse_element_factory): fix use of non-portable
9322         functions
9323         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9324         * libs/gst/control/dparammanager.h: same
9325
9326 2004-04-28  David Schleef  <ds@schleef.org>
9327
9328         Move a bunch of unused files to old/ with names that are
9329         not case-insensitive-unique.  These files still contain some
9330         useful information that needs to be merged into gstbin.sgml,
9331         etc., so they shouldn't be deleted yet.
9332         * docs/gst/tmpl/GstBin.sgml:
9333         * docs/gst/tmpl/GstBuffer.sgml:
9334         * docs/gst/tmpl/GstCaps.sgml:
9335         * docs/gst/tmpl/GstClock.sgml:
9336         * docs/gst/tmpl/GstCompat.sgml:
9337         * docs/gst/tmpl/GstData.sgml:
9338         * docs/gst/tmpl/GstElement.sgml:
9339         * docs/gst/tmpl/GstEvent.sgml:
9340         * docs/gst/tmpl/GstIndex.sgml:
9341         * docs/gst/tmpl/GstStructure.sgml:
9342         * docs/gst/tmpl/GstTag.sgml:
9343         * docs/gst/tmpl/old/GstBin.sgml:
9344         * docs/gst/tmpl/old/GstBuffer.sgml:
9345         * docs/gst/tmpl/old/GstCaps.sgml:
9346         * docs/gst/tmpl/old/GstClock.sgml:
9347         * docs/gst/tmpl/old/GstCompat.sgml:
9348         * docs/gst/tmpl/old/GstData.sgml:
9349         * docs/gst/tmpl/old/GstElement.sgml:
9350         * docs/gst/tmpl/old/GstEvent.sgml:
9351         * docs/gst/tmpl/old/GstIndex.sgml:
9352         * docs/gst/tmpl/old/GstStructure.sgml:
9353         * docs/gst/tmpl/old/GstTag.sgml:
9354
9355 2004-04-28  David Schleef  <ds@schleef.org>
9356
9357         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9358         (gst_caps_append), (gst_caps_append_structure),
9359         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9360         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9361         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9362         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9363         (gst_caps_intersect), (gst_caps_normalize),
9364         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9365         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9366         * gst/gstcaps.h: use GST_IS_CAPS().
9367
9368 2004-04-26  David Schleef  <ds@schleef.org>
9369
9370         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9371         assembly.  gcc doesn't handle it correctly. (bug #141083)
9372         * gst/gsttrashstack.h: same
9373
9374 2004-04-25  Benjamin Otte  <otte@gnome.org>
9375
9376         * gst/gstelement.c: (gst_element_change_state):
9377           fix assertion to do an int comparison
9378
9379 2004-04-25  Benjamin Otte  <otte@gnome.org>
9380
9381         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9382           better debugging output on error
9383
9384 2004-04-25  Benjamin Otte  <otte@gnome.org>
9385
9386         * gst/gstcaps.c: (gst_caps_subtract):
9387           fix memleak
9388
9389 2004-04-23  Benjamin Otte  <otte@gnome.org>
9390
9391         * gst/gstvalue.c: (gst_value_compare_buffer),
9392         (_gst_value_initialize):
9393           add comparison function for buffers
9394
9395 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9396
9397         * docs/pwg/pwg.xml:
9398           Just found out that this so-called "ima-wav" format is really
9399           just "dvi adpcm" (according to the MS WAV documentation). So
9400           renaming it. We didn't use it yet anyway.
9401
9402 2004-04-23  Benjamin Otte  <otte@gnome.org>
9403
9404         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9405           call gst_caps_is_subset
9406
9407 2004-04-23  Benjamin Otte  <otte@gnome.org>
9408
9409         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9410         (gst_caps_is_subset):
9411           add documentation
9412
9413 2004-04-23  Benjamin Otte  <otte@gnome.org>
9414           
9415         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9416         (gst_caps_structure_subtract), (gst_caps_subtract),
9417         (gst_caps_structure_figure_out_union),
9418         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9419           fix simplifying and subtracting not working correctly with optional
9420           properties
9421           solve assorted problems that make it now simplify ebven more
9422         * docs/gst/tmpl/gstcaps.sgml:
9423         * gst/gstcaps.h:
9424           make gst_caps_do_simplify return a bool to indicate if it simplified
9425         * testsuite/caps/simplify.c: (main):
9426           add more checks. The tests is quite a bit useless right now because
9427           the core is heavily simplifying itself.
9428         * testsuite/caps/caps.h:
9429           fix caps to contain all optional properties
9430
9431 2004-04-22  Benjamin Otte  <otte@gnome.org>
9432
9433         * docs/gst/tmpl/gstcaps.sgml:
9434         * docs/gst/tmpl/gstfilesrc.sgml:
9435         * docs/gst/tmpl/gststructure.sgml:
9436         * docs/gst/tmpl/gstvalue.sgml:
9437           update for recent API changes
9438         * gst/gstcaps.c: (gst_caps_do_simplify):
9439           fix to stop trying with a freed structure
9440         * gst/gstpad.c: (gst_pad_link_fixate):
9441           simplify caps
9442         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9443           remove C++ comment
9444         * gst/gstpad.h:
9445           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9446         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9447         (gst_structure_to_string):
9448           keep the correct type when using lists of ranges
9449         * gst/gstvalue.c: (gst_value_list_prepend_value),
9450         (gst_value_list_append_value):
9451           copy the value before adding to the list (d'oh)
9452         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9453         (gst_value_subtract_int_range_int_range):
9454           handle overflows correctly
9455         * gst/gstvalue.c: (gst_value_subtract_from_list):
9456           fix memleak
9457         * testsuite/caps/caps.h:
9458           add a caps that caused segfaults
9459
9460 2004-04-22  Benjamin Otte  <otte@gnome.org>
9461
9462         * testsuite/refcounting/pad.c: (main):
9463           fix test
9464
9465 2004-04-22  Benjamin Otte  <otte@gnome.org>
9466
9467         * gst/gstcaps.c: (gst_caps_subtract):
9468           allow subtracting ANY and EMPTY from ANY caps
9469
9470 2004-04-22  Benjamin Otte  <otte@gnome.org>
9471
9472         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9473         (gst_caps_union):
9474           only simplify in functions that create new caps. Simplifying in
9475           gst_caps_append breaks tests.
9476
9477 2004-04-22  Benjamin Otte  <otte@gnome.org>
9478
9479         * gst/gstcaps.c: (gst_caps_structure_simplify):
9480           unset GValue after use
9481         * gst/gstcaps.c: (gst_caps_append), 
9482         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9483           use gst_caps_simplify (reduces registry size by 30%)
9484         * gst/gstpad.c: (gst_pad_template_new):
9485           don't allow NULL caps
9486
9487 2004-04-22  Benjamin Otte  <otte@gnome.org>
9488
9489         * docs/gst/gstreamer-sections.txt:
9490           add gst_caps_do_simplify
9491         * gst/gstcaps.c:
9492           add documentation for gst_caps_do_simplify
9493         * gst/gstvalue.h:
9494           fix typo in gst_value_register_subtract_func declaration for gst-doc
9495
9496 2004-04-22  Benjamin Otte  <otte@gnome.org>
9497
9498         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9499           fix bug when converting from empty string.
9500         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9501         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9502           use gst_caps_new_empty to allocate a new caps. Only that function
9503           allocates memory for caps now.
9504         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9505         (gst_caps_remove_structure):
9506           add ability to remove one structure (but not to header yet)
9507         * gst/gstcaps.c: (gst_caps_compare_structures),
9508         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9509         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9510         * gst/gstcaps.h:
9511           add gst_caps_do_simplify that tries to simplify a caps in place.
9512           Deprecate old gst_caps_simplify function.
9513         * testsuite/caps/caps.h:
9514           add caps.h containing a common set of caps to test against.
9515         * testsuite/caps/sets.c: (check_caps), (main):
9516           use it.
9517         * testsuite/caps/.cvsignore:
9518         * testsuite/caps/Makefile.am:
9519         * testsuite/caps/simplify.c: (check_caps), (main):
9520           add test to check correctness and efficency of caps simplification.
9521
9522 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9523
9524         reviewed by Benjamin Otte  <otte@gnome.org>
9525
9526         * gst/gstparse.c: (_gst_parse_escape):
9527           Free the GString used in _gst_parse_escape()
9528
9529 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9530
9531         * gst/gstpad.c: (gst_pad_link_negotiate):
9532           refuse to link if the link is not possible
9533         * configure.ac:
9534         * testsuite/Makefile.am:
9535         * testsuite/negotiation/.cvsignore:
9536         * testsuite/negotiation/Makefile.am:
9537         * testsuite/negotiation/pad_link.c: (main):
9538           add test that checks the above behaviour
9539
9540 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9541
9542         * docs/gst/gstreamer-sections.txt:
9543           add newly added API
9544
9545 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9546
9547         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9548         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9549         (gst_filesrc_open_file), (gst_filesrc_close_file),
9550         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9551         * gst/elements/gstfilesrc.h:
9552           add support for non-regular files (#140734)
9553
9554 2004-04-21  Benjamin Otte  <otte@gnome.org>
9555
9556         * gst/gstpad.c: (gst_pad_link_fixate):
9557           add sophisticated error checking code to see if fixation functions
9558           did their fixation right
9559
9560 2004-04-21  Benjamin Otte  <otte@gnome.org>
9561
9562         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9563           check for ANY caps before appending/unioning
9564         * gst/gstcaps.c: (gst_caps_is_subset),
9565         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9566         (gst_caps_structure_subtract), (gst_caps_subtract):
9567         * gst/gstcaps.h:
9568           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9569           the API. deprecate gst_caps_is_equal_fixed
9570         * gst/gstpad.c: (gst_pad_try_set_caps):
9571         * gst/gstqueue.c: (gst_queue_link):
9572           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9573         * gst/gststructure.c: (gst_structure_get_name_id):
9574         * gst/gststructure.h:
9575           add function gst_structure_get_name_id
9576         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9577         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9578         (gst_value_subtract_int_range_int_range),
9579         (gst_value_subtract_double_double_range),
9580         (gst_value_subtract_double_range_double),
9581         (gst_value_subtract_double_range_double_range),
9582         (gst_value_subtract_from_list), (gst_value_subtract_list),
9583         (gst_value_can_intersect), (gst_value_subtract),
9584         (gst_value_can_subtract), (gst_value_register_subtract_func),
9585         (_gst_value_initialize):
9586         * gst/gstvalue.h:
9587           add support for subtracting values from each other. Note that
9588           subtracting means subtracting as in set theory. Required for caps
9589           stuff above.
9590         * testsuite/caps/.cvsignore:
9591         * testsuite/caps/Makefile.am:
9592         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9593         * testsuite/caps/sets.c: (check_caps), (main):
9594         * testsuite/caps/subtract.c: (check_caps), (main):
9595           add tests for subtraction and equality code.
9596
9597 2004-04-20  David Schleef  <ds@schleef.org>
9598
9599         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9600         * gst/indexers/Makefile.am:
9601         * gst/schedulers/Makefile.am:
9602         * libs/gst/bytestream/Makefile.am:
9603         * libs/gst/control/Makefile.am:
9604         * libs/gst/getbits/Makefile.am:
9605
9606 2004-04-20  David Schleef  <ds@schleef.org>
9607
9608         * common/as-libtool.mak: Fine-tune DLL building.
9609         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9610         (like gst-plugins)
9611         * examples/plugins/Makefile.am: remove plugindir
9612         * gst/autoplug/Makefile.am: DLL building fixes
9613         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9614         Windows.
9615         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9616         * gst/indexers/Makefile.am: DLL building fixes
9617         * gst/schedulers/Makefile.am: DLL building fixes.
9618         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9619         * libs/gst/control/Makefile.am: same
9620         * libs/gst/getbits/Makefile.am: same
9621         * testsuite/Makefile.am: New dlopen directory
9622         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9623         when dlopened.
9624         * testsuite/dlopen/dlopen_gst.c: (main): same
9625         * testsuite/dlopen/loadgst.c: (do_test): same
9626
9627 2004-04-20  David Schleef  <ds@schleef.org>
9628
9629         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9630         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9631
9632 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9633
9634         * gst/gstelement.c: (gst_element_wait),
9635         (gst_element_set_time_delay), (gst_element_change_state):
9636           Use GST_TIME_*
9637
9638 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9639
9640         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9641         (gst_spider_identity_plug):
9642           improve debugging messages
9643         * gst/gstbin.c: (gst_bin_remove_func):
9644           make sure the state_change function is only called with simple state
9645           transitions
9646
9647 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9648
9649         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9650         (gst_fakesink_set_property), (gst_fakesink_chain):
9651         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9652         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9653         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9654         * gst/elements/gstidentity.c: (gst_identity_chain),
9655         (gst_identity_set_property):
9656         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9657         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9658           add warnings to _set_property for unknown arguments
9659           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9660
9661 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9662
9663         * Makefile.am:
9664         * docs/manuals.mak:
9665           add .po file download snippet
9666           fix a bug in the doc makefile
9667
9668 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9669
9670         * Makefile.am:
9671         * po/LINGUAS:
9672         * po/en_GB.po:
9673           Added en_GB translation (Gareth Owen)
9674
9675 2004-04-20  Johan Dahlin  <johan@gnome.org>
9676
9677         * gst/gstpad.c (_invent_event): Clean up
9678
9679 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9680
9681         * testsuite/caps/filtercaps.c: (main):
9682           fix test to test things correctly (caps are complicated)
9683
9684 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9685
9686         * testsuite/caps/Makefile.am:
9687         * testsuite/caps/filtercaps.c: (main):
9688           add test (that doesn't work right now, but should)
9689
9690 2004-04-19  David Schleef  <ds@schleef.org>
9691
9692         * configure.ac: Add test for allowing unaligned access.  Add define
9693         to put in gstconfig.h.
9694         * docs/gst/gstreamer-sections.txt: New symbols
9695         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9696         * docs/gst/tmpl/gstfilesrc.sgml:
9697         * docs/gst/tmpl/gstparse.sgml:
9698         * docs/gst/tmpl/gsttypes.sgml:
9699         * docs/gst/tmpl/gstutils.sgml:
9700         * docs/gst/tmpl/gstvalue.sgml:
9701         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9702         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9703         on most !i386/!powerpc architectures.  From Daniel Gazard
9704         <daniel.gazard@free.fr>.  (bug #140156)
9705         * po/af.po: Check in changes made by gettext.
9706         * po/az.po:
9707         * po/fr.po:
9708         * po/nl.po:
9709         * po/sr.po:
9710         * po/sv.po:
9711
9712 2004-04-20  Benjamin Otte  <otte@gnome.org>
9713
9714         * gst/schedulers/entryscheduler.c: 
9715         (gst_entry_scheduler_yield):
9716           refuse to yield when decoupled elements insist on doing that.
9717           At least it's better than crashing
9718
9719 2004-04-19  David Schleef  <ds@schleef.org>
9720
9721         * docs/libs/Makefile.am: Change sinclude to include
9722         * docs/gst/Makefile.am: same
9723         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9724
9725 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9726
9727         * po/LINGUAS:
9728         * po/uk.po:
9729           Added Ukrainian translation (Maxim V. Dziumanenko)
9730
9731 2004-04-19  Johan Dahlin  <johan@gnome.org>
9732
9733         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9734         checking here, do it before calling the function.
9735         Clean up, use for loops instead of while loops while iterating
9736         over lists.
9737
9738         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9739         in debug message.
9740         (gst_spider_create_and_plug): Improve debug message.
9741         General: Replace while loops which iterates over GLists with for
9742         loops. Which are much cleaner, improves readability, especially
9743         for gst_spider_identity_plug
9744
9745         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9746         fixes bug 140477
9747
9748 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9749
9750         * po/LINGUAS:
9751         * po/tr.po:
9752           Added Turkish translation (Baris Cicek)
9753
9754 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9755
9756         * docs/faq/troubleshooting.xml:
9757           Mention gst-register in the FAQ (fixes 139045).
9758
9759 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9760
9761         * docs/gst/gstreamer-sections.txt:
9762
9763 2004-04-17  Benjamin Otte  <otte@gnome.org>
9764
9765         * gst/gstelement.c: (gst_element_dispose):
9766           simplify
9767         * gst/gstpad.c: (gst_pad_call_chain_function):
9768           don't create loads of events due to bad macro usage
9769
9770 2004-04-16  David Schleef  <ds@schleef.org>
9771
9772         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9773         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9774         * gst/gstvalue.c: (gst_value_serialize_buffer),
9775         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9776         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9777         to indicate types that are fixed wrt caps or not.  Switching to
9778         this function fixes (bug #140298).
9779         * gst/gstvalue.h:
9780
9781 2004-04-16  David Schleef  <ds@schleef.org>
9782
9783         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9784         for GST_UNALIGNED_ACESS, since we essentially know which archs
9785         are ok.
9786
9787 2004-04-17  Benjamin Otte  <otte@gnome.org>
9788
9789         * docs/gst/Makefile.am:
9790           ignore gst/parse directory when building docs (fixes #140205)
9791
9792 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9793
9794         * testsuite/refcounting/mem.c: (vmsize):
9795           do error checking
9796
9797 2004-04-16  Johan Dahlin  <johan@gnome.org>
9798
9799         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9800         and gst_pad_call_get_function.
9801
9802 2004-04-15  David Schleef  <ds@schleef.org>
9803
9804         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9805         checks if we can access unaligned memory.
9806         * configure.ac: Use it.
9807
9808 2004-04-16  Benjamin Otte  <otte@gnome.org>
9809
9810         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9811         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9812         * gst/elements/gstfilesrc.h:
9813           s/seek_happened/need_discont/ and require discont before sending any
9814           data
9815
9816 2004-04-15  David Schleef  <ds@schleef.org>
9817
9818         * gst/gstvalue.c: (gst_value_serialize_buffer),
9819         (gst_value_deserialize_buffer), (_gst_value_initialize):
9820         Register these types as fundamental types. (bug #140015)
9821
9822 2004-04-16  Benjamin Otte  <otte@gnome.org>
9823
9824         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9825         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9826         (gst_pad_pull):
9827           implement enforcing discont events before buffers are passed. This
9828           allows state changes of only some elements and later correctly going
9829           on where they left off (or in short: you can now set audio sinks to
9830           NULL to release the device when the pipeline is paused)
9831         * gst/gstpad.c: (gst_pad_call_chain_function),
9832         (gst_pad_call_get_function):
9833         * gst/gstpad.h:
9834           add gst_pad_call_chain_function and gst_pad_call_get_function for
9835           scheduler interaction. They are required because of the changes
9836           above.
9837         * gst/schedulers/entryscheduler.c: (get_buffer),
9838         (gst_entry_scheduler_chain_wrapper),
9839         (gst_entry_scheduler_get_wrapper),
9840         (gst_entry_scheduler_state_transition),
9841         (gst_entry_scheduler_pad_link):
9842         * gst/schedulers/gstbasicscheduler.c:
9843         (gst_basic_scheduler_chain_wrapper),
9844         (gst_basic_scheduler_src_wrapper),
9845         (gst_basic_scheduler_chainhandler_proxy),
9846         (gst_basic_scheduler_gethandler_proxy),
9847         (gst_basic_scheduler_cothreaded_chain),
9848         (gst_basic_scheduler_chain_elements):
9849         * gst/schedulers/gstoptimalscheduler.c:
9850         (get_group_schedule_function), (pad_clear_queued),
9851         (gst_opt_scheduler_pad_link):
9852           use the new functions instead of calling get/chain-functions
9853           directly.
9854
9855 2004-04-15  David Schleef  <ds@schleef.org>
9856
9857         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9858         * docs/gst/tmpl/gstinfo.sgml: same
9859         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9860         gtk-doc put here.
9861         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9862         * examples/queue/queue.c: (main):  We iterate pipelines, not
9863         bins.  (bug #139996)
9864
9865 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9866
9867         * docs/pwg/advanced-types.xml:
9868           Add MS RLE support. Also document Qt RLE although I have no sample
9869           files for that yet. And document an extra property for ADPCM.
9870
9871 2004-04-15  David Schleef  <ds@schleef.org>
9872
9873         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9874         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9875         Windows.
9876
9877 2004-04-15  David Schleef  <ds@schleef.org>
9878
9879         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9880         symbol names to not conflict with new gstinfo.h symbols.
9881         * gst/gstinfo.h: Add inline functions for all those crazy
9882         compilers that don't know how to handle variadic macros (MSVC).
9883
9884 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9885
9886         * configure.ac: bump nano to 1
9887
9888 === release 0.8.1 ===
9889
9890 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9891
9892         * NEWS:
9893         * RELEASE:
9894         * configure.ac:
9895           releasing 0.8.1, "Snow Brigade"
9896
9897 2004-04-14  David Schleef  <ds@schleef.org>
9898
9899         * testsuite/Makefile.am: define tests_ignore
9900         * testsuite/Rules: Added new tests_ignore, which get compiled,
9901         but not run (generally because they're inconsistent or have
9902         heisenbugs).  Now we can ensure all the .c files compile in
9903         testsuite/.
9904         * testsuite/bins/Makefile.am: define tests_ignore
9905         * testsuite/bytestream/Makefile.am:
9906         * testsuite/caps/Makefile.am:
9907         * testsuite/clock/Makefile.am:
9908         * testsuite/debug/Makefile.am:
9909         * testsuite/debug/global.c: (gst_debug_log_one),
9910         (gst_debug_log_two): Fix compilation problem.
9911         * testsuite/dynparams/Makefile.am:
9912         * testsuite/elements/Makefile.am:
9913         * testsuite/ghostpads/Makefile.am:
9914         * testsuite/indexers/Makefile.am:
9915         * testsuite/parse/Makefile.am:
9916         * testsuite/plugin/Makefile.am:
9917         * testsuite/refcounting/Makefile.am:
9918         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9919         results, because it's not calculated correctly.
9920         * testsuite/refcounting/pad.c: (main): same
9921         * testsuite/states/Makefile.am:
9922         * testsuite/tags/Makefile.am:
9923         * testsuite/threads/Makefile.am:
9924
9925 2004-04-14  David Schleef  <ds@schleef.org>
9926
9927         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9928         generating bad code around the cpu detection asm code.
9929
9930 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9931
9932         * tools/gst-inspect.c: (print_element_info):
9933           print numeric version of rank as well, since we added some - 1
9934           rank values to elements
9935
9936 2004-04-13  David Schleef  <ds@schleef.org>
9937
9938         * configure.ac:  Disable various code when compiling for MinGW.
9939         * gst/elements/Makefile.am:
9940         * gst/elements/gstelements.c:
9941         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9942         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9943         * gst/registries/gstxmlregistry.c: (make_dir):
9944
9945 2004-04-13  David Schleef  <ds@schleef.org>
9946
9947         * gst/Makefile.am:
9948         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9949         assembly.
9950         * gst/gstcpuid_i386.s: remove
9951
9952 2004-04-13  David Schleef  <ds@schleef.org>
9953
9954         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9955         seems to think it needs to be done.
9956         * docs/gst/tmpl/gstfakesink.sgml:
9957         * docs/gst/tmpl/gstfakesrc.sgml:
9958         * docs/gst/tmpl/gstfdsink.sgml:
9959         * docs/gst/tmpl/gstfdsrc.sgml:
9960         * docs/gst/tmpl/gstfilesink.sgml:
9961         * docs/gst/tmpl/gstfilesrc.sgml:
9962         * docs/gst/tmpl/gstidentity.sgml:
9963         * docs/gst/tmpl/gstmd5sink.sgml:
9964         * docs/gst/tmpl/gstmultifilesrc.sgml:
9965         * docs/gst/tmpl/gstpipefilter.sgml:
9966         * docs/gst/tmpl/gstshaper.sgml:
9967         * docs/gst/tmpl/gstspider.sgml:
9968         * docs/gst/tmpl/gstspideridentity.sgml:
9969         * docs/gst/tmpl/gststatistics.sgml:
9970         * docs/gst/tmpl/gsttee.sgml:
9971         * docs/gst/tmpl/gsttypefind.sgml:
9972         * docs/gst/tmpl/gstutils.sgml:
9973
9974 2004-04-13  David Schleef  <ds@schleef.org>
9975
9976         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9977         and to build DLLs on Windows.
9978         * gst/Makefile.am:
9979         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9980         (gst_filesrc_open_file):
9981         * gst/schedulers/Makefile.am:
9982
9983 2004-04-13  David Schleef  <ds@schleef.org>
9984
9985         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9986         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9987         fixating lists.
9988
9989 2004-04-12  David Schleef  <ds@schleef.org>
9990
9991         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9992         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9993         to using it.
9994         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9995         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9996         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9997         * gst/gststructure.c: (gst_structure_set_valist),
9998         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9999         support for buffers.
10000         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10001         intended to be const.
10002         * gst/gsttag.h: same
10003         * gst/gstvalue.c: (gst_value_serialize_buffer),
10004         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10005         to (de)serialize buffers.
10006         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10007         * testsuite/caps/string-conversions.c: (main):
10008         * testsuite/caps/value_serialize.c: add new test
10009
10010 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10011
10012         * docs/pwg/advanced-types.xml:
10013           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10014
10015 2004-04-11  Benjamin Otte  <otte@gnome.org>
10016
10017         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10018           rename categories to basic_*
10019         * gst/schedulers/gstbasicscheduler.c: 
10020         (gst_basic_scheduler_chain_wrapper),
10021         (gst_basic_scheduler_chainhandler_proxy),
10022         (gst_basic_scheduler_gethandler_proxy),
10023         (gst_basic_scheduler_eventhandler_proxy):
10024           debugging category fixes - put common stuff in log category
10025         * gst/schedulers/gstbasicscheduler.c: 
10026         (gst_basic_scheduler_chain_elements):
10027           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10028           active and linking two active chains
10029
10030 2004-04-10  Benjamin Otte  <otte@gnome.org>
10031
10032         * docs/pwg/intro-preface.xml:
10033           fix dead links and remove reference to Wiki
10034
10035 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10036
10037         * gst/schedulers/gstbasicscheduler.c:
10038           make sure we can switch back to the main function if we're still in
10039           the main function (supposed to fix #139617)
10040         * gst/schedulers/gthread-cothreads.h:
10041           don't throw an error when switching to the same cothread
10042
10043 2004-04-09  Benjamin Otte  <otte@gnome.org>
10044
10045         * gst/gstbin.c: (gst_bin_get_type):
10046         * gst/gstclock.c: (gst_clock_get_type):
10047         * gst/gstindex.c: (gst_index_get_type):
10048         * gst/gstobject.c: (gst_object_get_type),
10049         (gst_signal_object_get_type):
10050         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10051         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10052         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10053         * gst/gstqueue.c: (gst_queue_get_type):
10054         * gst/gstregistry.c: (gst_registry_get_type):
10055         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10056         * gst/gstthread.c: (gst_thread_get_type):
10057           don't use memchunks for these objects, use malloc instead
10058
10059 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10060
10061         * docs/gst/.cvsignore:
10062         * docs/gst/Makefile.am:
10063         * docs/gst/gstreamer-sections.txt:
10064         * docs/gst/tmpl/gstaggregator.sgml:
10065         * docs/gst/tmpl/gstbuffer.sgml:
10066         * docs/gst/tmpl/gstclock.sgml:
10067         * docs/gst/tmpl/gstelement.sgml:
10068         * docs/gst/tmpl/gstfakesink.sgml:
10069         * docs/gst/tmpl/gstfakesrc.sgml:
10070         * docs/gst/tmpl/gstfdsink.sgml:
10071         * docs/gst/tmpl/gstfdsrc.sgml:
10072         * docs/gst/tmpl/gstfilesink.sgml:
10073         * docs/gst/tmpl/gstfilesrc.sgml:
10074         * docs/gst/tmpl/gstidentity.sgml:
10075         * docs/gst/tmpl/gstindex.sgml:
10076         * docs/gst/tmpl/gstinfo.sgml:
10077         * docs/gst/tmpl/gstmd5sink.sgml:
10078         * docs/gst/tmpl/gstmultifilesrc.sgml:
10079         * docs/gst/tmpl/gstpad.sgml:
10080         * docs/gst/tmpl/gstpipefilter.sgml:
10081         * docs/gst/tmpl/gstpipeline.sgml:
10082         * docs/gst/tmpl/gstpluginfeature.sgml:
10083         * docs/gst/tmpl/gstqueue.sgml:
10084         * docs/gst/tmpl/gstregistry.sgml:
10085         * docs/gst/tmpl/gstscheduler.sgml:
10086         * docs/gst/tmpl/gstshaper.sgml:
10087         * docs/gst/tmpl/gstspider.sgml:
10088         * docs/gst/tmpl/gstspideridentity.sgml:
10089         * docs/gst/tmpl/gststatistics.sgml:
10090         * docs/gst/tmpl/gstsystemclock.sgml:
10091         * docs/gst/tmpl/gsttee.sgml:
10092         * docs/gst/tmpl/gstthread.sgml:
10093         * docs/gst/tmpl/gsttypefind.sgml:
10094         * docs/gst/tmpl/gstutils.sgml:
10095           further doc build fixes
10096
10097 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10098
10099         * docs/gst/Makefile.am:
10100           make docs exit on scanning problems
10101           fix nonsrcdir build issues
10102         * docs/gst/gstreamer-sections.txt:
10103           adding stuff from -unused
10104         * gst/gstqueue.h:
10105           create GstQueueSize
10106         * gst/schedulers/cothreads_compat.h:
10107           fix cothread warnings
10108
10109 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10110
10111         * docs/gst/gstreamer-sections.txt:
10112           remove defines deprecated by Benjamin
10113
10114 2004-04-07  Benjamin Otte  <otte@gnome.org>
10115
10116         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10117           when the buffer is complete, don't check if other buffers are needed
10118         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10119           check that the offset is >0 so we don't try to read before the
10120           beginning of the file
10121         * gst/gstpad.c: (gst_pad_set_pad_template):
10122           sink the template, so we don't end up with 130k pad templates
10123
10124 2004-04-06  Benjamin Otte  <otte@gnome.org>
10125
10126         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10127           don't ref the element, adding already reffed it. And we didn't unref
10128           it later anyway... (huge memleak when you used many spider elements)
10129         * gst/gstelement.c: (gst_element_base_class_finalize):
10130         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10131         (gst_element_register):
10132         * gst/gsturi.c: (gst_element_make_from_uri):
10133           use gst_object_(un)ref instead of g_object(un)ref
10134
10135 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10136
10137         * gst/gstbuffer.h:
10138           remove macro that wouldn't work anymore because struct member has
10139           been removed.
10140         * gst/schedulers/entryscheduler.c: (schedule_forward):
10141           fix segfault for unconnected pads
10142         
10143 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10144
10145         reviewed by David Schleef <ds@schleef.org>
10146
10147         * gst/gstinfo.h:
10148           *_FORMAT modifiers should require putting a % in front of them for
10149           consistency reasons.
10150
10151 2004-04-05  Colin Walters  <walters@redhat.com>
10152
10153         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10154         space.
10155
10156 2004-04-05  Benjamin Otte  <otte@gnome.org>
10157
10158         * configure.ac:
10159         * gst/Makefile.am:
10160         * gst/gst_private.h:
10161         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10162           add support for detecting if GStreamer runs inside valgrind.
10163           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10164           print a big message in valgrind that GStreamer has detected it's
10165           running inside and might now use different code.
10166         * gst/gstmemchunk.c: (populate), (free_area),
10167         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10168         (gst_mem_chunk_free):
10169           flag memchunks for valgrind, so it can detect leaking of chunks.
10170           This allows detecting leaks of GstBuffer and GstEvent correctly
10171           inside valgrind.
10172
10173 2004-04-05  David Schleef  <ds@schleef.org>
10174
10175         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10176           jensgr@gmx.net (Jens Granseuer)
10177
10178 2004-04-05  David Schleef  <ds@schleef.org>
10179
10180         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10181         (gst_buffer_default_free), (gst_buffer_default_copy),
10182         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10183         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10184         structures in one place.
10185
10186 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10187
10188         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10189           (GST_TIME_FORMAT, GST_TIME_ARGS)
10190
10191 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10192
10193         * testsuite/elements/Makefile.am:
10194           disable test until it stops breaking make distcheck
10195
10196 2004-04-05  Johan Dahlin  <johan@gnome.org>
10197
10198         * po/sv.po: Updated translation
10199
10200 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10201
10202         * gst/gstplugin.c: (gst_plugin_load_file):
10203           fix segfault for when original plugin was loaded statically
10204
10205 2004-04-05  Benjamin Otte  <otte@gnome.org>
10206
10207         * testsuite/debug/category.c: (main):
10208         * testsuite/debug/commandline.c: (main):
10209         * testsuite/debug/output.c: (main):
10210           fix tests to work again with debugging enabled
10211
10212 2004-04-05  Benjamin Otte  <otte@gnome.org>
10213
10214         * gst/schedulers/gstbasicscheduler.c:
10215         (gst_basic_scheduler_pad_link):
10216           fix to work with recent scheduling changes
10217
10218 2004-04-05  Benjamin Otte  <otte@gnome.org>
10219
10220         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10221         prepareChangeLog doesn't work when cvs indents):
10222           don't throw an error when no element can be scheduled, there's too
10223           many weird reasons why it doesn't work. Return STOPPED instead.
10224           decoupled elemts' schedulability doesn't depend on bufpens.
10225
10226 2004-04-04  Benjamin Otte  <otte@gnome.org>
10227
10228         * gst/schedulers/gstbasicscheduler.c:
10229         (gst_basic_scheduler_pad_select):
10230           fix uninitialized variable warnings
10231
10232 2004-04-04  Benjamin Otte  <otte@gnome.org>
10233
10234         * gst/gstpad.c: (gst_pad_collect_valist):
10235           fix uninitialized variable warning
10236         * gst/schedulers/entryscheduler.c: (schedule_forward):
10237           fix shadowed variable
10238
10239 2004-04-04  Benjamin Otte  <otte@gnome.org>
10240
10241         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10242         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10243         (gst_pad_select):
10244         * gst/gstpad.h:
10245         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10246         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10247         * gst/gstscheduler.h:
10248           implement gst_pad_collect as replacement for gst_pad_select.
10249           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10250           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10251           new pad_select, lock and unlock calls.
10252         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10253         * gst/cothreads.h:
10254         * gst/schedulers/cothreads_compat.h:
10255         * gst/schedulers/gthread-cothreads.h:
10256           remove unused cothread_lock and cothread_unlock calls
10257         * gst/schedulers/entryscheduler.c:
10258         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10259         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10260         (gst_entry_scheduler_pad_select):
10261           update to new API
10262         * gst/schedulers/gstbasicscheduler.c:
10263         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10264         (gst_basic_scheduler_pad_select):
10265           remove useless lock and unlock calls, update pad_select to new API
10266           (untested)
10267         * gst/schedulers/gstoptimalscheduler.c:
10268         (gst_opt_scheduler_class_init):
10269           remove useless select, lock and unlock function calls
10270         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10271           use gst_pad_collect instead of gst_pad_select
10272
10273 2004-04-04  Benjamin Otte  <otte@gnome.org>
10274
10275         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10276         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10277         (schedule_next_element), (print_entry):
10278           add can_schedule_pad to handle element states.
10279           add schedule_forward to select the correct entry to schedule next
10280
10281 2004-04-03  Benjamin Otte  <otte@gnome.org>
10282
10283         * gst/schedulers/entryscheduler.c: 
10284           remove unused variable, fix error inside Rb, fix compile warning in
10285           unreachable code
10286
10287 2004-04-03  Benjamin Otte  <otte@gnome.org>
10288
10289         * gst/schedulers/entryscheduler.c:
10290           completely revamp the inner workings, so it's a lot easier to
10291           understand and extend
10292
10293 2004-04-03  Andy Wingo  <wingo@pobox.com>
10294
10295         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10296         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10297         This allows better introspection of pipeline topology.
10298         (add_to_chain): Don't do trickery to put loop elements first;
10299         rather, queue a chain sort by marking the chain as dirty.
10300         (remove_from_chain): Mark the chain dirty.
10301         (sort_chain): New function. Sorts the group list so that terminal
10302         sinks are first. This means elements on the sink side will be
10303         preferentially sscheduled before elements on the src side of the
10304         pipeline.
10305         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10306         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10307         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10308         (group_inc_link): Change argument and variable names to match the
10309         new link structure member names (src and sink).
10310         (group_dec_link): Add some description
10311
10312 2004-04-03  Benjamin Otte  <otte@gnome.org>
10313
10314         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10315         * gst/gstinfo.h:
10316         * testsuite/debug/category.c: (main):
10317         * testsuite/debug/commandline.c: (main):
10318         * testsuite/debug/output.c: (main):
10319         * testsuite/debug/printf_extension.c: (main):
10320           fix to successfully build and test with --disable-gst-debug
10321           configure switch (fixes #138705)
10322
10323 2004-04-03  Benjamin Otte  <otte@gnome.org>
10324
10325         * docs/pwg/building-boiler.xml:
10326           add cvs login line and s/anonymous/anoncvs/
10327
10328 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10329
10330         reviewed by Benjamin Otte  <otte@gnome.org>
10331
10332         * gst/gststructure.c: (gst_structure_free):
10333           memleak fix: free fields array (partial fix for #134839)
10334
10335 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10336
10337         * docs/random/ds/0.9-suggested-changes:
10338           Add a note to change handoff use in fakesrc to be usable in
10339           a more generic way (fakesrc should be renamed to appsrc or so).
10340         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10341           Change signal type to scope, so we can fill the buffer in the
10342           handoff handler (that's the whole use of this signal...).
10343
10344 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10345
10346         * docs/pwg/other-ntoone.xml:
10347           Document muxers and n-to-1 elements.
10348
10349 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10350
10351         * gst/registries/gstxmlregistry.c
10352         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10353         determine if a file is a G_MODULE. The old one discards paths
10354         containing "so" somewhere in the middle. My home directory is
10355         called "soto". Go figure...
10356
10357 2004-03-31  David Schleef  <ds@schleef.org>
10358
10359         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10360         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10361         * gst/gstbuffer.h:
10362
10363 2004-03-31  David Schleef  <ds@schleef.org>
10364
10365         * gst/gstvalue.c: (gst_value_union_int_int_range),
10366         (gst_value_union_int_range_int_range), (gst_value_can_union),
10367         (gst_value_union), (_gst_value_initialize):  Add some union
10368         implementations.  We didn't have any previously.
10369         * testsuite/caps/Makefile.am:
10370         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10371         (gst_audioscale_getcaps), (test_caps), (main): A little test
10372         that is the same as the caps manipulation in audioscale.
10373
10374 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10375
10376         * docs/faq/general.xml:
10377           add entry about "does gst support format X?"
10378
10379 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10380
10381         * gst/gstthread.c:
10382           fix docs
10383         * gst/gstutils.h:
10384           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10385
10386 2004-03-30  Benjamin Otte  <otte@gnome.org>
10387
10388         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10389           set the offset of the buffer to the requested offset
10390         * gst/elements/gsttypefind.c: (stop_typefinding):
10391           revert patch 1.18 (which I unfortunately don't know the reason for).
10392           This is needed to allow downstream elements to seek. Otherwise
10393           typefind might overwrite a previous seek by downstream elements.
10394           This lead to errors with id3tag and typefind on some mp3s.
10395         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10396         (gst_entry_scheduler_iterate):
10397           be more verbose when debugging
10398
10399 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10400
10401         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10402           make sure we don't get NULL strings
10403
10404 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10405
10406         * gst/gstcaps.c:
10407         * gst/gstelement.c:
10408         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10409         * gst/gstindex.c: (gst_index_resolver_get_type),
10410         (gst_index_get_type), (gst_index_factory_get_type):
10411         * gst/gstinfo.c:
10412         * gst/gstpad.c:
10413         * gst/gstplugin.c:
10414         * gst/gsturi.c: (gst_uri_handler_get_type):
10415         * gst/gstvalue.c:
10416           first batch of documentation fixes
10417
10418 2004-03-29  David Schleef  <ds@schleef.org>
10419
10420         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10421         * docs/gst/gstreamer-docs.sgml:  More hacking
10422         * docs/gst/gstreamer-sections.txt:
10423         * docs/gst/tmpl/cothreads_compat.sgml:
10424         * docs/gst/tmpl/gstcaps.sgml:
10425         * docs/gst/tmpl/gstclock.sgml:
10426         * docs/gst/tmpl/gstelement.sgml:
10427         * docs/gst/tmpl/gstevent.sgml:
10428         * docs/gst/tmpl/gstpad.sgml:
10429         * docs/gst/tmpl/gstutils.sgml:
10430         * docs/gst/tmpl/gstxml.sgml:
10431         * docs/gst/tmpl/gthread-cothreads.sgml:
10432         * docs/random/ds/0.9-suggested-changes:
10433         * gst/elements/gstfakesink.h: doc fixes
10434         * gst/elements/gstfakesrc.h: doc fixes
10435         * gst/gstcaps.c: doc fixes
10436         * gst/gstcaps.h: doc fixes
10437         * gst/gstelement.c: doc fixes
10438         * gst/gstelement.h: doc fixes
10439         * gst/gstindex.c: doc fixes
10440         * gst/gstinfo.c: doc fixes
10441         * gst/gstpad.c: doc fixes
10442         * gst/gstpad.h: doc fixes
10443         * gst/gstplugin.c: doc fixes
10444         * gst/gsttypefind.h: doc fixes
10445         * gst/gsturi.c: doc fixes
10446         * gst/gstvalue.c: doc fixes
10447
10448 2004-03-29  Colin Walters  <walters@redhat.com>
10449
10450         * gst/registries/gstxmlregistry.c (get_time)
10451         (plugin_times_older_than_recurse):
10452         Use the result of stat to determine whether a path is a file,
10453         so we don't attempt to opendir() files.
10454
10455 2004-03-29  Benjamin Otte  <otte@gnome.org>
10456
10457         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10458           print caps in debugging output when setting caps failed
10459         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10460         (schedule_next_element), (get_buffer), (run_chainhandler),
10461         (element_may_start), (gst_entry_scheduler_chain_handler),
10462         (gst_entry_scheduler_get_handler),
10463         (gst_entry_scheduler_state_transition),
10464         (gst_entry_scheduler_pad_link):
10465           make this scheduler a testcase for mandatory
10466           discont-before-first-buffer which is needed if we want to allow apps
10467           to release the sound device.
10468           add SCHED_ASSERT macro to print scheduler state before an assertion
10469           triggers.
10470
10471 2004-03-29  Benjamin Otte  <otte@gnome.org>
10472
10473         * COPYING:
10474           replace by LGPL (former COPYING.LIB). The core is completely
10475           licensed LGPL.
10476         * COPYING.LIB:
10477           remove
10478
10479 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10480
10481         * po/af.po:
10482         * po/sv.po:
10483           updated Afrikaans and Swedish
10484
10485 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10486
10487         * po/LINGUAS:
10488         * po/az.po:
10489           adding Azerbaijani (Mətin Əmirov)
10490
10491 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10492
10493         * gst/gstelement.h: 
10494         * gst/gstelement.c (gst_element_set_time_delay): New function for
10495         setting element time taking into account a hardware buffering
10496         delay.
10497         (gst_element_set_time): Now just an invocation of
10498         gst_element_set_time_delay.
10499         * gst/gstclock.h: 
10500         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10501         allowing to set event times in the future.
10502         (gst_clock_get_event_time): Now just an invocation of
10503         gst_clock_get_event_time_delay.
10504
10505 2004-03-28  Benjamin Otte  <otte@gnome.org>
10506
10507         * gst/gstbin.c: (gst_bin_set_element_sched),
10508         (gst_bin_unset_element_sched):
10509           don't add decoupled elements to schedulers - otherwise it's
10510           impossible to control if a link to a decoupled element was already
10511           removed from a scheduler or not.
10512         * gst/schedulers/cothreads_compat.h:
10513         * gst/schedulers/gthread-cothreads.h:
10514           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10515           is no "unused" warning.
10516         * gst/schedulers/Makefile.am:
10517         * gst/schedulers/entryscheduler.c:
10518           add new scheduler, based on ideas from talking to David and Martin.
10519           It's supposed to be small and correct. Currently it's also slow (but
10520           it's not noticable)
10521         * examples/retag/retag.c: (main):
10522         * testsuite/bytestream/test1.c: (main):
10523           fix missing NULLs at end of variadic functions
10524         * testsuite/elements/.cvsignore:
10525           update
10526
10527 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10528
10529         * gst/gstevent.h:
10530         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10531
10532 2004-03-25  David Schleef  <ds@schleef.org>
10533
10534         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10535         * docs/gst/tmpl/gstaggregator.sgml:
10536         * docs/gst/tmpl/gstautoplugfactory.sgml:
10537         * docs/gst/tmpl/gstbin.sgml:
10538         * docs/gst/tmpl/gstbuffer.sgml:
10539         * docs/gst/tmpl/gstbufferstore.sgml:
10540         * docs/gst/tmpl/gstfakesink.sgml:
10541         * docs/gst/tmpl/gstfakesrc.sgml:
10542         * docs/gst/tmpl/gstmd5sink.sgml:
10543         * docs/gst/tmpl/gstreamer-unused.sgml:
10544         * docs/gst/tmpl/gstsearchfuncs.sgml:
10545         * docs/gst/tmpl/gstshaper.sgml:
10546         * docs/gst/tmpl/gstspider.sgml:
10547         * docs/gst/tmpl/gsttee.sgml:
10548         * docs/gst/tmpl/gstutils.sgml:
10549         * docs/gst/tmpl/gstvalue.sgml:
10550         * docs/gst/tmpl/gstxml.sgml:
10551         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10552         and we don't support it.
10553         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10554         (gst_use_threads), (gst_has_threads): same
10555         * gst/gstthreaddummy.c: same
10556         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10557         * gst/autoplug/gstspider.h: same
10558         * gst/elements/gstaggregator.h: Remove bogus function from header
10559         * gst/elements/gstfakesink.h: same
10560         * gst/elements/gstfakesrc.h: same
10561         * gst/elements/gstmd5sink.h: same
10562         * gst/elements/gstshaper.h: same
10563         * gst/elements/gsttee.h: same
10564         * gst/gstbin.c: doc fixes
10565         * gst/gstbin.h: Remove unused definition.
10566         * gst/gstbuffer.c: doc fixes
10567         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10568         * gst/gstfilter.c: doc fixes
10569         * gst/gsttag.c: doc fixes
10570         * gst/gstvalue.c: doc fixes
10571
10572 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10573
10574         * docs/pwg/advanced-types.xml:
10575           Document typefinding.
10576         * docs/pwg/other-oneton.xml:
10577           Document one-to-n elements, demuxers and parsers.
10578
10579 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10580
10581         reviewed by: David Schleef  <ds@schleef.org>
10582
10583         * configure.ac: Check bison version (bug #127838)
10584
10585 2004-03-25  David Schleef  <ds@schleef.org>
10586
10587         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10588         * docs/gst/gstreamer-sections.txt:
10589         * docs/gst/tmpl/gstautoplug.sgml:
10590         * docs/gst/tmpl/gststaticautoplug.sgml:
10591         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10592         * docs/gst/tmpl/gstutils.sgml:
10593         * docs/gst/tmpl/gstxml.sgml:
10594
10595 2004-03-24  David Schleef  <ds@schleef.org>
10596
10597         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10598         manual being such complete crap, that I decided to do major
10599         hacking of it.  This checkin replaces any fine tuning that
10600         may have been done previously, with the benefit of actually
10601         being complete for much of the API that was changed since
10602         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10603         * docs/gst/gstreamer-sections.txt:
10604         * docs/gst/tmpl/GstBin.sgml:
10605         * docs/gst/tmpl/GstBuffer.sgml:
10606         * docs/gst/tmpl/GstCaps.sgml:
10607         * docs/gst/tmpl/GstClock.sgml:
10608         * docs/gst/tmpl/GstCompat.sgml:
10609         * docs/gst/tmpl/GstData.sgml:
10610         * docs/gst/tmpl/GstElement.sgml:
10611         * docs/gst/tmpl/GstEvent.sgml:
10612         * docs/gst/tmpl/GstIndex.sgml:
10613         * docs/gst/tmpl/GstStructure.sgml:
10614         * docs/gst/tmpl/GstTag.sgml:
10615         * docs/gst/tmpl/cothreads.sgml:
10616         * docs/gst/tmpl/cothreads_compat.sgml:
10617         * docs/gst/tmpl/gettext.sgml:
10618         * docs/gst/tmpl/grammar.tab.sgml:
10619         * docs/gst/tmpl/gst-i18n-app.sgml:
10620         * docs/gst/tmpl/gst-i18n-lib.sgml:
10621         * docs/gst/tmpl/gst.sgml:
10622         * docs/gst/tmpl/gst_private.sgml:
10623         * docs/gst/tmpl/gstaggregator.sgml:
10624         * docs/gst/tmpl/gstarch.sgml:
10625         * docs/gst/tmpl/gstatomic.sgml:
10626         * docs/gst/tmpl/gstatomic_impl.sgml:
10627         * docs/gst/tmpl/gstbin.sgml:
10628         * docs/gst/tmpl/gstbuffer.sgml:
10629         * docs/gst/tmpl/gstbufferstore.sgml:
10630         * docs/gst/tmpl/gstcaps.sgml:
10631         * docs/gst/tmpl/gstclock.sgml:
10632         * docs/gst/tmpl/gstcompat.sgml:
10633         * docs/gst/tmpl/gstconfig.sgml:
10634         * docs/gst/tmpl/gstcpu.sgml:
10635         * docs/gst/tmpl/gstdata.sgml:
10636         * docs/gst/tmpl/gstdata_private.sgml:
10637         * docs/gst/tmpl/gstelement.sgml:
10638         * docs/gst/tmpl/gstenumtypes.sgml:
10639         * docs/gst/tmpl/gsterror.sgml:
10640         * docs/gst/tmpl/gstevent.sgml:
10641         * docs/gst/tmpl/gstfakesink.sgml:
10642         * docs/gst/tmpl/gstfakesrc.sgml:
10643         * docs/gst/tmpl/gstfilesink.sgml:
10644         * docs/gst/tmpl/gstfilter.sgml:
10645         * docs/gst/tmpl/gstindex.sgml:
10646         * docs/gst/tmpl/gstinfo.sgml:
10647         * docs/gst/tmpl/gstinterface.sgml:
10648         * docs/gst/tmpl/gstlog.sgml:
10649         * docs/gst/tmpl/gstmacros.sgml:
10650         * docs/gst/tmpl/gstmarshal.sgml:
10651         * docs/gst/tmpl/gstmd5sink.sgml:
10652         * docs/gst/tmpl/gstmultifilesrc.sgml:
10653         * docs/gst/tmpl/gstobject.sgml:
10654         * docs/gst/tmpl/gstpad.sgml:
10655         * docs/gst/tmpl/gstparse.sgml:
10656         * docs/gst/tmpl/gstpipeline.sgml:
10657         * docs/gst/tmpl/gstplugin.sgml:
10658         * docs/gst/tmpl/gstpluginfeature.sgml:
10659         * docs/gst/tmpl/gstqueue.sgml:
10660         * docs/gst/tmpl/gstreamer-unused.sgml:
10661         * docs/gst/tmpl/gstregistry.sgml:
10662         * docs/gst/tmpl/gstregistrypool.sgml:
10663         * docs/gst/tmpl/gstscheduler.sgml:
10664         * docs/gst/tmpl/gstsearchfuncs.sgml:
10665         * docs/gst/tmpl/gstshaper.sgml:
10666         * docs/gst/tmpl/gstspider.sgml:
10667         * docs/gst/tmpl/gstspideridentity.sgml:
10668         * docs/gst/tmpl/gststructure.sgml:
10669         * docs/gst/tmpl/gstsystemclock.sgml:
10670         * docs/gst/tmpl/gsttag.sgml:
10671         * docs/gst/tmpl/gsttaginterface.sgml:
10672         * docs/gst/tmpl/gsttee.sgml:
10673         * docs/gst/tmpl/gstthread.sgml:
10674         * docs/gst/tmpl/gsttrace.sgml:
10675         * docs/gst/tmpl/gsttrashstack.sgml:
10676         * docs/gst/tmpl/gsttypefind.sgml:
10677         * docs/gst/tmpl/gsttypes.sgml:
10678         * docs/gst/tmpl/gsturi.sgml:
10679         * docs/gst/tmpl/gsturitype.sgml:
10680         * docs/gst/tmpl/gstutils.sgml:
10681         * docs/gst/tmpl/gstvalue.sgml:
10682         * docs/gst/tmpl/gstversion.sgml:
10683         * docs/gst/tmpl/gstxml.sgml:
10684         * docs/gst/tmpl/gstxmlregistry.sgml:
10685         * docs/gst/tmpl/gthread-cothreads.sgml:
10686         * docs/gst/tmpl/types.sgml:
10687
10688 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10689
10690         * docs/pwg/other-sink.xml:
10691         * docs/pwg/other-source.xml:
10692           Documentation on how to write source and sink elements. Other
10693           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10694           manager, autoplugger) are all still pending.
10695
10696 2004-03-25  Benjamin Otte  <otte@gnome.org>
10697
10698         * testsuite/elements/Makefile.am:
10699         * testsuite/elements/gst-compprep-check:
10700           add check to make sure gst-compprep works
10701         * testsuite/elements/gst-inspect-check.in:
10702           improve initialization output
10703         * testsuite/Makefile.am:
10704         * testsuite/gst-inspect-check:
10705           remove old file
10706
10707 2004-03-24  David Schleef  <ds@schleef.org>
10708
10709         * testsuite/elements/Makefile.am:
10710         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10711         to the testsuite.
10712
10713 2004-03-24  Benjamin Otte  <otte@gnome.org>
10714
10715         * libs/gst/control/dparam.c: (gst_dparam_attach),
10716         (gst_dparam_detach):
10717         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10718           fix lvalue casts for real
10719
10720 2004-03-24  Benjamin Otte  <otte@gnome.org>
10721
10722         * gst/schedulers/gstbasicscheduler.c:
10723         (gst_basic_scheduler_src_wrapper):
10724         * gst/schedulers/gstoptimalscheduler.c:
10725         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10726         (pad_clear_queued), (gst_opt_scheduler_add_element),
10727         (gst_opt_scheduler_remove_element):
10728           fix GStreamer to not have issues with lvalue casts anymore (fixes
10729           #136841)
10730
10731 2004-03-24  Benjamin Otte  <otte@gnome.org>
10732
10733         * gst/gstelement.c:
10734           add documentation about a gobject quirk where the object hasn't the
10735           correct class pointer set on initialization
10736         * gst/schedulers/gstbasicscheduler.c:
10737         (gst_basic_scheduler_src_wrapper):
10738           make sure to not run into an infinite loop
10739
10740 2004-03-22  Benjamin Otte  <otte@gnome.org>
10741
10742         * gst/gstutils.c: (gst_util_dump_mem):
10743         * gst/gstutils.h:
10744           first argument of gst_util_dump_mem should be const
10745
10746 2004-03-22  Johan Dahlin  <johan@gnome.org>
10747
10748         * gst/gstvalue.h: Clean up a little bit.
10749
10750 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10751
10752         reviewed by Benjamin Otte  <otte@gnome.org>
10753
10754         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10755         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10756         (gst_aggregator_class_init), (gst_aggregator_init):
10757         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10758         (gst_filesrc_dispose), (gst_filesrc_set_location):
10759         * gst/elements/gstidentity.c: (gst_identity_finalize),
10760         (gst_identity_class_init), (gst_identity_chain):
10761         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10762         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10763         (gst_statistics_class_init):
10764         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10765         (gst_tee_get_property):
10766           clean up used memory in this elements correctly on teardown (closes
10767           #137279)
10768
10769 2004-03-20  Colin Walters  <walters@redhat.com>
10770
10771         * gst/registries/gstxmlregistry.c:
10772         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10773         registry saving atomic.
10774
10775 2004-03-20  Colin Walters  <walters@redhat.com>
10776
10777         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10778         Just use
10779         access() instead of actually creating and deleting files.
10780
10781 2004-03-18  David Schleef  <ds@schleef.org>
10782
10783         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10784         (bug #137625)
10785
10786 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10787
10788         * po/sv.po: updated translation (Christian Rose)
10789
10790 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10791
10792         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10793         (gst_filesink_get_query_types), (_do_init),
10794         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10795           return FALSE silently
10796         * po/af.po: updated translation (Petri Jooste)
10797
10798 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10799
10800         * Makefile.am:
10801         * configure.ac:
10802           dist common properly
10803         * po/af.po:
10804         * po/fr.po:
10805         * po/nl.po:
10806         * po/sr.po:
10807         * po/sv.po:
10808           refreshing translations
10809
10810 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10811
10812         * po/LINGUAS:
10813         * po/sv.po:
10814         * po/af.po:
10815           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10816
10817 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10818
10819         * Makefile.am: use common/release.mak
10820
10821 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10822
10823         * docs/faq/gst-uninstalled:
10824           adding gst-monkeysaudio to the list of possible plugin dirs
10825
10826 2004-03-16  David Schleef  <ds@schleef.org>
10827
10828         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10829         (gst_init_check_with_popt_table):  Fix some gettext strings to
10830         make them easier to translate.  Required making the strings
10831         non-const.
10832
10833 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10834
10835         * configure.ac: bump nano to 1
10836
10837 === release 0.8.0 ===
10838
10839 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10840
10841         * configure.ac: release 0.8.0, "Executive Slacks"
10842
10843 2004-03-16  Johan Dahlin  <johan@gnome.org>
10844
10845         * gst/schedulers/gstoptimalscheduler.c
10846         (gst_opt_scheduler_pad_unlink): Remove double ;,
10847         spotted by Scott Wheeler
10848
10849 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10850
10851         * configure.ac: bump libtool version
10852
10853 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10854
10855         * gst/gstcaps.h:
10856         * gst/gststructure.h:
10857           add reserved padding
10858
10859 2004-03-15  Benjamin Otte  <otte@gnome.org>
10860
10861         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10862           set the first parameter for select call correctly.
10863           (fixes #137230)
10864
10865 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10866
10867         * *.c,*.h: don't mix tabs and spaces
10868
10869 2004-03-15  Johan Dahlin  <johan@gnome.org>
10870
10871         * gst/schedulers/gstoptimalscheduler.c
10872         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10873         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10874
10875         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10876         
10877 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10878
10879         * testsuite/Rules:
10880           fix gst-register rules
10881
10882 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10883
10884         * testsuite/Rules:
10885           use versioned gst-register
10886
10887 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10888
10889         * docs/libs/gstreamer-libs-sections.txt:
10890           remove </SUBSECTION>
10891         * gst/gstplugin.c:
10892         * gst/gstregistry.c: (gst_registry_add_plugin):
10893         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10894         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10895           add debugging and fix some comment blocks
10896
10897 2004-03-15  Johan Dahlin  <johan@gnome.org>
10898
10899         * *.h: Revert indent changes.
10900         
10901 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10902
10903         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10904           g_error_free the g_error
10905         * tools/gst-feedback-m.m:
10906           check for other versions of gstreamer
10907         * tools/gst-indent:
10908           use sh, not bash
10909
10910 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10911
10912         * tools/gst-register.c: do not spill paths when registries are not
10913           writable, until we fix the "user running gst-register" case.
10914
10915 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10916
10917         * *.c, *.h: commit of gst-indent run on core
10918
10919 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10920
10921         * tools/gst-indent:
10922         * tools/Makefile.am:
10923           add our indentation style as a script
10924
10925 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10926
10927         * po/sr.po:
10928         * po/LINGUAS:
10929           added Serbian translation
10930
10931 2004-03-13  Benjamin Otte  <otte@gnome.org>
10932
10933         * gst/gstelement.c:
10934           add documentation note about gst_element_found_tags_for_pad not
10935           being usable in getfunctions. (see #137042)
10936
10937 2004-03-12  David Schleef  <ds@schleef.org>
10938
10939         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10940         change API right now!  Readd gst_caps_is_simple() macro.
10941         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10942         uninitialized variable.  I'd bet this caused crashes.
10943         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10944
10945 2004-03-12  Johan Dahlin  <johan@gnome.org>
10946
10947         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10948         * gst/gstcaps.h: Clean up
10949
10950         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10951         _gst_caps_initalize()
10952
10953         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10954         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10955
10956         * gst/gststructure.c (gst_structure_get_type): Ditto
10957
10958         * gst/gststructure.h: Ditto
10959         
10960 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10961
10962         * gst/gstqueue.c: (gst_queue_init):
10963           Reset default max. values in queues. Reason is simply to avoid
10964           braindead use. If you want wider values, use the properties. The
10965           default is supposed to always work. Wider values would make this
10966           beast a memory hog by default (250 full-PAL RGB32 video frames?
10967           That's 440 MB! No thank you).
10968
10969 2004-03-10  David Schleef  <ds@schleef.org>
10970
10971         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10972         were found.  (bug #136793)
10973
10974 2004-03-10  Johan Dahlin  <johan@gnome.org>
10975
10976         * gst/schedulers/gstoptimalscheduler.c
10977         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10978         links to elements within the same group, so we can finally remove
10979         that annoying warning. Refactor the code a little bit
10980         (group_dec_links_for_element): Split out
10981
10982 2004-03-09  David Schleef  <ds@schleef.org>
10983
10984         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10985         (bug #134863)
10986
10987 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10988
10989         * configure.ac: first bug fix due to major/minor bump
10990
10991 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10992
10993         * configure.ac: bump nano to 1
10994
10995 === release 0.7.6 ===
10996
10997 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10998
10999         * NEWS:
11000         * RELEASE:
11001         * configure.ac:
11002           releasing 0.7.6, "Almost"
11003         * po/fr.po:
11004         * po/nl.po:
11005         * tools/Makefile.am:
11006         * tools/gst-feedback-m.m:
11007           unversioned source
11008
11009 2004-03-09  Johan Dahlin  <johan@gnome.org>
11010
11011         Reviewed by: Thomas Vander Stichele
11012
11013         * gst/gstelement.c (gst_element_class_init): register second
11014         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11015         language bindings can (de)marshall correctly.
11016
11017         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11018
11019         * gst/gsterror.c (gst_g_error_get_type): New function
11020
11021         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11022         with VOID:OBJECT,OBJECT,STRING 
11023
11024 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11025
11026         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11027         Free a leaked g_timer on early returns.
11028
11029 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11030
11031         * docs/pwg/advanced-types.xml:
11032           Add cinepak description.
11033
11034 2004-03-07  David Schleef  <ds@schleef.org>
11035
11036         * docs/random/mimetypes:  Added cinepak description
11037
11038 2004-03-07  Andy Wingo  <wingo@pobox.com>
11039
11040         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11041
11042         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11043         there are no links to other groups when a group is destroyed.
11044         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11045         removed from a group, make sure the link count to elements linked
11046         to other pads is appropriately decremented. This really fixes
11047         #135672.
11048
11049         The 1.60->1.61 patch has been reapplied in light of this fix.
11050
11051         * gst/gstelement.c (gst_element_dispose): Really protect against
11052         multiple invocations this time.
11053
11054 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11055
11056         * docs/gst/gstreamer-sections.txt:
11057         * docs/gst/tmpl/gsttag.sgml:
11058           remove some deprecated functions, document some existing ones
11059         * gst/gsttag.c: (gst_tag_get_flag):
11060         * gst/gsttag.h:
11061           add accessor function
11062
11063 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11064
11065         * docs/gst/gstreamer-sections.txt:
11066         * docs/gst/tmpl/gsttag.sgml:
11067         * docs/gst/tmpl/gstxml.sgml:
11068         * gst/gsttag.c: (gst_tag_get_flag):
11069         * gst/gsttag.h:
11070
11071 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11072
11073         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11074         leak
11075
11076 2004-03-05  David Schleef  <ds@schleef.org>
11077
11078         * REQUIREMENTS: Add bison and flex.
11079         * configure.ac: Fix comment about bison.
11080         * docs/random/ds/0.9-suggested-changes: yer ma
11081         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11082
11083 2004-03-05  Benjamin Otte  <otte@gnome.org>
11084
11085         * gst/gstelement.c: (gst_element_error_full):
11086           revert recent recursive state changing commit - messing with other
11087           elements' states is evil and should be done by apps only.
11088
11089 2004-03-05  Benjamin Otte  <otte@gnome.org>
11090
11091         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11092           check for empty intersection instead of NULL caps
11093         (gst_element_get_compatible_pad_filtered):
11094           remove old workaround that is only a bug nowadays
11095
11096 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11097
11098         * gst/gstelement.c: (gst_element_error_full):
11099           make elements try to recursively change state to PAUSED on all
11100           parents after an error to suppress ensuing warnings
11101         * gst/parse/grammar.y:
11102           make it check if it was able to sync the state, and throw an error
11103           if not, so stuff like
11104           oggdemux ! vorbisdec ! osssink gets caught
11105
11106 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11107
11108         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11109           it contains lib64; use AS_AC_EXPAND to handle it properly
11110
11111 2004-03-05  David Schleef  <ds@schleef.org>
11112
11113         * gst/gstcpuid_i386.s:  Remove unused code
11114         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11115         (gst_getbits_newbuf): Remove MMX code
11116         * libs/gst/getbits/getbits.h: Remove MMX code
11117
11118 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11119
11120         * debian/.cvsignore:
11121         * debian/README.Debian:
11122         * debian/changelog:
11123         * debian/control:
11124         * debian/control.in:
11125         * debian/copyright:
11126         * debian/gstreamer-core-libs-dev.files:
11127         * debian/gstreamer-core-libs.files:
11128         * debian/gstreamer-core.files:
11129         * debian/gstreamer-core.postinst:
11130         * debian/gstreamer-core.postrm:
11131         * debian/gstreamer-doc.files:
11132         * debian/gstreamer-doc.links:
11133         * debian/gstreamer-doc.lintian:
11134         * debian/gstreamer-runtime.files:
11135         * debian/gstreamer-runtime.manpages:
11136         * debian/gstreamer-runtime.postinst:
11137         * debian/gstreamer-runtime.postrm:
11138         * debian/gstreamer-tools.files:
11139         * debian/gstreamer-tools.manpages:
11140         * debian/libgstreamer-dev.files:
11141         * debian/libgstreamer0.4.1.files:
11142         * debian/libgstreamerVERSION.files:
11143         * debian/rules:
11144         Debian package info not maintained here.
11145
11146 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11147
11148         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11149         * gst/gstbin.c: (gst_bin_class_init):
11150         * gst/gstelement.c: (gst_element_class_init):
11151         * gst/gstindex.c: (gst_index_class_init):
11152         * gst/gstobject.c: (gst_object_class_init),
11153         (gst_signal_object_class_init):
11154         * gst/gstpad.c: (gst_pad_template_class_init):
11155         * gst/gstregistry.c: (gst_registry_class_init):
11156         * gst/gsturi.c: (gst_uri_handler_base_init):
11157         * gst/gstxml.c: (gst_xml_class_init):
11158         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11159         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11160           make all signal names use dashes instead of underscore
11161
11162 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11163
11164         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11165
11166 2004-03-03  Benjamin Otte  <otte@gnome.org>
11167
11168         * gst/schedulers/gstoptimalscheduler.c:
11169           revert last commit by Andy Wingo. It causes segfaults on unreffing
11170           in Rhythmbox. (see bug #135672)
11171
11172 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11173
11174         * po/fr.po: fix typo
11175
11176 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11177
11178         * tools/gst-inspect.c: (main): 
11179         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11180
11181 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11182
11183         * configure.ac:
11184           get GLIB_ONLY and POPT flags for the nonversioned binaries
11185         * tools/Makefile.am:
11186           use them
11187
11188 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11189
11190         * gst/gst.c: (init_post):
11191           change so that GST_REGISTRY now is where the global registry gets
11192           saved, since that is where plugins now get attached to first, and
11193           spilled over to the user registry.  Note that in the case of using
11194           GST_REGISTRY env var, we don't want to affect any real registries
11195           beyond the one given by this var, and thus we don't set a user
11196           registry to spill to.  So make sure GST_REGISTRY is writable.
11197
11198 2004-03-01  David Schleef  <ds@schleef.org>
11199
11200         * AUTHORS:  Added some names.  Add yourself if you're missing.
11201
11202 2004-03-01  David Schleef  <ds@schleef.org>
11203
11204         * MAINTAINERS: Add
11205
11206 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11207
11208         * configure.ac:
11209           remove whitespace
11210         * docs/gst/tmpl/gstbuffer.sgml:
11211         * docs/gst/tmpl/gstdata.sgml:
11212         * docs/gst/tmpl/gstreamer-unused.sgml:
11213         * docs/gst/tmpl/gstxml.sgml:
11214           doc update
11215         * docs/manuals.mak:
11216           add a FIXME
11217         * docs/pwg/intro-preface.xml:
11218         * docs/pwg/pwg.xml:
11219           remove GNOME
11220         * gst/gst.c: (init_post):
11221           try GST_PLUGIN_PATH paths for the _global_registry first
11222         * gst/gstelement.h:
11223           add the error message as well, otherwise (null) debug info doesn't
11224           make much sense
11225         * tools/gst-register.c: (main):
11226           spill paths to next registry if this registry is not writable
11227         * po/fr.po:
11228         * po/nl.po:
11229           translation updates
11230
11231 2004-03-01  Johan Dahlin  <johan@gnome.org>
11232
11233         * gst/gstbuffer.c (_gst_buffer_initialize): 
11234         * gst/gstdata.c (gst_data_get_type): 
11235         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11236         instead of ref, since some applications that uses GBoxed
11237         routines depends on a function that actually returns a copy.
11238
11239 2004-02-27  Benjamin Otte  <otte@gnome.org>
11240
11241         * gst/gstbuffer.h:
11242           remove gst_buffer_free, use gst_data_unref
11243         * gst/gstdata.c: (gst_data_get_type):
11244           use refcounting in GstData GBoxed registration
11245         * gst/gstdata.h:
11246           remove gst_data_free, use gst_data_unref
11247
11248 2004-02-27  Johan Dahlin  <johan@gnome.org>
11249
11250         * gst/gstdata.c (gst_data_get_type): New function, register
11251         GstData as a GBoxed type.
11252
11253         * gst/gstdata.h (GST_TYPE_DATA): New macro
11254
11255 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11256
11257         * Makefile.am:
11258         * gstreamer.spec.in:
11259           put back RELEASE
11260         * gst/Makefile.am:
11261           clean up non-disting of built files
11262         * testsuite/debug/commandline.c:
11263           test fix for option rename
11264
11265 2004-02-26  David Schleef  <ds@schleef.org>
11266
11267         * configure.ac:  We don't really need glib-2.3.  Also remove
11268         some unneeded checks for library functions.
11269         * gst/Makefile.am:  Instead, we need to not dist files created
11270         by glib-genmarshal.
11271
11272 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11273
11274         * configure.ac:
11275           bump glib required version to 2.3.0 for g_value_takes_boxed
11276
11277  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11278
11279         * common/m4/gst-docs.m4
11280         change flavour text from enable to disable as enable is our default
11281         closes bug Bug 135304
11282
11283 === release 0.7.5 ===
11284  
11285  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11286  
11287         * NEWS:
11288           instate NEWS file
11289         * Makefile.am:
11290         * gstreamer.spec.in:
11291         * RELEASE:
11292           put back release
11293         * configure.ac:
11294         * docs/random/release:
11295           more updates
11296
11297 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11298
11299         * gst/gsttag.c: (_gst_tag_initialize):
11300         * po/fr.po:
11301         * po/nl.po:
11302           remove hyphen from codec tags
11303
11304 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11305
11306         * gst/parse/Makefile.am:
11307           fix dependency so that a make from a clean build works the first
11308           time
11309
11310 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11311
11312         * docs/random/release:
11313           update release strategy
11314         * po/fr.po:
11315           auto-update po file
11316         * po/nl.po:
11317           update dutch translation
11318
11319 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11320
11321         * docs/manual/debugging.xml:
11322         fix manual for new debugging system
11323
11324 2004-02-25  Andy Wingo  <wingo@pobox.com>
11325
11326         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11327         gst_pad_link_prepare. Please email the list with specific reasons
11328         for reverting.
11329
11330 2004-02-24  Andy Wingo  <wingo@pobox.com>
11331
11332         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11333         invocations.
11334
11335         * gst/schedulers/gstoptimalscheduler.c:
11336         I added a mess of prototypes at the top of the file by way of
11337         documentation. Some of the operations on chains and groups were
11338         re-organized.
11339
11340         (create_group): Added a type argument so if the group is enabled,
11341         the setup_group_scheduler knows what to do.
11342         (group_elements): Added a type argument here, too, to be passed on
11343         to create_group.
11344         (group_element_set_enabled): If an unlinked PLAYING element is
11345         added to a bin, we have to create a new group to hold the element,
11346         and this function will be called before the group is added to the
11347         chain. Thus we have a valid case for group->chain==NULL. Instead
11348         of calling chain_group_set_enabled, just set the flag on the group
11349         (the chain's status will be set when the group is added to it).
11350         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11351         Setup the group scheduler when the group is enabled, not
11352         specifically when an element goes PAUSED->PLAYING. This means
11353         PLAYING elements can be added, linked, and scheduled into a
11354         PLAYING pipeline, as was intended.
11355         (add_to_group): Don't ref the group twice. I don't know when this
11356         double-ref got in here. Removing it has the potential to cause
11357         segfaults if other parts of the scheduler are buggy. If you find
11358         that the scheduler is segfaulting for you, put in an extra ref
11359         here and see if that hacks over the underlying issue. Of course,
11360         then find out what code is unreffing a group it doesn't own...
11361         (create_group): Make the extra refcount floating, and remove it
11362         after adding the element. This means that...
11363         (unref_group): Destroy when the refcount reaches 0, not 1, like
11364         every other refcounted object in the known universe.
11365         (remove_from_group): When a group becomes empty, set it to be not
11366         active, and remove it from its chain. Don't unref it again,
11367         there's no floating reference any more.
11368         (destroy_group): We have to remove the group from the chain in
11369         remove_from_group (rather than here) to break refcounting cycles
11370         (the chain always has a ref on the group). So assert that
11371         group->chain==NULL.
11372         (ref_group_by_count): Removed, it was commented out anyway.
11373         (merge_chains): Use the remove_from_chain and add_to_chain
11374         primitives to do the reparenting, instead of rolling our own
11375         implementation.
11376         (add_to_chain): The first non-disabled group in the chain's group
11377         list will be the entry point for the chain. Because buffers can
11378         accumulate in loop elements' peer bufpens, we preferentially
11379         schedule loop groups before get groups to avoid unnecessary
11380         execution of get-based groups when the bufpens are already full.
11381         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11382         (get_group_schedule_function): Ditto.
11383         (loop_group_schedule_function): Ditto.
11384         (gst_opt_scheduler_loop_wrapper): Ditto.
11385         (gst_opt_scheduler_iterate): Ditto.
11386
11387         I understand the opt scheduler now, yippee!
11388
11389         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11390         (gst_pad_get_name, gst_pad_set_chain_function) 
11391         (gst_pad_set_get_function, gst_pad_set_event_function) 
11392         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11393         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11394         (gst_pad_set_query_function, gst_pad_get_query_types) 
11395         (gst_pad_get_query_types_default) 
11396         (gst_pad_set_internal_link_function) 
11397         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11398         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11399         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11400         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11401         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11402         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11403         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11404         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11405         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11406         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11407         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11408         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11409         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11410         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11411         argument checks, and some doc fixes.
11412
11413         (gst_pad_custom_new_from_template): Um, does anyone
11414         use these functions? Actually make a custom pad instead of a
11415         normal one.
11416         (gst_pad_try_set_caps): Transpose some checks.
11417         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11418         the pad is in negotiation.
11419         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11420         
11421         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11422
11423         * gst/gstelement.h: 
11424         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11425         on the list.
11426
11427 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11428
11429         * gst/gstbin.c: (gst_bin_add):
11430           add error for not being able to add elements
11431
11432 2004-02-22  Julien MOUTTE <julien@moutte.net>
11433
11434         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11435         audio-codec and video-codec.
11436
11437 2004-02-22  Benjamin Otte  <otte@gnome.org>
11438
11439         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11440
11441         * autogen.sh:
11442           replace test -e with test -x for mkinstalldirs to be more portable.
11443           (fixes #134816)
11444
11445 2004-02-22  Benjamin Otte  <otte@gnome.org>
11446
11447         * gst/gstpad.c:
11448           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11449           too noisy
11450         * gst/gsttag.c: (_gst_tag_initialize):
11451         * gst/gsttag.h:
11452           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11453         * libs/gst/control/dparam.c: (gst_dparam_attach):
11454         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11455           check that types for attached dparams match
11456
11457 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11458
11459         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11460         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11461         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11462           fix errors
11463
11464 2004-02-20  Andy Wingo  <wingo@pobox.com>
11465
11466         * gst/gstbin.c:
11467         * gst/gstbuffer.c:
11468         * gst/gstplugin.c:
11469         * gst/registries/gstxmlregistry.c: 
11470         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11471
11472         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11473         (gst_element_add_pad): DEBUG->INFO, some fixes.
11474         (gst_element_get_compatible_pad_template): Just see if the
11475         templates' caps intersect, not if one is a strict subset of the
11476         other. This conforms more to what gst_pad_link_intersect() does.
11477         (gst_element_class_add_pad_template): Don't memcpy the pad
11478         template, just ref it.
11479         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11480
11481         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11482         (gst_pad_link_filtered): Debug changes.
11483         (gst_pad_link_prepare): New function, consolidated from
11484         can_link_filtered and link_filtered.
11485
11486         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11487         look more like that of the functions in gstelement.c
11488
11489         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11490         object, and return the empty string if object is NULL.
11491
11492         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11493         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11494         LOG, not DEBUG. We still get flex info on debug.
11495
11496         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11497         debug string more verbose.
11498         (plugin_times_older_than): DEBUG->LOG.
11499
11500 2004-02-20  Julien MOUTTE <julien@moutte.net>
11501
11502         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11503         will emit found_tag for each stream they demux with the codec.
11504
11505 2004-02-20  Benjamin Otte  <otte@gnome.org>
11506
11507         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11508           copy navigation event correctly. Check freeing tag lists. 
11509         * gst/gstthread.c: (gst_thread_change_state):
11510           don't abort() on state changing mess - it might happen because of
11511           bugs.
11512         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11513           use boxed functions
11514         * gst/gstvalue.h:
11515           fix GST_VALUE_HOLDS_CAPS
11516
11517 2004-02-19  David Schleef  <ds@schleef.org>
11518
11519         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11520         and use it for GST_FUNCTION.  (bug #134750)
11521
11522 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11523
11524         * po/fr.po:
11525         * po/nl.po:
11526           updating translations
11527
11528 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11529
11530         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11531
11532 2004-02-18  kost@imn.htwk-leipzig.de
11533
11534         reviewed by: David Schleef  <ds@schleef.org>
11535
11536         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11537         for libgstcontrol.
11538
11539 2004-02-18  David Schleef  <ds@schleef.org>
11540
11541         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11542         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11543         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11544         * tools/gst-inspect.c: (print_element_info): Support dumping of
11545         double dparam information.
11546
11547 2004-02-17  David Schleef  <ds@schleef.org>
11548
11549         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11550         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11551         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11552         Use GST_TYPE_CAPS in signal prototype.
11553         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11554         Convert GST_TYPE_CAPS to boxed.
11555         * gst/gstelement.c: (gst_element_class_init):
11556         Use GST_TYPE_TAG_LIST in signal prototype.
11557         * gst/gstindex.c: (gst_index_class_init):
11558         * gst/gstindex.h:
11559         Add GST_TYPE_INDEX_ENTRY type.
11560         * gst/gstmarshal.list:
11561         Add necessary marshal types.
11562         * gst/gstpad.c: (gst_real_pad_class_init),
11563         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11564         (gst_pad_recover_caps_error):
11565         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11566         * gst/gststructure.c: (_gst_structure_initialize),
11567         (gst_structure_copy), (_gst_structure_copy_conditional):
11568         * gst/gststructure.h:
11569         Convert GST_TYPE_STRUCTURE to boxed.
11570         * gst/gsttag.c: (gst_tag_list_get_type):
11571         * gst/gsttag.h:
11572         Add GST_TYPE_TAG_LIST type.
11573
11574 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11575
11576         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11577         to what we agreed with david.
11578         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11579
11580 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11581
11582         * po/nl.po: update translation
11583
11584 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11585
11586         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11587           throw an error if spider is trying to play a mime type there is
11588           no decoder for
11589         * po/POTFILES.in:
11590           add gst/autoplug/gstspider.c for translation
11591
11592 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11593
11594         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11595         silently when the pad is negotiating.
11596
11597 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11598
11599         * docs/faq/Makefile.am:
11600           add script to run gstreamer uninstalled 
11601         * docs/faq/faq.xml:
11602         * docs/faq/developing.xml:
11603         * docs/faq/gst-uninstalled:
11604           extract script to run gstreamer uninstalled
11605         * docs/manuals.mak:
11606           add EXTRA_SOURCES variable for Makefile.am's to set to
11607           use additional SOURCE files for the doc build
11608
11609 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11610
11611         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11612
11613 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11614
11615         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11616         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11617         an error was thrown by osssink. Basically a state change failure for
11618         an element in a different scheduling group was considered as
11619         successful, which means that caps nego was going on and weird stuff
11620         happened. Like I wrote in the comment there, if someone wants to
11621         revert that please drop me a mail explaining why because I really see
11622         no point in keeping that broken behaviour there.
11623         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11624         be empty, we then return NULL which will trigger a nice error when 
11625         pulling from the pad.
11626
11627 2004-02-13  David Schleef  <ds@schleef.org>
11628
11629         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11630         (gst_dparam_get_property), (gst_dparam_set_property),
11631         (gst_dparam_do_update_default):
11632         * libs/gst/control/dparam.h:
11633         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11634         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11635         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11636         (gst_dpsmooth_do_update_double):
11637         * libs/gst/control/dparam_smooth.h:
11638         * libs/gst/control/dparammanager.c:
11639         (gst_dpman_inline_direct_update):
11640         Add support for double dparams.
11641
11642 2004-02-13  David Schleef  <ds@schleef.org>
11643
11644         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11645         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11646
11647 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11648
11649         reviewed by: David Schleef  <ds@schleef.org>
11650
11651         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11652         (gst_fdsrc_init), (gst_fdsrc_set_property),
11653         (gst_fdsrc_get_property), (gst_fdsrc_get):
11654         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11655         and sends an EOS event if file descriptor reading times out.
11656
11657 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11658
11659         * configure.ac:
11660           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11661
11662 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11663
11664         * configure.ac: pass required libxml version as argument
11665         (bug reported by Christophe Fergeau)
11666
11667 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11668   
11669         * docs/gst/gstreamer-docs.sgml:
11670         * docs/gst/tmpl/gstxml.sgml:
11671         * docs/libs/gstreamer-libs-docs.sgml:
11672           version API docs
11673
11674 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11675
11676         * gst/gstinfo.c:
11677         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11678         (gst_registry_pool_feature_filter):
11679         * gst/gstthread.c: (gst_thread_class_init):
11680         * gst/gstvalue.c:
11681           add includes exposed by building without libxml
11682         * gst/indexers/Makefile.am:
11683           do not build fileindex when LOADSAVE disabled; we should have
11684           a better libxml check later since fileindex depends on xml, not
11685           LOADSAVE or REGISTRY
11686         * libs/gst/control/Makefile.am:
11687           link with m
11688         * tools/Makefile.am:
11689           fix wrong source code for gst-xmlinspect
11690
11691 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11692
11693         * configure.ac:
11694           fix gcov help output
11695           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11696         * docs/random/release:
11697           some updated releasing notes
11698         * gstreamer.spec.in:
11699           more updates
11700
11701 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11702
11703         * docs/faq/faq.xml:
11704         * docs/manual/manual.xml:
11705         * docs/pwg/pwg.xml:
11706         * docs/pwg/titlepage.xml:
11707           put version in documentation
11708
11709 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11710
11711         * tools/Makefile.am: fix man page installation
11712
11713 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11714
11715         * configure.ac:
11716           don't check for libxml when load/save and registry disabled (#105844)
11717         * gstreamer.spec.in:
11718           sync with fedora candidate spec
11719
11720 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11721
11722         * po/fr.po:
11723         * po/nl.po:
11724           replace multidisksrc with multifilesrc
11725
11726 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11727
11728         * po/POTFILES.in:
11729           update to multidisksrc => multifilesrc file renaming (#134145)
11730
11731 2004-02-11  David Schleef  <ds@schleef.org>
11732
11733         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11734         * docs/gst/tmpl/gstpadtemplate.sgml: same
11735         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11736         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11737         fixing dance.
11738         * gst/gstutils.c: Remove disabled code that uses GstProps.
11739         * gst/registries/gstxmlregistry.h: same
11740         * docs/random/ds/0.9-suggested-changes: random notes
11741
11742 2004-02-11  kost@imn.htwk-leipzig.de
11743
11744         reviewed by: David Schleef  <ds@schleef.org>
11745
11746         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11747         initialisation of clock (bug #134128)
11748
11749 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11750
11751         * configure.ac:
11752         * gst/elements/Makefile.am:
11753         * gst/elements/gstelements.c:
11754         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11755         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11756         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11757         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11758         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11759         * gst/elements/gstmultifilesrc.h:
11760           rename multidisksrc to multifilesrc (part of #122200)
11761
11762 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11763
11764         * docs/manuals.mak:
11765           fix automake complaints
11766         * gst-element-check.m4:
11767           fix unquotedness
11768
11769 2004-02-11  David Schleef  <ds@schleef.org>
11770
11771         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11772         * gst/gstatomic_impl.h: Disable sparc implementation.
11773
11774 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11775
11776         * gst-element-check.m4:
11777           fix underquoted macros as reported by automake 1.8.x (#133800)
11778         * configure.ac:
11779           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11780           by autopoint (fixes #132996)
11781
11782 2004-02-10  Andy Wingo  <wingo@pobox.com>
11783
11784         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11785         way to do inheritance.
11786         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11787         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11788         Routine docs.
11789         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11790         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11791         doc.
11792         (gst_pad_unlink, gst_pad_is_linked): Docs.
11793         (gst_pad_renegotiate): A brief description of capsnego.
11794         (gst_pad_try_set_caps): Document.
11795         (gst_pad_try_set_caps_nonfixed): Document.
11796         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11797         (gst_pad_set_parent): Deprecated (although not out of the API).
11798         (gst_pad_get_parent): Deprecated, although many plugins use this.
11799         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11800         are private and will go away in 0.9.
11801         (gst_pad_perform_negotiate): Doc.
11802         (gst_pad_link_unnegotiate): I think this is meant to be static.
11803         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11804         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11805         (gst_pad_get_peer): Doc updates.
11806         (gst_pad_caps_change_notify): Doc.
11807         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11808         (gst_ghost_pad_new): Doc fixes.
11809
11810         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11811         (gst_object_check_uniqueness): 
11812
11813         * gst/gstelement.c (gst_element_add_pad) 
11814         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11815         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11816         (gst_element_get_static_pad, gst_element_get_pad_list) 
11817         (gst_element_class_get_pad_template_list) 
11818         (gst_element_class_get_pad_template): Work on the docs.
11819         (gst_element_get_pad_template_list): Uses the class method.
11820         (gst_element_get_compatible_pad_template): Docs, and consolidate
11821         some test conditions. 
11822         (gst_element_get_pad_from_template): New static function.
11823         (gst_element_request_compatible_pad): Docs, and work with
11824         non-request compatible templates. 
11825         (gst_element_get_compatible_pad_filtered): Docs and remove
11826         redundant checks.
11827         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11828         (gst_element_link_filtered, gst_element_link_many) 
11829         (gst_element_link, gst_element_link_pads) 
11830         (gst_element_unlink_many): Docs.
11831
11832 2004-02-05  Andy Wingo  <wingo@pobox.com>
11833
11834         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11835         s/pointer/boxed/.
11836
11837         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11838
11839         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11840         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11841         with the type=GST_TYPE_CAPS. This allows language bindings to know
11842         what kind of data they're dealing with.
11843
11844         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11845         to NULL when g_value_init is called. GstCaps, which rolls its own
11846         type implementation, now does the same instead of allocating empty
11847         caps.
11848         (_gst_caps_initialize, _gst_caps_collect_value,
11849         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11850         table methods. This allows G_VALUE_COLLECT to work.
11851
11852 2004-02-05  Andy Wingo  <wingo@pobox.com>
11853
11854         * configure.ac:
11855         * testsuite/Makefile.am (SUBDIRS): 
11856         * testsuite/ghostpads/Makefile.am: 
11857         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11858
11859         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11860         These two routines are the only ones that set
11861         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11862         pad template. They should be made static, depending on ABI needs.
11863         (gst_real_pad_dispose): Handle the case of ghost pads without a
11864         parent. Assert after dealing with ghost pads that the ghost pad
11865         list is empty.
11866         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11867         set after creation.
11868         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11869         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11870         functions. set_property will call add_ghost_pad/remove_ghost_pad
11871         as appropriate.
11872         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11873
11874         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11875         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11876         (gst_element_remove_pad): Handle ghost pads as well.
11877         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11878         depending on API-stability needs).
11879
11880 2004-02-05  Andy Wingo  <wingo@pobox.com>
11881
11882         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11883         of course they're const
11884
11885 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11886
11887         * tools/Makefile.am:
11888         * tools/gst-feedback:
11889         * tools/gst-feedback-0.7:
11890           make gst-feedback versioned too for consistency
11891
11892 2004-02-11  David Schleef  <ds@schleef.org>
11893
11894         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11895         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11896
11897 2004-02-10  Julien MOUTTE <julien@moutte.net>
11898
11899         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11900         the structure does not contain a valid tag list. Adding a safety check
11901         to remove a noisy warning in that case.
11902
11903 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11904
11905         * gst/gst.c: fix name to be in line with others
11906
11907 2004-02-09  Julien MOUTTE <julien@moutte.net>
11908
11909         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11910         not shout that loud when len is 0. Just return 0 silently.
11911
11912 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11913
11914         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11915         because data_unref has one and I prefer the debug to be symetric.
11916         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11917         were refed when added to the queue and unrefed only once when the queue
11918         was flushed. Now the flush handler unref the buffers two times : first
11919         unref for the ref added when pushing in the queue's tail and second
11920         unref to destroy the flushed buffer.
11921
11922 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11923
11924         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11925
11926 2004-02-06  David Schleef  <ds@schleef.org>
11927
11928         * docs/random/ds/0.9-suggested-changes: Random ramblings
11929         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11930         to int before printing.
11931         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11932         * gst/parse/parse.l: same.  See bug #129600
11933
11934 2004-02-06  David Schleef  <ds@schleef.org>
11935
11936         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11937         (gst_index_add_entry), (gst_index_add_associationv),
11938         (gst_index_add_association): Add gst_index_add_associationv()
11939         and clean up gst_index_add_association(). #127133
11940
11941 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11942
11943         * autogen.sh: check out common with right tag if CVS/Tag exists
11944
11945 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11946
11947         * testsuite/ghostpads/ghostpads.c: (main):
11948           fix testsuite from segfaulting
11949
11950 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11951
11952         * Makefile.am: add release target
11953         * configure.ac: bump nano to 1
11954         * docs/random/release:
11955
11956 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11957
11958         * gst/gstcaps.h:
11959         * gst/gstelement.c: (gst_element_base_class_init),
11960         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11961         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11962         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11963         (gst_real_pad_dispose):
11964         * gst/gststructure.c: (gst_structure_free),
11965         (gst_structure_from_string):
11966           put reverted patch back in
11967         * gst/gstelement.c: (gst_element_remove_pad):
11968           free explicit caps if they're set
11969         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11970           copy the structure when fixating
11971
11972 2004-02-05  David Schleef  <ds@schleef.org>
11973
11974         * gst/gstmarshal.list:
11975         * gst/gstpad.c: (gst_real_pad_class_init),
11976         (_gst_real_pad_fixate_accumulator):
11977         Revert POINTER->BOXED change in signal marshaller.
11978
11979 === release 0.7.4 ===
11980                                                                                 
11981 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11982                                                                                 
11983         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11984         * configure.ac: changed for release
11985
11986 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11987
11988         * gstreamer.spec.in:
11989           bump required version of gtk-doc
11990
11991 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11992
11993         * gst/gstcaps.h:
11994         * gst/gstelement.c: (gst_element_base_class_init),
11995         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11996         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11997         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11998         (gst_real_pad_dispose):
11999         * gst/gststructure.c: (gst_structure_free),
12000         (gst_structure_from_string):
12001           revert patch that breaks applications, reapply after release
12002           to get this fixed properly
12003
12004 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12005
12006         * gst/gsttag.c: (_gst_tag_initialize):
12007         * gst/gsttag.h:
12008           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12009
12010 2004-02-04  David Schleef  <ds@schleef.org>
12011
12012         Fix some memleaks:
12013         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12014         (gst_spider_plug_from_srcpad):
12015         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12016
12017 2004-02-04  David Schleef  <ds@schleef.org>
12018
12019         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12020         a GstRealPad before accessing its structure members.
12021
12022 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12023
12024         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12025         (gst_clock_get_speed):
12026         * gst/gstclock.h:
12027           reset padding, remove unused fields
12028
12029 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12030
12031         * gst/autoplug/gstspideridentity.c:
12032         (gst_spider_identity_sink_loop_type_finding):
12033           use get_allowed_caps, not get_caps (fixes #132519)
12034         * gst/elements/gsttypefind.c: (stop_typefinding):
12035           use correct order when sending buffers and seeking
12036
12037 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12038
12039         * configure.ac:
12040         * gst/gstelement.h:
12041         * gst/gstpad.h:
12042         * gst/gstqueue.h:
12043           upgrade libtool CURRENT, reset padding
12044
12045 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12046
12047         * configure.ac:
12048           bump to prerelease
12049           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12050
12051 2004-02-04  David Schleef  <ds@schleef.org>
12052
12053         * docs/random/ds/0.9-suggested-changes: random notes
12054         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12055         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12056         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12057         expansion.
12058         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12059         (gst_filesink_get_query_types): same
12060         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12061         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12062         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12063         to use new GST_PTR_FORMAT.
12064         * gst/gstelement.h: deprecate function factory macros
12065         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12066         These are our last variadic macros that can't be replaced with
12067         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12068         attempting to deprecate gst_element_clock_wait().
12069         * gst/gstevent.h: same
12070         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12071         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12072         * gst/gstpad.h: deprecate function factory macros similar to above.
12073
12074 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12075
12076         * configure.ac:
12077         * tools/Makefile.am:
12078         * tools/gst-run.c: (popt_callback), (hash_print_key),
12079         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12080         (get_candidates), (main):
12081           add new source file to generate non-versioned wrapper binaries
12082           for our tools.
12083
12084 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12085
12086         * gst/gstevent.c: (_gst_event_free):
12087           actually break; inside the switch statement
12088         * gst/parse/grammar.y:
12089           fix memleak where GValues weren't unset
12090
12091 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12092
12093         * gst/gststructure.c: (gst_structure_from_string):
12094           fix huge memleak
12095         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12096         (new_entry), (gst_type_find_element_chain):
12097         * gst/gstelement.c: (gst_element_base_class_init),
12098         (gst_element_class_set_details):
12099         * gst/gstpad.c: (gst_pad_can_link_filtered):
12100           fix smaller memleaks
12101         * gst/gstpad.c: (gst_real_pad_dispose):
12102           check that explicit caps are gone
12103         * gst/gststructure.c: (gst_structure_free):
12104           actually free the structure
12105         * gst/gstelement.c: (gst_element_clear_pad_caps):
12106           unset explicit caps
12107
12108 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12109
12110         * tools/Makefile.am:
12111           use AM_CFLAGS since all the CFLAGS are the same
12112           use AM_LDFAGS
12113
12114 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12115
12116         * docs/manual/gnome.xml:
12117           expand example a little
12118         * gst/gst.c: (gst_init_with_popt_table),
12119         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12120           make sure popt option displays are done with right textdomain
12121           use GstPoptOption type
12122         * gst/gst.h:
12123           create GstPoptOption type
12124
12125 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12126
12127         * gst/gsterror.c: (_gst_stream_errors_init):
12128         * gst/gsterror.h:
12129           adding error type for no codec
12130         * po/POTFILES.in:
12131           add gst-inspect
12132         * po/nl.po:
12133           update dutch translation
12134         * tools/gst-inspect.c: (print_element_list), (main):
12135           do proper internationalization
12136         * tools/gst-launch.c: (idle_func):
12137           remove commented out function call
12138
12139 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12140
12141         * docs/README:
12142           add some error fixing notes
12143         * docs/gst/gstreamer-sections.txt:
12144           remove double entries
12145         * docs/gst/tmpl/gstbin.sgml:
12146         * docs/gst/tmpl/gstclock.sgml:
12147           remove override
12148         * docs/gst/tmpl/gstelement.sgml:
12149         * docs/gst/tmpl/gstindex.sgml:
12150         * docs/gst/tmpl/gstobject.sgml:
12151         * docs/gst/tmpl/gstpadtemplate.sgml:
12152         * docs/gst/tmpl/gstreamer-unused.sgml:
12153         * docs/gst/tmpl/gsttag.sgml:
12154         * docs/gst/tmpl/gstthread.sgml:
12155         * docs/gst/tmpl/gstxml.sgml:
12156         * gst/gsttag.h:
12157           sync header prototypes with c decls
12158         * gst/gsttaginterface.c:
12159           fix doc headers
12160
12161 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12162
12163         * gst/parse/Makefile.am:
12164         * gst/gstobject.h:
12165           get rid of gstmarshal.h dependency. It's not needed.
12166         * gst/gst.h:
12167         * gst/elements/gstfakesink.c:
12168         * gst/elements/gstfakesrc.c:
12169         * gst/elements/gstidentity.c:
12170         * gst/gstbin.c:
12171         * gst/gstelement.c:
12172         * gst/gstindex.c:
12173         * gst/gstobject.c:
12174         * gst/gstpad.c:
12175         * gst/gstthread.c:
12176         * gst/gstxml.c:
12177         * libs/gst/control/dparam.c:
12178         * libs/gst/control/dparammanager.c:
12179           include gstmarshal.h.
12180         Fixes #132045
12181
12182 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12183
12184         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12185         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12186         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12187         * gst/elements/gstfilesrc.h:
12188           don't ref the filesrc when creating mmaped buffers. Don't keep a
12189           list of not-yet-destroyed buffers.
12190         * gst/gstbuffer.h:
12191           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12192
12193 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12194
12195         * gst/gst.c: (init_pre):
12196           remove textdomain
12197
12198 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12199
12200         * docs/pwg/advanced-events.xml:
12201         * docs/pwg/advanced-scheduling.xml:
12202         * docs/pwg/intro-basics.xml:
12203         * docs/pwg/other-manager.xml:
12204         * docs/pwg/other-nton.xml:
12205         * docs/pwg/other-ntoone.xml:
12206         * docs/pwg/other-oneton.xml:
12207         * docs/pwg/pwg.xml:
12208           All sort of documentation... Forgot what. Point is that I want this
12209           in before I leave. The 'other-*' will be the last section and will
12210           explain issues specific to these type of elements.
12211
12212 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12213
12214         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12215         (gst_filesrc_get_read):
12216           set all the values on buffers that we can
12217
12218 2004-02-02  David Schleef  <ds@schleef.org>
12219
12220         Change usage of isblah() to g_ascii_isblah() to be more locale
12221         independent.  (#133076)
12222         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12223         * gst/gstutils.c:
12224         * gst/parse/parse.l:
12225
12226 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12227
12228         reviewed by: David Schleef  <ds@schleef.org>
12229
12230         Fix memory leaks:
12231         * gst/gstcaps.c: (gst_caps_to_string):
12232         * gst/registries/gstxmlregistry.c:
12233         (gst_xml_registry_add_path_list_func),
12234         (gst_xml_registry_parse_padtemplate):
12235
12236 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12237
12238         * gst/gstelement.c: (gst_element_default_error):
12239           suffix error messages with period
12240
12241 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12242
12243         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12244         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12245         * gst/gsterror.c: (gst_error_get_message):
12246           Suffix with dots
12247         * po/fr.po:
12248         * po/nl.po:
12249           Update translation files
12250
12251 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12252
12253         * gst/autoplug/gstspideridentity.c:
12254         (gst_spider_identity_sink_loop_type_finding):
12255         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12256         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12257         (gst_filesink_close_file), (gst_filesink_handle_event),
12258         (gst_filesink_chain):
12259         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12260         (gst_filesrc_get_read), (gst_filesrc_open_file):
12261         * gst/elements/gstidentity.c: (gst_identity_chain):
12262         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12263         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12264         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12265         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12266         * gst/gsterror.c: (_gst_core_errors_init),
12267         (_gst_library_errors_init), (_gst_resource_errors_init),
12268         (_gst_stream_errors_init), (gst_error_get_message):
12269         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12270         (gst_pad_recover_caps_error), (gst_pad_pull):
12271         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12272         * gst/schedulers/gstbasicscheduler.c:
12273         (gst_basic_scheduler_chainhandler_proxy),
12274         (gst_basic_scheduler_gethandler_proxy),
12275         (gst_basic_scheduler_cothreaded_chain):
12276           Suffix error messages with period.
12277           Use (NULL) instead of NULL
12278
12279 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12280
12281         * docs/gst/tmpl/gstelement.sgml:
12282         * docs/gst/tmpl/gstxml.sgml:
12283         * gst/gstelement.c: (gst_element_error_full):
12284           add element path to error
12285
12286 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12287
12288         * docs/random/mimetypes:
12289           update raw int/float info
12290         * gst/gsttag.c: (_gst_tag_initialize):
12291         * gst/gsttag.h:
12292           add GST_TAG_ENCODER
12293
12294 2004-01-30  David Schleef  <ds@schleef.org>
12295
12296         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12297           missing (#132991)
12298
12299 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12300
12301         reviewed by Benjamin Otte 
12302           parts of the patch submitted in bug #113913
12303
12304         * configure.ac:
12305           use AC_C_INLINE. Use = instead of == with test
12306         * examples/plugins/example.c:
12307         * gst/autoplug/gstspideridentity.c:
12308         * gst/elements/gstfdsrc.c:
12309         * gst/elements/gstfilesrc.c:
12310         * gst/elements/gstidentity.c:
12311         * gst/elements/gstmultidisksrc.c:
12312         * gst/elements/gststatistics.c:
12313         * gst/gstelement.c:
12314         * gst/gstobject.c:
12315         * gst/gstpad.c:
12316         * gst/gstpipeline.c:
12317         * gst/gstthread.c:
12318           don't end enums with a comma
12319         * gst/gstindex.c: (gst_index_compare_func):
12320           do explicit casting to gint
12321         * gst/gsttrace.c: (gst_trace_text_flush):
12322           #define strsize as a macro
12323
12324 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12325
12326         * docs/README:
12327         * docs/gst/gstreamer-docs.sgml:
12328         * docs/gst/gstreamer-sections.txt:
12329         * docs/gst/tmpl/gstelement.sgml:
12330         * docs/gst/tmpl/gsterror.sgml:
12331         * docs/gst/tmpl/gstinterface.sgml:
12332         * docs/gst/tmpl/gstreamer-unused.sgml:
12333         * docs/gst/tmpl/gststructure.sgml:
12334         * docs/gst/tmpl/gsttag.sgml:
12335         * docs/gst/tmpl/gsttaginterface.sgml:
12336         * docs/gst/tmpl/gstvalue.sgml:
12337         make sure all API ends up in the built docs
12338         * gst/gstinterface.c:
12339         * gst/gststructure.c: (gst_structure_id_set_value),
12340         (gst_structure_set_value), (gst_structure_id_get_value):
12341         * gst/gststructure.h:
12342         * gst/gstvalue.h:
12343         sync .h with .c declarations
12344
12345 2004-01-30  Julien Moutte  <julien@moutte.net>
12346
12347         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12348         Ronald will fix riffread.
12349
12350 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12351
12352         * docs/pwg/advanced-interfaces.xml:
12353           Added tuner interface docs.
12354
12355 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12356
12357         * docs/random/mimetypes:
12358           correct Theora information
12359         * gst/gstelement.h:
12360           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12361
12362 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12363
12364         * gst/gstelement.c: (gst_element_error_full):
12365         * gst/gstelement.h:
12366           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12367
12368 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12369
12370         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12371         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12372         again and even before DISCONT.
12373         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12374         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12375         bytestream so that it's not stopping to fill the bytestream if events
12376         different than EOS or DISCONT are received. Instead it process them so
12377         that they go downstream.
12378
12379 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12380
12381         * docs/gst/tmpl/gstelement.sgml:
12382         * docs/gst/tmpl/gstreamer-unused.sgml:
12383         * docs/gst/tmpl/gstxml.sgml:
12384         * gst/autoplug/gstspideridentity.c:
12385         (gst_spider_identity_sink_loop_type_finding):
12386         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12387         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12388         (gst_filesink_close_file), (gst_filesink_handle_event),
12389         (gst_filesink_chain):
12390         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12391         (gst_filesrc_get_read), (gst_filesrc_open_file):
12392         * gst/elements/gstidentity.c: (gst_identity_chain):
12393         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12394         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12395         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12396         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12397         * gst/gstelement.h:
12398         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12399         (gst_pad_recover_caps_error), (gst_pad_pull):
12400         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12401         * gst/schedulers/gstbasicscheduler.c:
12402         (gst_basic_scheduler_chainhandler_proxy),
12403         (gst_basic_scheduler_gethandler_proxy),
12404         (gst_basic_scheduler_cothreaded_chain):
12405           gst_element_error -> GST_ELEMENT_ERROR
12406
12407 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12408
12409         * docs/Makefile.am:
12410         * docs/gst/tmpl/gstelement.sgml:
12411         * docs/gst/tmpl/gstxml.sgml:
12412         * docs/manuals.mak:
12413         * docs/pwg/advanced-request.xml:
12414         * docs/pwg/advanced-scheduling.xml:
12415         * docs/pwg/advanced-tagging.xml:
12416           fix non-validating docbook using CDATA
12417           make sure make check-local gets run first to check if it validates
12418
12419 2004-01-29  Julien MOUTTE <julien@moutte.net>
12420
12421         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12422         handling (up and downstream).
12423         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12424         my_filter thing.
12425
12426 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12427
12428         * docs/pwg/advanced-tagging.xml:
12429           Add docs about tag writing.
12430
12431 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12432
12433         * docs/pwg/advanced-tagging.xml:
12434           Add a part about tag reading and application signalling... Tag
12435           writing still needs to be documented.
12436         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12437           We can set file locations in READY, too.
12438
12439 2004-01-29  Julien MOUTTE <julien@moutte.net>
12440
12441         * docs/random/ds/element-checklist: Adding some notes about src
12442         events.
12443
12444 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12445
12446         * docs/random/mimetypes:
12447           Update docs to point to correct elements for various mimetypes, and
12448           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12449           <stephane.loeuillet@tiscali.fr>.
12450
12451 2004-01-28  David Schleef  <ds@schleef.org>
12452
12453         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12454
12455 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12456
12457         * docs/random/mimetypes:
12458           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12459           undefined"
12460         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12461           make it only work in NULL.
12462         * gst/gstcaps.c:
12463           don't posion NULL caps
12464         * gst/gstelement.c: (gst_element_set_time):
12465           add debugging statement
12466         * gst/gstelement.c: (gst_element_emit_found_tag),
12467         (gst_element_found_tag_func), (gst_element_found_tags):
12468         * gst/gstelement.h:
12469           These functions take const taglists
12470         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12471           fix memleak
12472         * gst/gstpad.c: (gst_pad_event_default):
12473           make more effort on handling discont and clocks, g_warn if everything
12474           fails
12475         * gst/gststructure.c: (gst_structure_remove_fields),
12476         (gst_structure_remove_fields_valist):
12477         * gst/gststructure.h:
12478           add gst_structure_remove_fields(_valist)
12479         * gst/gsttag.c:
12480           fix doc glitch
12481
12482 2004-01-28  David Schleef  <ds@schleef.org>
12483
12484         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12485         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12486         Fix memory leakage of gst_caps_to_string().
12487
12488         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12489         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12490         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12491         (gst_spider_identity_sink_loop_type_finding):
12492         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12493         (find_suggest):
12494         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12495         (gst_pad_set_explicit_caps):
12496         * gst/parse/grammar.y:
12497
12498 2004-01-28  David Schleef  <ds@schleef.org>
12499
12500         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12501         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12502         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12503         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12504         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12505         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12506         (gst_debug_log_default), (_gst_info_printf_extension),
12507         (_gst_info_printf_extension_arginfo):  Add printf extension.
12508         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12509         * gst/gststructure.c: (gst_structure_to_string),
12510         (_gst_structure_parse_value): Use gst_value_deserialize() and
12511         remove old code.
12512         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12513         (gst_value_deserialize_boolean), (gst_strtoi),
12514         (gst_value_deserialize_int), (gst_value_deserialize_double),
12515         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12516         a bunch of deserialize functions and gst_value_deserialize.
12517         * gst/gstvalue.h: er, _de_serialize, not unserialize
12518         * testsuite/caps/string-conversions.c: (main): We don't currently
12519         handle (float) in caps, so convert these to (double).
12520         * testsuite/debug/Makefile.am: Add new test for the printf extension
12521         * testsuite/debug/printf_extension.c: (main): same
12522
12523 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12524
12525         * docs/random/company/time:
12526           Add some docs about clocking and time
12527
12528 2004-01-28  Julien MOUTTE <julien@moutte.net>
12529
12530         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12531
12532 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12533
12534         * docs/pwg/advanced-clock.xml:
12535         * docs/pwg/advanced-dparams.xml:
12536         * docs/pwg/advanced-events.xml:
12537         * docs/pwg/advanced-interfaces.xml:
12538         * docs/pwg/advanced-midi.xml:
12539         * docs/pwg/advanced-request.xml:
12540         * docs/pwg/advanced-scheduling.xml:
12541         * docs/pwg/advanced-tagging.xml:
12542         * docs/pwg/advanced-types.xml:
12543         * docs/pwg/appendix-checklist.xml:
12544         * docs/pwg/building-boiler.xml:
12545         * docs/pwg/building-chainfn.xml:
12546         * docs/pwg/building-filterfactory.xml:
12547         * docs/pwg/building-pads.xml:
12548         * docs/pwg/building-props.xml:
12549         * docs/pwg/building-signals.xml:
12550         * docs/pwg/building-state.xml:
12551         * docs/pwg/building-testapp.xml:
12552         * docs/pwg/intro-basics.xml:
12553         * docs/pwg/intro-preface.xml:
12554         * docs/pwg/other-autoplugger.xml:
12555         * docs/pwg/other-sink.xml:
12556         * docs/pwg/other-source.xml:
12557         * docs/pwg/titlepage.xml:
12558           fix up id's
12559
12560 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12561
12562         * docs/95NonPath:
12563         * docs/HACKING:
12564         * docs/README:
12565         * docs/building-the-docs-on-debian:
12566           collect relevant bits of doc info
12567
12568 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12569
12570         * docs/pwg/advanced_tagging.xml:
12571           Half-assed commit so Thomas can re-arrange document IDs here to be
12572           consistent, too.
12573
12574 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12575
12576         * docs/manual/autoplugging.xml:
12577         * docs/manual/bins-api.xml:
12578         * docs/manual/bins.xml:
12579         * docs/manual/buffers-api.xml:
12580         * docs/manual/buffers.xml:
12581         * docs/manual/clocks.xml:
12582         * docs/manual/components.xml:
12583         * docs/manual/cothreads.xml:
12584         * docs/manual/debugging.xml:
12585         * docs/manual/dparams-app.xml:
12586         * docs/manual/dynamic.xml:
12587         * docs/manual/elements-api.xml:
12588         * docs/manual/elements.xml:
12589         * docs/manual/factories.xml:
12590         * docs/manual/gnome.xml:
12591         * docs/manual/goals.xml:
12592         * docs/manual/helloworld.xml:
12593         * docs/manual/helloworld2.xml:
12594         * docs/manual/init-api.xml:
12595         * docs/manual/intro.xml:
12596         * docs/manual/links-api.xml:
12597         * docs/manual/links.xml:
12598         * docs/manual/manual.xml:
12599         * docs/manual/motivation.xml:
12600         * docs/manual/pads-api.xml:
12601         * docs/manual/pads.xml:
12602         * docs/manual/plugins-api.xml:
12603         * docs/manual/plugins.xml:
12604         * docs/manual/programs.xml:
12605         * docs/manual/queues.xml:
12606         * docs/manual/quotes.xml:
12607         * docs/manual/schedulers.xml:
12608         * docs/manual/states-api.xml:
12609         * docs/manual/states.xml:
12610         * docs/manual/threads.xml:
12611         * docs/manual/typedetection.xml:
12612         * docs/manual/xml.xml:
12613           use chapter, part, section or misc as id starts for all bits
12614
12615 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12616
12617         * docs/gst/gstreamer-sections.txt:
12618           Fix up TITLE of the sections
12619
12620 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12621
12622         * docs/pwg/advanced_interfaces.xml:
12623           Add documentation on propertyprobing.
12624         * docs/pwg/advanced_events.xml:
12625         * docs/pwg/advanced_tagging.xml:
12626         * docs/pwg/building_boiler.xml:
12627         * docs/pwg/building_filterfactory.xml:
12628         * docs/pwg/pwg.xml:
12629           Move filterfactory and tagging into their own chapter, add a chapter
12630           on events. all these are empty placeholders that will be filled in
12631           some day.
12632
12633 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12634
12635         * docs/pwg/advanced_interfaces.xml:
12636           Docs for mixer interface. Also a check for website uploading.
12637
12638 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12639
12640         * docs/HACKING:
12641         * docs/Makefile.am:
12642         * docs/faq/Makefile.am:
12643         * docs/gst/Makefile.am:
12644         * docs/gst/tmpl/gstelement.sgml:
12645         * docs/gst/tmpl/gstplugin.sgml:
12646         * docs/gst/tmpl/gstreamer-unused.sgml:
12647         * docs/libs/Makefile.am:
12648         * docs/manual/Makefile.am:
12649         * docs/manuals.mak:
12650         * docs/pwg/Makefile.am:
12651         * docs/upload.mak:
12652           Separate out upload target and make it similar for
12653           both docbook and gtk-doc docs
12654
12655 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12656
12657         * docs/manuals.mak:
12658           Fix upload target to work with freedesktop
12659
12660 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12661
12662         * docs/pwg/advanced_types.xml:
12663           Add notes on creating your own types.
12664         * docs/pwg/building_boiler.xml:
12665         * docs/pwg/building_pads.xml:
12666         * docs/pwg/building_state.xml:
12667           Add some stuff about how to retrieve values from structures, how
12668           that relates to types and change layout slightly again to be almost
12669           perfect.
12670
12671 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12672
12673         * docs/pwg/advanced_dparams.xml:
12674         * docs/pwg/advanced_scheduling.xml:
12675           Change index layout slightly.
12676
12677 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12678
12679         * docs/pwg/advanced_clock.xml:
12680         * docs/pwg/advanced_interfaces.xml:
12681         * docs/pwg/advanced_midi.xml:
12682           General placeholders for now.
12683         * docs/pwg/advanced_request.xml:
12684           Explanation about sometimes and request pads.
12685         * docs/pwg/advanced_scheduling.xml:
12686           Concept of bytestream, loopfunctions and schedulers.
12687         * docs/pwg/building_boiler.xml:
12688           Add something about plugin-init.
12689
12690 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12691
12692         * docs/pwg/building_pads.xml:
12693           Fix broken docbook
12694
12695 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12696
12697         * docs/pwg/advanced_interfaces.xml:
12698         * docs/pwg/pwg.xml:
12699           Add as a placeholder for future filling-in.
12700         * docs/pwg/basics_autoplugging.xml:
12701         * docs/pwg/basics_buffers.xml:
12702         * docs/pwg/basics_elements.xml:
12703         * docs/pwg/basics_events.xml:
12704         * docs/pwg/basics_plugins.xml:
12705         * docs/pwg/basics_types.xml:
12706           Remove, because unused (this is all in intro_basics.xml).
12707         * docs/pwg/building_signals.xml:
12708           Short intro to signals + reference to GObject docs - we really
12709           shouldn't go into these sort of things to deply because we don't
12710           use them that extensively anyway.
12711         * docs/pwg/building_state.xml:
12712           Explanation of states. Benjamin, please check.
12713         * docs/pwg/building_testapp.xml:
12714           Put everything in one page - putting only a few lines of content
12715           per page doesn't really make sense.
12716
12717           Time to get into the advanced topics. ;).
12718
12719 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12720
12721         * docs/pwg/advanced_types.xml:
12722           Finish documenting the current state of mimetypes.
12723         * docs/pwg/building_boiler.xml:
12724         * docs/pwg/building_chainfn.xml:
12725         * docs/pwg/building_pads.xml:
12726         * docs/pwg/building_props.xml:
12727         * docs/pwg/building_testapp.xml:
12728           Start documenting the "how to build a simple audio filter" part
12729           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12730           states and (maybe?) a short introduction to capsnego in the chapter
12731           on pads (building_pads.xml). Capsnego should probably be explained
12732           fully in advanced_capsnego.xml or so.
12733
12734 2004-01-26  David Schleef  <ds@schleef.org>
12735
12736         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12737         * gst/gstpad.h: Add new function to allow element to (somewhat)
12738         specify non-fixed caps on a pad.
12739         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12740         that I added a few weeks ago.
12741
12742 2004-01-26  David Schleef  <ds@schleef.org>
12743
12744         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12745           making try_set_caps() work with non-fixed caps.
12746
12747 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12748
12749         * docs/pwg/advanced_types.xml:
12750         * docs/pwg/intro_basics.xml:
12751         * docs/pwg/intro_preface.xml:
12752         * docs/pwg/pwg.xml:
12753         * docs/pwg/titlepage.xml:
12754           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12755           in here (docs/random/mimetypes), and will from there on work on both
12756           updating outdated parts and adding missing parts.
12757           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12758
12759 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12760
12761         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12762           policy is set
12763
12764 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12765
12766         * gst/gstelement.h:
12767           remove gst_element_factory_get_version. It doesn't exist anymore.
12768         * gst/gstplugin.c:
12769         * gst/gstplugin.h:
12770           remove gst_plugin_set_name and change gst_plugin_get_longname to
12771           gst_plugin_get_description to match code.
12772         * gst/gsterror.h:
12773           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12774         * gst/gstpad.c: (gst_pad_try_set_caps):
12775           make it work with nonfixed caps.
12776           Note that even in the nonfixed case the link function of the pad
12777           that tries to set caps isn't called.
12778
12779 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12780
12781         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12782           fix bug where buffer was not assembled correctly
12783         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12784           silence by default
12785         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12786           only seek if there's no more buffers that could work without seeking
12787
12788 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12789
12790         * gst/gsttag.c: (_gst_tag_initialize):
12791         * gst/gsttag.h:
12792           Add application tag (for encoding/muxing app).
12793
12794 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12795
12796         * autogen.sh:
12797           make autopoint force, and libtoolize not copy
12798         * common/m4/as-docbook.m4:
12799           added docbook xml catalog setup check
12800         * common/m4/gst-doc.m4:
12801           use docbook check
12802
12803 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12804
12805         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12806         * gst/gsttag.h:
12807           add GstTagFlag
12808
12809 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12810
12811         * docs/gst/gstreamer-sections.txt:
12812         * docs/gst/tmpl/gst.sgml:
12813         * docs/gst/tmpl/gstbuffer.sgml:
12814         * docs/gst/tmpl/gstclock.sgml:
12815         * docs/gst/tmpl/gstelement.sgml:
12816         * docs/gst/tmpl/gstreamer-unused.sgml:
12817         * docs/gst/tmpl/gstxml.sgml:
12818           sync latest API changes to docs
12819
12820 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12821
12822         * gst/gstpluginfeature.c:
12823           fix doc snippet
12824         * tools/gst-inspect.c: (print_element_list):
12825           fix output of typefind
12826           add GPL header
12827         * tools/gst-launch.c:
12828           add GPL header
12829
12830 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12831
12832         * gst/elements/Makefile.am:
12833         * gst/elements/gstelements.c:
12834         * gst/elements/gsttypefindelement.c:
12835         * gst/elements/gsttypefindelement.h:
12836         * po/POTFILES.in:
12837         * po/fr.po:
12838         * po/nl.po:
12839           renamed gsttypefindelement to gsttypefind, conserving CVS history
12840
12841 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12842
12843         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12844         * gst/gsttag.h:
12845           add some tags used in ogg as well
12846           fix _ in replaygain tags
12847
12848 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12849
12850         * gst/gsterror.h:
12851           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12852
12853 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12854
12855         * gst/gstelement.c: (gst_element_error_full):
12856         * gst/gstelement.h:
12857           change _extended to _full
12858
12859 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12860
12861         reviewed by: <delete if not using a buddy>
12862
12863         * docs/gst/tmpl/gst.sgml:
12864         * docs/gst/tmpl/gstbuffer.sgml:
12865         * docs/gst/tmpl/gstclock.sgml:
12866         * docs/gst/tmpl/gstelement.sgml:
12867         * docs/gst/tmpl/gstreamer-unused.sgml:
12868         * docs/gst/tmpl/gstxml.sgml:
12869         * gst/gstelement.c: (gst_element_error_full):
12870         * gst/gstelement.h:
12871
12872 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12873
12874         * gst/gstelement.h: fix _gst_element_error_printf prototype
12875
12876 2004-01-20  David Schleef  <ds@schleef.org>
12877
12878         * gst/gststructure.c: (gst_structure_to_string):
12879         Convert function to use gst_value_serialize().
12880         * gst/gstvalue.c: (gst_value_serialize_list),
12881         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12882         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12883         (gst_value_serialize_int), (gst_value_serialize_double),
12884         (gst_string_wrap), (gst_value_serialize_string),
12885         (gst_value_serialize), (gst_value_deserialize):
12886         * gst/gstvalue.h:
12887         Add implementations for serialize.
12888
12889 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12890
12891         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12892         we want to keep that one in the future or change xvidenc.c to use 
12893         another error.
12894
12895 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12896
12897         * gst/gstelement.c: (_gst_element_error_printf):
12898         * gst/gstelement.h:
12899           privatise function
12900
12901 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12902
12903         * docs/random/error:
12904           doc explaining error system
12905         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12906           cleanup
12907
12908 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12909
12910         * gst/gst-i18n-app.h:
12911         * gst/gst-i18n-lib.h:
12912           remove inclusion of config.h
12913         * po/POTFILES.in:
12914         * po/nl.po:
12915           add gst/gstelement.c
12916
12917 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12918
12919         * po/nl.po: updated Dutch translation
12920
12921 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12922
12923         * gst/gsterror.c: (_gst_core_errors_init),
12924         (_gst_library_errors_init), (_gst_resource_errors_init),
12925         (_gst_stream_errors_init):
12926         remove ending punctuation dots
12927
12928 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12929
12930         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12931         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12932         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12933         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12934         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12935         use GST_ERROR_SYSTEM
12936
12937 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12938
12939         * gst/gstelement.c: (gst_element_error_printf),
12940         (gst_element_error_extended):
12941         * gst/gstelement.h:
12942           add a helper printf function so we can have NULL values passed.
12943
12944 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12945
12946         * gst/gstelement.h:
12947           add G_STMT macros to gst_element_error, which isn't strictly
12948           necessary but people tell me to anyway.
12949
12950 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12951
12952         * gst/Makefile.am:
12953         * gst/autoplug/gstspideridentity.c:
12954         (gst_spider_identity_sink_loop_type_finding):
12955         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12956         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12957         (gst_filesink_close_file), (gst_filesink_handle_event),
12958         (gst_filesink_chain):
12959         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12960         (gst_filesrc_map_region), (gst_filesrc_get_read),
12961         (gst_filesrc_open_file):
12962         * gst/elements/gstidentity.c: (gst_identity_chain):
12963         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12964         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12965         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12966         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12967         * gst/gst.h:
12968         * gst/gst_private.h:
12969         * gst/gstelement.c: (gst_element_class_init),
12970         (gst_element_default_error), (gst_element_error_func),
12971         (gst_element_error_extended):
12972         * gst/gstelement.h:
12973         * gst/gsterror.c: (_gst_core_errors_init),
12974         (_gst_library_errors_init), (_gst_resource_errors_init),
12975         (_gst_stream_errors_init), (gst_error_get_message):
12976         * gst/gsterror.h:
12977         * gst/gstinfo.c: (_gst_debug_init):
12978         * gst/gstmarshal.list:
12979         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12980         (gst_pad_recover_caps_error), (gst_pad_pull):
12981         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12982         * gst/schedulers/gstbasicscheduler.c:
12983         (gst_basic_scheduler_chainhandler_proxy),
12984         (gst_basic_scheduler_gethandler_proxy),
12985         (gst_basic_scheduler_cothreaded_chain):
12986         * po/POTFILES.in:
12987         * po/fr.po:
12988         * po/nl.po:
12989           change error signal
12990           add error categories
12991
12992 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12993
12994         * gst/gsttag.c: (_gst_tag_initialize):
12995         * gst/gsttag.h:
12996         Add replaygain tag
12997
12998 2004-01-18  Colin Walters  <walters@verbum.org>
12999
13000         * examples/retag/retag.c: Call gst_init before processing
13001         program args.  Add g_assert to _link_many call.
13002
13003 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13004
13005         * gst/gstpad.c: (gst_pad_alloc_buffer):
13006           Return a newly allocated buffer when the pad has no peer.
13007
13008 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13009
13010         * gst/gstclock.c: (gst_clock_get_time):
13011           make it compile with gcc 2.95 again.
13012           Patch by Scott Wheeler
13013
13014 2004-01-15  David Schleef  <ds@schleef.org>
13015
13016         * gst/gstcaps.h:
13017         Added gst_caps_is_simple() macro.
13018         * testsuite/caps/caps.c: (test1):
13019         * testsuite/caps/intersect2.c: (main):
13020         * testsuite/caps/intersection.c: (main):
13021         Fixes to make 'make check' work again after removing
13022         gst_caps_is_chained().
13023
13024 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13025
13026         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13027         and additions to the MIDI document.
13028
13029 2004-01-15  David Schleef  <ds@schleef.org>
13030
13031         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13032         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13033         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13034
13035 2004-01-15  David Schleef  <ds@schleef.org>
13036
13037         * gst/gstqueue.c:
13038         * gst/gstqueue.h:
13039         Fix the spelling of "treshold" and make min_threshold actually
13040         affect the queue.
13041
13042 2004-01-15  David Schleef  <ds@schleef.org>
13043
13044         * gst/gstcaps.c:
13045         Add lots of documentation.
13046         * gst/gstcaps.h:
13047         Deprecate a few functions.
13048         * gst/gstpad.c:
13049         Removed use of deprecated functions.
13050
13051 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13052
13053         * gst/gstpad.c: (gst_pad_is_linked):
13054         * gst/gstpad.h:
13055           implement gst_pad_is_linked
13056         * gst/gstelement.h:
13057           reserve space for initiate_state_change
13058
13059 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13060
13061         * gst/autoplug/gstspideridentity.c:
13062         (gst_spider_identity_sink_loop_type_finding):
13063           break infinite loop by just returning instead of looping
13064         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13065           set event time difference correctly. Set it to 1 second instead
13066           of 100ms to be more tolerant
13067         * gst/gstelement.c: (gst_element_set_time):
13068           add debugging output
13069
13070 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13071
13072         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13073           query if buffers are inside the pool, ignore events
13074
13075 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13076
13077         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13078         (gst_clock_set_speed), (gst_clock_set_active),
13079         (gst_clock_is_active), (gst_clock_reset),
13080         (gst_clock_handle_discont):
13081         * gst/gstclock.h:
13082           deprecate old interface and disable functions that aren't in use
13083           anymore.
13084         * gst/gstelement.h:
13085         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13086         (gst_element_set_time), (gst_element_adjust_time):
13087           add concept of "element time" and functions to get/set this time.
13088         * gst/gstelement.c: (gst_element_change_state):
13089           update element time correctly.
13090         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13091           This is a debug message, not a g_critical.
13092         * gst/gstpad.c: (gst_pad_event_default):
13093           handle discontinuous events right with element time.
13094         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13095           update to clocking fixes.
13096           set clocks on elements in READY=>PAUSED. The old behaviour caused
13097           a wrong element time on the first element that started playing.
13098         * gst/schedulers/gstbasicscheduler.c:
13099         (gst_basic_scheduler_class_init):
13100         * gst/schedulers/gstoptimalscheduler.c:
13101         (gst_opt_scheduler_class_init):
13102           remove code that just implements the default behaviour.
13103         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13104           update to use new clocking functions
13105         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13106         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13107           update to test new element time.
13108         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13109           use _get_allowed_caps instead of _get_caps. This catches filtered
13110           caps correctly.
13111         * testsuite/debug/commandline.c:
13112           update for new GST_DEBUG syntax.
13113         * testsuite/threads/Makefile.am:
13114           disable a test that only works sometimes.
13115
13116 2004-01-13  Julien MOUTTE <julien@moutte.net>
13117
13118         * po/LINGUAS: Adding fr.
13119         * po/fr.po: Adding french translation.
13120
13121 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13122
13123         * gst/parse/grammar.y:
13124         * po/POTFILES.in:
13125         * po/nl.po:
13126         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13127           translate parsing error messages
13128
13129 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13130
13131         * po/POTFILES.in: adding gst-launch
13132         * po/nl.po: updated translation, all 99 strings translated
13133         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13134         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13135           fix strings for translation
13136
13137 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13138
13139         * gst/gst.c:
13140           - capitalize beginnings of popt options
13141           - fix strings for translation
13142           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13143
13144 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13145
13146         * po/README: add some notes on how to update translations
13147
13148 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13149
13150         * ABOUT-NLS: removed, is autogenerated from autopoint
13151         * autogen.sh: add autopoint stuff
13152         * configure.ac: fix up gettext stuff
13153         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13154         * gst/elements/gsttypefindelement.c: add header include
13155         * gst/gettext.h: add header, copy from system-installed header
13156         * gst/gst-i18n-app.h: to be included by each app having translations
13157         * gst/gst-i18n-lib.h: to be included by each lib having translations
13158         * gst/gst.c: (init_pre): fix up gettext calls
13159         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13160         * po/LINGUAS: the new way to specify translations present
13161         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13162         * po/Makevars: the variables filled in for GStreamer
13163         * po/POTFILES.in: added new files with translations
13164         * po/de.po: has new strings
13165         * po/nl.po: readded, has new strings
13166
13167 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13168
13169         * gst/gsttag.c: fix some strings marked for translation
13170
13171 2004-01-13  Iain <iain@prettypeople.org>
13172
13173         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13174         group when we add an element to it, cos we unref it when we remove one
13175
13176 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13177
13178         * testsuite/debug/commandline.c: (debug_not_reached):
13179         * testsuite/debug/output.c: (check_message):
13180           fix testsuite
13181
13182 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13183
13184         * examples/cutter/.cvsignore:
13185         * examples/helloworld/.cvsignore:
13186         * examples/launch/.cvsignore:
13187         * examples/manual/.cvsignore:
13188         * examples/mixer/.cvsignore:
13189         * examples/pingpong/.cvsignore:
13190         * examples/plugins/.cvsignore:
13191         * examples/queue/.cvsignore:
13192         * examples/queue2/.cvsignore:
13193         * examples/queue3/.cvsignore:
13194         * examples/queue4/.cvsignore:
13195         * examples/retag/.cvsignore:
13196         * examples/thread/.cvsignore:
13197         * examples/typefind/.cvsignore:
13198         * examples/xml/.cvsignore:
13199         * gst/.cvsignore:
13200         * gst/autoplug/.cvsignore:
13201         * gst/elements/.cvsignore:
13202         * gst/indexers/.cvsignore:
13203         * gst/parse/.cvsignore:
13204         * gst/registries/.cvsignore:
13205         * gst/schedulers/.cvsignore:
13206         * libs/gst/bytestream/.cvsignore:
13207         * libs/gst/control/.cvsignore:
13208         * libs/gst/getbits/.cvsignore:
13209         * tests/.cvsignore:
13210         * tests/bufspeed/.cvsignore:
13211         * tests/instantiate/.cvsignore:
13212         * tests/memchunk/.cvsignore:
13213         * tests/muxing/.cvsignore:
13214         * tests/sched/.cvsignore:
13215         * tests/seeking/.cvsignore:
13216         * tests/threadstate/.cvsignore:
13217         * testsuite/.cvsignore:
13218         * testsuite/caps/.cvsignore:
13219         * testsuite/cleanup/.cvsignore:
13220         * testsuite/dynparams/.cvsignore:
13221         * testsuite/plugin/.cvsignore:
13222         * tools/.cvsignore:
13223           update - this is huge, because it includes *.bb, *.bbg and *.da files
13224           which are generated for gcov.
13225
13226 2004-01-11  David Schleef  <ds@schleef.org>
13227
13228         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13229         a function to parse integers in ways that strto[u]l() does not.
13230
13231 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13232
13233         * tools/gst-inspect.c: (print_caps):
13234           improve output of caps a bit
13235
13236 2004-01-11  David Schleef  <ds@schleef.org>
13237
13238         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13239         inherit correct flags (READONLY and DONTKEEP).
13240
13241 2004-01-11  David Schleef  <ds@schleef.org>
13242
13243         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13244         (gst_filesrc_map_region):
13245         * gst/gstbuffer.c: (_gst_buffer_initialize),
13246         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13247         (gst_buffer_new), (gst_buffer_create_sub),
13248         (gst_buffer_is_span_fast), (gst_buffer_span):
13249         * gst/gstbuffer.h:
13250         Change GstBuffer private structure element names. (all files)
13251         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13252         (gst_queue_link):
13253         * gst/gstqueue.h:
13254         Implement getcaps/pad_link functions that handle the case where
13255         there are data in the queue.
13256
13257 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13258
13259         * gst/elements/gstbufferstore.c:
13260           initialize debugging structure correctly
13261         * gst/elements/gsttee.c: (gst_tee_set_property):
13262           g_object_notify when property was changed
13263         * gst/elements/gsttypefindelement.c:
13264         (gst_type_find_element_change_state):
13265           clear caps correctly
13266
13267 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13268
13269         * gst/gstqueue.c: (gst_queue_init):
13270           Use better defaults for when a queue should block. This
13271           gets rid of jerky playback for quite a few files.
13272           It takes more memory.
13273
13274 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13275
13276         (gst_xml_registry_parse_padtemplate):
13277           make critical message slightly more useful
13278
13279 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13280
13281         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13282         (gst_debug_message_get), (gst_debug_log_default):
13283         * gst/gstinfo.h:
13284           Change gst_debug_log(_valist) to take a const format string.
13285           Change prototype of log function and functions using those to 
13286           take a GstDebugMessage instead of a string that requires using
13287           gst_debug_message_get.
13288
13289 2004-01-08  David Schleef  <ds@schleef.org>
13290
13291         * Makefile.am:
13292         * configure.ac:
13293         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13294         and -ftest-coverage, which allows gcov to show information about
13295         testsuite coverage.
13296
13297 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13298
13299         * gst/gstutils.h:
13300           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13301           GST_PARENT_CALL_WITH_DEFAULT
13302         * gst/elements/gstaggregator.c: 
13303         * gst/elements/gstbufferstore.c: 
13304         * gst/elements/gstfakesink.c: 
13305         * gst/elements/gstfakesrc.c: 
13306         * gst/elements/gstfdsink.c: 
13307         * gst/elements/gstfdsrc.c: 
13308         * gst/elements/gstfilesink.c: 
13309         * gst/elements/gstfilesrc.c: 
13310         * gst/elements/gstidentity.c: 
13311         * gst/elements/gstmd5sink.c: 
13312         * gst/elements/gstmultidisksrc.c:
13313         * gst/elements/gstpipefilter.c: 
13314         * gst/elements/gstshaper.c:
13315         * gst/elements/gststatistics.c:
13316         * gst/elements/gsttee.c:
13317         * gst/elements/gsttypefindelement.c:
13318           use them.
13319
13320 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13321
13322         * docs/gst/gstreamer-docs.sgml: remove props
13323         * docs/gst/gstreamer-sections.txt: remove props
13324         * docs/gst/tmpl/gst.sgml:
13325         * docs/gst/tmpl/gstbin.sgml:
13326         * docs/gst/tmpl/gstbuffer.sgml:
13327         * docs/gst/tmpl/gstcaps.sgml:
13328         * docs/gst/tmpl/gstclock.sgml:
13329         * docs/gst/tmpl/gstelement.sgml:
13330         * docs/gst/tmpl/gstindex.sgml:
13331         * docs/gst/tmpl/gstobject.sgml:
13332         * docs/gst/tmpl/gstpad.sgml:
13333         * docs/gst/tmpl/gstpadtemplate.sgml:
13334         * docs/gst/tmpl/gstreamer-unused.sgml:
13335         * docs/gst/tmpl/gstthread.sgml:
13336         * docs/gst/tmpl/gstxml.sgml:
13337           sync with code reorganization
13338
13339 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13340
13341         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13342         Make the 'Could not find compatible pad' message more informative.
13343
13344 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13345                                                                                 
13346         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13347           Fix for if we pass NULL as property to location.
13348         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13349         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13350           Fix for instantiate-test (see below).
13351         * gst/gststructure.c: (_gst_structure_parse_value):
13352           Fix compile error on gcc-2.96.
13353         * configure.ac:
13354         * tests/Makefile.am:
13355         * tests/instantiate/Makefile.am:
13356         * tests/instantiate/create.c: (create_all_elements), (main):
13357           Add a test that instantiates all elements. This makes it easy to
13358           track dead code for old API/design (like setting event functions
13359           on sink pads and so on).
13360
13361 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13362
13363         * gst/gstcaps.c: (gst_caps_append_structure):
13364           Move the poisoning to allow a NULL structure
13365         * gst/gstevent.c: (_gst_event_free):
13366           When freeing a navigation event, free the structure
13367           also
13368
13369 2004-01-04  David Schleef  <ds@schleef.org>
13370
13371         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13372         Remove usage of gst_pad_proxy_fixate.
13373         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13374         (gst_caps_split_one), (gst_caps_replace):
13375         Add poisoning code.
13376         * gst/gstmarshal.list:
13377         Add pointer__pointer for fixate signal
13378         * gst/gstpad.c: (gst_real_pad_class_init),
13379         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13380         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13381         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13382         Add poisoning code. Add fixate signal on RealPad. Change
13383         set_explicit_caps() to take const GstCaps, like try_set_caps().
13384         * gst/gstpad.h:
13385         * testsuite/caps/Makefile.am:
13386         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13387
13388 2004-01-03  David Schleef  <ds@schleef.org>
13389
13390         * gst/elements/gsttypefindelement.c:
13391         (gst_type_find_element_have_type), (gst_type_find_element_init):
13392         Use gst_pad_use_explicit_caps for src pad.
13393         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13394         before using it.
13395
13396 2004-01-03  David Schleef  <ds@schleef.org>
13397
13398         * gst/gstelement.c: (gst_element_link_pads_filtered),
13399         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13400         that linking was successful.
13401         * gst/gstpad.c: (gst_pad_link_free),
13402         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13403         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13404         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13405         GstPadLinkReturn correctly between functions, and don't fail
13406         when DELAYED is used (DELAYED is very important).  Better
13407         cleanup on unlinking and unnegotiation.  Should fix some spider
13408         bugs.
13409
13410 2004-01-02  David Schleef  <ds@schleef.org>
13411
13412         * gst/gstelement.c: (gst_element_class_init),
13413         (gst_element_base_class_init): ->padtemplates should be cleared
13414         in base_init, since we need to have a fresh list for every
13415         class.  (Alternately, we chould copy the list and share the
13416         actual pad templates (not the list), but that would require
13417         changing every plugin to move pad template registration from
13418         base_init to class_init.)
13419
13420 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13421
13422         * gst/gstelement.c: (gst_element_class_add_pad_template):
13423           Refuse registering a pad template if another pad template
13424           with the same name already exists (#114715).
13425
13426 2004-01-02  David Schleef  <ds@schleef.org>
13427
13428         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13429         (gst_caps_is_equal_fixed): Add new function.
13430         * gst/gstcaps.h: ditto.
13431         * gst/gstpad.c: (gst_real_pad_class_init),
13432         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13433         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13434         check new caps against existing caps -- if they're the same, return
13435         OK without renegotiating.  caps-nego-failed signal fixed so that
13436         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13437         to save an extra caps copy.  Don't complete negotiation if a pad
13438         link function returns DELAYED.
13439
13440 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13441
13442         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13443           Fix wrong g_return_if_fail
13444
13445 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13446
13447         * gst/gstbin.c: (gst_bin_class_init):
13448         Change the marshalling of element_added/element_removed
13449         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13450         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13451
13452 2004-01-01  David Schleef  <ds@schleef.org>
13453
13454         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13455         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13456         (gst_pad_use_explicit_caps):
13457         * gst/gstpad.h:
13458         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13459         to use an internal getcaps and link fuction so that negotiation
13460         always results in the explicitly set caps.
13461         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13462         are particularly useful for decoders.
13463
13464 2003-12-31  David Schleef  <ds@schleef.org>
13465
13466         * gst/elements/gstidentity.c: (gst_identity_class_init),
13467         (gst_identity_init), (gst_identity_chain),
13468         (gst_identity_set_property), (gst_identity_get_property):
13469         * gst/elements/gstidentity.h:
13470         * gst/gstqueue.c: (gst_queue_init):
13471           Negotiation fixes.
13472
13473 2003-12-31  David Schleef  <ds@schleef.org>
13474
13475         * gst/gstcaps.c: (gst_caps_intersect),
13476         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13477           Implement gst_caps_normalize().
13478         * testsuite/caps/normalisation.c: (main):
13479           Add an additional test
13480
13481 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13482
13483         * gst/gstqueue.c: (gst_queue_init):
13484           use gst_pad_proxy_getcaps()
13485
13486 2003-12-31  David Schleef  <ds@schleef.org>
13487
13488         * gst/elements/gstshaper.c: (gst_shaper_link):
13489         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13490         * gst/gstqueue.c: (gst_queue_link):
13491           Negotiation fixes.
13492
13493 2003-12-31  David Schleef  <ds@schleef.org>
13494
13495         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13496         * gst/gstpad.h: Add functions that are useful as default pad
13497         link and fixate functions for elements.
13498
13499 2003-12-30  David Schleef  <ds@schleef.org>
13500
13501         * gst/gstpad.c: (gst_pad_link_try):
13502           Fix segfault when attempting to return to old caps
13503
13504 2003-12-29  David Schleef  <ds@schleef.org>
13505
13506         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13507         (gst_caps_structure_simplify), (gst_caps_simplify):
13508         * gst/gstcaps.h:
13509           Add simplify function
13510         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13511         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13512         * gst/gstpad.h:
13513           Copy over srcnotify, sinknotify when calling old pad_link
13514           functions.  Add new is_negotiated() function.
13515         * gst/gststructure.c: (gst_structure_copy):
13516           Fix an incredibly stupid bug that should have been noticed
13517           weeks ago.  _copy() returned the argument, not the new copy.
13518
13519 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13520
13521         * gst/gstcaps.c: (gst_caps_append):
13522           add sanity checks
13523         * gst/gstcaps.h: (gst_caps_debug):
13524           remove, it doesn't exist anymore.
13525         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13526         (gst_element_threadsafe_properties_post_run):
13527           make debugging messages not clutter up THREAD debug category
13528         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13529         (gst_element_change_state):
13530           update to new caps API
13531         * gst/gstinterface.c: (gst_implements_interface_cast):
13532           don't put vital code in g_return_if_fail
13533         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13534         (gst_pad_link_filtered):
13535           add pst_pad_try_link and use it.
13536         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13537           implement correctly, deprecate first one.
13538         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13539           add and implement.
13540         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13541           implement.
13542         (gst_pad_get_negotiated_caps):
13543           add and implement. Make GST_PAD_CAPS call this function.
13544         (gst_pad_get_caps):
13545           remove unneeded check..
13546         (gst_pad_recover_caps_error):
13547           disable, always return FALSE.
13548         (gst_real_pad_dispose):
13549           don't free caps and appfilter anymore, they're unused.
13550         * gst/gstpad.h:
13551           Reflect changes mentioned above.
13552         * gst/gstsystemclock.c: (gst_system_clock_wait):
13553           Make 'clock is way behind' a debugging message.
13554         * gst/gstthread.c: (gst_thread_change_state):
13555           Fix debugging message
13556
13557 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13558
13559         * gst/gstinfo.h:
13560           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13561         * docs/gst/tmpl/gstreamer-unused.sgml:
13562           removed all traces of cvs conflicts
13563
13564 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13565
13566         * configure.ac:
13567         * gst/schedulers/cothreads_compat.h:
13568         * libs/Makefile.am:
13569           remove last instances of wingo cothread usage
13570
13571 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13572
13573         * gst/gstplugin.c:
13574         * gst/gstversion.h.in:
13575         * gst/parse/grammar.y:
13576           change comment block from /** to /* when not gtk-doc comments
13577
13578 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13579
13580         * gst/gst.c: whitespace and doc style fixes
13581
13582 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13583
13584         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13585
13586 2003-12-24  Colin Walters  <walters@verbum.org>
13587
13588         * gst/elements/gsttypefindelement.c:
13589           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13590           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13591           Don't double-free caps.
13592
13593 2003-12-23  David Schleef  <ds@schleef.org>
13594
13595         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13596           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13597           Many little fixes and additions of debug statements to
13598           get rhythmbox working.
13599
13600 2003-12-23  Colin Walters  <walters@verbum.org>
13601
13602         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13603         Use GST_PAD_LINK_SUCCESSFUL.
13604
13605 2003-12-23  David Schleef  <ds@schleef.org>
13606
13607         * gst/elements/gstaggregator.c:
13608         * gst/elements/gsttee.c:
13609           Use gst_pad_proxy_getcaps().
13610         * gst/gstpad.c:
13611         * gst/gstpad.h:
13612           Add gst_pad_proxy_getcaps(), which filter elements can use
13613           as a generic getcaps implementation.
13614           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13615           was advertised.
13616
13617 2003-12-23  David Schleef  <ds@schleef.org>
13618
13619         * gst/gstpad.c:
13620           Rearrange/rewrite much of the pad negotiation code, since it
13621           resembled pasta.  This actually changes the way some
13622           negotiation works, since the previous code was inconsistent
13623           depending on how it was invoked.  Add (internal) structure
13624           GstPadLink, which is used to hold some information (more in
13625           the future) about the link between two pads.  Fixes a number
13626           of bugs, including random lossage of filter caps when the
13627           initial negotiation is delayed.  A few functions are still
13628           unimplemented.
13629         * gst/gstpad.h:
13630           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13631           these when testing GstPadLinkReturn values instead of comparing
13632           directly.
13633
13634 2003-12-23  David Schleef  <ds@schleef.org>
13635
13636         * gst/gstvalue.c: 
13637         * gst/gstvalue.h:
13638           Rearrange lots of code.  Change registration of compare function
13639           into registration of compare/serialize/deserialize functions.
13640           Doesn't include implementation of gst_value_[de]serialize(),
13641           but that should be easy.
13642
13643 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13644
13645         * docs/gst/gstreamer-sections.txt:
13646         * docs/gst/tmpl/gstprops.sgml: removed
13647         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13648           David removed props and caps code, so let's remove their docs as well.
13649           Removed all no longer existing symbols from gstreamer-sections.txt
13650           
13651 2003-12-22  Colin Walters  <walters@verbum.org>
13652
13653         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13654           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13655           of tags directly.
13656
13657 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13658
13659         * gst/elements/gstelements.c:
13660           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13661         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13662           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13663           gst_caps (peer).
13664
13665 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13666
13667         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13668         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13669         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13670         (gst_spider_identity_sink_loop_type_finding):
13671         * gst/autoplug/gstspideridentity.h:
13672           Fix autoplugging in spider element, so it works with new caps.
13673           This was mainly caused by identifying empty caps incorrectly.
13674
13675 2003-12-22  David Schleef  <ds@schleef.org>
13676
13677         * gststructure.c, gstvalue.c, gstvalue.h: Add
13678           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13679           using g_value_copy()
13680
13681 2003-12-21  David Schleef  <ds@schleef.org>
13682
13683         * many, many files: Merge CAPS branch.  This includes:
13684           - implemention of GstValue and several GstValue types
13685           - implemention of GstStructure
13686           - entire rewrite of GstCaps
13687           - removal of GstProps
13688           - many changes to GstPad to compensate for new caps paradigm
13689           - removal of GstBufferpool
13690         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13691         gstvalue.h, gst/gstcaps[2]*.[ch]:
13692           - rename gstcaps2.[ch] to gstcaps.[ch]
13693
13694 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13695
13696         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13697         (gst_queue_chain), (gst_queue_handle_src_event):
13698           implement timeout for sending events. Workaround for if the
13699           pipeline on this queue is not passing any data.
13700
13701 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13702                                                                                 
13703         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13704         * moved CVS to freedesktop.org