added controller code removed dparam pc files
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
2
3         * configure.ac:
4         * docs/libs/Makefile.am:
5         * docs/libs/gstreamer-libs-docs.sgml:
6         * docs/libs/gstreamer-libs-sections.txt:
7         * docs/libs/gstreamer-libs.types:
8         * examples/Makefile.am:
9         * examples/controller/.cvsignore:
10         * examples/controller/Makefile.am:
11         * examples/controller/audio-example.c: (main):
12         * libs/gst/Makefile.am:
13         * libs/gst/controller/.cvsignore:
14         * libs/gst/controller/Makefile.am:
15         * libs/gst/controller/gst-controller.c:
16         (on_object_controlled_property_changed), (gst_timed_value_compare),
17         (gst_timed_value_find),
18         (gst_controlled_property_set_interpolation_mode),
19         (gst_controlled_property_new), (gst_controlled_property_free),
20         (gst_controller_find_controlled_property),
21         (gst_controller_new_valist), (gst_controller_new),
22         (gst_controller_remove_properties_valist),
23         (gst_controller_remove_properties), (gst_controller_set),
24         (gst_controller_set_from_list), (gst_controller_unset),
25         (gst_controller_get), (gst_controller_get_all),
26         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27         (gst_controller_get_value_array),
28         (gst_controller_set_interpolation_mode),
29         (_gst_controller_finalize), (_gst_controller_init),
30         (_gst_controller_class_init), (gst_controller_get_type):
31         * libs/gst/controller/gst-controller.h:
32         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
33         (g_object_uncontrol_properties), (g_object_get_controller),
34         (g_object_set_controller), (g_object_sink_values),
35         (g_object_get_value_arrays), (g_object_get_value_array):
36         * libs/gst/controller/gst-interpolation.c:
37         (gst_controlled_property_find_timed_value_node),
38         (interpolate_none_get), (interpolate_trigger_get),
39         (interpolate_trigger_get_value_array):
40         * libs/gst/controller/lib.c: (gst_controller_init):
41         * pkgconfig/Makefile.am:
42         * pkgconfig/gstreamer-control-uninstalled.pc.in:
43         * pkgconfig/gstreamer-control.pc.in:
44         * testsuite/Makefile.am:
45         * testsuite/controller/.cvsignore:
46         * testsuite/controller/Makefile.am:
47         * testsuite/controller/interpolator.c: (main):
48           added controller code
49           removed dparam pc files
50
51 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
52         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
53         (gst_collectpads_stop):
54           Broadcast the condition when shutting down, to make sure we wake all
55           threads up. Shut down pads on finalize, for safety.
56
57 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
58         * gst/base/gstbasetransform.c: (gst_base_transform_init),
59         (gst_base_transform_handle_buffer),
60         (gst_base_transform_change_state):
61           Handle PAUSED->READY->PAUSED transition after negotiation
62           occurred already.
63         * gst/gstmessage.c: (gst_message_init):
64           Extra piece of debug for new messages.
65
66 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
67
68         * configure.ac:
69         * docs/gst/tmpl/gstbasesrc.sgml:
70         * docs/gst/tmpl/gstelement.sgml:
71         * docs/gst/tmpl/gstevent.sgml:
72         * docs/gst/tmpl/gstfakesrc.sgml:
73         * docs/gst/tmpl/gstformat.sgml:
74         * docs/gst/tmpl/gstghostpad.sgml:
75         * docs/gst/tmpl/gstpad.sgml:
76         * docs/gst/tmpl/gstquery.sgml:
77         * docs/gst/tmpl/gststructure.sgml:
78         * docs/gst/tmpl/gsttaglist.sgml:
79         * docs/gst/tmpl/gstvalue.sgml:
80         * docs/libs/gstreamer-libs-docs.sgml:
81         * docs/libs/gstreamer-libs-sections.txt:
82         * docs/libs/gstreamer-libs.types:
83         * libs/gst/Makefile.am:
84         * libs/gst/control/.cvsignore:
85         * libs/gst/control/Makefile.am:
86         * libs/gst/control/control.c:
87         * libs/gst/control/control.h:
88         * libs/gst/control/dparam.c:
89         * libs/gst/control/dparam.h:
90         * libs/gst/control/dparam_smooth.c:
91         * libs/gst/control/dparam_smooth.h:
92         * libs/gst/control/dparamcommon.h:
93         * libs/gst/control/dparammanager.c:
94         * libs/gst/control/dparammanager.h:
95         * libs/gst/control/dplinearinterp.c:
96         * libs/gst/control/dplinearinterp.h:
97         * libs/gst/control/unitconvert.c:
98         * libs/gst/control/unitconvert.h:
99         * testsuite/Makefile.am:
100         * testsuite/dynparams/.cvsignore:
101         * testsuite/dynparams/Makefile.am:
102         * testsuite/dynparams/dparamstest.c:
103         * tools/Makefile.am:
104         * tools/gst-inspect.c: (print_element_info), (main):
105         * tools/gst-xmlinspect.c: (print_element_info), (main):
106           deactivate and remove dparams (libgstcontrol)
107
108 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
109
110         * gst/elements/gsttypefindelement.c:
111         (gst_type_find_element_have_type), (gst_type_find_element_init),
112         (stop_typefinding), (gst_type_find_element_handle_event),
113         (gst_type_find_element_chain), (gst_type_find_element_getrange):
114         * gst/elements/gsttypefindelement.h:
115           Set caps on all outgoing buffers, not just the first one.
116
117 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
118
119         * gst/elements/gsttypefindelement.c:
120         (gst_type_find_element_have_type),
121         (gst_type_find_element_check_set_buffer_caps),
122         (gst_type_find_element_init), (stop_typefinding),
123         (gst_type_find_element_handle_event),
124         (gst_type_find_element_chain), (gst_type_find_element_getrange):
125         * gst/elements/gsttypefindelement.h:
126           Set caps on first outgoing buffer when we've found the type.
127
128 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
129
130         * docs/gst/gstreamer-docs.sgml:
131         * docs/gst/gstreamer-sections.txt:
132         * docs/gst/tmpl/gstscheduler.sgml:
133         * docs/gst/tmpl/gstschedulerfactory.sgml:
134           Remove some old cruft from docs.
135
136 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
137
138         * gst/gstpad.h:
139           Fix inline docs for GstPadLinkReturn.
140           
141         * gst/gststructure.c: (gst_structure_has_name):
142         * gst/gststructure.h:
143         * docs/gst/gstreamer-sections.txt:
144           New API: gst_structure_has_name().
145
146 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
147
148         * configure.ac:
149           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
150           and _LARGEFILE_SOURCE in config.h as required. Do not 
151           export those flags in our .pc files any longer (#142209).
152
153           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
154
155         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
156         (gst_file_sink_do_seek), (gst_file_sink_event),
157         (gst_file_sink_get_current_offset), (gst_file_sink_render):
158           Redo seek/tell calls with large file support in mind; add some
159           debugging messages; add log message that tells us when large
160           file support is unavailable or not enabled for some reason.
161
162         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
163           Add log message that tells us when large file support 
164           is unavailable or not enabled for some reason.
165
166 2005-07-29  Wim Taymans  <wim@fluendo.com>
167
168         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
169         Added test for removing an element with ghostpad from a bin.
170         Fixed test as current implementation does the right thing.
171
172         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
173         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
174         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
175         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
176         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
177         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
178         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
179         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
180         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
181         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
182         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
183         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
184         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
185         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
186         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
187         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
188         * gst/gstghostpad.h:
189         Clean up ghostpads, remove properties for internal stuff.
190         Make threadsafe.
191         Fix refcounting.
192         Prepare for switching targets, not all use cases work yet.
193
194 2005-07-29  Wim Taymans  <wim@fluendo.com>
195
196         * docs/design/part-gstghostpad.txt:
197         Small update.
198
199         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
200         (gst_bin_remove_func):
201         Unlinking pads while holding the bin LOCK is not a good
202         idea.
203
204         * gst/gstpad.c: (gst_pad_class_init),
205         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
206         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
207         No prob setting template after creating the pad.
208
209 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
210
211         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
212         (gst_bus_peek), (gst_bus_source_dispatch),
213         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
214         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
215           gst_bus_poll may be called from other threads. Handle
216           this nicely by not making poll_data disappear off the
217           stack once gst_bus_poll returns.
218           gst_bus_peek now increments the refcount on the returned
219           message.
220
221 2005-07-29  Wim Taymans  <wim@fluendo.com>
222
223         * docs/design/part-gstghostpad.txt:
224         Overview of current GhostPad datastructures and use
225         cases for changing the target.
226
227 2005-07-28  Wim Taymans  <wim@fluendo.com>
228
229         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
230         Added checks for hierarchy consistency whan adding linked
231         elements to bins.
232
233         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
234         Added check to test element scheduling without bin/pipeline.
235
236         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
237         First add elements to bin, then link.
238         
239         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
240         (gst_bin_remove_func):
241         Unlink pads from elements added/removed from bin to maintain
242         hierarchy consistency.
243
244 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
245
246         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
247         (gst_base_transform_handle_buffer):
248         * gst/base/gstbasetransform.h:
249           Remove broken delay_configure (fixes renegotiation of software
250           scaling pipelines); remove some leftover printf()s.
251
252 2005-07-28  Wim Taymans  <wim@fluendo.com>
253
254         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
255         Added some more tests for wrong hierarchy
256
257         * docs/design/part-overview.txt:
258         Some updates.
259
260         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
261         Cleanups.
262
263         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
264         (gst_element_dispose):
265         Some more cleanups.
266
267         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
268         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
269         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
270         (gst_pad_set_caps), (gst_pad_send_event):
271         Check for correct hierarchy when linking pads. Moving to
272         strict requirement for ghostpads when linking elements in
273         different bins.
274
275         * gst/gstpad.h:
276         Clean ups. Added WRONG_HIERARCHY return value.
277
278 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
279
280         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
281           Better debug if no transform is possible.
282
283 2005-07-27  Wim Taymans  <wim@fluendo.com>
284
285         * docs/random/wtay/network-transp:
286         Some old doc I had.
287
288 2005-07-27  Wim Taymans  <wim@fluendo.com>
289
290         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
291         (gst_dp_event_from_packet):
292         Fix serialization of seek events.
293
294 2005-07-27  Wim Taymans  <wim@fluendo.com>
295
296         * check/gst-libs/gdp.c: (GST_START_TEST):
297         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
298         Fix compilation and fix event serialization.
299
300 2005-07-27  Wim Taymans  <wim@fluendo.com>
301
302         * CHANGES-0.9:
303         * docs/design/part-TODO.txt:
304         * docs/design/part-events.txt:
305         Some docs updates
306
307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
308         (gst_base_sink_event), (gst_base_sink_do_sync),
309         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
310         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
311         (gst_base_src_do_seek), (gst_base_src_event_handler),
312         (gst_base_src_loop):
313         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
314         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
315         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
316         (gst_base_transform_event), (gst_base_transform_handle_buffer),
317         (gst_base_transform_set_passthrough),
318         (gst_base_transform_is_passthrough):
319         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
320         * gst/elements/gstfilesink.c: (gst_file_sink_event):
321         Event updates.
322
323         * gst/gstbuffer.h:
324         Use faster casts.
325
326         * gst/gstelement.c: (gst_element_seek):
327         * gst/gstelement.h:
328         Update gst_element_seek.
329
330         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
331         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
332         (gst_event_new_flush_start), (gst_event_new_flush_stop),
333         (gst_event_new_eos), (gst_event_new_newsegment),
334         (gst_event_parse_newsegment), (gst_event_new_tag),
335         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
336         (gst_event_parse_qos), (gst_event_new_seek),
337         (gst_event_parse_seek), (gst_event_new_navigation):
338         * gst/gstevent.h:
339         Make GstEvent use GstStructure. Add parsing code, make sure the
340         API is sufficiently generic.
341         Mark possible directions of events and serialization.
342
343         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
344         (_gst_message_copy), (gst_message_new_segment_start),
345         (gst_message_new_segment_done), (gst_message_new_custom),
346         (gst_message_parse_segment_start),
347         (gst_message_parse_segment_done):
348         Small cleanups.
349
350         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
351         (gst_pad_set_caps), (gst_pad_send_event):
352         Update for new events. 
353         Catch events sent in wrong directions.
354
355         * gst/gstqueue.c: (gst_queue_link_src),
356         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
357         (gst_queue_handle_src_query):
358         Event updates.
359
360         * gst/gsttag.c:
361         * gst/gsttag.h:
362         Remove event code from this file.
363
364         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
365         (gst_dp_event_from_packet):
366         Event updates.
367
368 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
369
370         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
371         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
372         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
373           Make debugging actually useful.
374
375 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
376
377         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
378         (gst_pad_fixate_caps):
379           Implement default fixation once again, so that gst_pad_fixate()
380           actually does anything at all. This probably needs to be some
381           sort of a last resort, and use profile-based fixation first, but
382           since that doesn't exist yet, this is the best we have. Fixes
383           visualization in Totem.
384
385 2005-07-22  Wim Taymans  <wim@fluendo.com>
386
387         * docs/design/part-events.txt:
388         Small update.
389
390         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
391         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
392         (gst_base_sink_activate_pull):
393         Some more comments.
394
395         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
396         (gst_fake_src_create):
397         Fix handoff marshall.
398
399         * gst/elements/gstidentity.c: (gst_identity_class_init),
400         (gst_identity_transform_ip):
401         We're a real inplace element.
402
403         * gst/gstbus.c: (gst_bus_post):
404         Added some comments.
405
406         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
407         * tests/muxing/case1.c: (main):
408         * tests/sched/dynamic-pipeline.c: (main):
409         * tests/sched/interrupt1.c: (main):
410         * tests/sched/interrupt2.c: (main):
411         * tests/sched/interrupt3.c: (main):
412         * tests/sched/runxml.c: (main):
413         * tests/sched/sched-stress.c: (main):
414         * tests/seeking/seeking1.c: (event_received), (main):
415         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
416         (main):
417         * tests/threadstate/threadstate3.c: (main):
418         * tests/threadstate/threadstate4.c: (main):
419         * tests/threadstate/threadstate5.c: (main):
420         Fix the tests.
421
422 2005-07-21  Wim Taymans  <wim@fluendo.com>
423
424         * docs/design/part-seeking.txt:
425         Some small additions.
426
427         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
428         (gst_base_sink_get_times), (gst_base_sink_do_sync),
429         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
430         * gst/base/gstbasesink.h:
431         discont values are gint64, handle the math correctly.
432
433         * gst/base/gstbasesrc.c: (gst_base_src_loop):
434         Make the basesrc report error if the source pad is not linked.
435
436         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
437         (gst_queue_loop), (gst_queue_handle_src_query),
438         (gst_queue_src_activate_push):
439         Make queue collect data even if the srcpad is not linked.
440         Start pushing out data as soon as it is linked.
441
442         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
443         * gst/gstutils.h:
444         Added gst_flow_get_name() to ease error reporting.
445
446 2005-07-20  Wim Taymans  <wim@fluendo.com>
447
448         * gst/gstmessage.c: (gst_message_new_segment_start),
449         (gst_message_new_segment_done), (gst_message_parse_segment_start),
450         (gst_message_parse_segment_done):
451         * gst/gstmessage.h:
452         Added a bunch of messages for advanced seeking.
453
454         * gst/parse/grammar.y:
455         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
456         (gst_dpman_state_changed):
457         Fix some new-pad -> pad-added signals
458
459 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
460
461         * docs/manual/appendix-porting.xml:
462         * docs/pwg/appendix-porting.xml:
463           Document new-pad/state-change signal renames and the FixedList
464           type rename.
465
466 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
467
468         * docs/manual/advanced-autoplugging.xml:
469         * docs/manual/basics-helloworld.xml:
470         * docs/manual/basics-pads.xml:
471         * docs/random/ds/0.9-suggested-changes:
472         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
473         * gst/gstelement.h:
474         * gst/gstevent.h:
475         * gst/gstformat.h:
476         * gst/gstquery.h:
477         * gst/gststructure.c: (gst_structure_value_get_generic_type),
478         (gst_structure_parse_array), (gst_structure_parse_value):
479         * gst/gstvalue.c: (gst_type_is_fixed),
480         (gst_value_list_prepend_value), (gst_value_list_append_value),
481         (gst_value_list_get_size), (gst_value_list_get_value),
482         (gst_value_transform_array_string), (gst_value_serialize_array),
483         (gst_value_deserialize_array), (gst_value_intersect_array),
484         (gst_value_is_fixed), (_gst_value_initialize):
485         * gst/gstvalue.h:
486           GstElement::new-pad -> pad-added, GstElement::state-change ->
487           state-changed, GstValueFixedList -> GstValueArray, add format and
488           flags as their own arguments in gst_element_seek() (should improve
489           "bindeability"), remove function generators since they don't work
490           under a whole bunch of compilers (they were deprecated already
491           anyway).
492
493 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
494
495         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
496         (_gst_debug_register_funcptr):
497         * gst/gstinfo.h:
498           Fix illegal cast on some platforms (#309253).
499
500 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
501
502         * gst/gstmessage.c: (gst_message_new_custom):
503         * gst/gstmessage.h:
504           Add _new_custom, make _new_application a macro to _new_custom.
505
506 2005-07-20  Wim Taymans  <wim@fluendo.com>
507
508         * gst/base/gstbasesrc.c: (gst_base_src_init),
509         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
510         * gst/base/gstbasesrc.h:
511         Add a gboolean to decide when to push out a discont.
512
513         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
514         (gst_queue_loop), (gst_queue_handle_src_query),
515         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
516         (gst_queue_set_property), (gst_queue_get_property):
517         Some cleanups.
518
519         * tests/threadstate/threadstate1.c: (main):
520         Make a thread test compile and run... very silly..
521
522
523 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
524
525         * docs/manual/appendix-porting.xml:
526           Mention removal of libgstgconf-0.9.la and existence of gconf
527           elements.
528
529 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
530
531         * docs/pwg/advanced-clock.xml:
532         * docs/pwg/appendix-porting.xml:
533         * docs/pwg/intro-preface.xml:
534         * docs/pwg/other-base.xml:
535         * docs/pwg/other-manager.xml:
536         * docs/pwg/other-nton.xml:
537         * docs/pwg/other-ntoone.xml:
538         * docs/pwg/other-oneton.xml:
539         * docs/pwg/pwg.xml:
540           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
541           demuxer), remove n-to-n (was never written), fix some code examples
542           and links and update the porting section to include all this.
543
544 2005-07-19  Wim Taymans  <wim@fluendo.com>
545
546         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
547         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
548         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
549         (gst_queue_src_activate_push), (gst_queue_change_state),
550         (gst_queue_get_property):
551         * gst/gstqueue.h:
552         Propagate GstFlowReturn more intelligently upstream and output
553         an ERROR/EOS when streaming stopped due to fatal error.
554
555 2005-07-19  Wim Taymans  <wim@fluendo.com>
556
557         * tools/gst-launch.c: (check_intr), (event_loop), (main):
558         Don't block forever for the state change to complete, the
559         pipeline already did with a sensible timeout.
560
561 2005-07-19  Wim Taymans  <wim@fluendo.com>
562
563         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
564         Make sure we never call the create function is we
565         got deactivated.
566
567 2005-07-19  Andy Wingo  <wingo@pobox.com>
568
569         * gst/parse/parse.l: Attempt to solve bug #172815.
570
571 2005-07-19  Wim Taymans  <wim@fluendo.com>
572
573         * docs/design/part-clocks.txt:
574         * docs/design/part-events.txt:
575         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
576         Small docs updates.
577         Only update the seeking values when we are not
578         busy streaming.
579
580 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
581
582         * gst/base/gstbasesrc.c: (gst_base_src_loop):
583           Oops, ignore the result of gst_pad_push_event here.
584
585 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
586
587         * gst/base/gstbasesrc.c: (gst_base_src_loop),
588         (gst_base_src_activate_push):
589           Send discont event from the loop function, as pads
590           aren't activated yet in the activate_push handler.
591
592         * gst/gstbin.c: (bin_bus_handler):
593           Don't leak element name.
594
595 2005-07-18  Andy Wingo  <wingo@pobox.com>
596
597         * configure.ac: Use AS_LIBTOOL_TAGS.
598
599 2005-07-18  Wim Taymans  <wim@fluendo.com>
600
601         * docs/gst/gstreamer.types:
602         Remove deleted types.
603
604 2005-07-18  Wim Taymans  <wim@fluendo.com>
605
606         * check/elements/gstfakesrc.c: (GST_START_TEST):
607         * configure.ac:
608         * gst/Makefile.am:
609         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
610         (init_popt_callback):
611         * gst/gst.h:
612         * gst/gst_private.h:
613         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
614         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
615         * gst/gstbin.h:
616         * gst/gstbus.h:
617         * gst/gstconfig.h.in:
618         * gst/gstelement.c: (gst_element_class_init),
619         (gst_element_set_base_time), (gst_element_get_base_time),
620         (iterator_fold_with_resync), (gst_element_change_state),
621         (gst_element_dispose), (gst_element_get_bus):
622         * gst/gstelement.h:
623         * gst/gstelementfactory.h:
624         * gst/gsterror.c: (_gst_core_errors_init):
625         * gst/gsterror.h:
626         * gst/gstevent.h:
627         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
628         * gst/gstindex.c:
629         * gst/gstinfo.c: (_gst_debug_init):
630         * gst/gstmessage.c: (_gst_message_copy):
631         * gst/gstmessage.h:
632         * gst/gstminiobject.h:
633         * gst/gstobject.c:
634         * gst/gstobject.h:
635         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
636         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
637         * gst/gstpad.h:
638         * gst/gstparse.h:
639         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
640         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
641         (gst_pipeline_get_last_stream_time):
642         * gst/gstpipeline.h:
643         * gst/gstpluginfeature.h:
644         * gst/gstquery.h:
645         * gst/gstscheduler.c:
646         * gst/gstscheduler.h:
647         * gst/gststructure.h:
648         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
649         (gst_task_finalize), (gst_task_func), (gst_task_create),
650         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
651         (gst_task_stop), (gst_task_pause):
652         * gst/gsttask.h:
653         * gst/gsttypefind.h:
654         * gst/gsttypes.h:
655         * gst/registries/gstlibxmlregistry.c: (load_feature),
656         (gst_xml_registry_load), (gst_xml_registry_save_feature):
657         * gst/registries/gstxmlregistry.c:
658         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
659         * gst/schedulers/threadscheduler.c:
660         * libs/gst/control/dparammanager.h:
661         * tools/gst-inspect.c: (print_element_list),
662         (print_plugin_features), (print_element_features):
663         * tools/gst-xmlinspect.c: (print_element_list),
664         (print_plugin_info), (main):
665         Removed plugable schedulers.
666         Removed Scheduler/Manager from elements.
667         Removed gsttypes.h, rearranged includes.
668         Removed dependency pad<->element, element<>pipeline, and
669         various others,  fix includes.
670         implement gst_pad_get_parent() with gst_object_get_parent()
671         Make GstTask sefcontained.
672         Fix _get_state() on GstBin, it did not return ASYNC with a 0
673         timeout.
674         Fix endless loop in iterator_fold_with_resync.
675
676
677 2005-07-18  Wim Taymans  <wim@fluendo.com>
678
679         * gst/Makefile.am:
680         * gst/gstarch.h:
681         Remove old file.
682
683 2005-07-18  Wim Taymans  <wim@fluendo.com>
684
685         * gst/Makefile.am:
686         No more cothreads.h
687
688 2005-07-18  Wim Taymans  <wim@fluendo.com>
689
690         * gst/cothreads.c:
691         * gst/cothreads.h:
692         Let's remove these.
693
694 2005-07-18  Wim Taymans  <wim@fluendo.com>
695
696         * docs/design/part-dynamic.txt:
697         * docs/design/part-events.txt:
698         * docs/design/part-seeking.txt:
699         Some more docs in the works.
700
701         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
702         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
703         (gst_base_transform_setcaps), (gst_base_transform_get_size),
704         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
705         (gst_base_transform_handle_buffer),
706         (gst_base_transform_sink_activate_push),
707         (gst_base_transform_src_activate_pull),
708         (gst_base_transform_set_passthrough),
709         (gst_base_transform_is_passthrough):
710         Refcounting fixes.
711
712         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
713         Cleanups.
714
715         * gst/gstevent.c: (gst_event_finalize):
716         Set SRC to NULL.
717
718         * gst/gstutils.c: (gst_element_unlink),
719         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
720         (gst_pad_proxy_setcaps):
721         * gst/gstutils.h:
722         Add _get_parent_element() to get a pads parent as an element.
723
724 2005-07-18  Wim Taymans  <wim@fluendo.com>
725
726         * check/gst/gstbin.c: (GST_START_TEST):
727         Remove bogus test.
728
729 2005-07-18  Wim Taymans  <wim@fluendo.com>
730
731         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
732         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
733         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
734         (gst_base_sink_event), (gst_base_sink_do_sync),
735         (gst_base_sink_chain), (gst_base_sink_loop),
736         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
737         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
738         Refcounting fixes.
739         Fix logic for returning ASYNC when not prerolled.
740
741 2005-07-18  Wim Taymans  <wim@fluendo.com>
742
743         * gst/gstqueue.c: (gst_queue_handle_sink_event):
744         Fix nasty refcount bug.
745
746 2005-07-16 Philippe Khalaf <burger@speedy.org>
747         * gst/elements/gstfdsrc.c:
748         * gst/elements/gstfdsrc.h:
749         * gst/elements/gstelements.c:
750         * gst/elements/Makefile.am:
751         Ported fdsrc to 0.9.
752
753 2005-07-16  Wim Taymans  <wim@fluendo.com>
754
755         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
756         (gst_base_sink_do_sync):
757         Fix compile error.
758
759 2005-07-16  Wim Taymans  <wim@fluendo.com>
760
761         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
762         (gst_base_sink_event), (gst_base_sink_get_times),
763         (gst_base_sink_do_sync), (gst_base_sink_change_state):
764         * gst/base/gstbasesink.h:
765         Store and use discont values when syncing buffers as described
766         in design docs.
767         
768         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
769         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
770         (gst_base_src_activate_push):
771         Push discont event when starting.
772
773         * gst/elements/gstidentity.c: (gst_identity_transform):
774         Small cleanups.
775
776         * gst/gstbin.c: (gst_bin_change_state):
777         Small cleanups in base_time  distribution.
778
779         * gst/gstelement.c: (gst_element_set_base_time),
780         (gst_element_get_base_time), (gst_element_change_state):
781         * gst/gstelement.h:
782         Added methods for the base_time of the element.
783         Some MT fixes.
784
785         * gst/gstpipeline.c: (gst_pipeline_send_event),
786         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
787         (gst_pipeline_get_last_stream_time):
788         * gst/gstpipeline.h:
789         MT fixes.
790         Handle seeking as described in design doc, remove stream_time
791         hack.
792         Cleanups clock and stream_time selection code. Added accessors
793         for the stream_time.
794         
795
796 2005-07-16  Andy Wingo  <wingo@pobox.com>
797
798         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
799         (#305291).
800
801 2005-07-16  Wim Taymans  <wim@fluendo.com>
802
803         * check/gst/gstbin.c: (GST_START_TEST):
804         Make elements silent as the deep_notify refs the
805         parent, which might make the test fail.
806
807         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
808         Don't hold the lock for too long.
809
810 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
811
812         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
813           Don't unref the caps we passed to gst_caps_make_writable() after
814           passing them. gst_caps_make_writable() will do that for us.
815
816 2005-07-15  Andy Wingo  <wingo@pobox.com>
817
818         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
819         (#157311).
820
821         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
822         own marshalling function for the handoff signal. Properly type the
823         buffer as a buffer. Fixes some warnings. Should do a more general
824         solution.
825         (gst_identity_class_init): Plug into the right marshaller.
826
827 2005-07-15  Wim Taymans  <wim@fluendo.com>
828
829         * docs/design/part-TODO.txt:
830         * docs/design/part-clocks.txt:
831         * docs/design/part-element-sink.txt:
832         * docs/design/part-events.txt:
833         * docs/design/part-gstpipeline.txt:
834         Updated docs, mostly DISCONT related.
835
836 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
837
838         * docs/pwg/building-pads.xml:
839           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
840
841 2005-07-15  Andy Wingo  <wingo@pobox.com>
842
843         * tools/gst-typefind.c: Update, add copyright block.
844
845         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
846         Normalize and truncate caps before fixation.
847
848         * gst/gstcaps.h:
849         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
850         discards all but the first structure from its argument.
851
852 2005-07-15  Wim Taymans  <wim@fluendo.com>
853
854         * gst/base/gstbasetransform.c: (gst_base_transform_init),
855         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
856         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
857         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
858         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
859         (gst_base_transform_chain), (gst_base_transform_change_state),
860         (gst_base_transform_set_passthrough),
861         (gst_base_transform_is_passthrough):
862         * gst/base/gstbasetransform.h:
863         Make passthrough work using the bufferpools.
864         Changed API a bit, subclasses have to write into a buffer
865         provided by the base class.
866         More debug info in nego functions.
867         
868         * gst/elements/gstidentity.c: (gst_identity_init),
869         (gst_identity_transform):
870         Port to new base class.
871
872 2005-07-15  Wim Taymans  <wim@fluendo.com>
873
874         * gst/gstmessage.c: (gst_message_new_state_changed):
875         * tools/gst-launch.c: (event_loop), (main):
876         Totally dump messages in -launch with the -m option.
877         Fix message name for State messages,
878
879 2005-07-14  Wim Taymans  <wim@fluendo.com>
880
881         * gst/base/gstbasesrc.c: (gst_base_src_loop):
882         Post error messages on errors.
883
884 2005-07-14  Wim Taymans  <wim@fluendo.com>
885
886         * gst/gstcaps.c: (gst_caps_do_simplify):
887         Remove debug info.
888
889         * gst/gsterror.h:
890         Define error for stream stopped.
891
892         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
893         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
894         Do proper return values.
895
896         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
897         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
898         (gst_pad_get_range):
899         Better return values.
900
901         * gst/gstpad.h:
902         Reorganise return values, add macro to check for fatal errors.
903
904         * gst/gstqueue.c: (gst_queue_chain):
905         Return proper GstFlowReturn values,
906
907 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
908
909         * docs/gst/gstreamer-sections.txt:
910         * docs/gst/gstreamer.types:
911         * docs/gst/tmpl/gst.sgml:
912         * docs/gst/tmpl/gstbasesink.sgml:
913         * docs/gst/tmpl/gstbasesrc.sgml:
914         * docs/gst/tmpl/gstbasetransform.sgml:
915         * docs/gst/tmpl/gstbin.sgml:
916         * docs/gst/tmpl/gstbuffer.sgml:
917         * docs/gst/tmpl/gstcaps.sgml:
918         * docs/gst/tmpl/gstclock.sgml:
919         * docs/gst/tmpl/gstcompat.sgml:
920         * docs/gst/tmpl/gstconfig.sgml:
921         * docs/gst/tmpl/gstelement.sgml:
922         * docs/gst/tmpl/gstelementdetails.sgml:
923         * docs/gst/tmpl/gstelementfactory.sgml:
924         * docs/gst/tmpl/gstenumtypes.sgml:
925         * docs/gst/tmpl/gsterror.sgml:
926         * docs/gst/tmpl/gstevent.sgml:
927         * docs/gst/tmpl/gstfakesink.sgml:
928         * docs/gst/tmpl/gstfakesrc.sgml:
929         * docs/gst/tmpl/gstfilesink.sgml:
930         * docs/gst/tmpl/gstfilesrc.sgml:
931         * docs/gst/tmpl/gstfilter.sgml:
932         * docs/gst/tmpl/gstformat.sgml:
933         * docs/gst/tmpl/gstghostpad.sgml:
934         * docs/gst/tmpl/gstimplementsinterface.sgml:
935         * docs/gst/tmpl/gstindex.sgml:
936         * docs/gst/tmpl/gstindexfactory.sgml:
937         * docs/gst/tmpl/gstinfo.sgml:
938         * docs/gst/tmpl/gstiterator.sgml:
939         * docs/gst/tmpl/gstmacros.sgml:
940         * docs/gst/tmpl/gstmemchunk.sgml:
941         * docs/gst/tmpl/gstminiobject.sgml:
942         * docs/gst/tmpl/gstobject.sgml:
943         * docs/gst/tmpl/gstpad.sgml:
944         * docs/gst/tmpl/gstpadtemplate.sgml:
945         * docs/gst/tmpl/gstparse.sgml:
946         * docs/gst/tmpl/gstpipeline.sgml:
947         * docs/gst/tmpl/gstplugin.sgml:
948         * docs/gst/tmpl/gstpluginfeature.sgml:
949         * docs/gst/tmpl/gstquery.sgml:
950         * docs/gst/tmpl/gstqueue.sgml:
951         * docs/gst/tmpl/gstregistry.sgml:
952         * docs/gst/tmpl/gstregistrypool.sgml:
953         * docs/gst/tmpl/gstscheduler.sgml:
954         * docs/gst/tmpl/gstschedulerfactory.sgml:
955         * docs/gst/tmpl/gststructure.sgml:
956         * docs/gst/tmpl/gstsystemclock.sgml:
957         * docs/gst/tmpl/gsttaglist.sgml:
958         * docs/gst/tmpl/gsttagsetter.sgml:
959         * docs/gst/tmpl/gsttrace.sgml:
960         * docs/gst/tmpl/gsttrashstack.sgml:
961         * docs/gst/tmpl/gsttypefind.sgml:
962         * docs/gst/tmpl/gsttypefindfactory.sgml:
963         * docs/gst/tmpl/gsttypes.sgml:
964         * docs/gst/tmpl/gsturihandler.sgml:
965         * docs/gst/tmpl/gsturitype.sgml:
966         * docs/gst/tmpl/gstutils.sgml:
967         * docs/gst/tmpl/gstvalue.sgml:
968         * docs/gst/tmpl/gstversion.sgml:
969         * docs/gst/tmpl/gstxml.sgml:
970         * docs/libs/tmpl/gstcontrol.sgml:
971         * docs/libs/tmpl/gstdataprotocol.sgml:
972         * docs/libs/tmpl/gstdparam.sgml:
973         * docs/libs/tmpl/gstdplinint.sgml:
974         * docs/libs/tmpl/gstdpman.sgml:
975         * docs/libs/tmpl/gstdpsmooth.sgml:
976         * docs/libs/tmpl/gstgetbits.sgml:
977         * docs/libs/tmpl/gstunitconvert.sgml:
978         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
979         (gst_push_src_base_init), (gst_push_src_class_init),
980         (gst_push_src_init), (gst_push_src_create):
981         * gst/base/gstpushsrc.h:
982         * gst/elements/gstelements.c:
983         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
984         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
985         (gst_fake_sink_init), (gst_fake_sink_set_property),
986         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
987         (gst_fake_sink_event), (gst_fake_sink_preroll),
988         (gst_fake_sink_render), (gst_fake_sink_change_state):
989         * gst/elements/gstfakesink.h:
990         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
991         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
992         (gst_fake_src_base_init), (gst_fake_src_class_init),
993         (gst_fake_src_init), (gst_fake_src_event_handler),
994         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
995         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
996         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
997         (gst_fake_src_create_buffer), (gst_fake_src_create),
998         (gst_fake_src_start), (gst_fake_src_stop):
999         * gst/elements/gstfakesrc.h:
1000         * gst/elements/gstfilesink.c: (_do_init),
1001         (gst_file_sink_base_init), (gst_file_sink_class_init),
1002         (gst_file_sink_init), (gst_file_sink_dispose),
1003         (gst_file_sink_set_location), (gst_file_sink_set_property),
1004         (gst_file_sink_get_property), (gst_file_sink_open_file),
1005         (gst_file_sink_close_file), (gst_file_sink_query),
1006         (gst_file_sink_event), (gst_file_sink_render),
1007         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1008         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1009         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1010         * gst/elements/gstfilesink.h:
1011         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1012         (gst_file_src_class_init), (gst_file_src_init),
1013         (gst_file_src_finalize), (gst_file_src_set_location),
1014         (gst_file_src_set_property), (gst_file_src_get_property),
1015         (gst_file_src_map_region), (gst_file_src_map_small_region),
1016         (gst_file_src_create_mmap), (gst_file_src_create_read),
1017         (gst_file_src_create), (gst_file_src_is_seekable),
1018         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1019         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1020         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1021         (gst_file_src_uri_handler_init):
1022         * gst/elements/gstfilesrc.h:
1023           more autistic cleanliness in functions/names/defines
1024
1025 2005-07-13  Andy Wingo  <wingo@pobox.com>
1026
1027         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1028         source couldn't negotiate.
1029
1030         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1031         connections again.
1032
1033         * gst/gstutils.h:
1034         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1035         function. I am channeling Hades. Put your boots on suckers!!!
1036
1037 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1038
1039         * testsuite/caps/Makefile.am:
1040         * testsuite/caps/value_compare.c:
1041         * testsuite/caps/value_intersect.c:
1042         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1043           move two testsuite apps over to the check dir
1044
1045 2005-07-12  Wim Taymans  <wim@fluendo.com>
1046
1047         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1048         Added more debug info in the negotiate process.
1049
1050         * gst/gstmessage.h:
1051         Prepare for segment playback.
1052
1053         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1054         Better debugging.
1055
1056         * gst/gstutils.c:
1057         Some more docs.
1058
1059         * tools/gst-launch.c: (main):
1060         NULL pipeline on errors.
1061
1062 2005-07-12  Andy Wingo  <wingo@pobox.com>
1063
1064         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1065         not it comes from a malloc region. Make sure our copy gets freed.
1066
1067 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1068
1069         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1070         * check/gst/gstmessage.c: (GST_START_TEST):
1071         * check/gst/gststructure.c: (GST_START_TEST),
1072         (gst_structure_suite), (main):
1073           more testing
1074         * gst/gstelement.c: (gst_element_message_full):
1075           clean up GError and debug string now that they get copied
1076         * gst/gstmessage.c: (gst_message_new_error),
1077         (gst_message_new_warning), (gst_message_parse_error),
1078         (gst_message_parse_warning):
1079           use GST_TYPE_G_ERROR for structure_new, and take copies of
1080           arguments, so that we don't mess up refcounting
1081
1082 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1083
1084         * check/Makefile.am:
1085           add per-test valgrind targets
1086         * check/gst-libs/gdp.c: (GST_START_TEST),
1087         (gst_data_protocol_suite), (main):
1088           clean up
1089
1090 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1091
1092         * check/Makefile.am:
1093           instate more valgrindable tests
1094         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1095         (GST_START_TEST), (fakesrc_suite):
1096         * check/gst/gstpad.c: (GST_START_TEST):
1097         * check/gst/gststructure.c: (GST_START_TEST):
1098           fix test leaks
1099         * docs/gst/tmpl/gstminiobject.sgml:
1100         * gst/gstpad.c: (gst_pad_finalize):
1101           fix the static mutex leak
1102
1103 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1104
1105         * check/Makefile.am:
1106           add two more tests for valgrinding
1107         * check/gst/gstvalue.c: (GST_START_TEST):
1108           test refcount of deserialized buffer, found a leak
1109         * docs/gst/gstreamer-docs.sgml:
1110         * docs/gst/gstreamer-sections.txt:
1111         * docs/gst/gstreamer.types:
1112         * docs/gst/tmpl/gstminiobject.sgml:
1113           add miniobject to docs
1114         * gst/gstminiobject.c:
1115           add some docs
1116         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1117         (gst_string_unwrap):
1118           fix a hard-to-find invalid write for one of the tests
1119           fix a leak for deserialized buffers
1120
1121 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1122
1123         * docs/pwg/advanced-events.xml:
1124         * docs/pwg/advanced-request.xml:
1125         * docs/pwg/advanced-scheduling.xml:
1126         * docs/pwg/appendix-porting.xml:
1127         * docs/pwg/building-boiler.xml:
1128         * docs/pwg/intro-preface.xml:
1129         * docs/pwg/other-ntoone.xml:
1130           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1131           of example code and explanation for pad activation, loop() and
1132           getrange() functions and a bit more. Remove old comments pointing
1133           to loop-functions.
1134         * examples/pwg/Makefile.am:
1135           Add loop/getrange examples.
1136
1137 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1138
1139         * configure.ac:
1140           check for valgrind binary + some fixes
1141         * check/gst.supp:
1142           valgrind suppressions for the tests
1143         * check/Makefile.am:
1144           add a valgrind: target that valgrinds the unit tests
1145         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1146         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1147         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1148         * check/gst/gstghostpad.c:
1149           added some cleanup
1150         * check/gst/gstdata.c:
1151           removed
1152         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1153         (thread_unref), (gst_mini_object_suite), (main):
1154           added
1155         * gst/gst.c: (gst_deinit):
1156         * gst/gst.h:
1157           add a method to clean up.
1158         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1159         (gst_system_clock_obtain):
1160           allow for disposing the system clock.
1161         * tools/gst-launch.c: (main):
1162           deinit
1163
1164 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1165
1166         * docs/gst/tmpl/gstbasesrc.sgml:
1167         * docs/gst/tmpl/gstfakesrc.sgml:
1168         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1169         (gst_base_src_init), (gst_base_src_set_property),
1170         (gst_base_src_get_property), (gst_base_src_get_range),
1171         (gst_base_src_start):
1172         * gst/base/gstbasesrc.h:
1173           add num-buffers property
1174         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1175         (gst_fakesrc_init), (gst_fakesrc_set_property),
1176         (gst_fakesrc_get_property), (gst_fakesrc_create),
1177         (gst_fakesrc_start):
1178           remove num-buffers property
1179
1180 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1181
1182         * docs/gst/gstreamer-sections.txt:
1183         * docs/gst/tmpl/gstbasesink.sgml:
1184         * docs/gst/tmpl/gstbasesrc.sgml:
1185         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1186         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1187         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1188         (gst_base_sink_set_property), (gst_base_sink_get_property),
1189         (gst_base_sink_handle_object), (gst_base_sink_event),
1190         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1191         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1192         (gst_base_sink_loop), (gst_base_sink_deactivate),
1193         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1194         (gst_base_sink_change_state):
1195         * gst/base/gstbasesink.h:
1196         * gst/base/gstbasesrc.h:
1197         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1198         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1199         (gst_filesink_init):
1200           more macro splitting
1201
1202 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1203
1204         * gst/gstelement.c: (gst_element_get_bus):
1205           add debug
1206         * tools/gst-launch.c: (check_intr), (event_loop):
1207           fix bus leaks
1208
1209 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1210
1211         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1212           fix a caps leak
1213
1214 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1215
1216         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1217         (gst_base_src_finalize):
1218           add finalize method and clean up properly
1219         * gst/gstpipeline.c: (gst_pipeline_dispose):
1220           add debug
1221
1222 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1223
1224         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1225         (gst_bin_suite):
1226           add more things to check
1227         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1228         * gst/gstelement.c:
1229           more debug
1230
1231 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1232
1233         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1234         (GST_START_TEST), (fakesrc_suite):
1235         * check/gst-libs/gdp.c: (GST_START_TEST):
1236         * check/gst/gst.c: (GST_START_TEST):
1237         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1238         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1239         * check/gst/gstbus.c: (GST_START_TEST):
1240         * check/gst/gstcaps.c: (GST_START_TEST):
1241         * check/gst/gstdata.c: (GST_START_TEST):
1242         * check/gst/gstelement.c: (GST_START_TEST):
1243         * check/gst/gstghostpad.c: (GST_START_TEST):
1244         * check/gst/gstiterator.c: (GST_START_TEST):
1245         * check/gst/gstmessage.c: (GST_START_TEST):
1246         * check/gst/gstobject.c: (GST_START_TEST):
1247         * check/gst/gstpad.c: (GST_START_TEST):
1248         * check/gst/gststructure.c: (GST_START_TEST):
1249         * check/gst/gstsystemclock.c: (GST_START_TEST),
1250         (gst_systemclock_suite):
1251         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1252         * check/gst/gstvalue.c: (GST_START_TEST):
1253         * check/pipelines/cleanup.c: (GST_START_TEST):
1254         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1255         * check/states/sinks.c: (GST_START_TEST):
1256         * check/gstcheck.c: (gst_check_init):
1257         * check/gstcheck.h:
1258           add debugging category
1259           use GST_START_TEST now, so we add a debug line
1260
1261 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1262
1263         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1264           add test for state change message on a bin
1265         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1266           add another test
1267         * gst/gstbin.c: (gst_bin_init):
1268         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1269         * gst/gstelement.c: (gst_element_post_message),
1270         (gst_element_set_state):
1271         * gst/gstelementfactory.c: (gst_element_factory_create):
1272         * gst/gstmessage.c: (gst_message_new):
1273         * gst/gstscheduler.c:
1274           various debugging additions and cleanups
1275
1276 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1277
1278         * check/Makefile.am:
1279         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1280         (main):
1281           adding tests for elements
1282         * gst/gstelement.c: (gst_element_dispose):
1283
1284 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1285
1286         * gst/registries/gstlibxmlregistry.c: (load_feature):
1287           plug more leaks.  A simple gst_init() now is leakfree, yay.
1288
1289 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1290
1291         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1292         (gst_xml_registry_load):
1293           plug another memleak
1294
1295 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1296
1297         * configure.ac:
1298           use GST_SET_ERROR_CFLAGS
1299         * docs/faq/cvs.xml:
1300           change to ERROR_CFLAGS
1301
1302 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1303
1304         * configure.ac:
1305           make GST_ERROR_CFLAGS overridable and re-enable Werror
1306         * docs/faq/cvs.xml:
1307           add a note about error CFLAGS
1308         * docs/gst/tmpl/gstfakesrc.sgml:
1309         * gst/elements/gstfakesrc.c:
1310           comment out some unused code
1311         * gst/gst.c: (split_and_iterate):
1312         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1313         (load_feature):
1314           plug some memleaks
1315
1316 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1317
1318         * common/Makefile.am:
1319         * common/gtk-doc.mak:
1320         * docs/gst/Makefile.am:
1321           factor out gtk-doc.mak
1322
1323 2005-07-07  Wim Taymans  <wim@fluendo.com>
1324
1325         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1326         (gst_thread_scheduler_dispose):
1327         Unlock the STREAM_LOCK completely.
1328
1329 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1330
1331         * check/Makefile.am:
1332         * check/elements/.cvsignore:
1333         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1334         (START_TEST), (fakesrc_suite), (main):
1335         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1336         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1337         (gst_fakesrc_create), (gst_fakesrc_start):
1338         * gst/elements/gstfakesrc.h:
1339           adding a first element test
1340
1341 2005-07-07  Andy Wingo  <wingo@pobox.com>
1342
1343         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1344         debug message.
1345
1346 2005-07-07  Wim Taymans  <wim@fluendo.com>
1347
1348         * gst/gstquery.c:
1349         * gst/gstquery.h:
1350         Remove old types
1351
1352 2005-07-07  Wim Taymans  <wim@fluendo.com>
1353
1354         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1355         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1356         Allow subclasses to implement their own negotiation.
1357
1358 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1359
1360         * docs/design/part-gstbin.txt:
1361         * docs/design/part-gstpipeline.txt:
1362           Update design notes to reflect the movement of
1363           responsibility for bus handling from GstPipeline to
1364           GstBin
1365
1366 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1367
1368         * configure.ac:
1369           Remove unnecessary queue2/3/4 examples.
1370
1371 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1372
1373         * examples/Makefile.am:
1374         * examples/helloworld/helloworld.c: (event_loop), (main):
1375         * examples/queue/queue.c: (event_loop), (main):
1376         * examples/queue2/queue2.c: (main):
1377           Update a couple of the examples to work again.
1378
1379         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1380         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1381          Spelling corrections and extra debug.
1382         
1383         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1384         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1385         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1386         * gst/gstbin.h:
1387         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1388         (gst_pipeline_change_state):
1389         * gst/gstpipeline.h:
1390           Move the bus handler for children to the GstBin, and create a
1391           separate bus for receiving messages from children to the one the
1392           bus sends 'upwards' on.
1393
1394 2005-07-06  Wim Taymans  <wim@fluendo.com>
1395
1396         * gst/base/README:
1397         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1398         (gst_base_sink_handle_object), (gst_base_sink_loop),
1399         (gst_base_sink_change_state):
1400         * gst/base/gstbasesink.h:
1401         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1402         (gst_base_src_init), (gst_base_src_setcaps),
1403         (gst_base_src_getcaps), (gst_base_src_loop),
1404         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1405         (gst_base_src_start), (gst_base_src_change_state):
1406         * gst/base/gstbasesrc.h:
1407         Make basesrc negotiate.
1408         Handle the case where preroll fails in basesink.
1409         Update README.
1410
1411 2005-07-06  Wim Taymans  <wim@fluendo.com>
1412
1413         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1414         Implement the fixate function.
1415         Clean up acceptcaps.
1416
1417 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1418
1419         * docs/pwg/building-filterfactory.xml:
1420         * docs/pwg/pwg.xml:
1421           Remove never-written filter-factory chapter; I'll add the various
1422           base classes to part 4 ("other element types") later on.
1423
1424 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1425
1426         * docs/pwg/advanced-negotiation.xml:
1427         * docs/pwg/building-boiler.xml:
1428         * docs/pwg/building-pads.xml:
1429         * docs/pwg/pwg.xml:
1430         * examples/pwg/Makefile.am:
1431           Add a chapter on caps negotiation, simplify the original code
1432           samples a bit w.r.t. caps negotiation, add link to the advanced
1433           section. Add a bunch of examples showing different use cases of
1434           different types of caps negotiation. Upstream renegotiation isn't
1435           fully documented yet since nobody knows how that works.
1436
1437 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1438
1439         * check/gst/gstpad.c:
1440         * check/gstcheck.c:
1441         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1442           if pad has no parent, return NULL as list of internal links
1443
1444 2005-07-05  Andy Wingo  <wingo@pobox.com>
1445
1446         * gst/elements/gstfilesrc.c:
1447         * gst/elements/gstfakesrc.c: 
1448         * gst/base/gstpushsrc.c:
1449         * gst/base/gstbasesrc.h: 
1450         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1451         
1452 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1453
1454         * Makefile.am:
1455           better report generation target (lcov needs a patch)
1456
1457 2005-07-05  Andy Wingo  <wingo@pobox.com>
1458
1459         * gst/elements, testsuite: Null if we got it...
1460
1461 2005-07-05  Wim Taymans  <wim@fluendo.com>
1462
1463         * configure.ac:
1464         * libs/gst/dataprotocol/Makefile.am:
1465         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1466         * libs/gst/dataprotocol/dataprotocol.h:
1467         * pkgconfig/Makefile.am:
1468         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1469         * pkgconfig/gstreamer-dataprotocol.pc.in:
1470         Ported dataprotol to 0.9. 
1471         Added pkgconfig files.
1472
1473 2005-07-05  Andy Wingo  <wingo@pobox.com>
1474
1475         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1476         Default to returning TRUE for the case when tranform_caps returns
1477         a fixed caps, like for identity or volume.
1478
1479         * check/gst/gstbus.c (pound_bus_with_messages): 
1480         * check/gst/gstmessage.c (START_TEST): 
1481         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1482         message API change.
1483
1484         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1485         logic weaks here: always run transform_caps, trying passthrough
1486         operation only if the original caps intersects with the transform.
1487
1488         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1489         source and sink caps.
1490
1491         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1492         Intersect the peer caps with the pad template before going into
1493         transform_caps.
1494         (gst_base_transform_transform_caps): More debugging.
1495
1496         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1497         src argument.
1498
1499 2005-07-04  Edward Hervey  <edward@fluendo.com>
1500
1501         * gst/gstutils.c:
1502         * gst/gstutils.h:
1503         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1504         in bindings.
1505
1506 2005-07-04  Andy Wingo  <wingo@pobox.com>
1507
1508         * check/gst/gstpad.c: Only set explicit caps on pads.
1509
1510 2005-07-01  Andy Wingo  <wingo@pobox.com>
1511
1512         * tests/network-clock.scm: Commentary update.
1513
1514         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1515         Didn't really make sense, not implementable with basetransform,
1516         etc.
1517         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1518         attempt at implementing the sync property, needs an unlock method.
1519
1520         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1521         New func, by default returns the same caps (the identity
1522         transformation).
1523         (gst_base_transform_getcaps): Uses transform_caps to return
1524         something sensible.
1525         (gst_base_transform_setcaps): Complicated logic to get caps on
1526         both pads, even if they are different, and to call set_caps once
1527         for every time both pads get their caps set.
1528         (gst_base_transform_handle_buffer): Give the ref to the transform
1529         function. Allows in-place modification of the buffer.
1530
1531         * gst/base/gstbasetransform.h (transform_caps): New class method.
1532         Given caps on one side, what can I do on the other.
1533         (set_caps): Take two caps, one for each side of the element.
1534
1535         * gst/gstpad.h:
1536         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1537         caps in place. This is safe because we can check the mutability of
1538         the caps, and a good idea because fixate functions are just called
1539         as a matter of last resort. (Not actually implemented.)
1540         (gst_pad_set_caps): If the caps we're setting is actually the same
1541         as the existing pad caps, just update the pointer without calling
1542         setcaps. Assert that caps is either NULL or fixed, as per the
1543         docs.
1544
1545         * gst/gstghostpad.c: Update for fixate changes.
1546
1547 2005-07-02  Andy Wingo  <wingo@pobox.com>
1548
1549         * gst/gstcaps.c:
1550         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1551         two refcounts makes it immutable, which is enough. Doc more.
1552
1553 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1554
1555         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1556           Put the mini_object into GValue as a mini_object,
1557           not a gpointer, since that's how we declared
1558           the signal.
1559
1560 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1561
1562         * examples/pwg/Makefile.am:
1563           Fix buildbot again.
1564
1565 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1566
1567         * docs/pwg/building-testapp.xml:
1568           Add extra check.
1569         * examples/pwg/Makefile.am:
1570           Fix buildbot.
1571
1572 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1573
1574         * configure.ac:
1575         * examples/Makefile.am:
1576         * examples/pwg/Makefile.am:
1577         * examples/pwg/extract.pl:
1578           Enable building the PWG examples.
1579         * docs/pwg/advanced-interfaces.xml:
1580           Add URI interface stub.
1581         * docs/pwg/advanced-types.xml:
1582         * docs/pwg/other-autoplugger.xml:
1583         * docs/pwg/appendix-porting.xml:
1584         * docs/pwg/pwg.xml:
1585           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1586         * docs/pwg/building-boiler.xml:
1587         * docs/pwg/building-chainfn.xml:
1588         * docs/pwg/building-pads.xml:
1589         * docs/pwg/building-props.xml:
1590         * docs/pwg/building-state.xml:
1591         * docs/pwg/building-testapp.xml:
1592           Update the building-*.xml parts for 0.9 changes. All examples
1593           code blocks compile in examples/pwg/*.
1594
1595 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1596
1597         * docs/manual/advanced-autoplugging.xml:
1598         * docs/manual/appendix-checklist.xml:
1599         * docs/manual/appendix-integration.xml:
1600         * docs/manual/highlevel-components.xml:
1601           Fix playbin/decodebin examples, update docs a bit, mention bus
1602           instead of signals in various places, mention kmplayer and
1603           kaffeine since they have a working GStreamer backend in the KDE
1604           section.
1605
1606 2005-06-30  Wim Taymans  <wim@fluendo.com>
1607
1608         * CHANGES-0.9:
1609         * docs/design/draft-ghostpads.txt:
1610         * docs/design/draft-push-pull.txt:
1611         * docs/design/draft-query.txt:
1612         * docs/design/part-TODO.txt:
1613         * docs/design/part-query.txt:
1614         Added CHANGES-0.9 doc, updated status of other docs.
1615         
1616         * gst/gstquery.h:
1617         Remove "hmm" macro
1618
1619 2005-06-30  Wim Taymans  <wim@fluendo.com>
1620
1621         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1622         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1623         (gst_base_sink_change_state):
1624         * gst/base/gstbasesink.h:
1625         Some tweaks, only EOS and a buffer complete a preroll.
1626
1627 2005-06-30  Andy Wingo  <wingo@pobox.com>
1628
1629         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1630         activate_push down to the internal pad as well.
1631
1632 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1633
1634         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1635
1636         * gst/gsttaginterface.c:
1637           Some documentation fixes (#307394 and #307397).
1638
1639 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1640
1641         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1642
1643         * gst/gstvalue.c: (gst_value_intersect_list):
1644           Fix memleak (#309125).
1645
1646 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1647
1648         * docs/manual/advanced-dataaccess.xml:
1649           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1650         * docs/manual/basics-pads.xml:
1651           Add reference for filtered caps to above chapter.
1652
1653 2005-06-30  Wim Taymans  <wim@fluendo.com>
1654
1655         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1656         (gst_bin_change_state):
1657         Probes are gone.
1658         Lame attempt at making the state change function a bit
1659         more readable.
1660
1661 2005-06-30  Wim Taymans  <wim@fluendo.com>
1662
1663         * docs/design/part-clocks.txt:
1664         * docs/design/part-element-sink.txt:
1665         * docs/design/part-events.txt:
1666         * docs/design/part-preroll.txt:
1667         * docs/design/part-states.txt:
1668         Some more tweeks and additions to the docs.
1669
1670 2005-06-30  Wim Taymans  <wim@fluendo.com>
1671
1672         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1673         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1674         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1675         (gst_pad_check_pull_range), (gst_pad_get_range),
1676         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1677         * gst/gstpad.h:
1678         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1679         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1680         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1681         (gst_pad_remove_buffer_probe):
1682         Removed atomic operations, use existing LOCK.
1683         Move exception handling out of main code path.
1684
1685 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1686
1687         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1688         (silly_return_true_function), (gst_pad_class_init),
1689         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1690         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1691         (gst_pad_send_event):
1692           Fix accumulator, add default value by using _emitv() instead
1693           of _emit() for signal emission.
1694
1695 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1696
1697         * docs/manual/advanced-dataaccess.xml:
1698         * examples/manual/Makefile.am:
1699           Add probe example.
1700         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1701           Make work (??).
1702
1703 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1704
1705         * gst/elements/gstfilesink.c: (gst_filesink_render):
1706           Simplify code so that we don't have to handle short
1707           writes and return GST_FLOW_ERROR if an error occured.
1708
1709 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1710
1711         * docs/gst/gstreamer-docs.sgml:
1712           Remove probes more.
1713
1714 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1715
1716         * docs/gst/gstreamer-sections.txt:
1717         * docs/gst/tmpl/gstpad.sgml:
1718         * docs/gst/tmpl/gstprobe.sgml:
1719         * gst/Makefile.am:
1720         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1721         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1722         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1723         (gst_pad_push_event), (gst_pad_send_event):
1724         * gst/gstpad.h:
1725         * gst/gstutils.c: (gst_pad_add_data_probe),
1726         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1727         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1728         (gst_pad_remove_buffer_probe):
1729         * gst/gstutils.h:
1730           Remove old probes, add new g-signal-based probes and some utility
1731           functions.
1732
1733 2005-06-29  Edward Hervey  <edward@fluendo.com>
1734
1735         * gst/gstelementfactory.c:
1736         * gst/gstutils.h:
1737         * gst/gstutils.c:
1738         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1739         the definition to the header file.
1740
1741 2005-06-29  Andy Wingo  <wingo@pobox.com>
1742
1743         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1744         plugins from the source directory.
1745
1746 2005-06-29  Wim Taymans  <wim@fluendo.com>
1747
1748         * docs/gst/tmpl/gstbuffer.sgml:
1749         * docs/gst/tmpl/gstclock.sgml:
1750         Some fixings for blantently wrong text.
1751
1752 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1753
1754         * check/Makefile.am:
1755         * gst/gst.c: (add_path_func), (init_pre):
1756         * gst/gstregistry.c: (gst_registry_add_path):
1757           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1758           only scan the GST_PLUGIN_PATH locations, and not add
1759           system locations
1760
1761 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1762
1763         * docs/gst/gstreamer-sections.txt:
1764         * docs/gst/tmpl/gstbasesrc.sgml:
1765         * gst/gstelement.c:
1766         * gst/gstelement.h:
1767         * gst/gstevent.c:
1768         * gst/gstutils.c:
1769           doc fixes
1770
1771 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1772
1773         * docs/manual/advanced-autoplugging.xml:
1774           Fix autoplugging example.
1775
1776 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1777
1778         * docs/manual/advanced-autoplugging.xml:
1779         * docs/manual/mime-world.fig:
1780           Try to get autoplugging working, fix type detection. Fix text
1781           in hello-world image.
1782
1783 2005-06-29  Wim Taymans  <wim@fluendo.com>
1784
1785         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1786         (gst_base_sink_change_state):
1787         Small debug line.
1788
1789         * gst/gstclock.h:
1790         map SIGNAL and BROADCAST to the right function.
1791
1792         * gst/gstobject.h:
1793         Remove redundant braces.
1794
1795         * gst/gstpad.c: (gst_pad_set_caps):
1796         Don't call setcaps function when reseting caps to NULL.
1797
1798         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1799         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1800         (gst_system_clock_id_unschedule):
1801         Use BROADCAST as this is what we do.
1802
1803 2005-06-29  Wim Taymans  <wim@fluendo.com>
1804
1805         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1806         We are actually prerolling before commiting the state
1807         change. 
1808
1809 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1810
1811         * docs/manual/advanced-clocks.xml:
1812         * docs/manual/advanced-interfaces.xml:
1813         * docs/manual/advanced-metadata.xml:
1814         * docs/manual/advanced-position.xml:
1815         * docs/manual/advanced-schedulers.xml:
1816         * docs/manual/advanced-threads.xml:
1817         * docs/manual/appendix-porting.xml:
1818         * docs/manual/basics-bins.xml:
1819         * docs/manual/basics-bus.xml:
1820         * docs/manual/basics-elements.xml:
1821         * docs/manual/basics-helloworld.xml:
1822         * docs/manual/basics-pads.xml:
1823         * docs/manual/highlevel-components.xml:
1824         * docs/manual/manual.xml:
1825         * docs/manual/thread.fig:
1826           Update (until threads/scheduling) Application Development Manual;
1827           remove GstThread, add GstBus, add simple porting checklist, add
1828           documentation for tag writing, clocks, make all examples until this
1829           part compile and run.
1830         * examples/manual/Makefile.am:
1831           Update from changes to Application Development Manual; add bus
1832           example, remove thread example.
1833
1834 2005-06-28  Wim Taymans  <wim@fluendo.com>
1835
1836         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1837         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1838         (gst_bus_source_dispatch):
1839         Add debugging messages.
1840         Make internal methods static.
1841         Handle the case where the bus is flushed in the handler.
1842         
1843         * gst/gstelement.c: (gst_element_get_bus):
1844         Fix refcount in _get_bus();
1845
1846         * gst/gstpipeline.c: (gst_pipeline_change_state),
1847         (gst_pipeline_get_clock_func):
1848         Clock refcounting fixes.
1849         Handle the case where preroll timed out more gracefully.
1850         
1851         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1852         Clean up the internal thread in dispose. This is needed
1853         for subclasses that actually get disposed.
1854         
1855         * gst/schedulers/threadscheduler.c:
1856         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1857         (gst_thread_scheduler_dispose):
1858         Free thread pool in dispose.
1859
1860 2005-06-28  Andy Wingo  <wingo@pobox.com>
1861
1862         * tests/network-clock-utils.scm (debug, print-event): New utils.
1863
1864         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1865         (*packet-loss*): Unified loss probability.
1866         (network-time): Report out-of-band events.
1867
1868         * tests/plot-data: Add support for out-of-band events. Hack it
1869         into this script instead of passing it down the pipe; should fix
1870         this later.
1871
1872 2005-06-28  Wim Taymans  <wim@fluendo.com>
1873
1874         * docs/gst/gstreamer.types:
1875         * docs/gst/tmpl/gstbasesrc.sgml:
1876         * docs/gst/tmpl/gstpad.sgml:
1877         Docs fixes.
1878
1879 2005-06-28  Wim Taymans  <wim@fluendo.com>
1880
1881         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1882         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1883         (gst_proxy_pad_do_fixatecaps):
1884         Correctly proxy the check_pull_range function.
1885
1886 2005-06-28  Andy Wingo  <wingo@pobox.com>
1887
1888         * tests/network-clock.scm: Removed need for slib.
1889         
1890 2005-06-28  Wim Taymans  <wim@fluendo.com>
1891
1892         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1893         (gst_basesink_preroll_queue_flush):
1894         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1895         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1896         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1897         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1898         (gst_proxy_pad_set_property):
1899         * gst/gstpad.c:
1900         * gst/gstpad.h:
1901         * gst/gstqueue.c: (gst_queue_init):
1902         The deprecated pad loop function is removed now.
1903
1904 2005-06-28  Andy Wingo  <wingo@pobox.com>
1905
1906         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1907         New parameters, simulate network packet loss.
1908
1909         * tests/network-clock-utils.scm: Initialize the RNG.
1910
1911 2005-06-28  Wim Taymans  <wim@fluendo.com>
1912
1913         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1914         (gst_basesink_event), (gst_basesink_deactivate):
1915         Flushing the preroll queue always needs to unlock the waiters.
1916
1917 2005-06-28  Edward Hervey  <edward@fluendo.com>
1918
1919         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1920         Wheen a seek was successful on a pipeline, set the stream_time to the
1921         seek offset in order to have a synchronized stream_time.
1922
1923 2005-06-28  Wim Taymans  <wim@fluendo.com>
1924
1925         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1926         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1927         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1928         (gst_proxy_pad_do_fixatecaps):
1929         Call wrapper function instead of just calling the function
1930         pointers. This takes care of any locking and whatmore.
1931
1932 2005-06-28  Wim Taymans  <wim@fluendo.com>
1933
1934         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1935         (gst_pad_pull_range):
1936         * gst/gstpad.h:
1937         CONNECTED -> LINKED.
1938
1939 2005-06-28  Andy Wingo  <wingo@pobox.com>
1940
1941         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1942         source-munging commit!!!
1943
1944         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1945         (gst_object_sink): Take gpointer arguments, not GstObject --
1946         avoids casts. Like GLib.
1947
1948         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1949         activate.
1950
1951 2005-06-27  Andy Wingo  <wingo@pobox.com>
1952
1953         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1954         remaining buffer.
1955
1956         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1957         returns a sorted copy of the trace list.
1958         (gst_alloc_trace_print_live): New API, only prints traces with
1959         live objects. Sort the list.
1960         (gst_alloc_trace_print_all): Sort the list.
1961         (gst_alloc_trace_print): Align columns.
1962
1963         * gst/elements/gstttypefindelement.c:
1964         * gst/elements/gsttee.c:
1965         * gst/base/gstbasesrc.c:
1966         * gst/base/gstbasesink.c:
1967         * gst/base/gstbasetransform.c:
1968         * gst/gstqueue.c: Adapt for pad activation changes.
1969
1970         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1971         sched.
1972         (gst_pipeline_dispose): Drop ref on sched.
1973
1974         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1975         (gst_pad_activate_default): Push mode by default.
1976         (pre_activate_switch, post_activate_switch): New stubs, things to
1977         do before and after switching activation modes on pads.
1978         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1979         the pad's activate function to choose which mode to activate.
1980         Shortcut on deactivation and call the right function directly.
1981         (gst_pad_activate_pull): New API, (de)activates a pad in pull
1982         mode.
1983         (gst_pad_activate_push): New API, same for push mode.
1984         (gst_pad_set_activate_function) 
1985         (gst_pad_set_activatepull_function) 
1986         (gst_pad_set_activatepush_function): Setters for new API.
1987
1988         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
1989         Trace all miniobjects.
1990         (gst_mini_object_make_writable): Unref the arg if we copy, like
1991         gst_caps_make_writable.
1992
1993         * gst/gstmessage.c (_gst_message_initialize): No trace init.
1994
1995         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
1996         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
1997         Adapt for new pad API.
1998
1999         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2000
2001         * gst/gstelement.h:
2002         * gst/gstelement.c (gst_element_iterate_src_pads) 
2003         (gst_element_iterate_sink_pads): New API functions.
2004         
2005         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2006         should fold into gstiterator.c in some form.
2007         (gst_element_pads_activate): Simplified via use of fold and
2008         delegation of decisions to gstpad->activate.
2009
2010         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2011         help in debugging.
2012
2013         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2014         class once in init, like gstmessage. Didn't run into this issue
2015         but it seems correct. Don't initialize a trace, gstminiobject does
2016         that.
2017
2018         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2019         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2020         to the bus.
2021         (assert_live_count): New util function, uses alloc traces to check
2022         cleanup.
2023
2024         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2025         To be modified when unlink drops the internal pad.
2026
2027 2005-06-27  Wim Taymans  <wim@fluendo.com>
2028
2029         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2030         (gst_bin_change_state):
2031         Cleanup the get_state() function a little, make sure it
2032         iterates the same set of elements.
2033         Added stub iterate_state_order().
2034
2035 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2036
2037         * docs/gst/gstreamer-docs.sgml:
2038         * docs/gst/gstreamer-sections.txt:
2039         * docs/gst/gstreamer.types:
2040         * docs/gst/tmpl/gstbasesink.sgml:
2041         * docs/gst/tmpl/gstbasesrc.sgml:
2042         * docs/gst/tmpl/gstbasetransform.sgml:
2043         * docs/gst/tmpl/gstelement.sgml:
2044         * docs/gst/tmpl/gstiterator.sgml:
2045         * gst/base/gstbasesrc.c:
2046         * gst/base/gstbasesrc.h:
2047         * gst/base/gstbasetransform.h:
2048         * gst/gstelement.c:
2049         * gst/gstiterator.h:
2050           adding basetransform and iterator docs
2051
2052 2005-06-27  Andy Wingo  <wingo@pobox.com>
2053
2054         * docs/design/part-activation.txt: Notes on how activation should
2055         work -- not quite implemented yet.
2056
2057 2005-06-25  Wim Taymans  <wim@fluendo.com>
2058
2059         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2060         At least get the chain function correct, needs more
2061         fixing.
2062
2063 2005-06-25  Wim Taymans  <wim@fluendo.com>
2064
2065         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2066         (gst_basesink_handle_object), (gst_basesink_event),
2067         (gst_basesink_do_sync), (gst_basesink_handle_event),
2068         (gst_basesink_change_state):
2069         * gst/gsttask.h:
2070         Right, two problems here: ghostpads don't take locks and
2071         glib _rec_mutex_lock_full() with depth==0 still locks.
2072         Catch illegal locking and g_warn them.
2073
2074 2005-06-25  Wim Taymans  <wim@fluendo.com>
2075
2076         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2077         Have to check for completion now...
2078
2079 2005-06-25  Wim Taymans  <wim@fluendo.com>
2080
2081         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2082         (gst_basesink_handle_object), (gst_basesink_event),
2083         (gst_basesink_do_sync), (gst_basesink_handle_event),
2084         (gst_basesink_change_state):
2085         * gst/gstpad.h:
2086         Unlock STREAM_LOCK whatever the recursion was.
2087
2088 2005-06-25  Wim Taymans  <wim@fluendo.com>
2089
2090         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2091         (gst_basesink_preroll_queue_empty),
2092         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2093         (gst_basesink_event), (gst_basesink_do_sync),
2094         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2095         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2096         (gst_basesink_change_state):
2097         Reworked the base sink, handle event and buffer serialisation
2098         correctly and removed possible deadlock.
2099         Handle EOS correctly.
2100
2101 2005-06-25  Wim Taymans  <wim@fluendo.com>
2102
2103         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2104         (gst_pipeline_change_state):
2105         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2106         Allow elements to post EOS in the state change function.
2107         Fix up -launch, make it exit the poll loop when the
2108         pipeline actually changed state.
2109         Fix up warning parsing in -launch.
2110
2111 2005-06-25  Wim Taymans  <wim@fluendo.com>
2112
2113         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2114         (gst_tee_sink_activate):
2115         Core takes STREAM_LOCK for us now.
2116
2117 2005-06-25  Wim Taymans  <wim@fluendo.com>
2118
2119         * gst/gstelement.c: (gst_element_get_state_func),
2120         (gst_element_set_state):
2121         * gst/gstelement.h:
2122         * gst/gstmessage.c: (gst_message_parse_error),
2123         (gst_message_parse_warning):
2124         Keep track of current target state while performing a state
2125         change so that subclasses can do something interesting.
2126         Fix parsing of warning/error messages when GError is NULL.
2127
2128 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2129
2130         * docs/gst/Makefile.am:
2131         * docs/gst/gstreamer-docs.sgml:
2132         * docs/gst/gstreamer-sections.txt:
2133         * docs/gst/gstreamer.types:
2134         * docs/gst/tmpl/gstbasesink.sgml:
2135         * docs/gst/tmpl/gstbasesrc.sgml:
2136         * docs/gst/tmpl/gstbin.sgml:
2137         * docs/gst/tmpl/gstcompat.sgml:
2138         * docs/gst/tmpl/gstfakesink.sgml:
2139         * docs/gst/tmpl/gstfakesrc.sgml:
2140         * docs/gst/tmpl/gstfilesink.sgml:
2141         * docs/gst/tmpl/gstfilesrc.sgml:
2142         * docs/gst/tmpl/gstindex.sgml:
2143         * docs/manual/appendix-quotes.xml:
2144         * gst/base/gstbasesrc.h:
2145         * gst/elements/gstfakesrc.h:
2146         * gst/gstmessage.h:
2147           start pulling in base classes and elements in our docs
2148
2149 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2150
2151         * docs/gst/Makefile.am:
2152         * docs/libs/Makefile.am:
2153           fixed make distcheck with gtk-doc 1.3
2154
2155 2005-06-23  Wim Taymans  <wim@fluendo.com>
2156
2157         * gst/gstelement.c: (gst_element_get_state_func),
2158         (gst_element_set_state), (gst_element_change_state):
2159         When the state did not change, also report NO_PREROLL
2160         when it matters.
2161
2162 2005-06-23  Wim Taymans  <wim@fluendo.com>
2163
2164         * gst/gstpad.c: (gst_pad_event_default):
2165         * gst/gstqueue.c: (gst_queue_loop):
2166         No unsafe task pausing please.
2167
2168 2005-06-23  Wim Taymans  <wim@fluendo.com>
2169
2170         * gst/schedulers/threadscheduler.c:
2171         (gst_thread_scheduler_task_start),
2172         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2173         Ref the task before pushing it on the threadpool. This
2174         makes sure that we have a ref when the threadfunction is
2175         actually called.
2176
2177 2005-06-23  Andy Wingo  <wingo@pobox.com>
2178
2179         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2180         offset is greater than the file's size.
2181
2182         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2183         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2184         * gst/gstobject.c (gst_object_class_init): Make the class lock
2185         recursive. Wim won't let me drop deep_notify. Decodebin works
2186         again, whoopdy doo.
2187
2188         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2189         internal pad, and hacks accordingly. Doesn't do it on the target
2190         pad because we change its caps. Probably catches all cases of
2191         interest tho.
2192         (gst_ghost_pad_set_property): Connect to notify::caps as
2193         appropritate.
2194
2195         * tests/network-clock.scm (plot-simulation): Pipe data to the
2196         elite python skript.
2197
2198         * tests/network-clock-utils.scm (define-parameter): New macro,
2199         defines a parameter that can be set via the command line.
2200         (set-parameter!, parse-parameter-arguments): Command line args
2201         parser.
2202
2203         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2204         stdin.
2205
2206 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2207
2208         * gst/elements/gsttypefindelement.c:
2209         (gst_type_find_element_handle_event):
2210           Don't restart typefinding on a discont.
2211         * gst/gstelement.c: (gst_element_set_state):
2212           Debug spelling fix.
2213         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2214           Allow changing mode of an active pad.
2215           Debug output fixes.
2216         * gst/registries/gstlibxmlregistry.c: (load_feature):
2217           Don't cast a static pad template to a normal pad template.
2218
2219 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2220
2221         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2222         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2223           remove gst_strtoll completely, since it didn't actually do
2224           anything more than what g_ascii_strtoull already does.
2225           check for range errors when deserializing
2226           do a cast for the unsigned cases; but further fixing needs
2227           a decision on what the interpretation of "(int)" and
2228           deserialization should be for values that fall outside the
2229           type's boundaries (ie, refuse, or interpret as casting)
2230
2231 2005-06-23  Wim Taymans  <wim@fluendo.com>
2232
2233         * check/Makefile.am:
2234         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2235         * docs/design/part-live-source.txt:
2236         * docs/design/part-states.txt:
2237         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2238         (gst_basesrc_set_live), (gst_basesrc_is_live),
2239         (gst_basesrc_get_range), (gst_basesrc_activate),
2240         (gst_basesrc_change_state):
2241         * gst/base/gstbasesrc.h:
2242         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2243         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2244         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2245         * gst/gstelement.c: (gst_element_get_state_func),
2246         (gst_element_set_state):
2247         * gst/gstelement.h:
2248         * gst/gsttypes.h:
2249         * tools/gst-launch.c: (event_loop), (main):
2250         Added support for live sources and other elements that
2251         cannot do preroll.
2252         Updated design docs, added live-source design doc.
2253         Implemented live source functionality in basesrc
2254         Fix error condition in _bin_get_state()
2255         Implement live source handling in -launch.
2256         Added check for live sources.
2257         Fixed case in GstBin where elements were changed state
2258         multiple times.
2259
2260
2261 2005-06-23  Andy Wingo  <wingo@pobox.com>
2262
2263         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2264         borken refcounting.
2265
2266         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2267         gst_caps_replace takes care of this for us.
2268
2269         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2270         gst_pad_set_caps on the target, not just its setcaps() function.
2271
2272         * tests/network-clock.scm: 
2273         * tests/network-clock-utils.scm: A network clock simulator.
2274         Something of an algorithmic testbed before doing something in C.
2275
2276 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2277
2278         * check/Makefile.am:
2279         * check/gst/capslist.h:
2280           copy over from 0.8, and add two with bitmasks specified with
2281           (int) 0xFF...
2282         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2283           add test to parse everything from capslist.h
2284         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2285         (main):
2286           add test for structure deserialization
2287         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2288           add tests for deserialization of strings to int types
2289         * gst/gststructure.c: (gst_structure_nth_field_name):
2290         * gst/gststructure.h:
2291           add a way to get the name of a field referenced by index
2292         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2293           instead of checking if the resulting long long lies between
2294           min and max, we check if the long long would fit into
2295           a number of bytes for the final type.
2296           This fixes cases where a string represents 2^32 - 1, which
2297           when cast to int would be the (valid) -1, but is bigger than
2298           G_MAXINT
2299
2300 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2301
2302         * gst/parse/grammar.y:
2303           add a log line for type deserialization
2304
2305 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2306
2307         * check/gst/gstvalue.c: (START_TEST):
2308         * gst/gstvalue.c: (gst_value_deserialize):
2309           return long long, not int, so gint64 deserialization actually
2310           works.  Is there any flag that makes the compiler check this ?
2311           Fixes #308559
2312
2313 2005-06-22  Wim Taymans  <wim@fluendo.com>
2314
2315         * gst/gstbuffer.h:
2316         Added convenience macros for setting buffers in GValue.
2317
2318 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2319
2320         * check/gst/.cvsignore:
2321         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2322           add a test deserializing int64, and comment part out because
2323           it fails, yay !
2324
2325 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2326
2327         * check/Makefile.am:
2328         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2329         * testsuite/Makefile.am:
2330         * testsuite/caps/Makefile.am:
2331         * testsuite/caps/value_serialize.c:
2332         * testsuite/test_gst_init.c:
2333           move a value_serialize test over
2334
2335 2005-06-20  Wim Taymans  <wim@fluendo.com>
2336
2337         * gst/gstpad.c:
2338         Small doc updates.
2339         
2340         * gst/gstvalue.c: (gst_value_compare_buffer),
2341         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2342         (gst_value_compare_flags), (gst_value_serialize_flags),
2343         (gst_value_deserialize_flags), (_gst_value_initialize):
2344         Fix serialisation of buffers, they are not boxed types anymore
2345
2346 2005-06-20  Wim Taymans  <wim@fluendo.com>
2347
2348         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2349         Testcase to show error in buffer-on-caps serialisation.
2350
2351 2005-06-20  Andy Wingo  <wingo@pobox.com>
2352
2353         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2354         will be adding to later.
2355
2356         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2357         if its socks fill with rocks.
2358         (gst_system_clock_obtain): Set the name on object construction.
2359         Avoid double-checked locking.
2360
2361 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2362
2363         * gst/gsturi.c: (gst_element_make_from_uri):
2364           Fix potential endless loop.
2365
2366 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2367
2368         * check/Makefile.am:
2369           add gsttag
2370         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2371         (main):
2372           move over from testsuite dir and clean up
2373         * configure.ac:
2374         * gst/gsttag.c:
2375         * testsuite/Makefile.am:
2376         * testsuite/tags/.cvsignore:
2377         * testsuite/tags/Makefile.am:
2378         * testsuite/tags/merge.c:
2379           remove testsuite/tags
2380
2381 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2382
2383         * docs/gst/gstreamer-sections.txt:
2384         * docs/gst/tmpl/gstenumtypes.sgml:
2385         * win32/gstenumtypes.c:
2386           clean up documentation build a little
2387
2388 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2389
2390         * check/gstcheck.h:
2391           add macros for checking refcounts on objects and caps
2392         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2393           add some more unit tests
2394         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2395         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2396           fix leaked refcounts (I hope :)) so unittest works
2397         * gst/gstpad.h:
2398           whitespace removal
2399
2400 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2401
2402         * configure.ac: back to HEAD
2403
2404 === release 0.9.1 ===
2405
2406 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2407
2408         * NEWS:
2409         * RELEASE:
2410           updated
2411
2412 2005-06-17  Andy Wingo  <wingo@pobox.com>
2413
2414         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2415         assert; it's always possible that the pad gets deactivated in
2416         between the checks in gstpad.c and the implementation. Rely on
2417         finish_preroll() to return a FLUSHING or similar instead of on the
2418         assert.
2419         
2420         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2421         clock and post an EOS message if we come out of finish_preroll in
2422         the playing state.
2423
2424 2005-06-16  David Schleef  <ds@schleef.org>
2425
2426         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2427         (gst_capsfilter_set_property): Allow NULL as possible value
2428         for filter_caps property, indicating GST_CAPS_ANY.
2429
2430 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2431
2432         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2433           fix debug output
2434         * gst/schedulers/Makefile.am:
2435           use libgst prefix
2436         * gstreamer.spec.in:
2437           fix spec for it
2438
2439 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2440
2441         * gstreamer.spec.in:
2442           clean up
2443
2444 2005-06-08  Andy Wingo  <wingo@pobox.com>
2445
2446         * gst/gstutils.c: RPAD fixes all around.
2447         (gst_element_link_pads): Refcounting fixes.
2448
2449         * tools/gst-inspect.c:
2450         * tools/gst-xmlinspect.c:
2451         * parse/grammar.y:
2452         * gst/base/gsttypefindhelper.c:
2453         * gst/base/gstbasesink.c:
2454         * gst/gstqueue.c: RPAD fixes.
2455
2456         * gst/gstghostpad.h:
2457         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2458         pads. The tricky thing is they provide both source and sink
2459         interfaces, since they proxy the internal pad for the external
2460         pad, and vice versa. Implement with lower-level ProxyPad objects,
2461         with the interior proxy pad as a child of the exterior ghost pad.
2462         Should write a doc on this.
2463         
2464         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2465         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2466         gst_object API.
2467         
2468         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2469         pads are real pads. No ghost pads in this file. Not documenting
2470         the myriad s/RPAD/PAD/ and REALIZE fixes.
2471         (gst_pad_class_init): Add properties for "direction" and
2472         "template". Both are construct-only, so they can't change during
2473         the life of the pad. Fixes properly deriving from GstPad.
2474         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2475         derived objects, just set properties when creating the objects via
2476         g_object_new.
2477         (gst_pad_get_parent): Implement as a function, return NULL if the
2478         parent is not an element.
2479         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2480         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2481         
2482         * gst/gstobject.c (gst_object_class_init): Make name a construct
2483         property. Don't set it in the object init.
2484
2485         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2486         with UNKNOWN direction.
2487         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2488         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2489         (gst_element_remove_pad): Remove ghost-pad special cases.
2490         (gst_element_pads_activate): Remove rpad cruft.
2491
2492         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2493         catch the pad's-parent-not-an-element case.
2494
2495         * gst/gst.h: Include gstghostpad.h.
2496
2497         * gst/gst.c (init_post): No more real, ghost pads.
2498
2499         * gst/Makefile.am: Add gstghostpad.[ch].
2500
2501         * check/Makefile.am:
2502         * check/gst/gstbin.c:
2503         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2504         into a bin creates ghost pads, and that the refcounts are right.
2505         Partly moved from gstbin.c.
2506
2507 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2508
2509         * check/gst-libs/.cvsignore:
2510         * check/gst/.cvsignore:
2511         * check/pipelines/.cvsignore:
2512           ignore more
2513         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2514         (START_TEST), (cleanup_suite), (main):
2515           add some tests related to cleanup after running pipelines
2516
2517 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2518
2519         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2520           add a testsuite for GstBuffer
2521
2522 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2523
2524         * gst/gstminiobject.h:
2525           add defines for accessing the refcount
2526
2527 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2528
2529         * Makefile.am: added support for html unit test coverage reports
2530
2531 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2532
2533         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2534           Free existing caps if the capsfilter changes. Add a FIXME about
2535           setting those caps on the pads.
2536
2537         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2538           Before adding a ghost pad to a parent bin, check that there isn't
2539           already one for the element on the bin. Prevents infinite recursion
2540           when using decodebin in parse pipelines. Andy says he'll rewrite the
2541           way this works anyway, so ignore the hack.
2542
2543 2005-06-02  Andy Wingo  <wingo@pobox.com>
2544
2545         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2546         file size, pass it on to the type find helper.
2547
2548         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2549         segment_start and segment_end properly according to the seek
2550         method. Segment_end is still a bit flaky because offset can be
2551         negative for CUR and END cases, but it takes -1 as an "unset"
2552         value.
2553
2554 2005-06-02  Wim Taymans  <wim@fluendo.com>
2555
2556         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2557         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2558         (gst_basesink_activate):
2559         * gst/base/gstbasesink.h:
2560         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2561         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2562         (gst_pad_query), (gst_pad_start_task):
2563         * gst/gstpad.h:
2564         * gst/gstqueue.c: (gst_queue_bufferalloc),
2565         (gst_queue_handle_sink_event), (gst_queue_chain):
2566         Bufferalloc: return GstFlowReturn to more accuratly report
2567         why allocation failed.
2568
2569 2005-06-02  Wim Taymans  <wim@fluendo.com>
2570
2571         * gst/gstpipeline.c: (gst_pipeline_send_event):
2572         Take snapshot of state without blocking.
2573
2574 2005-06-02  Wim Taymans  <wim@fluendo.com>
2575
2576         * docs/design/part-TODO.txt:
2577         * docs/design/part-caps.txt:
2578         * docs/design/part-clocks.txt:
2579         * docs/design/part-negotiation.txt:
2580         * docs/design/part-preroll.txt:
2581         Small doc updates 
2582
2583 2005-05-30  Wim Taymans  <wim@fluendo.com>
2584
2585         * gst/elements/gstidentity.c: (gst_identity_event),
2586         (gst_identity_transform), (gst_identity_get_property):
2587         Protect last_message property as it is accessed from
2588         multiple threads.
2589
2590 2005-05-30  Wim Taymans  <wim@fluendo.com>
2591
2592         * gst/gstelement.c: (gst_element_init),
2593         (gst_element_pads_activate), (gst_element_change_state):
2594         Slicker pad activation code.
2595
2596 2005-05-30  Wim Taymans  <wim@fluendo.com>
2597
2598         * gst/Makefile.am:
2599         * gst/gstelement.h:
2600         * gst/gstelementfactory.h:
2601         * gst/gsttypes.h:
2602         Move elementfactory methods to separate .h file.
2603
2604 2005-05-30  Wim Taymans  <wim@fluendo.com>
2605
2606         * docs/design/part-overview.txt:
2607         * gst/gstsystemclock.h:
2608         Small typo fixes, doc updates.
2609
2610 2005-05-30  Wim Taymans  <wim@fluendo.com>
2611
2612         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2613         (init_popt_callback):
2614         Remove cpu-opt flag.
2615
2616 2005-05-30  Wim Taymans  <wim@fluendo.com>
2617
2618         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2619         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2620         * gst/gstbuffer.h:
2621         Avoid typechecking in places where not needed.
2622         Added accessor for malloc_data.
2623
2624 2005-05-30  Wim Taymans  <wim@fluendo.com>
2625
2626         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2627         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2628         (gst_pad_configure_sink), (gst_pad_configure_src),
2629         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2630         (gst_pad_start_task):
2631         Propagate errors from _set_caps() in configure_src/sink
2632         functions instead of returning TRUE.
2633         FLUSH events can travel up and downstream
2634
2635
2636 2005-05-30  Wim Taymans  <wim@fluendo.com>
2637
2638         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2639         (gst_basesink_activate):
2640         Handle EOS in preroll.
2641
2642 2005-05-30  Wim Taymans  <wim@fluendo.com>
2643
2644         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2645         (gst_queue_loop), (gst_queue_handle_src_event):
2646         Remove old pieces of code
2647         Flushing the queue in an upstream event is a very bad idea.
2648
2649 2005-05-26  Andy Wingo  <wingo@pobox.com>
2650
2651         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2652         gst_value_set_mini_object so as to add a ref on the object (which
2653         will be removed when the value is unset).
2654
2655         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2656         arg type in ::handoff.
2657
2658         * gst/gstelement.c (gst_element_change_state): Also deactivate
2659         pads in READY->NULL, just in case the element didn't make it to
2660         PAUSED. Wingo tested, Wim approved.
2661
2662 2005-05-26  Wim Taymans  <wim@fluendo.com>
2663
2664         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2665         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2666         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2667         A flushing pad cannot be used to alloc_buffer from.
2668
2669 2005-05-26  Wim Taymans  <wim@fluendo.com>
2670
2671         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2672         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2673         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2674         (gst_bus_create_watch), (gst_bus_add_watch_full):
2675         * gst/gstbus.h:
2676         Implement a real GSource and use g_main_context_wakeup() to
2677         signal new messages instead of the socketpair.
2678
2679 2005-05-25  Wim Taymans  <wim@fluendo.com>
2680
2681         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2682         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2683         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2684         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2685         (gst_pad_send_event), (gst_pad_start_task):
2686         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2687         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2688         (gst_queue_sink_activate), (gst_queue_src_activate),
2689         (gst_queue_change_state):
2690         * gst/gstqueue.h:
2691         Fix state changes for non sinks. We now change sinks, then elements
2692         with unconnected srcpads, then the rest.
2693         More efficient queue unlocking in flush and state changes.
2694         Set the pad activate mode even if it does not have an activate
2695         function.
2696
2697 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2698
2699         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2700           Don't go in pull mode for non-seekable sources.
2701         * gst/elements/gsttypefindelement.h:
2702         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2703         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2704         (free_entry), (stop_typefinding),
2705         (gst_type_find_element_handle_event), (find_peek),
2706         (gst_type_find_element_chain), (do_pull_typefind),
2707         (gst_type_find_element_change_state):
2708           Allow typefinding (w/o seeking) in push-mode, simplified version
2709           of what was in 0.8.
2710         * gst/gstutils.c: (gst_buffer_join):
2711         * gst/gstutils.h:
2712           gst_buffer_join() from 0.8.
2713
2714 2005-05-25  Wim Taymans  <wim@fluendo.com>
2715
2716         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2717         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2718         (gst_pad_send_event), (gst_pad_start_task):
2719         Disable attempt at mode switching until it is figured out.
2720
2721 2005-05-25  Wim Taymans  <wim@fluendo.com>
2722
2723         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2724         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2725         (gst_basesink_finish_preroll), (gst_basesink_chain),
2726         (gst_basesink_loop), (gst_basesink_activate),
2727         (gst_basesink_change_state):
2728         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2729         (gst_basesrc_get_range), (gst_basesrc_loop),
2730         (gst_basesrc_activate):
2731         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2732         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2733         (gst_real_pad_init), (gst_real_pad_set_property),
2734         (gst_real_pad_get_property), (gst_pad_set_active),
2735         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2736         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2737         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2738         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2739         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2740         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2741         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2742         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2743         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2744         (gst_pad_stop_task):
2745         * gst/gstpad.h:
2746         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2747         (gst_queue_loop), (gst_queue_src_activate):
2748         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2749         (gst_task_get_state):
2750         * gst/gsttask.h:
2751         * gst/schedulers/threadscheduler.c:
2752         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2753         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2754         in task function.
2755         Remove ACTIVE pad flag, use FLUSHING everywhere
2756         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2757         functions.
2758         Add locks around IS_FLUSHING when reading.
2759         Take STREAM lock in chain(), get_range() functions so plugins
2760         don't need to take it anymore.
2761         
2762
2763
2764 2005-05-25  Wim Taymans  <wim@fluendo.com>
2765
2766         * tools/gst-launch.c: (event_loop):
2767         Unref message after using its contents instead of
2768         before.
2769
2770 2005-05-24  Wim Taymans  <wim@fluendo.com>
2771
2772         * docs/design/draft-ghostpads.txt:
2773         * docs/design/draft-push-pull.txt:
2774         * docs/design/draft-query.txt:
2775         * docs/design/part-overview.txt:
2776         Docs updates, added general overview doc.
2777
2778 2005-05-21  David Schleef  <ds@schleef.org>
2779
2780         * docs/gst/tmpl/old/GstBin.sgml:
2781         * docs/gst/tmpl/old/GstBuffer.sgml:
2782         * docs/gst/tmpl/old/GstCaps.sgml:
2783         * docs/gst/tmpl/old/GstClock.sgml:
2784         * docs/gst/tmpl/old/GstCompat.sgml:
2785         * docs/gst/tmpl/old/GstData.sgml:
2786         * docs/gst/tmpl/old/GstElement.sgml:
2787         * docs/gst/tmpl/old/GstEvent.sgml:
2788         * docs/gst/tmpl/old/GstIndex.sgml:
2789         * docs/gst/tmpl/old/GstStructure.sgml:
2790         * docs/gst/tmpl/old/GstTag.sgml:
2791         * docs/gst/tmpl/old/cothreads.sgml:
2792         * docs/gst/tmpl/old/cothreads_compat.sgml:
2793         * docs/gst/tmpl/old/gettext.sgml:
2794         * docs/gst/tmpl/old/gobject2gtk.sgml:
2795         * docs/gst/tmpl/old/grammar.tab.sgml:
2796         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2797         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2798         * docs/gst/tmpl/old/gst_private.sgml:
2799         * docs/gst/tmpl/old/gstaggregator.sgml:
2800         * docs/gst/tmpl/old/gstarch.sgml:
2801         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2802         * docs/gst/tmpl/old/gstbufferstore.sgml:
2803         * docs/gst/tmpl/old/gstdata_private.sgml:
2804         * docs/gst/tmpl/old/gstdisksink.sgml:
2805         * docs/gst/tmpl/old/gstdisksrc.sgml:
2806         * docs/gst/tmpl/old/gstelementfactory.sgml:
2807         * docs/gst/tmpl/old/gstextratypes.sgml:
2808         * docs/gst/tmpl/old/gstfakesink.sgml:
2809         * docs/gst/tmpl/old/gstfakesrc.sgml:
2810         * docs/gst/tmpl/old/gstfdsink.sgml:
2811         * docs/gst/tmpl/old/gstfdsrc.sgml:
2812         * docs/gst/tmpl/old/gstfilesink.sgml:
2813         * docs/gst/tmpl/old/gstfilesrc.sgml:
2814         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2815         * docs/gst/tmpl/old/gstidentity.sgml:
2816         * docs/gst/tmpl/old/gstindexfactory.sgml:
2817         * docs/gst/tmpl/old/gstmarshal.sgml:
2818         * docs/gst/tmpl/old/gstmd5sink.sgml:
2819         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2820         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2821         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2822         * docs/gst/tmpl/old/gstpipefilter.sgml:
2823         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2824         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2825         * docs/gst/tmpl/old/gstshaper.sgml:
2826         * docs/gst/tmpl/old/gstspider.sgml:
2827         * docs/gst/tmpl/old/gstspideridentity.sgml:
2828         * docs/gst/tmpl/old/gststatistics.sgml:
2829         * docs/gst/tmpl/old/gsttee.sgml:
2830         * docs/gst/tmpl/old/gsttimecache.sgml:
2831         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2832         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2833         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2834         * docs/gst/tmpl/old/types.sgml:
2835           I didn't intend to add these or check them in.
2836
2837 2005-05-19  David Schleef  <ds@schleef.org>
2838
2839         * configure.ac: Use -no-common everywhere.  In a sane world, it
2840           would be the default in libtool, because without it, you can't
2841           build DLLs on Windows.
2842         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2843         * docs/gst/gstreamer-sections.txt:
2844         * docs/gst/tmpl/gstcpu.sgml:
2845         * docs/gst/tmpl/gstdata.sgml:
2846         * docs/gst/tmpl/gstthread.sgml:
2847
2848 2005-05-19  David Schleef  <ds@schleef.org>
2849
2850         * gst/gstminiobject.c: (gst_value_set_mini_object),
2851         (gst_value_take_mini_object), (gst_value_get_mini_object):
2852         * gst/gstminiobject.h: Add GValue set/get functions.
2853
2854 2005-05-19  Wim Taymans  <wim@fluendo.com>
2855
2856         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2857         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2858         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2859         * gst/gstbuffer.h:
2860         * gst/gstbus.c: (gst_bus_post):
2861         * gst/gstelement.c: (gst_element_get_random_pad):
2862         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2863         Make subbufer unref the parent in finalize.
2864         some more debugging info.
2865
2866
2867 2005-05-19  Wim Taymans  <wim@fluendo.com>
2868
2869         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2870         (gst_basesink_init), (gst_basesink_finalize),
2871         (gst_basesink_activate), (gst_basesink_change_state):
2872         Don't free preroll queue too early.
2873
2874 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2875
2876         * gst/Makefile.am:
2877         * gst/ROADMAP:
2878           Hi, I'm outdated. Please shoot me.
2879
2880 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2881
2882         * gst/gstpipeline.c: (gst_pipeline_send_event):
2883           Do not access variables after they have been deleted.
2884
2885 2005-05-19  Wim Taymans  <wim@fluendo.com>
2886
2887         * tools/gst-inspect.c: (print_plugin_features):
2888         A plugin feature does unfortunatly not use the
2889         object name yet...
2890
2891 2005-05-18  Wim Taymans  <wim@fluendo.com>
2892
2893         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2894         Port _span() functions to new subbuffers.
2895
2896 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2897
2898         * gst/gstbin.c: (gst_bin_add_func):
2899           Fix clock settery in bins when adding kids after the clock has
2900           been selected.
2901
2902 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2903
2904         * gst/elements/gstidentity.c: (gst_identity_class_init):
2905           Workaround until signals support GstMiniObject.
2906
2907 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2908
2909         * gst/gstbuffer.c:
2910         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2911
2912 2005-05-18  Wim Taymans  <wim@fluendo.com>
2913
2914         * gst/base/Makefile.am:
2915         * gst/base/gstadapter.c: (gst_adapter_base_init),
2916         (gst_adapter_class_init), (gst_adapter_init),
2917         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2918         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2919         (gst_adapter_flush), (gst_adapter_available),
2920         (gst_adapter_available_fast):
2921         * gst/base/gstadapter.h:
2922         Ported and added adapter to the base classes.
2923
2924 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2925
2926         * gst/gst.c:
2927         * gst/gstmessage.c:
2928           Make sure the class is reffed/unreffed once before threads can be
2929           used.  Fixes #304551.
2930
2931 2005-05-17  Wim Taymans  <wim@fluendo.com>
2932
2933         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2934         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2935         * gst/gstminiobject.c: (gst_mini_object_get_type),
2936         (gst_mini_object_free):
2937         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2938         (gst_pad_push), (gst_pad_push_event):
2939         * gst/gstqueue.c: (gst_queue_change_state):
2940         Don't queue buffers in basesink when we are flushing.
2941         Unref buffer when flushing in basesink.
2942         Flush queue when going to READY
2943         Unref buffer when _push() returns an error.
2944         Don't free MiniObject instance when refcount is incremented
2945         in _finalize() so that we can recover objects.
2946
2947 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2948
2949         * docs/manual/advanced-schedulers.xml:
2950         * docs/manual/appendix-checklist.xml:
2951         * docs/pwg/advanced-clock.xml:
2952         * docs/pwg/advanced-interfaces.xml:
2953         * docs/pwg/advanced-request.xml:
2954         * docs/pwg/advanced-types.xml:
2955         * docs/pwg/intro-preface.xml:
2956         * examples/plugins/example.c: (gst_example_get_type),
2957         (gst_example_class_init), (gst_example_chain),
2958         (gst_example_set_property), (gst_example_get_property),
2959         (gst_example_change_state), (plugin_init):
2960         * examples/plugins/example.h:
2961           small doc fixes
2962
2963 2005-05-17  Wim Taymans  <wim@fluendo.com>
2964
2965         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2966         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2967         * gst/gstqueue.c: (gst_queue_change_state):
2968         Clear queue when going to READY.
2969         Remove IN_SETCAPS flag too.
2970
2971 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2972
2973         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2974           Remove implicit cast from gboolean to GstElementStateReturn;
2975           make sure we still return failure in paused => ready case if
2976           the parent class fails to change state and our own stop 
2977           vfunc succeeds.
2978
2979 2005-05-17  Wim Taymans  <wim@fluendo.com>
2980
2981         * tools/gst-launch.c: (event_loop):
2982         Message was unreffed too soon.
2983
2984 2005-05-16  Andy Wingo  <wingo@pobox.com>
2985
2986         * gst/gstbin.c (sink_iterator_filter): Err... um...
2987
2988         * check/gst/gstbin.c (test_ghost_pads): New test for the
2989         ghosting-if-elements-not-in-same-bin behavior.
2990
2991 2005-05-16  David Schleef  <ds@schleef.org>
2992
2993         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
2994         accessing refcount directly.
2995
2996 2005-05-15  David Schleef  <ds@schleef.org>
2997
2998         * check/Makefile.am: remove GstData checks
2999         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3000         * gst/Makefile.am: add miniobject, remove data
3001         * gst/gst.h: add miniobject, remove data
3002         * gst/gstdata.c: remove
3003         * gst/gstdata.h: remove
3004         * gst/gstdata_private.h: remove
3005         * gst/gsttypes.h: remove GstEvent and GstMessage
3006         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3007         * gst/gstmarshal.list: change BOXED -> OBJECT
3008
3009         Implement GstMiniObject.
3010         * gst/gstminiobject.c:
3011         * gst/gstminiobject.h:
3012
3013         Modify to be subclasses of GstMiniObject.
3014         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3015         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3016         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3017         (gst_subbuffer_get_type), (gst_subbuffer_init),
3018         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3019         (gst_buffer_span):
3020         * gst/gstbuffer.h:
3021         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3022         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3023         (_gst_event_copy), (gst_event_new):
3024         * gst/gstevent.h:
3025         * gst/gstmessage.c: (_gst_message_initialize),
3026         (gst_message_get_type), (gst_message_class_init),
3027         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3028         (gst_message_new), (gst_message_new_error),
3029         (gst_message_new_warning), (gst_message_new_tag),
3030         (gst_message_new_state_changed), (gst_message_new_application):
3031         * gst/gstmessage.h:
3032         * gst/gstprobe.c: (gst_probe_perform),
3033         (gst_probe_dispatcher_dispatch):
3034         * gst/gstprobe.h:
3035         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3036         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3037         (_gst_query_copy), (gst_query_new):
3038
3039         Update elements for GstData -> GstMiniObject changes
3040         * gst/gstquery.h:
3041         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3042         (gst_queue_chain), (gst_queue_loop):
3043         * gst/elements/gstbufferstore.c:
3044         (gst_buffer_store_add_buffer_func),
3045         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3046         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3047         (gst_fakesink_render):
3048         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3049         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3050         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3051         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3052         (gst_filesrc_create_read):
3053         * gst/elements/gstidentity.c: (gst_identity_class_init):
3054         * gst/elements/gsttypefindelement.c:
3055         (gst_type_find_element_src_event), (free_entry_buffers),
3056         (gst_type_find_element_handle_event):
3057         * libs/gst/dataprotocol/dataprotocol.c:
3058         (gst_dp_header_from_buffer):
3059         * libs/gst/dataprotocol/dataprotocol.h:
3060         * libs/gst/dataprotocol/dp-private.h:
3061
3062 2005-05-15  David Schleef  <ds@schleef.org>
3063
3064         * gst/elements/gstelements.c: Don't include headers that were
3065         just removed.
3066
3067 2005-05-15  David Schleef  <ds@schleef.org>
3068
3069         * gst/elements/Makefile.am: Remove some elements that don't
3070         need to be in the core (or even exist at all).
3071         * gst/elements/gstaggregator.c:
3072         * gst/elements/gstaggregator.h:
3073         * gst/elements/gstmd5sink.c:
3074         * gst/elements/gstmd5sink.h:
3075         * gst/elements/gstmultifilesrc.c:
3076         * gst/elements/gstmultifilesrc.h:
3077         * gst/elements/gstpipefilter.c:
3078         * gst/elements/gstpipefilter.h:
3079         * gst/elements/gstshaper.c:
3080         * gst/elements/gstshaper.h:
3081         * gst/elements/gststatistics.c:
3082         * gst/elements/gststatistics.h:
3083         * po/POTFILES.in: Remove above files.
3084
3085 2005-05-14  Andy Wingo  <wingo@pobox.com>
3086
3087         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3088         so as to get the refs right.
3089         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3090         unreffing objects that don't pass the filter.
3091
3092         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3093         gst_element_set_bus.
3094         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3095         normal cases, this will destroy the bus.
3096
3097         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3098         object.
3099
3100         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3101         has no sinks.
3102
3103 2005-05-13  Andy Wingo  <wingo@pobox.com>
3104
3105         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3106         gst_pad_link, call pad_link_maybe_ghosting,
3107         (pad_link_maybe_ghosting): Links pads, making sure that the
3108         elements being linked are in the same bin.
3109         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3110         Helpers for pad_link_maybe_ghosting.
3111
3112 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3113
3114         * configure.ac:
3115           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3116
3117 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3118
3119         * docs/design/part-element-source.txt:
3120           Mention GstPushSrc
3121
3122 2005-05-12  Wim Taymans  <wim@fluendo.com>
3123
3124         * gst/base/gstbasesink.c: (gst_basesink_init),
3125         (gst_basesink_activate):
3126         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3127         (gst_basesrc_is_seekable):
3128         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3129         (bin_element_is_sink), (gst_bin_change_state):
3130         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3131         * gst/gstelement.h:
3132         Identify sinks by their flag to avoid overly complicated
3133         checks (fow now).
3134         Do state changes even for elements not reachable from the
3135         sinks.
3136         BaseSink is a sink now :)
3137         Some more debugging info in the basesrc.
3138
3139
3140 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3141
3142         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3143           Implement _query on a bin, similar to _send_event.
3144
3145 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3146
3147         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3148           Discont event offset format should be GST_FORMAT_BYTES,
3149           not GST_FORMAT_TIME.
3150
3151 2005-05-12  Wim Taymans  <wim@fluendo.com>
3152
3153         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3154         Same fix as Ronald's but without the signal. 
3155
3156 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3157
3158         * gst/gstutils.c: (gst_element_query_position):
3159           No, an element is not a pad.
3160
3161 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3162
3163         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3164         (gst_bin_get_state):
3165           If a child is removed from a bin while we remove the child from
3166           the bin and while we're retrieving its state, signal this to the
3167           get_state function so we abort the wait (instead of waiting for
3168           a timeout) and can immediately re-iterate over all other elements.
3169
3170 2005-05-12  Wim Taymans  <wim@fluendo.com>
3171
3172         * gst/base/Makefile.am:
3173         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3174         (gst_basesrc_start):
3175         * gst/base/gstbasesrc.h:
3176         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3177         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3178         (gst_pushsrc_init), (gst_pushsrc_create):
3179         * gst/base/gstpushsrc.h:
3180         Added is_seekable to BaseSrc
3181         Added simple PushSrc.
3182
3183 2005-05-11  Wim Taymans  <wim@fluendo.com>
3184
3185         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3186         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3187         (gst_element_link_pads), (gst_element_query_position),
3188         (gst_element_query_convert), (intersect_caps_func),
3189         (gst_pad_query_position), (gst_pad_query_convert):
3190         Fix refcounting in utils function.
3191         No point in trying to activate a pad when it's added, it could
3192         be added from the state change function and then we deadlock, the
3193         element has to decide what to do.
3194
3195 2005-05-10  Andy Wingo  <wingo@pobox.com>
3196
3197         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3198         *all* the arguments.
3199
3200         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3201         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3202         lock (according to the docs -- if this is wrong change the docs).
3203
3204         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3205         flush messages in the NULL state.
3206
3207         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3208         message immediately and return.
3209         (gst_bus_set_flushing): New function. If a bus is flushing, it
3210         flushes out any queued messages and immediately unrefs new
3211         messages. This is so when an element goes to NULL, all of the
3212         unhandled messages coming from it can be freed, and their
3213         references to the element dropped. In other words: message source
3214         ref considered harmful :P
3215
3216         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3217         we're finished with it.
3218
3219         * gst/gstmessage.c (gst_message_new_state_changed): 
3220
3221 2005-05-10  Wim Taymans  <wim@fluendo.com>
3222
3223         * gst/gstvalue.c: (gst_value_compare_flags),
3224         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3225         (_gst_value_initialize):
3226         Added flags serialize/deserialize/compare code.
3227
3228 2005-05-09  Andy Wingo  <wingo@pobox.com>
3229
3230         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3231         Intersect the peer's caps with our caps.
3232
3233 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3234
3235         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3236         * gst/elements/gsttypefindelement.c: (find_peek):
3237           Handle negative offsets better. Fixes decodebin.
3238
3239 2005-05-09  Wim Taymans  <wim@fluendo.com>
3240
3241         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3242         (gst_base_transform_event):
3243         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3244         Implement accept_caps.
3245         Fix silly lock/unlock mismatch in base class.
3246
3247 2005-05-09  Wim Taymans  <wim@fluendo.com>
3248
3249         * docs/design/draft-push-pull.txt:
3250         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3251         * gst/elements/gstfilesink.c: (gst_filesink_init),
3252         (gst_filesink_query):
3253         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3254         (gst_type_find_handle_src_query), (find_element_get_length):
3255         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3256         * gst/gstelement.h:
3257         * gst/gstmessage.c:
3258         * gst/gstmessage.h:
3259         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3260         (gst_real_pad_get_caps_unlocked),
3261         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3262         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3263         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3264         (gst_real_pad_dispose), (gst_real_pad_finalize),
3265         (gst_pad_load_and_link), (gst_pad_save_thyself),
3266         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3267         (gst_pad_check_pull_range), (gst_pad_pull_range),
3268         (gst_pad_template_get_type), (gst_pad_template_class_init),
3269         (gst_pad_template_init), (gst_pad_template_dispose),
3270         (name_is_valid), (gst_static_pad_template_get),
3271         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3272         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3273         (gst_pad_get_element_private), (gst_pad_start_task),
3274         (gst_pad_pause_task), (gst_pad_stop_task),
3275         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3276         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3277         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3278         (gst_ghost_pad_new):
3279         * gst/gstpad.h:
3280         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3281         (gst_query_new_position), (gst_query_set_position),
3282         (gst_query_parse_position), (gst_query_new_convert),
3283         (gst_query_set_convert), (gst_query_parse_convert):
3284         * gst/gstquery.h:
3285         * gst/gstqueryutils.c:
3286         * gst/gstqueryutils.h:
3287         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3288         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3289         (gst_queue_handle_src_query):
3290         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3291         (gst_element_query_position), (gst_element_query_convert),
3292         (intersect_caps_func), (gst_pad_query_position),
3293         (gst_pad_query_convert):
3294         * gst/gstutils.h:
3295         * tools/gst-inspect.c: (print_pad_info):
3296         * tools/gst-xmlinspect.c: (print_element_info):
3297         Remove old query functions. Ported old code.
3298         Added position/convert helper functions to gstutils.
3299         Reordered gstpad.c code, grouping relevant things.
3300         Remove gst_message_new(), always need to speficy a specific
3301         message.
3302
3303
3304 2005-05-09  Andy Wingo  <wingo@pobox.com>
3305
3306         * gst/gstiterator.h: Add some includes.
3307
3308         * gst/gstqueryutils.h: Include more headers.
3309
3310         * gst/gstpad.h:
3311         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3312         some uses of gst_pad_query.
3313
3314         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3315         NULL out parameters.
3316         (gst_query_new_position): New proc, allocates a new position
3317         query.
3318
3319         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3320         gstqueryutils.c to the build.
3321
3322         * gst/gststructure.c (gst_structure_set_valist): Implement with
3323         the generic G_VALUE_COLLECT.
3324         
3325 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3326
3327         * gst/Makefile.am: (gst_headers):
3328         Added gstqueryutils.h to the list of headers to install, that was
3329         a 'nachty' move wingo :)
3330
3331 2005-05-06  Andy Wingo  <wingo@pobox.com>
3332
3333         * gst/gstquery.h
3334         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3335         GstData, init a memchunk.
3336         (standard_definitions): Add a few query types, deprecate a few.
3337         (gst_query_get_type): New proc.
3338         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3339         implementation.
3340         (gst_query_new_application, gst_query_get_structure): New public
3341         procs.
3342
3343         * docs/design/draft-query.txt: Removed LINKS from the query types,
3344         because all the rest can be dispatched to other pads -- seemed
3345         ugly to have a query that couldn't be dispatched. internal_links
3346         is fine as a pad method.
3347
3348         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3349         in gstpad.c, but maintain binary compatibility for the moment.
3350         Will fix before 0.9 is out.
3351
3352         * gst/gstqueryutils.c: 
3353         * gst/gstqueryutils.h: New files, implement 3 methods for each
3354         query type: parse_query, parse_response, and set. Probably need an
3355         allocator as well.
3356
3357         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3358
3359         * gst/elements/gstfilesink.c (gst_filesink_query2):
3360         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3361         query_types, and formats methods.
3362
3363         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3364         (gst_pad_set_query2_function): New functions.
3365         (gst_real_pad_init): Set query2_default as the default query2
3366         function. Basically just dispatches to internally linked pads.
3367
3368         Needs review!
3369         
3370         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3371         without using the atomic operations. Only one thread can possibly
3372         be accessing the data at this point. Changed so as to avoid
3373         gst_atomic operations.
3374
3375 2005-05-06  Wim Taymans  <wim@fluendo.com>
3376
3377         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3378         Also set caps if we use the fallback buffer alloc.
3379
3380 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3381
3382         * docs/gst/Makefile.am:
3383         * docs/gst/gstreamer-docs.sgml:
3384         * docs/gst/gstreamer-sections.txt:
3385         * docs/gst/tmpl/gstatomic.sgml:
3386         * docs/gst/tmpl/gstmemchunk.sgml:
3387         * testsuite/elements/struct_i386.h:
3388         * win32/GStreamer.vcproj:
3389         * win32/Makefile:
3390           Purge GstAtomic stuff from docs and win32 makefiles as well
3391
3392 2005-05-06  Wim Taymans  <wim@fluendo.com>
3393
3394         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3395         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3396         * gst/gstpad.c: (gst_pad_peer_get_caps):
3397         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3398         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3399         (gst_queue_src_activate), (gst_queue_change_state):
3400         * gst/gstqueue.h:
3401         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3402         (intersect_caps_func):
3403         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3404         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3405         Some fixes for the peer_get_caps() change.
3406
3407 2005-05-06  Wim Taymans  <wim@fluendo.com>
3408
3409         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3410         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3411         (gst_basesink_activate):
3412         Actually do something with error codes returned from the push
3413         functions.
3414
3415 2005-05-06  Wim Taymans  <wim@fluendo.com>
3416
3417         * docs/design/part-element-sink.txt:
3418         * docs/design/part-element-source.txt:
3419         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3420         (gst_basesink_event), (gst_basesink_activate):
3421         * gst/base/gstbasesink.h:
3422         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3423         (gst_basesrc_activate):
3424         * gst/base/gstbasesrc.h:
3425         * gst/gstelement.c: (gst_element_pads_activate):
3426         Some more documentation.
3427         Fixed scheduling decision in _pads_activate().
3428
3429 2005-05-05  Andy Wingo  <wingo@pobox.com>
3430
3431         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3432         the test suite.
3433
3434 2005-05-05  Wim Taymans  <wim@fluendo.com>
3435
3436         * gst/base/Makefile.am:
3437         * gst/base/gstbasesink.h:
3438         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3439         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3440         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3441         (gst_collectpads_class_init), (gst_collectpads_init),
3442         (gst_collectpads_finalize), (gst_collectpads_new),
3443         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3444         (find_pad), (gst_collectpads_remove_pad),
3445         (gst_collectpads_is_active), (gst_collectpads_collect),
3446         (gst_collectpads_collect_range), (gst_collectpads_start),
3447         (gst_collectpads_stop), (gst_collectpads_peek),
3448         (gst_collectpads_pop), (gst_collectpads_available),
3449         (gst_collectpads_read), (gst_collectpads_flush),
3450         (gst_collectpads_chain):
3451         * gst/base/gstcollectpads.h:
3452         * gst/elements/Makefile.am:
3453         * gst/elements/gstelements.c:
3454         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3455         (gst_fakesink_get_times), (gst_fakesink_event),
3456         (gst_fakesink_preroll), (gst_fakesink_render):
3457         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3458         (gst_filesink_init), (gst_filesink_set_location),
3459         (gst_filesink_open_file), (gst_filesink_close_file),
3460         (gst_filesink_pad_query), (gst_filesink_event),
3461         (gst_filesink_render), (gst_filesink_change_state):
3462         * gst/elements/gstfilesink.h:
3463         Added object to help in making collect pad based elements.
3464         Ported filesink.
3465         Make event function in sink baseclass return gboolean.
3466
3467 2005-05-05  Wim Taymans  <wim@fluendo.com>
3468
3469         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3470         (gst_bin_get_by_name):
3471         * gst/gstbuffer.h:
3472         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3473         (gst_clock_finalize):
3474         * gst/gstdata.c: (gst_data_replace):
3475         * gst/gstdata.h:
3476         * gst/gstelement.c: (gst_element_request_pad),
3477         (gst_element_pads_activate):
3478         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3479         (gst_object_unref):
3480         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3481         (gst_pad_set_checkgetrange_function),
3482         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3483         (gst_pad_check_pull_range), (gst_pad_pull_range),
3484         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3485         (gst_pad_pause_task), (gst_pad_stop_task):
3486         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3487         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3488         Fix name lookup in GstBin.
3489         Added _data_replace() function and _buffer_replace()
3490         Use finalize method to clean up clock.
3491         Fix refcounting on request pads.
3492         Fix pad schedule mode error.
3493         Some more object refcounting debug info,
3494
3495
3496 2005-05-04  Andy Wingo <wingo@pobox.com>
3497
3498         * check/Makefile.am:
3499         * docs/gst/tmpl/gstatomic.sgml:
3500         * docs/gst/tmpl/gstplugin.sgml:
3501         * gst/base/gstbasesink.c: (gst_basesink_activate):
3502         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3503         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3504         (gst_basesrc_query), (gst_basesrc_set_property),
3505         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3506         (gst_basesrc_activate):
3507         * gst/base/gstbasesrc.h:
3508         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3509         (gst_base_transform_src_activate):
3510         * gst/elements/gstelements.c:
3511         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3512         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3513         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3514         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3515         (gst_type_find_element_checkgetrange),
3516         (gst_type_find_element_activate):
3517         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3518         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3519         (gst_caps_load_thyself):
3520         * gst/gstelement.c: (gst_element_pads_activate),
3521         (gst_element_save_thyself), (gst_element_restore_thyself):
3522         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3523         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3524         * gst/gstpad.h:
3525         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3526         (gst_xml_parse_file), (gst_xml_parse_memory),
3527         (gst_xml_get_element), (gst_xml_make_element):
3528         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3529         (_file_index_id_save_xml), (gst_file_index_commit):
3530         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3531         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3532         (load_paths):
3533         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3534         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3535         * tools/gst-complete.c: (main):
3536         * tools/gst-compprep.c: (main):
3537         * tools/gst-inspect.c: (print_element_properties_info):
3538         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3539         * tools/gst-xmlinspect.c: (print_element_properties):
3540         GCC 4 fixen.
3541         
3542 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3543
3544         * gst/gstplugin.c: (gst_plugin_check_module),
3545         (gst_plugin_check_file), (gst_plugin_load_file):
3546             apply patch from #172526 to make register work on MacOSX
3547
3548 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3549
3550         * docs/gst/tmpl/gstconfig.sgml:
3551         * gst/gstconfig.h.in:
3552           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3553         * testsuite/debug/printf_extension.c: (main):
3554           Do not use GST_PTR_FORMAT on pointers to types with
3555           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3556         * testsuite/elements/property.h:
3557           use correct printf format
3558
3559 2005-05-02  Wim Taymans  <wim@fluendo.com>
3560
3561         * docs/design/draft-push-pull.txt:
3562         * docs/design/draft-query.txt:
3563         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3564         (gst_basesrc_start):
3565         Added draft for new query API.
3566         Added draft for better selecting scheduling methods.
3567         Make basesrc ignore length if the subclass does not support
3568         it.
3569
3570 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3571
3572         * gst/Makefile.am:
3573           possible fixes for automake-1.5 - _LIBADD is reserved
3574
3575 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3576
3577         * docs/faq/Makefile.am:
3578         * docs/manual/Makefile.am:
3579         * docs/manuals.mak:
3580         * docs/pwg/Makefile.am:
3581         * gst/Makefile.am:
3582           possible fixes for automake-1.5
3583
3584 2005-04-28  Wim Taymans  <wim@fluendo.com>
3585
3586         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3587         (gst_basesink_pad_getcaps), (gst_basesink_init),
3588         (gst_basesink_do_sync):
3589         * gst/gstclock.c: (gst_clock_entry_new):
3590         * gst/gstevent.c: (gst_event_discont_get_value):
3591         * gst/gstpipeline.c: (pipeline_bus_handler),
3592         (gst_pipeline_change_state):
3593         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3594         Better debugging of clocking info.
3595         Allow NULL values when getting discont values.
3596
3597 2005-04-27  Wim Taymans  <wim@fluendo.com>
3598
3599         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3600         * check/gst/gstpad.c: (gst_pad_suite):
3601         Increase timeout for checks.
3602
3603 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3604
3605         * check/Makefile.am:
3606           fix the broken rule for cleanup.  Apparently this rule is
3607           only needed on FC2, so maybe this warrants further autotool
3608           inspection.
3609
3610 2005-04-26  Wim Taymans  <wim@fluendo.com>
3611
3612         * gst/gsttrashstack.h:
3613         Ooohh. a nasty one! After having a failed pop() from the stack,
3614         it's possible that the stack is empty. In that case, don't
3615         follow the NULL pointer.
3616
3617 2005-04-25  Wim Taymans  <wim@fluendo.com>
3618
3619         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3620         (gst_pad_set_checkgetrange_function),
3621         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3622         (gst_pad_check_pull_range), (gst_pad_pull_range),
3623         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3624         (gst_pad_pause_task), (gst_pad_stop_task):
3625         * gst/gstplugin.c: (gst_plugin_load):
3626         * gst/gstplugin.h:
3627         Remove gst_library_load as it does more harm than good with
3628         the new g_module flags.
3629         Revert bogus caps template check in pad linking, pad caps
3630         are important when linking not the template, which is more
3631         general than the current caps.
3632
3633 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3634
3635         * gst/autoplug/.cvsignore:
3636         * gst/autoplug/Makefile.am:
3637         * gst/autoplug/gstsearchfuncs.c:
3638         * gst/autoplug/gstsearchfuncs.h:
3639         * gst/autoplug/gstspider.c:
3640         * gst/autoplug/gstspider.h:
3641         * gst/autoplug/gstspideridentity.c:
3642         * gst/autoplug/gstspideridentity.h:
3643         * gst/autoplug/spidertest.c:
3644           Die, spider, die.
3645
3646 2005-04-25  Wim Taymans  <wim@fluendo.com>
3647
3648         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3649         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3650         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3651         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3652         * gst/gstpad.h:
3653         Added stubs for unimplemented functions. 
3654
3655 2005-04-24  David Schleef  <ds@schleef.org>
3656
3657         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3658         please fix.
3659
3660 2005-04-24  David Schleef  <ds@schleef.org>
3661
3662         Convert everything from GstAtomicInt to g_atomic_int_*, and
3663         remove gstatomic.
3664         * gst/Makefile.am:
3665         * gst/gstatomic.c:
3666         * gst/gstatomic.h:
3667         * gst/gstatomic_impl.h:
3668         * gst/gstbuffer.c:
3669         * gst/gstcaps.c:
3670         * gst/gstcaps.h:
3671         * gst/gstclock.c:
3672         * gst/gstclock.h:
3673         * gst/gstdata.c:
3674         * gst/gstdata.h:
3675         * gst/gstdata_private.h:
3676         * gst/gstevent.c:
3677         * gst/gstinfo.c:
3678         * gst/gstinfo.h:
3679         * gst/gstmessage.c:
3680         * gst/gstobject.c:
3681         * gst/gstobject.h:
3682         * gst/gststructure.c:
3683         * gst/gststructure.h:
3684         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3685         * gst/gstutils.h:
3686
3687 2005-04-24  David Schleef  <ds@schleef.org>
3688
3689         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3690         make the regressions tests work.  Remove some code that is no
3691         longer true.
3692         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3693         Disable warning for pads without templates.
3694
3695 2005-04-24  David Schleef  <ds@schleef.org>
3696
3697         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3698         functions that handle filtered links.
3699         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3700         removed functions.
3701         * gst/gstutils.c: Fix/remove utility functions that handle
3702         filtered caps.
3703         * gst/gstutils.h:
3704         * gst/gstvalue.c: Add serialization/deserialization of caps
3705         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3706         requires fixing so that the filter caps notation creates
3707         a capsfilter element and sets the filter_caps property.  I
3708         think everyone probably wants to keep the shorthand notation.
3709         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3710         * docs/gst/tmpl/gstpad.sgml:
3711
3712         * gst/elements/gstelements.c: Register capsfilter element.
3713         * gst/Makefile.am: fix spacing
3714         * docs/random/ds/0.9-suggested-changes: random
3715
3716 2005-04-23  David Schleef  <ds@schleef.org>
3717
3718         * gst/elements/Makefile.am:
3719         * gst/elements/gstcapsfilter.c: New element that acts like an
3720         identity, but filters caps.  Will eventually replace filtered
3721         caps in pad linking.
3722         * gst/gstutils.c: (gst_element_create_all_pads): New function
3723         to create all the ALWAYS pads that are registered with an
3724         element class.  This functionality should eventually be
3725         merged in with GstElement initialization.
3726         * gst/gstutils.h:
3727         * testsuite/trigger/README: part of trigger test code that should
3728         have been checked in a long time ago.
3729
3730 2005-04-23  David Schleef  <ds@schleef.org>
3731
3732         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3733         needed with new versions of libtool (nobody will confirm this),
3734         and hard to carry around.
3735         * gst/autoplug/Makefile.am:
3736         * gst/base/Makefile.am:
3737         * gst/elements/Makefile.am:
3738         * gst/indexers/Makefile.am:
3739         * gst/schedulers/Makefile.am:
3740         * libs/gst/bytestream/Makefile.am:
3741         * libs/gst/control/Makefile.am:
3742         * libs/gst/dataprotocol/Makefile.am:
3743         * libs/gst/getbits/Makefile.am:
3744
3745 2005-04-21  Wim Taymans  <wim@fluendo.com>
3746
3747         * docs/design/draft-push-pull.txt:
3748         * docs/design/part-MT-refcounting.txt:
3749         * docs/design/part-TODO.txt:
3750         * docs/design/part-caps.txt:
3751         * docs/design/part-events.txt:
3752         * docs/design/part-gstbus.txt:
3753         * docs/design/part-gstpipeline.txt:
3754         * docs/design/part-messages.txt:
3755         * docs/design/part-push-pull.txt:
3756         * docs/design/part-query.txt:
3757         Some more docs.
3758
3759 2005-04-21  Wim Taymans  <wim@fluendo.com>
3760
3761         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3762         (gst_message_new), (gst_message_new_error),
3763         (gst_message_new_warning), (gst_message_new_tag),
3764         (gst_message_new_state_changed), (gst_message_new_application),
3765         (gst_message_get_structure):
3766         * gst/gstmessage.h:
3767         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3768         (gst_structure_copy_conditional):
3769         Use parent refcount in GstMessage to ensure GstStructure
3770         consistency.
3771         Cleaned up headers a bit.
3772         
3773
3774 2005-04-20  Wim Taymans  <wim@fluendo.com>
3775
3776         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3777         (gst_basesink_pad_getcaps), (gst_basesink_init),
3778         (gst_basesink_chain_unlocked):
3779         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3780         (gst_type_find_helper):
3781         * gst/elements/gsttypefindelement.c:
3782         (gst_type_find_element_have_type), (gst_type_find_element_init),
3783         (stop_typefinding), (gst_type_find_element_handle_event),
3784         (find_suggest), (gst_type_find_element_chain),
3785         (gst_type_find_element_checkgetrange),
3786         (gst_type_find_element_getrange), (do_typefind),
3787         (gst_type_find_element_activate):
3788         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3789         (gst_buffer_default_free), (gst_buffer_default_copy),
3790         (gst_buffer_set_caps):
3791         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3792         (gst_caps_replace):
3793         * gst/gstmessage.c: (gst_message_new),
3794         (gst_message_new_state_changed):
3795         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3796         (gst_pad_set_checkgetrange_function),
3797         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3798         (gst_pad_set_caps), (gst_pad_check_pull_range),
3799         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3800         * gst/gstpad.h:
3801         * gst/gsttypefind.c: (gst_type_find_register):
3802         Make gst_caps_replace() work like other _replace() functions.
3803         Use _caps_replace() where possible.
3804         Make sure _message_new() initialises its field.
3805         Add gst_static_pad_template_get_caps()
3806
3807
3808 2005-04-18  Andy Wingo  <wingo@pobox.com>
3809
3810         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3811         on the peer, not the pad. I think that was a typo. Pass an extra
3812         arg to see if random access is possible. Activate the pads as
3813         PULL_RANGE if possible.
3814
3815         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3816
3817         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3818         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3819         to PROP_....
3820
3821 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3822
3823         * docs/faq/using.xml:
3824           Add note on gstreamer-properties (#154996).
3825
3826 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3827
3828         * docs/random/bbb/optional-properties:
3829           Some analysis on optional properties.
3830
3831 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3832
3833         * docs/gst/tmpl/gstelementfactory.sgml:
3834         * gst/gstelement.h:
3835         * gst/gstelementfactory.c: (gst_element_factory_init),
3836         (gst_element_factory_cleanup), (gst_element_register),
3837         (__gst_element_factory_add_static_pad_template),
3838         (gst_element_factory_get_static_pad_templates),
3839         (gst_element_factory_can_src_caps),
3840         (gst_element_factory_can_sink_caps):
3841         * gst/registries/Makefile.am:
3842         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3843         (gst_xml_registry_class_init), (gst_xml_registry_init),
3844         (gst_xml_registry_new), (gst_xml_registry_set_property),
3845         (gst_xml_registry_get_property), (get_time), (make_dir),
3846         (gst_xml_registry_get_perms_func),
3847         (plugin_times_older_than_recurse), (plugin_times_older_than),
3848         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3849         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3850         (add_to_char_array), (read_string), (read_uint), (read_enum),
3851         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3852         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3853         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3854         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3855         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3856         (gst_xml_registry_rebuild):
3857         * gst/registries/gstlibxmlregistry.h:
3858         * tools/gst-compprep.c: (main):
3859         * tools/gst-inspect.c: (print_pad_templates_info):
3860         * tools/gst-xmlinspect.c: (print_element_info):
3861           Use libxml2 for registry parsing, use staticpadtemplates in
3862           elementfactories. Makes gst_init() +/- 10x faster.
3863
3864 2005-04-12  Wim Taymans  <wim@fluendo.com>
3865
3866         * gst/base/Makefile.am:
3867         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3868         (gst_basesink_pad_getcaps), (gst_basesink_init),
3869         (gst_basesink_event), (gst_basesink_change_state):
3870         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3871         (gst_basesrc_init), (gst_basesrc_query),
3872         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3873         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3874         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3875         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3876         (gst_basesrc_stop), (gst_basesrc_activate),
3877         (gst_basesrc_change_state):
3878         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3879         (helper_find_suggest), (gst_type_find_helper):
3880         * gst/base/gsttypefindhelper.h:
3881         * gst/elements/Makefile.am:
3882         * gst/elements/gstelements.c:
3883         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3884         (gst_fakesink_get_times), (gst_fakesink_event),
3885         (gst_fakesink_preroll), (gst_fakesink_render):
3886         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3887         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3888         (gst_fakesrc_get_property), (gst_fakesrc_create),
3889         (gst_fakesrc_start), (gst_fakesrc_stop):
3890         * gst/elements/gstfakesrc.h:
3891         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3892         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3893         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3894         (gst_filesrc_create_read), (gst_filesrc_create),
3895         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3896         (gst_filesrc_start):
3897         * gst/elements/gsttypefindelement.c:
3898         (gst_type_find_element_have_type), (gst_type_find_element_init),
3899         (start_typefinding), (stop_typefinding), (push_buffer_store),
3900         (gst_type_find_element_handle_event),
3901         (gst_type_find_element_chain),
3902         (gst_type_find_element_checkgetrange),
3903         (gst_type_find_element_getrange), (do_typefind),
3904         (gst_type_find_element_activate),
3905         (gst_type_find_element_change_state):
3906         * gst/elements/gsttypefindelement.h:
3907         * gst/gstpipeline.c: (pipeline_bus_handler):
3908         Added typefind helper.
3909         Small preroll fix in the base sink.
3910         Disable typefind code in basesrc.
3911         Crude port of typefindelement.
3912         Fakesrc cleanups.
3913
3914
3915 2005-04-11  Wim Taymans  <wim@fluendo.com>
3916
3917         * check/gst/gstbus.c: (gstbus_suite):
3918         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3919         * check/gstcheck.h:
3920           Fix up the timeout so that the test does not fail.
3921
3922 2005-04-06  Wim Taymans  <wim@fluendo.com>
3923
3924         * gst/base/README:
3925         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3926         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3927         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3928         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3929         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3930         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3931         (gst_basesrc_stop), (gst_basesrc_activate),
3932         (gst_basesrc_change_state), (basesrc_find_peek),
3933         (basesrc_find_suggest), (gst_basesrc_type_find):
3934         * gst/base/gstbasesrc.h:
3935         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3936         (gst_filesrc_class_init), (gst_filesrc_init),
3937         (gst_filesrc_finalize), (gst_filesrc_set_location),
3938         (gst_filesrc_set_property), (gst_filesrc_get_property),
3939         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3940         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3941         (gst_filesrc_create_read), (gst_filesrc_create),
3942         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3943         * gst/elements/gstfilesrc.h:
3944         * gst/gstelement.c: (gst_element_get_state_func),
3945         (gst_element_lost_state), (gst_element_pads_activate):
3946         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3947         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3948         (gst_pad_pull_range):
3949         * gst/gstpad.h:
3950         More work on the generic source base class, implement seeking,
3951         query.
3952         Make filesrc extend the base source class.
3953         Added gst_pad_set_checkgetrange_function to GstPad.
3954
3955 2005-04-06  Andy Wingo  <wingo@pobox.com>
3956
3957         * pkgconfig/gstreamer-base.pc.in:
3958         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3959
3960         * pkgconfig/Makefile.am:
3961         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3962
3963 2005-04-04  Wim Taymans  <wim@fluendo.com>
3964
3965         * gst/base/Makefile.am:
3966         * gst/base/README:
3967         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3968         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3969         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3970         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3971         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3972         (gst_basesrc_base_init), (gst_basesrc_class_init),
3973         (gst_basesrc_init), (gst_basesrc_get_formats),
3974         (gst_basesrc_get_query_types), (gst_basesrc_query),
3975         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3976         (gst_basesrc_set_property), (gst_basesrc_get_property),
3977         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3978         (gst_basesrc_loop), (gst_basesrc_activate),
3979         (gst_basesrc_change_state):
3980         * gst/base/gstbasesrc.h:
3981         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3982         (gst_fakesrc_class_init), (gst_fakesrc_init),
3983         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
3984         (gst_fakesrc_get_property), (gst_fakesrc_create):
3985         * gst/elements/gstfakesrc.h:
3986         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
3987         (gst_filesrc_open_file), (gst_filesrc_loop),
3988         (gst_filesrc_activate), (filesrc_find_peek),
3989         (gst_filesrc_type_find):
3990         Made base source class, make fakesrc extend it.
3991         Add comments to basesink class.
3992         Some filesrc cleanup.
3993
3994 2005-03-31  David Schleef  <ds@schleef.org>
3995
3996         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
3997         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
3998         expected to link against libgstreamer.
3999         * gst/base/Makefile.am: link against libgstreamer
4000         * gst/elements/Makefile.am: same
4001
4002 2005-03-31  Andy Wingo  <wingo@pobox.com>
4003
4004         * tests/instantiate/Makefile.am:
4005         * tests/instantiate/caps.c: Add test to test speed of caps copy
4006         and free.
4007
4008         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4009         GMemChunk to be fair.
4010
4011         * gst/gsttrashstack.h: Remove warning about using the fallback
4012         trash stack implementation, it's still faster than malloc.
4013
4014 2005-03-30  Andy Wingo  <wingo@pobox.com>
4015
4016         * tests/complexity.c: Add a copyright.
4017
4018 2005-03-31  Wim Taymans  <wim@fluendo.com>
4019
4020         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4021         (gst_base_transform_class_init), (gst_base_transform_init),
4022         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4023         (gst_base_transform_get_property),
4024         (gst_base_transform_sink_activate),
4025         (gst_base_transform_src_activate),
4026         (gst_base_transform_change_state):
4027         * gst/base/gstbasetransform.h:
4028         * gst/elements/gstidentity.c: (gst_identity_class_init),
4029         (gst_identity_event), (gst_identity_check_perfect),
4030         (gst_identity_transform), (gst_identity_start),
4031         (gst_identity_stop):
4032         Added start/stop methods to transform base class so subclasses 
4033         don't need to deal with state changes even.
4034
4035 2005-03-31  Wim Taymans  <wim@fluendo.com>
4036
4037         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4038         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4039         * gst/gstevent.h:
4040         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4041         (gst_pad_pull_range):
4042         Added rate to the discont event to prepare for variable speed
4043         and reverse playback.
4044
4045 2005-03-29  David Schleef  <ds@schleef.org>
4046
4047         * configure.ac:
4048         * testsuite/trigger/Makefile.am:
4049         * testsuite/trigger/trigger.c: A little example program to show
4050         how trigger-based elements can work.
4051
4052 2005-03-29  Wim Taymans  <wim@fluendo.com>
4053
4054         * gst/base/Makefile.am:
4055         * gst/base/README:
4056         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4057         (gst_basesink_base_init), (gst_basesink_class_init),
4058         (gst_basesink_pad_getcaps), (gst_basesink_init),
4059         (gst_basesink_activate), (gst_basesink_change_state):
4060         * gst/base/gstbasesink.h:
4061         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4062         (gst_base_transform_base_init), (gst_base_transform_finalize),
4063         (gst_base_transform_class_init), (gst_base_transform_init),
4064         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4065         (gst_base_transform_event), (gst_base_transform_getrange),
4066         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4067         (gst_base_transform_set_property),
4068         (gst_base_transform_get_property),
4069         (gst_base_transform_sink_activate),
4070         (gst_base_transform_src_activate),
4071         (gst_base_transform_change_state):
4072         * gst/base/gstbasetransform.h:
4073         * gst/elements/gstidentity.c: (gst_identity_finalize),
4074         (gst_identity_class_init), (gst_identity_init),
4075         (gst_identity_event), (gst_identity_check_perfect),
4076         (gst_identity_transform), (gst_identity_set_property),
4077         (gst_identity_get_property), (gst_identity_change_state):
4078         * gst/elements/gstidentity.h:
4079         * gst/gstelement.c: (gst_element_get_state_func),
4080         (gst_element_lost_state), (gst_element_pads_activate):
4081         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4082         (gst_pad_check_pull_range), (gst_pad_pull_range):
4083         * gst/gstpad.h:
4084         Simplify pad activation.
4085         Added function to check if pull_range can be performed.
4086         Error out when pulling inactive or flushing pads.
4087         Removed const from refcounted types as it does not make sense.
4088         Simplify pad templates in basesink
4089         Added base class for simple 1-to-1 transforms.
4090         Make identity subclass the base transform.
4091
4092 2005-03-29  Andy Wingo  <wingo@pobox.com>
4093
4094         * docs/libs/gstreamer-libs-overrides.txt: 
4095         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4096         really don't understand what's going on, but like whatever. I want
4097         green buildbot!
4098
4099         * docs/gst/Makefile.am:
4100         * docs/libs/Makefile.am: Dist the overrides files.
4101
4102         * check/Makefile.am (clean-local): Remove .libs directories.
4103
4104         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4105         elements to EXTRA_DIST, so po/ files are happy.
4106
4107         * po/POTFILES.in: Er, remove it here.
4108
4109         * po/POTFILES: Remove gstspider.c.
4110
4111         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4112
4113         * docs/libs/gstreamer-libs-docs.sgml: 
4114         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4115         bytestream.
4116
4117         * tests/complexity.c (main): Set the length of the preroll queue
4118         on the sinks to prevent a lockup.
4119
4120         * libs/gst/dataprotocol/Makefile.am: 
4121         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4122         the same as the one in check/gst-libs/gdp.c.
4123
4124         * po/, docs/gst/: Commit automatic changes to docs and po files.
4125
4126         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4127         the versioned libgstbase.
4128
4129         * check/Makefile.am: Depend on an unversioned gst-register, seems
4130         to make autoconf happier.
4131
4132         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4133
4134 2005-03-28  Wim Taymans  <wim@fluendo.com>
4135
4136         * configure.ac:
4137         * docs/design/part-gstelement.txt:
4138         * docs/design/part-negotiation.txt:
4139         * docs/design/part-preroll.txt:
4140         * docs/design/part-scheduling.txt:
4141         * docs/design/part-states.txt:
4142         * gst/Makefile.am:
4143         * gst/base/Makefile.am:
4144         * gst/base/README:
4145         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4146         (gst_basesink_base_init), (gst_basesink_class_init),
4147         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4148         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4149         (gst_basesink_set_pad_functions),
4150         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4151         (gst_basesink_set_property), (gst_basesink_get_property),
4152         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4153         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4154         (gst_basesink_preroll_queue_push),
4155         (gst_basesink_preroll_queue_empty),
4156         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4157         (gst_basesink_event), (gst_basesink_get_times),
4158         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4159         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4160         (gst_basesink_loop), (gst_basesink_activate),
4161         (gst_basesink_change_state):
4162         * gst/base/gstbasesink.h:
4163         * gst/elements/Makefile.am:
4164         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4165         (gst_fakesink_class_init), (gst_fakesink_init),
4166         (gst_fakesink_set_property), (gst_fakesink_get_property),
4167         (gst_fakesink_get_times), (gst_fakesink_event),
4168         (gst_fakesink_preroll), (gst_fakesink_render),
4169         (gst_fakesink_change_state):
4170         * gst/elements/gstfakesink.h:
4171         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4172         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4173         * gst/gstelement.c: (gst_element_add_pad),
4174         (gst_element_get_state_func), (gst_element_abort_state),
4175         (gst_element_commit_state), (gst_element_lost_state),
4176         (gst_element_set_state), (gst_element_pads_activate):
4177         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4178         * gst/gstpipeline.c: (gst_pipeline_send_event),
4179         (gst_pipeline_change_state):
4180         Added state change code.
4181         Added/updated docs.
4182         Added sink base class, make fakesink extend the base class.
4183         Small cleanups in GstPipeline.
4184
4185 2005-03-26  David Schleef  <ds@schleef.org>
4186
4187         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4188         is broken and should be implemented in a different library.
4189         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4190         * gst/gst.h: remove gstcpu.h
4191         * gst/gstcpu.c: remove
4192         * gst/gstcpu.h: remove
4193         * gst/Makefile.am.future: Remove this file.  It's ancient.
4194
4195 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4196
4197         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4198         (gst_bin_send_event):
4199           Add default event/set_manager handlers. The set_manager handler
4200           takes care that the manager is distributed over kids that were
4201           already in the bin before the manager was set. The event handler
4202           is a utility virtual function that sends the event over all sinks,
4203           so that gst_element_send_event (bin, event); has the expected
4204           behaviour.
4205         * gst/gstpad.c: (gst_pad_event_default):
4206           Re-install default event handling for discontinuities, so that
4207           seeking works without requiring hacks in applications or extra
4208           code in sinks.
4209         * gst/gstpipeline.c: (gst_pipeline_class_init),
4210         (gst_pipeline_send_event):
4211           Half hack, half utility: set a pipeline to PAUSED for seek events,
4212           since that is the only way we can guarantee a/v sync. Means that
4213           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4214           and it "just works".
4215
4216 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4217
4218         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4219           Lock/unlock mismatch.
4220
4221 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4222
4223         * docs/faq/gst-uninstalled:
4224           add gst-plugins-base
4225         * docs/gst/Makefile.am:
4226           don't error out until docs are fixed
4227         * docs/gst/gstreamer.types:
4228           remove thread
4229
4230 2005-03-22  Wim Taymans  <wim@fluendo.com>
4231
4232         * check/Makefile.am:
4233         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4234         * gst/gststructure.c: (gst_structure_set_valist),
4235         (gst_structure_copy_conditional):
4236         Activated more tests.
4237         Added message test.
4238         Added G_TYPE_POINTER to GstStructure.
4239         
4240
4241 2005-03-22  Wim Taymans  <wim@fluendo.com>
4242
4243         * docs/design/part-TODO.txt:
4244         * docs/design/part-events.txt:
4245         * docs/design/part-gstbin.txt:
4246         * docs/design/part-gstbus.txt:
4247         * docs/design/part-gstpipeline.txt:
4248         * docs/design/part-messages.txt:
4249         * gst/gstbus.c:
4250         * gst/gstmessage.c:
4251         Docs updates
4252
4253 2005-03-21  Wim Taymans  <wim@fluendo.com>
4254
4255         * gst/gstbus.c: (gst_bus_post):
4256         Fix copy-and-paste error.
4257
4258 2005-03-21  Wim Taymans  <wim@fluendo.com>
4259
4260         * check/Makefile.am:
4261         * gst/Makefile.am:
4262         * gst/elements/Makefile.am:
4263         * gst/elements/gstelements.c:
4264         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4265         (gst_fakesink_event), (gst_fakesink_chain):
4266         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4267         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4268         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4269         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4270         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4271         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4272         (gst_fakesrc_loop), (gst_fakesrc_activate),
4273         (gst_fakesrc_change_state):
4274         * gst/elements/gstfakesrc.h:
4275         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4276         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4277         (gst_filesrc_open_file), (gst_filesrc_loop),
4278         (gst_filesrc_activate), (gst_filesrc_change_state),
4279         (filesrc_find_peek), (filesrc_find_suggest),
4280         (gst_filesrc_type_find):
4281         * gst/elements/gstidentity.c: (gst_identity_finalize),
4282         (gst_identity_class_init), (gst_identity_init),
4283         (gst_identity_proxy_getcaps), (identity_queue_push),
4284         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4285         (gst_identity_getrange), (gst_identity_chain),
4286         (gst_identity_sink_loop), (gst_identity_src_loop),
4287         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4288         (gst_identity_set_property), (gst_identity_get_property),
4289         (gst_identity_change_state):
4290         * gst/elements/gstidentity.h:
4291         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4292         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4293         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4294         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4295         (gst_tee_sink_activate):
4296         * gst/elements/gsttee.h:
4297         * gst/gst.c: (gst_register_core_elements), (init_post):
4298         * gst/gst.h:
4299         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4300         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4301         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4302         (gst_bin_change_state):
4303         * gst/gstbin.h:
4304         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4305         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4306         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4307         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4308         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4309         (bus_watch_callback), (bus_watch_destroy),
4310         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4311         (poll_timeout), (gst_bus_poll):
4312         * gst/gstbus.h:
4313         * gst/gstcaps.h:
4314         * gst/gstdata.h:
4315         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4316         (gst_element_post_message), (gst_element_message_full),
4317         (gst_element_get_state_func), (gst_element_get_state),
4318         (gst_element_abort_state), (gst_element_commit_state),
4319         (gst_element_lost_state), (gst_element_set_state),
4320         (gst_element_pads_activate), (gst_element_change_state),
4321         (gst_element_dispose), (gst_element_set_manager_func),
4322         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4323         (gst_element_set_manager), (gst_element_get_manager),
4324         (gst_element_set_bus), (gst_element_get_bus),
4325         (gst_element_set_scheduler), (gst_element_get_scheduler):
4326         * gst/gstelement.h:
4327         * gst/gstevent.c: (gst_event_new_segment_seek),
4328         (gst_event_new_flush):
4329         * gst/gstevent.h:
4330         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4331         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4332         (gst_message_new_eos), (gst_message_new_error),
4333         (gst_message_new_warning), (gst_message_new_tag),
4334         (gst_message_new_state_changed), (gst_message_new_application),
4335         (gst_message_get_structure), (gst_message_parse_tag),
4336         (gst_message_parse_state_changed), (gst_message_parse_error),
4337         (gst_message_parse_warning):
4338         * gst/gstmessage.h:
4339         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4340         (gst_real_pad_set_property), (gst_pad_set_active),
4341         (gst_pad_is_active), (gst_pad_set_blocked_async),
4342         (gst_pad_set_blocked), (gst_pad_is_blocked),
4343         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4344         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4345         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4346         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4347         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4348         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4349         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4350         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4351         (gst_pad_set_caps), (gst_pad_configure_sink),
4352         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4353         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4354         (gst_real_pad_dispose), (gst_real_pad_finalize),
4355         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4356         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4357         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4358         * gst/gstpad.h:
4359         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4360         (pipeline_bus_handler), (gst_pipeline_change_state),
4361         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4362         * gst/gstpipeline.h:
4363         * gst/gstprobe.h:
4364         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4365         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4366         (gst_queue_link_src), (gst_queue_bufferalloc),
4367         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4368         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4369         (gst_queue_loop), (gst_queue_handle_src_event),
4370         (gst_queue_handle_src_query), (gst_queue_src_activate),
4371         (gst_queue_change_state):
4372         * gst/gstqueue.h:
4373         * gst/gstscheduler.c: (gst_scheduler_init),
4374         (gst_scheduler_dispose), (gst_scheduler_create_task),
4375         (gst_scheduler_factory_create):
4376         * gst/gstscheduler.h:
4377         * gst/gststructure.c: (gst_structure_get_type),
4378         (gst_structure_copy_conditional):
4379         * gst/gststructure.h:
4380         * gst/gsttaginterface.h:
4381         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4382         (gst_task_init), (gst_task_dispose), (gst_task_create),
4383         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4384         (gst_task_pause):
4385         * gst/gsttask.h:
4386         * gst/gstthread.c:
4387         * gst/gstthread.h:
4388         * gst/gsttypes.h:
4389         * gst/schedulers/Makefile.am:
4390         * gst/schedulers/cothreads_compat.h:
4391         * gst/schedulers/entryscheduler.c:
4392         * gst/schedulers/faircothreads.c:
4393         * gst/schedulers/faircothreads.h:
4394         * gst/schedulers/fairscheduler.c:
4395         * gst/schedulers/gstbasicscheduler.c:
4396         * gst/schedulers/gstoptimalscheduler.c:
4397         * gst/schedulers/gthread-cothreads.h:
4398         * gst/schedulers/threadscheduler.c:
4399         (gst_thread_scheduler_task_get_type),
4400         (gst_thread_scheduler_task_class_init),
4401         (gst_thread_scheduler_task_init),
4402         (gst_thread_scheduler_task_start),
4403         (gst_thread_scheduler_task_stop),
4404         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4405         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4406         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4407         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4408         (plugin_init):
4409         * libs/gst/Makefile.am:
4410         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4411         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4412         (gst_file_pad_parent_set):
4413         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4414         (gst_dp_event_from_packet):
4415         * tests/complexity.c: (main):
4416         * tests/mass_elements.c: (main):
4417         * testsuite/states/locked.c: (message_received), (main):
4418         * testsuite/states/parent.c: (main):
4419         * tools/gst-inspect.c: (print_element_flag_info),
4420         (print_implementation_info), (print_pad_info):
4421         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4422         (main):
4423         * tools/gst-md5sum.c: (event_loop), (main):
4424         * tools/gst-typefind.c: (main):
4425         * tools/gst-xmlinspect.c: (print_element_info):
4426         Next big merge.
4427         Added GstBus for mainloop integration.
4428         Added GstMessage for sending notifications on the bus.
4429         Added GstTask as an abstraction for pipeline entry points.
4430         Removed GstThread.
4431         Removed Schedulers.
4432         Simplified GstQueue for multithreaded core.
4433         Made _link threadsafe, removed old capsnego.
4434         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4435         Added pad blocking functions.
4436         Reworked scheduling functions in GstPad to prepare for
4437         scheduling updates soon.
4438         Moved events out of data stream.
4439         Simplified GstEvent types.
4440         Added return values to push/pull.
4441         Removed clocking from GstElement.
4442         Added prototypes for state change function for next merge.
4443         Removed iterate from bins and state change management.
4444         Fixed some elements, disabled others for now.
4445         Fixed -inspect and -launch.
4446         Added check for GstBus.
4447
4448 2005-03-10  Wim Taymans  <wim@fluendo.com>
4449
4450         * docs/design/part-MT-refcounting.txt:
4451         * docs/design/part-clocks.txt:
4452         * docs/design/part-gstelement.txt:
4453         * docs/design/part-gstobject.txt:
4454         * docs/design/part-standards.txt:
4455         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4456         (gst_bin_remove_func), (gst_bin_remove):
4457         * gst/gstbin.h:
4458         * gst/gstbuffer.c:
4459         * gst/gstcaps.h:
4460         * testsuite/clock/clock1.c: (main):
4461         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4462         (main):
4463         * testsuite/dlopen/loadgst.c: (do_test):
4464         * testsuite/refcounting/bin.c: (add_remove_test1),
4465         (add_remove_test2), (main):
4466         * testsuite/refcounting/element.c: (main):
4467         * testsuite/refcounting/element_pad.c: (main):
4468         * testsuite/refcounting/pad.c: (main):
4469         * tools/gst-launch.c: (sigint_handler_sighandler):
4470         * tools/gst-typefind.c: (main):
4471         Doc updates.
4472         Added doc about clock.
4473         removed gst_bin_iterate_recurse_up(), marked methods
4474         for removal.
4475         Fix more testsuites.
4476
4477 2005-03-09  Wim Taymans  <wim@fluendo.com>
4478
4479         * gst/gstpad.c: (gst_pad_get_direction),
4480         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4481         (gst_pad_collect_valist):
4482         * testsuite/bins/interface.c: (main):
4483         * testsuite/caps/audioscale.c: (test_caps):
4484         * testsuite/caps/caps.c: (test1), (test2), (test3):
4485         * testsuite/caps/deserialize.c: (main):
4486         * testsuite/caps/enumcaps.c: (main):
4487         * testsuite/caps/filtercaps.c: (main):
4488         * testsuite/caps/intersect2.c: (main):
4489         * testsuite/caps/random.c: (main):
4490         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4491         * testsuite/caps/sets.c: (check_caps):
4492         * testsuite/caps/simplify.c: (check_caps), (main):
4493         * testsuite/caps/subtract.c: (check_caps):
4494         Fix _pad_get_direction wrt ghostpads.
4495         Fix caps testsuite.
4496
4497 2005-03-09  Wim Taymans  <wim@fluendo.com>
4498
4499         * check/Makefile.am:
4500         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4501         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4502         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4503         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4504         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4505         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4506         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4507         (bin_element_is_sink), (gst_bin_iterate_sinks),
4508         (gst_bin_iterate_all_by_interface):
4509         * gst/gstbin.h:
4510         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4511         (gst_element_change_state), (gst_element_dispose),
4512         (gst_element_finalize), (gst_element_set_loop_function):
4513         * gst/gstelement.h:
4514         * gst/gstiterator.c: (find_custom_fold_func):
4515         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4516         (gst_pad_collectv), (gst_pad_collect_valist),
4517         (gst_pad_template_new):
4518         * gst/gstpipeline.c: (gst_pipeline_class_init),
4519         (gst_pipeline_dispose), (gst_pipeline_set_property),
4520         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4521         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4522         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4523         * gst/gstutils.h:
4524         * gst/schedulers/entryscheduler.c:
4525         * gst/schedulers/gstbasicscheduler.c:
4526         (gst_basic_scheduler_cothreaded_chain),
4527         (gst_basic_scheduler_chain_add_element):
4528         * testsuite/bins/interface.c: (main):
4529         Added GstBin test.
4530         Added GstSystemClock test.
4531         Implemented clock distribution code in GstBin.
4532         Implemented iterate sinks method for future use.
4533         Rearranged gstelement.h
4534         Fix GstIterator comparison bug.
4535         Moved some code to GstPipeline, mostly clocking related.
4536
4537 2005-03-09  Wim Taymans  <wim@fluendo.com>
4538
4539         * configure.ac:
4540         * gst/gst_private.h:
4541         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4542         (gst_bin_remove_func), (gst_bin_remove),
4543         (gst_bin_get_by_name_recurse_up):
4544         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4545         (gst_clock_id_compare_func), (gst_clock_id_wait),
4546         (gst_clock_id_wait_async), (gst_clock_init),
4547         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4548         * gst/gstelement.h:
4549         * gst/gstinfo.c: (_gst_debug_init):
4550         * gst/gstobject.h:
4551         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4552         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4553         * gst/gstpad.h:
4554         Bump version number, we're now 0.9.0
4555         Add future debugging category.
4556         Fix NULL _unref() in _get_by_name_recurse_up
4557         Rearrange gstpad.h.
4558         Update some docs.
4559
4560 2005-03-08  Wim Taymans  <wim@fluendo.com>
4561
4562         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4563         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4564         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4565         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4566         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4567         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4568         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4569         * gst/elements/gstidentity.c: (gst_identity_class_init):
4570         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4571         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4572         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4573         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4574         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4575         (gst_tee_link):
4576         * gst/gstelement.c: (gst_element_class_init),
4577         (gst_element_base_class_init), (gst_element_init),
4578         (gst_element_get_random_pad), (gst_element_wait_state_change),
4579         (gst_element_change_state), (gst_element_dispose),
4580         (gst_element_finalize), (gst_element_set_loop_function):
4581         * gst/gstelement.h:
4582         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4583         * gst/gstthread.c: (gst_thread_class_init),
4584         (gst_thread_release_children_locks), (gst_thread_change_state):
4585         * gst/schedulers/gstbasicscheduler.c:
4586         (gst_basic_scheduler_loopfunc_wrapper),
4587         (gst_basic_scheduler_chain_wrapper),
4588         (gst_basic_scheduler_src_wrapper),
4589         (gst_basic_scheduler_remove_element):
4590         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4591         Remove threadsafe properties. Fix elements because GObject
4592         complains when installing a property before declaring a
4593         set/get_property handler.
4594         Rearrange gstelement.h file, use STATE macros for state locks.
4595         Free mutexes in the finalize method instead of dispose.
4596
4597 2005-03-08  Wim Taymans  <wim@fluendo.com>
4598
4599         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4600         * gst/gstthread.c: (gst_thread_release_children_locks):
4601         Added parentage check.
4602         Fix build og GstThread again.
4603
4604 2005-03-08  Wim Taymans  <wim@fluendo.com>
4605
4606         * docs/design/part-MT-refcounting.txt:
4607         * docs/design/part-conventions.txt:
4608         * docs/design/part-gstobject.txt:
4609         * docs/design/part-relations.txt:
4610         * docs/design/part-standards.txt:
4611         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4612         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4613         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4614         (gst_bin_iterate_all_by_interface):
4615         * gst/gstbuffer.h:
4616         * gst/gstclock.h:
4617         * gst/gstelement.c: (gst_element_class_init),
4618         (gst_element_change_state), (gst_element_set_loop_function):
4619         * gst/gstelement.h:
4620         * gst/gstiterator.c:
4621         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4622         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4623         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4624         (gst_object_set_parent), (gst_object_unparent),
4625         (gst_object_check_uniqueness):
4626         * gst/gstobject.h:
4627         Docs updates, clean up some headers.
4628
4629 2005-03-07  Wim Taymans  <wim@fluendo.com>
4630
4631         * check/.cvsignore:
4632         * check/Makefile.am:
4633         * check/gst-libs/.cvsignore:
4634         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4635         * check/gst/.cvsignore:
4636         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4637         (START_TEST), (gstbus_suite), (main):
4638         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4639         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4640         (gst_data_suite), (main):
4641         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4642         (add_fold_func), (gstiterator_suite), (main):
4643         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4644         (thread_name_object), (thread_name_object_default),
4645         (gst_object_name_compare), (gst_object_suite), (main):
4646         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4647         (gst_pad_suite), (main):
4648         * check/gstcheck.c: (gst_check_log_message_func),
4649         (gst_check_log_critical_func), (gst_check_init):
4650         * check/gstcheck.h:
4651         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4652         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4653         Added checks.
4654
4655 2005-03-07  Wim Taymans  <wim@fluendo.com>
4656
4657         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4658         (gst_list_iterator_next), (gst_list_iterator_resync),
4659         (gst_list_iterator_free), (gst_iterator_new_list),
4660         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4661         (gst_iterator_free), (gst_iterator_push), (filter_next),
4662         (filter_resync), (filter_uninit), (filter_free),
4663         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4664         (gst_iterator_foreach), (find_custom_fold_func),
4665         (gst_iterator_find_custom):
4666         * gst/gstiterator.h:
4667         Added missing files.
4668
4669 2005-03-07  Wim Taymans  <wim@fluendo.com>
4670
4671         * Makefile.am:
4672         * configure.ac:
4673         * docs/design/part-MT-refcounting.txt:
4674         * docs/design/part-conventions.txt:
4675         * docs/design/part-gstobject.txt:
4676         * docs/design/part-relations.txt:
4677         * examples/mixer/mixer.c: (main):
4678         * examples/thread/thread.c: (eos), (main):
4679         * gst/Makefile.am:
4680         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4681         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4682         (gst_spider_plug_from_srcpad):
4683         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4684         (gst_spider_identity_change_state),
4685         (gst_spider_identity_sink_loop_type_finding):
4686         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4687         * gst/elements/gstidentity.c: (gst_identity_init):
4688         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4689         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4690         * gst/elements/gsttypefindelement.c: (free_entry):
4691         * gst/gst.c:
4692         * gst/gst.h:
4693         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4694         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4695         (gst_bin_set_index), (gst_bin_set_element_sched),
4696         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4697         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4698         (gst_bin_iterate_elements), (iterate_child_recurse),
4699         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4700         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4701         (compare_interface), (gst_bin_get_by_interface),
4702         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4703         * gst/gstbin.h:
4704         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4705         (gst_buffer_default_free), (gst_buffer_default_copy),
4706         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4707         (gst_buffer_create_sub):
4708         * gst/gstbuffer.h:
4709         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4710         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4711         (gst_caps_unref), (gst_static_caps_get),
4712         (gst_caps_remove_and_get_structure), (gst_caps_append),
4713         (gst_caps_append_structure), (gst_caps_remove_structure),
4714         (gst_caps_copy_nth), (gst_caps_set_simple),
4715         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4716         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4717         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4718         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4719         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4720         (gst_caps_structure_figure_out_union),
4721         (gst_caps_switch_structures), (gst_caps_do_simplify),
4722         (gst_caps_replace), (gst_caps_from_string),
4723         (gst_caps_copy_conditional):
4724         * gst/gstcaps.h:
4725         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4726         (_gst_clock_id_free), (gst_clock_id_unref),
4727         (gst_clock_id_compare_func), (gst_clock_id_wait),
4728         (gst_clock_id_wait_async), (gst_clock_class_init),
4729         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4730         (gst_clock_get_time), (gst_clock_set_time_adjust),
4731         (gst_clock_set_property), (gst_clock_get_property):
4732         * gst/gstclock.h:
4733         * gst/gstcompat.h:
4734         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4735         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4736         * gst/gstdata.h:
4737         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4738         (gst_element_requires_clock), (gst_element_provides_clock),
4739         (gst_element_set_clock), (gst_element_clock_wait),
4740         (gst_element_wait), (gst_element_set_time_delay),
4741         (gst_element_is_indexable), (gst_element_add_pad),
4742         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4743         (pad_compare_name), (gst_element_get_static_pad),
4744         (gst_element_request_pad), (gst_element_get_request_pad),
4745         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4746         (gst_element_class_get_pad_template_list),
4747         (gst_element_class_get_pad_template), (gst_element_error_func),
4748         (gst_element_get_random_pad), (gst_element_get_event_masks),
4749         (gst_element_send_event), (gst_element_seek),
4750         (gst_element_get_query_types), (gst_element_query),
4751         (gst_element_get_formats), (gst_element_convert),
4752         (gst_element_is_locked_state), (gst_element_set_locked_state),
4753         (gst_element_sync_state_with_parent), (gst_element_change_state),
4754         (gst_element_finalize), (gst_element_yield),
4755         (gst_element_interrupt), (gst_element_set_scheduler),
4756         (gst_element_get_scheduler), (gst_element_set_loop_function):
4757         * gst/gstelement.h:
4758         * gst/gstevent.h:
4759         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4760         (gst_format_get_by_nick), (gst_format_get_details),
4761         (gst_format_iterate_definitions):
4762         * gst/gstformat.h:
4763         * gst/gstindex.c: (gst_index_gtype_resolver):
4764         * gst/gstinfo.c:
4765         * gst/gstinfo.h:
4766         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4767         (gst_mem_chunk_free):
4768         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4769         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4770         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4771         (gst_object_dispatch_properties_changed),
4772         (gst_object_set_name_default), (gst_object_set_name),
4773         (gst_object_get_name), (gst_object_set_name_prefix),
4774         (gst_object_get_name_prefix), (gst_object_set_parent),
4775         (gst_object_get_parent), (gst_object_unparent),
4776         (gst_object_check_uniqueness), (gst_object_save_thyself),
4777         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4778         (gst_object_set_property), (gst_object_get_property),
4779         (gst_object_get_path_string):
4780         * gst/gstobject.h:
4781         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4782         (gst_real_pad_init), (gst_real_pad_get_property),
4783         (gst_pad_custom_new), (gst_pad_get_direction),
4784         (gst_pad_set_active), (gst_pad_is_active),
4785         (gst_pad_set_event_function), (gst_pad_is_linked),
4786         (gst_pad_link_free), (gst_pad_link_intersect),
4787         (gst_pad_link_fixate), (gst_pad_set_caps),
4788         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4789         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4790         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4791         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4792         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4793         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4794         (gst_pad_realize), (gst_pad_get_allowed_caps),
4795         (gst_real_pad_dispose), (gst_real_pad_finalize),
4796         (gst_pad_collectv), (gst_pad_collect_valist),
4797         (gst_pad_template_dispose), (gst_pad_template_new),
4798         (gst_pad_get_internal_links):
4799         * gst/gstpad.h:
4800         * gst/gstpipeline.c: (gst_pipeline_dispose),
4801         (gst_pipeline_change_state):
4802         * gst/gstpipeline.h:
4803         * gst/gstplugin.c:
4804         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4805         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4806         * gst/gstpluginfeature.h:
4807         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4808         * gst/gstquery.c: (_gst_query_type_initialize),
4809         (gst_query_type_register), (gst_query_type_get_by_nick),
4810         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4811         * gst/gstquery.h:
4812         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4813         * gst/gstscheduler.c: (gst_scheduler_add_element),
4814         (gst_scheduler_factory_create):
4815         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4816         (gst_structure_free), (gst_structure_set_name),
4817         (gst_structure_id_set_value), (gst_structure_set_value),
4818         (gst_structure_set_valist), (gst_structure_remove_field),
4819         (gst_structure_remove_fields),
4820         (gst_structure_remove_fields_valist),
4821         (gst_structure_remove_all_fields), (gst_structure_foreach),
4822         (gst_structure_map_in_place),
4823         (gst_caps_structure_fixate_field_nearest_int),
4824         (gst_caps_structure_fixate_field_nearest_double):
4825         * gst/gststructure.h:
4826         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4827         (gst_system_clock_init), (gst_system_clock_dispose),
4828         (gst_system_clock_async_thread),
4829         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4830         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4831         * gst/gstsystemclock.h:
4832         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4833         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4834         * gst/gsttaginterface.c:
4835         * gst/gstthread.c: (gst_thread_dispose),
4836         (gst_thread_release_children_locks), (gst_thread_change_state),
4837         (gst_thread_main_loop):
4838         * gst/gsttrashstack.h:
4839         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4840         * gst/gsttypes.h:
4841         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4842         (gst_element_request_pad), (gst_element_get_pad_from_template),
4843         (gst_element_request_compatible_pad),
4844         (gst_element_get_compatible_pad_filtered),
4845         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4846         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4847         (gst_element_link_many), (gst_element_link),
4848         (gst_element_link_pads), (gst_element_unlink_pads),
4849         (gst_element_unlink_many), (gst_element_unlink),
4850         (gst_pad_can_link_filtered), (gst_pad_can_link),
4851         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4852         (gst_object_default_error), (gst_bin_add_many),
4853         (gst_bin_remove_many), (gst_element_populate_std_props),
4854         (gst_element_class_install_std_props), (gst_buffer_merge),
4855         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4856         (link_fold_func), (gst_pad_proxy_setcaps):
4857         * gst/gstutils.h:
4858         * gst/gstvalue.c: (gst_value_deserialize_string):
4859         * gst/parse/grammar.y:
4860         * gst/schedulers/gstbasicscheduler.c:
4861         (gst_basic_scheduler_cothreaded_chain),
4862         (gst_basic_scheduler_chain_recursive_add),
4863         (gst_basic_scheduler_pad_link):
4864         * gst/schedulers/gstoptimalscheduler.c:
4865         (get_group_schedule_function),
4866         (gst_opt_scheduler_state_transition),
4867         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4868         * libs/gst/bytestream/bytestream.c:
4869         * libs/gst/dataprotocol/dataprotocol.c:
4870         (gst_dp_header_from_buffer):
4871         * po/nb.po:
4872         * po/ru.po:
4873         * tests/threadstate/threadstate2.c: (eos):
4874         * tools/gst-compprep.c: (main):
4875         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4876         (print_pad_info), (print_children_info):
4877         * tools/gst-launch.c: (idle_func), (main):
4878         * tools/gst-md5sum.c: (idle_func), (main):
4879         * tools/gst-xmlinspect.c: (print_element_info):
4880         First THREADED backport attempt, focusing on adding locks and
4881         making sure the API is threadsafe. Needs more work. More docs
4882         follow this week.
4883
4884 2005-02-24  Andy Wingo  <wingo@pobox.com>
4885
4886         * tests/bench-complexity.scm:
4887         * tests/complexity.gnuplot: New files, good for running complexity
4888         benchmarks.
4889
4890         * tests/Makefile.am:
4891         * tests/complexity.c: New test, sets up N elements, at each level
4892         teeing into M streams per element. Eeeenteresting.
4893
4894         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4895         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4896         running bench-mass_elements.scm.
4897
4898         * tests/bench-mass_elements.scm: New script, runs mass_elements
4899         for various numbers of identities, outputting the results to a
4900         file. Requires guile 1.6. Just for testing.
4901
4902 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4903
4904         * gst/schedulers/fairscheduler.c:
4905           compile with debug disabled
4906
4907 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4908
4909         * configure.ac:
4910           hunting season on 0.9 is now OPEN
4911
4912 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4913
4914         * docs/libs/tmpl/gstcontrol.sgml:
4915         * docs/libs/tmpl/gstdparam.sgml:
4916         * docs/libs/tmpl/gstdplinint.sgml:
4917         * docs/libs/tmpl/gstdpman.sgml:
4918         * docs/libs/tmpl/gstdpsmooth.sgml:
4919         * docs/libs/tmpl/gstunitconvert.sgml:
4920           more docs for the state of dparams
4921
4922 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4923
4924         * gst/gstelementfactory.c: (gst_element_factory_create):
4925         * gst/gstobject.c: (gst_object_init),
4926         (gst_object_set_name_default), (gst_object_set_name):
4927           name objects by default, not in gst_element_factory_create. Allows
4928           using elements created with g_object_new. (fixes #167283)
4929
4930 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4931
4932         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4933           make the time that debugging functions print relative to when
4934           gst_init was called
4935
4936 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4937
4938         * gst/gsttaginterface.c:
4939           Fix inline docs: tag setter vararg functions are NULL-terminated,
4940           GST_TAG_INVALID doesn't exist any more.
4941
4942 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4943
4944         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4945         Allocate the 1 byte more memory that was forgotten!!!!!
4946         fixes memory corruption on 64bit platforms
4947
4948 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4949
4950         * docs/pwg/building-pads.xml:
4951         * docs/pwg/intro-basics.xml:
4952           fixed a few typos, relabeled introductionary list of types
4953         * docs/random/ensonic/dparams.txt:
4954           more notes abut dparam changes
4955         * libs/gst/control/dparam.c: (gst_dparam_attach):
4956         * libs/gst/control/dparammanager.c:
4957         * libs/gst/control/dparammanager.h:
4958           - many comments and notes on dparam implementation
4959           - new dparams are were not initialized to the default value
4960             from param spec
4961
4962 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4963
4964         submitted by: Peter Astakhov
4965
4966         * po/LINGUAS:
4967         * po/ru.po:
4968           adding Russian translation
4969
4970 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4971
4972         * configure.ac:
4973         * docs/gst/Makefile.am:
4974         * docs/libs/Makefile.am:
4975           make sure popt is added to gtk-doc flags.  Fixes #147782.
4976
4977 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4978
4979         * docs/faq/using.xml:
4980           Fix typo in FAQ (artssink => artsdsink)
4981
4982 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4983
4984         * tools/gst-launch.1.in:
4985           Fix typo (#166699).
4986
4987 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
4988
4989         * docs/faq/using.xml:
4990           Add -v argument to fakesrc/fakesink gst-launch line,
4991           so that the promised output will actually show up.
4992
4993 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4994
4995         * gst/gstthread.c: (gst_thread_change_state):
4996           Implement state-change error handling (#166073).
4997
4998 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4999
5000         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5001           Release interrupt after handling (#166250).
5002
5003 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5004
5005         * configure.ac:
5006           back to HEAD
5007
5008 === release 0.8.9 ===
5009
5010 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5011
5012         * NEWS:
5013         * RELEASE:
5014         * configure.ac:
5015           releasing 0.8.9, "Like Eating Glass"
5016
5017 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5018
5019         submitted by: Clytie Siddall
5020
5021         * po/vi.po: Added Vietnamese translation
5022
5023 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5024
5025         patch by: Tim Philipp-Müller
5026
5027         * configure.ac:
5028         * gst/gstpad.c:
5029           unref data when probe function returns FALSE.  Fixes #166362
5030
5031 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5032
5033         * gst/gst.c: (gst_init_get_popt_table):
5034           Fix typo (#166269).
5035
5036 2005-02-04  Andy Wingo  <wingo@pobox.com>
5037
5038         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5039         the debugging on whether the caps are compatible.
5040
5041 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5042
5043         * docs/manual/basics-elements.xml:
5044           Fix two typos.
5045
5046 2005-02-02  Wim Taymans  <wim@fluendo.com>
5047
5048         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5049         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5050         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5051         Remove some FIXMEs after analysing and commenting why they
5052         are not issues.
5053
5054 2005-02-02  Wim Taymans  <wim@fluendo.com>
5055
5056         * gst/schedulers/gstoptimalscheduler.c:
5057         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5058         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5059         (get_invalid_call), (chain_invalid_call),
5060         (get_group_schedule_function), (loop_group_schedule_function),
5061         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5062         (gst_opt_scheduler_state_transition),
5063         (gst_opt_scheduler_add_element),
5064         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5065         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5066         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5067         (gst_opt_scheduler_show):
5068         Added lock to protect scheduler data structures.
5069
5070 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5071
5072         * testsuite/threads/threadi.c: (cb_data):
5073           Fix buglet in test.
5074
5075 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5076
5077         * testsuite/threads/Makefile.am:
5078         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5079           On Wim's request, split the test in three separately-compiled
5080           tests that each test a very specific bug. Two of them still fail,
5081           will create bugs for those. threadi.c indicates why they fail.
5082
5083 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5084
5085         * gst/schedulers/gstoptimalscheduler.c:
5086         (get_group_schedule_function):
5087           Try to work with the threading mess that queue_link is.
5088
5089 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5090
5091         * gst/gstbin.c: (gst_bin_remove_func):
5092           Explicitely make an element release locks in a group when being
5093           remove from a bin.
5094         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5095           If there's no scheduler, always return immediately (similar to
5096           gst_element_interrupt).
5097
5098 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5099
5100         * gst/gstbin.c: (gst_bin_child_state_change_func):
5101           Remove a piece of code that could never be reached.
5102         * docs/gst/gstreamer-sections.txt:
5103         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5104         (gst_pad_call_get_function):
5105         * gst/gstpad.h:
5106         * testsuite/pad/Makefile.am:
5107           Fix #150546, enable tests.
5108
5109 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5110
5111         * docs/pwg/advanced-types.xml:
5112           Fix description for buffer-frames=0.
5113         * docs/gst/tmpl/gstbin.sgml:
5114         * gst/gstbin.c: (gst_bin_child_state_change_func),
5115         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5116         * gst/gstbin.h:
5117         * testsuite/threads/Makefile.am:
5118         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5119         (cb_state), (cb_play), (main):
5120           Fix non-recursive state changes to *really* change the state
5121           of the object, and not just call parent_class->state_change.
5122           Fix a lot of lockups caused by this. Fixes #132775. Add test
5123           for the problem. Also enable test to show #142588 (fixed).
5124         * gst/gstthread.c: (gst_thread_change_state),
5125         (gst_thread_child_state_change):
5126           Don't exit the thread if we go to NULL and are inside thread
5127           context. Instead, return control to the main thread context
5128           and exit from there.
5129         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5130           Don't unset virtual functions, since those may still be used.
5131           That's not necessarily correct, but suffices for now.
5132         * configure.ac:
5133         * testsuite/Makefile.am:
5134         * testsuite/pad/Makefile.am:
5135         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5136         (gst_test_sink_base_init), (gst_test_sink_chain),
5137         (gst_test_sink_init), (main):
5138         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5139         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5140         (main):
5141         * testsuite/pad/link.c: (gst_test_element_class_init),
5142         (gst_test_element_base_init), (gst_test_src_get),
5143         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5144         (gst_test_filter_loop), (gst_test_filter_init),
5145         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5146         (cb_error), (main):
5147           Add tests to show #150546. Pass, but should fail (currently
5148           disabled from the testsuite).
5149         * gst/gstscheduler.c: (gst_scheduler_dispose):
5150           Dereference child schedulers on dispose (#94464).
5151         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5152           Fix typo.
5153         * testsuite/threads/thread.c: (main):
5154           Add more debug.
5155
5156 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5157
5158         * gst/gstpad.c: (gst_pad_push):
5159           Oops, revert previous commit, broke testsuite...
5160
5161 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5162
5163         * gst/gstpad.c: (gst_pad_push):
5164           Add check that the pad on which the push is performed is not a
5165           get-based pad (#150546).
5166
5167 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5168
5169         * gst/elements/gsttypefindelement.c:
5170         (gst_type_find_element_handle_event):
5171           Fix buffer pushing if stream EOSes during typefinding.
5172
5173 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5174
5175         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5176
5177         * gst/gstvalue.c: (gst_string_wrap):
5178           Allow NULL-strings as argument (#165365).
5179
5180 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5181
5182         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5183
5184         * gst/schedulers/faircothreads.c:
5185         (gst_fair_scheduler_cothread_queue_show):
5186           Fix build without debug enabled.
5187
5188 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5189
5190         * docs/gst/gstreamer-sections.txt:
5191         * docs/libs/gstreamer-libs-docs.sgml:
5192         * docs/libs/gstreamer-libs-sections.txt:
5193         * docs/libs/tmpl/gstcontrol.sgml:
5194         * docs/libs/tmpl/gstdparam.sgml:
5195         * docs/libs/tmpl/gstdplinint.sgml:
5196         * docs/libs/tmpl/gstdpman.sgml:
5197         * docs/libs/tmpl/gstdpsmooth.sgml:
5198         * docs/libs/tmpl/gstputbits.sgml:
5199         * docs/libs/tmpl/gstunitconvert.sgml:
5200         * libs/gst/control/dparam.c:
5201         * libs/gst/control/dparam.h:
5202         * libs/gst/control/dparammanager.c:
5203         (gst_dpman_add_required_dparam_callback),
5204         (gst_dpman_add_required_dparam_direct),
5205         (gst_dpman_add_required_dparam_array),
5206         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5207         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5208         (gst_dpman_get_manager)
5209           restructured DParam docs
5210
5211 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5212
5213         * gst-element-check.m4:
5214           Only check for gst-inspect if we haven't already
5215           found it in previous element check runs
5216
5217 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5218
5219         * docs/gst/Makefile.am:
5220         * docs/libs/Makefile.am:
5221           fixed install rules to treat style.css as optional
5222
5223 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5224
5225         * docs/gst/Makefile.am:
5226         * docs/libs/Makefile.am:
5227           install style.css along with docs
5228         * docs/gst/tmpl/gstbin.sgml:
5229         * docs/gst/tmpl/gstclock.sgml:
5230         * docs/gst/tmpl/gstdata.sgml:
5231         * docs/gst/tmpl/gstelement.sgml:
5232         * gst/gstbin.h:
5233         * gst/gstelement.c: (gst_element_class_init):
5234         * gst/gstelement.h:
5235           fixing incomplete docs
5236
5237 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5238
5239         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5240           Don't unref seek event twice when fflush() fails
5241           
5242 2005-01-22  David Schleef  <ds@schleef.org>
5243
5244         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5245
5246 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5247
5248         * docs/gst/Makefile.am:
5249         * docs/libs/Makefile.am:
5250           added params for deprecation guards
5251         * gst/gst.c:
5252         * gst/gst.h:
5253         * gst/gsterror.c: (_gst_resource_errors_init),
5254         (_gst_stream_errors_init):
5255         * gst/gsterror.h:
5256           documented some more enums
5257
5258 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5259         * gst/autoplug/gstspideridentity.c:
5260         Cosmetic fix - spider_find_peek should be static
5261         * gst/parse/parse.l:
5262         Applying fix for #164261
5263
5264 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5265
5266         * docs/gst/gstreamer-sections.txt:
5267         * docs/gst/tmpl/gstplugin.sgml:
5268         * docs/libs/gstreamer-libs-sections.txt:
5269         * docs/libs/tmpl/gstcontrol.sgml:
5270         * gst/gstbuffer.h:
5271         * gst/gsttag.h:
5272         * gst/gstvalue.c:
5273           added docs for the TAG defines
5274
5275 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5276
5277         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5278           Only unref entry if there is an entry.
5279
5280 2005-01-17  Wim Taymans  <wim@fluendo.com>
5281
5282         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5283         (remove_from_group), (schedule_group), (normalize_group),
5284         (gst_opt_scheduler_iterate):
5285         Also ref/unref decoupled elements before iterating the
5286         group since they are not added to the list of elements.
5287
5288 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5289
5290         * docs/manual/highlevel-components.xml:
5291           Add subtitle/streamselection as new features to playbin.
5292
5293 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5294
5295         * docs/manual/manual.xml:
5296           Re-enable dataaccess docs (oops).
5297
5298 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5299
5300         * docs/pwg/advanced-types.xml:
5301         * docs/random/mimetypes:
5302           Add documentation on libsndfile types (#163309), by Steve Baker
5303           <steve@stevebaker.org>.
5304         * gst/gstelement.c: (gst_element_release_request_pad):
5305           If an element has no explicit function, just remove the pad.
5306
5307 2005-01-17  Luca Ognibene  <luogni@tin.it>
5308
5309         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5310
5311         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5312           Fix memleak (#163801).
5313
5314 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5315
5316         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5317           I think this is actually more correct...
5318
5319 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5320
5321         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5322           Another workaround for memory access while destroyed in callback.
5323           Please, someone with refcount knowledge, have a look at this.
5324
5325 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5326
5327         * docs/faq/faq.xml:
5328         * docs/faq/legal.xml:
5329           move the legal Q&A here
5330
5331 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5332
5333         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5334         (gst_tee_request_new_pad):
5335           Fix negotiation.
5336
5337 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5338
5339         * docs/random/omega/caps2:
5340         * testsuite/caps/caps_strings:
5341           replace framerate aproximations by their real value
5342           (24000/1001, 30000/1001, 60000/1001)
5343           Partially fixes bug #164049
5344
5345 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5346
5347         * docs/gst/Makefile.am:
5348           don't fail on the stupid GstPoptOption
5349
5350 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5351
5352         * gst/gstpad.h:
5353         * gst/gstprobe.c:
5354           allow probes to work on ghost pads by realizing the pad
5355           probe debugging
5356
5357 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5358
5359         * docs/gst/gstreamer-sections.txt:
5360         * docs/gst/tmpl/gstpad.sgml:
5361         * gst/gstpad.c: (gst_pad_set_active_recursive):
5362         * gst/gstpad.h:
5363           Add gst_pad_set_active_recursive().
5364
5365 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5366
5367         * docs/random/release:
5368           updates
5369         * gst/gst_private.h:
5370         * gst/gstinfo.c:
5371         * gst/gstobject.c:
5372           move deep_notify logging to a new category
5373         * gst/gstprobe.c:
5374         * gst/gstprobe.h:
5375           add stuff so bindings can wrap probes
5376
5377 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5378
5379         * gst/gstplugin.c: (gst_plugin_load):
5380           Fix plugin loading if plugin/lib was already loaded. Fixes
5381           #163383
5382
5383 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5384
5385         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5386
5387         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5388           Protect plugin loading by a mutex so it's threadsafe. Fixes
5389           #163234.
5390
5391 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5392
5393         * gst/gstevent.c: (_gst_event_copy):
5394           Reference source object when copying events, since it'll be
5395           dereferenced on event dereferencing as well.
5396
5397 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5398
5399         * docs/gst/gstreamer-sections.txt:
5400         * docs/gst/tmpl/gstevent.sgml:
5401         * gst/gstevent.c: (gst_event_new_filler_stamped),
5402         (gst_event_filler_get_duration):
5403         * gst/gstevent.h:
5404           Add two new functions for filler events (which are used to
5405           synchronize streams if one of them is not having any data
5406           for a while) without interrupting the actual data-stream.
5407           Basically a no-op.
5408         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5409         (gst_queue_link_sink), (gst_queue_link_src),
5410         (gst_queue_change_state):
5411           Allow for renegotiation while filled. Required for stream
5412           switching while playing.
5413
5414 2005-01-08  Benjamin Otte  <otte@gnome.org>
5415
5416         * gst/gstelement.c: (gst_element_link_many):
5417           fix up g_return_if_fail's
5418         * po/LINGUAS:
5419         * po/de.po:
5420           add German translation, that was somehow not included
5421
5422 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5423
5424         * docs/random/mimetypes:
5425           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5426           do not add them to riff-lib as they are not common
5427
5428 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5429
5430         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5431           Check for existence of probe after performing the probe before
5432           re-accessing it to prevent segfaults caused by removal of the
5433           probe in the callback.
5434
5435 2005-01-05  David Schleef  <ds@schleef.org>
5436
5437         * testsuite/registry/Makefile.am:
5438         * testsuite/registry/gst-print-formats.c:
5439         (print_pad_templates_info), (print_element_list),
5440         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5441         (g_list_uniqify), (get_pad_templates_info),
5442         (get_element_mime_list), (print_mime_list), (main): A little
5443         program that looks through the registry to find elements of
5444         a given type.  Not particularly interesting as a test, except
5445         that there's no other test covering the same area.
5446
5447 2005-01-05  David Schleef  <ds@schleef.org>
5448
5449         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5450         (fault_handler_sigaction), (fault_spin),
5451         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5452         in signal.h-type signal handlers by not calling forbidden functions,
5453         including gst_element_set_state().
5454
5455 2005-01-05  David Schleef  <ds@schleef.org>
5456
5457         * gst/gstvalue.h: Mark _gst_reserved[] as private
5458
5459 2005-01-05  David Schleef  <ds@schleef.org>
5460
5461         * gst/gstvalue.c: Fix doc build problem.
5462
5463 2005-01-05  David Schleef  <ds@schleef.org>
5464
5465         * gst/gstvalue.c: Add some documentation
5466
5467 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5468
5469         * docs/README:
5470           another shell oneliner for empty return value docs
5471         * gst/gstcaps.c:
5472         * gst/gstvalue.c:
5473         * libs/gst/control/dparam.c:
5474           more doc fixes (parameters and return values)
5475
5476 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5477
5478         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5479
5480         * gst/gstregistry.h:
5481         * gst/registries/gstxmlregistry.c:
5482           Fix macro's for Mingw (fixes #162276).
5483
5484 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5485
5486         * docs/README:
5487           quick shell oneliner to find undocumented members
5488         * docs/gst/tmpl/gstplugin.sgml:
5489         * docs/gst/tmpl/gstscheduler.sgml:
5490         * docs/gst/tmpl/gstthread.sgml:
5491           more enumtypes cleanup
5492         * gst/gsterror.h:
5493           activated documentation comments, now someone needs to document
5494           the enums :(
5495
5496 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5497
5498         * docs/manual/manual.xml:
5499           Add dataaccess part (doh!).
5500
5501 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5502
5503         * docs/manual/advanced-autoplugging.xml:
5504           Fix typo (intiate -> initiate).
5505
5506 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5507
5508         * docs/random/bbb/streamselection:
5509           Add some notes on how to handle multi-subtitle/-audio streams.
5510
5511 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5512
5513         * docs/gst/gstreamer-docs.sgml:
5514         * docs/gst/gstreamer-sections.txt:
5515         * docs/gst/tmpl/gstenumtypes.sgml:
5516         * docs/gst/tmpl/gsterror.sgml:
5517         * docs/gst/tmpl/gstevent.sgml:
5518         * docs/gst/tmpl/gstpad.sgml:
5519         * docs/gst/tmpl/gstpadtemplate.sgml:
5520         * docs/gst/tmpl/gstthread.sgml:
5521           removed gstenumtypes section from docs and put all the enums into
5522           their sections
5523
5524 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5525
5526         * gst/gstplugin.c:
5527           document gst_library_load a bit more (riff special case + return
5528           value if already loaded)
5529         * testsuite/bytestream/filepadsink.c:
5530           plugin name is 'gstbytestream', not 'bytestream'
5531
5532 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5533
5534         * docs/random/bbb/subtitles:
5535           Add some first mind rumblings on proper subtitle support.
5536
5537 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5538
5539         * po/ca.po:
5540         * po/sv.po:
5541           updated translations
5542
5543 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5544
5545         * docs/manual/advanced-dataaccess.xml:
5546           Add section on how to use fakesrc/fakesink/identity in your
5547           application, plus section on how to embed plugins. Also mention
5548           probes.
5549         * docs/manual/appendix-checklist.xml:
5550         * docs/manual/appendix-debugging.xml:
5551         * docs/manual/appendix-gnome.xml:
5552         * docs/manual/appendix-integration.xml:
5553           Debug -> checklist, GNOME -> integration, add sections on Linux,
5554           KDE integration and add other things useful for application
5555           development.
5556         * docs/manual/manual.xml:
5557           Remove some fixmes, update some file pointers.
5558         * docs/pwg/appendix-checklist.xml:
5559           Fix typo.
5560         * docs/pwg/building-boiler.xml:
5561           Remove ugly header and add commented fixme.
5562         * docs/pwg/pwg.xml:
5563           Add fixme.
5564         * examples/manual/Makefile.am:
5565           Add example for added docs.
5566
5567 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5568
5569         * configure.ac:
5570           back to HEAD
5571
5572 === release 0.8.8 ===
5573
5574 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5575
5576         * NEWS:
5577         * RELEASE:
5578         * configure.ac:
5579           Releasing 0.8.8, "I'll Take Care Of You"
5580
5581 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5582
5583         * configure.ac:
5584           second prerelease
5585
5586 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5587
5588         patch by: Wim Taymans
5589
5590         * gst/gstbin.c:
5591           Fix for #159852 - make iterate emission threadsafe
5592
5593 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5594
5595         * docs/faq/cvs.xml:
5596           notes about new fdo account request
5597
5598 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5599
5600         * docs/gst/gstreamer-docs.sgml:
5601         * docs/gst/tmpl/gstenumtypes.sgml:
5602         * docs/gst/tmpl/gstplugin.sgml:
5603         * docs/libs/gstreamer-libs-docs.sgml:
5604           Added missing short docs. Added ids for navigation.
5605
5606 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5607
5608         * docs/manual/advanced-autoplugging.xml:
5609         * docs/manual/advanced-schedulers.xml:
5610         * docs/manual/advanced-threads.xml:
5611           Rewrites. Remove cothreads, go a bit into opt specifically,
5612           document threads and their gotchas, and do some technical stuff
5613           on autoplugging plus add some working examples. Fixes #157395.
5614         * examples/manual/Makefile.am:
5615           Add typefind/autoplugger example (one that actually works).
5616           Remove queue example since it's a duplicate of the thread one.
5617
5618 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5619
5620         * gst/gstvalue.c: (gst_value_deserialize_string):
5621           use deprecated g_value_set_string_take_ownership to keep compatible
5622           with glib 2.2
5623
5624 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5625
5626         * gst/gstvalue.c: (gst_value_deserialize_string):
5627           revert last patch, only dom a g_utf8_validate now before accepting
5628           the string - caps parsing strips " from strings so we can't rely on
5629           them
5630         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5631           disable a test that tested the above and comment it
5632
5633 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5634
5635         Patch reviewed by David Schleef  <ds@schleef.org>
5636
5637         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5638         bug #153882)
5639         * win32/gstenumtypes.h: same
5640
5641 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5642
5643         * gst/gstpad.c: (gst_pad_query):
5644           Do query on realized pad, similar to how convert/send_event handle
5645           this. Also makes sense, since this pad belongs to the function to
5646           which this query will be sent. Fixes #158163.
5647
5648 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5649
5650         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5651
5652 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5653
5654         * docs/faq/general.xml: fix pipeline to actually work
5655
5656 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5657
5658         * gst/gstvalue.c: (gst_value_deserialize_string):
5659           check that a simple string that gets deserialized does not contain
5660           invalid characters
5661         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5662           remove a test that tested a wring behaviour
5663
5664 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5665
5666         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5667
5668         * docs/manual/intro-motivation.xml:
5669           Fix typos.
5670
5671 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5672
5673         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5674
5675         * docs/gst/tmpl/gstprobe.sgml:
5676           Fix documentation of probe callback - it is supposed to return
5677           FALSE, not TRUE, to remove data from the stream (#159087).
5678
5679 2004-12-16  Daniel Gazard  <dany42@free.fr>
5680
5681         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5682
5683         * gst/gstelementfactory.c: (gst_element_factory_create):
5684           Fix compile failure if compiling without libxml2 support (#149936).
5685
5686 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5687
5688         * docs/manual/advanced-autoplugging.xml:
5689         * docs/manual/highlevel-components.xml:
5690           Move spider from autoplugging to components. Autoplugging is for
5691           internals, not for solutions. ;-).
5692
5693 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5694
5695         * docs/random/ds/0.9-suggested-changes:
5696           Make note on device/location/uri property names.
5697
5698 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5699
5700         * docs/manual/advanced-autoplugging.xml:
5701         * docs/manual/advanced-clocks.xml:
5702         * docs/manual/advanced-interfaces.xml:
5703         * docs/manual/advanced-metadata.xml:
5704         * docs/manual/advanced-position.xml:
5705         * docs/manual/advanced-schedulers.xml:
5706         * docs/manual/advanced-threads.xml:
5707         * docs/manual/appendix-gnome.xml:
5708         * docs/manual/appendix-programs.xml:
5709         * docs/manual/appendix-quotes.xml:
5710         * docs/manual/autoplugging.xml:
5711         * docs/manual/basics-bins.xml:
5712         * docs/manual/basics-data.xml:
5713         * docs/manual/basics-elements.xml:
5714         * docs/manual/basics-helloworld.xml:
5715         * docs/manual/basics-init.xml:
5716         * docs/manual/basics-pads.xml:
5717         * docs/manual/basics-plugins.xml:
5718         * docs/manual/bins-api.xml:
5719         * docs/manual/bins.xml:
5720         * docs/manual/buffers-api.xml:
5721         * docs/manual/buffers.xml:
5722         * docs/manual/clocks.xml:
5723         * docs/manual/components.xml:
5724         * docs/manual/cothreads.xml:
5725         * docs/manual/debugging.xml:
5726         * docs/manual/dparams-app.xml:
5727         * docs/manual/dynamic.xml:
5728         * docs/manual/elements-api.xml:
5729         * docs/manual/elements.xml:
5730         * docs/manual/factories.xml:
5731         * docs/manual/gnome.xml:
5732         * docs/manual/goals.xml:
5733         * docs/manual/helloworld.xml:
5734         * docs/manual/helloworld2.xml:
5735         * docs/manual/highlevel-components.xml:
5736         * docs/manual/highlevel-xml.xml:
5737         * docs/manual/init-api.xml:
5738         * docs/manual/intro-basics.xml:
5739         * docs/manual/intro-motivation.xml:
5740         * docs/manual/intro-preface.xml:
5741         * docs/manual/intro.xml:
5742         * docs/manual/links-api.xml:
5743         * docs/manual/links.xml:
5744         * docs/manual/manual.xml:
5745         * docs/manual/motivation.xml:
5746         * docs/manual/pads-api.xml:
5747         * docs/manual/pads.xml:
5748         * docs/manual/plugins-api.xml:
5749         * docs/manual/plugins.xml:
5750         * docs/manual/programs.xml:
5751         * docs/manual/queues.xml:
5752         * docs/manual/quotes.xml:
5753         * docs/manual/schedulers.xml:
5754         * docs/manual/states-api.xml:
5755         * docs/manual/states.xml:
5756         * docs/manual/threads.xml:
5757         * docs/manual/typedetection.xml:
5758         * docs/manual/win32.xml:
5759         * docs/manual/xml.xml:
5760           Try 2. This time, include a short preface as a "general
5761           introduction", also add code blocks around all code samples
5762           so they get compiled. We still need a way to tell readers
5763           the filename of the code sample. In some cases, don't show
5764           all code in the documentation, but do include it in the generated
5765           code. This allows for focussing on specific bits in the docs,
5766           while still having a full test application available.
5767         * examples/manual/Makefile.am:
5768           Fix up examples for new ADM. Add several of the new examples that
5769           were either added or were missing from the build system.
5770         * examples/manual/extract.pl:
5771           Allow nameless blocks.
5772
5773 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5774
5775         * docs/manual/elements-api.xml:
5776         * docs/manual/helloworld.xml:
5777         * examples/manual/extract.pl:
5778           fix last example.  Add example of adding code blocks that are not
5779           shown in docbook output.
5780
5781 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5782
5783         * docs/manual/dynamic.xml:
5784         * docs/manual/elements-api.xml:
5785         * docs/manual/gnome.xml:
5786         * docs/manual/helloworld2.xml:
5787         * docs/manual/init-api.xml:
5788         * docs/manual/queues.xml:
5789         * docs/manual/threads.xml:
5790         * docs/manual/xml.xml:
5791         * examples/manual/extract.pl:
5792           Make it possible to extract example code from separate blocks.
5793           Should make Ronald happy.
5794
5795 2004-12-15  Wim Taymans  <wim@fluendo.com>
5796
5797         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5798         (remove_from_group), (group_elements_set_visited),
5799         (normalize_group), (gst_opt_scheduler_iterate):
5800         Fix bug where a flag was not updated on a decoupled entry point 
5801         because we were just checking the group element list and decoupled
5802         elements are not in that list..
5803
5804 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5805
5806         * docs/manual/advanced-autoplugging.xml:
5807         * docs/manual/advanced-clocks.xml:
5808         * docs/manual/advanced-dparams.xml:
5809         * docs/manual/advanced-interfaces.xml:
5810         * docs/manual/advanced-metadata.xml:
5811         * docs/manual/advanced-position.xml:
5812         * docs/manual/advanced-schedulers.xml:
5813         * docs/manual/advanced-threads.xml:
5814         * docs/manual/appendix-debugging.xml:
5815         * docs/manual/appendix-gnome.xml:
5816         * docs/manual/appendix-programs.xml:
5817         * docs/manual/appendix-quotes.xml:
5818         * docs/manual/appendix-win32.xml:
5819         * docs/manual/autoplugging.xml:
5820         * docs/manual/basics-bins.xml:
5821         * docs/manual/basics-data.xml:
5822         * docs/manual/basics-elements.xml:
5823         * docs/manual/basics-helloworld.xml:
5824         * docs/manual/basics-init.xml:
5825         * docs/manual/basics-pads.xml:
5826         * docs/manual/basics-plugins.xml:
5827         * docs/manual/bins-api.xml:
5828         * docs/manual/bins.xml:
5829         * docs/manual/buffers-api.xml:
5830         * docs/manual/buffers.xml:
5831         * docs/manual/clocks.xml:
5832         * docs/manual/components.xml:
5833         * docs/manual/cothreads.xml:
5834         * docs/manual/debugging.xml:
5835         * docs/manual/dparams-app.xml:
5836         * docs/manual/dynamic.xml:
5837         * docs/manual/elements-api.xml:
5838         * docs/manual/elements.xml:
5839         * docs/manual/factories.xml:
5840         * docs/manual/gnome.xml:
5841         * docs/manual/goals.xml:
5842         * docs/manual/helloworld.xml:
5843         * docs/manual/helloworld2.xml:
5844         * docs/manual/highlevel-components.xml:
5845         * docs/manual/highlevel-xml.xml:
5846         * docs/manual/init-api.xml:
5847         * docs/manual/intro-motivation.xml:
5848         * docs/manual/intro-preface.xml:
5849         * docs/manual/intro.xml:
5850         * docs/manual/links-api.xml:
5851         * docs/manual/links.xml:
5852         * docs/manual/manual.xml:
5853         * docs/manual/motivation.xml:
5854         * docs/manual/pads-api.xml:
5855         * docs/manual/pads.xml:
5856         * docs/manual/plugins-api.xml:
5857         * docs/manual/plugins.xml:
5858         * docs/manual/programs.xml:
5859         * docs/manual/queues.xml:
5860         * docs/manual/quotes.xml:
5861         * docs/manual/schedulers.xml:
5862         * docs/manual/states-api.xml:
5863         * docs/manual/states.xml:
5864         * docs/manual/threads.xml:
5865         * docs/manual/typedetection.xml:
5866         * docs/manual/win32.xml:
5867         * docs/manual/xml.xml:
5868           First try at rewriting the ADM. Needs lotsamore work, but some
5869           parts might already be somewhat useful.
5870         * docs/pwg/advanced-interfaces.xml:
5871           Remove properties interface, it never actually existed (except for
5872           on my HD...).
5873
5874 2004-12-13  David Schleef  <ds@schleef.org>
5875
5876         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5877         be NULL (bug #160220).
5878
5879 2004-12-13  David Schleef  <ds@schleef.org>
5880
5881         * configure.ac: remove all mmx stuff, because it's not used.
5882         * docs/random/ds/0.9-suggested-changes: additional notes
5883         * include/Makefile.am: we don't use these anymore
5884         * include/mmx.h: remove
5885         * include/sse.h: remove
5886
5887 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5888
5889         * docs/random/mimetypes:
5890           Add FOURCC code for h264 codec (VSSH)
5891           Add alternate FOURCC codes for h263 related codecs
5892
5893 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5894
5895         * docs/manual/programs.xml:
5896           Added more gst-launch examples.
5897
5898 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5899
5900         * gst/gstqueue.c: (gst_queue_handle_src_query):
5901           Check for availability again.
5902
5903 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5904
5905         * gst/gstcaps.c: (gst_caps_compare_structures):
5906           Simple caps go first. This has the nice side-effect of fixing an
5907           obscure warning.
5908
5909 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5910
5911         * gst/gstversion.h.in:
5912           Protect header.
5913
5914 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5915
5916         * gst/schedulers/gstoptimalscheduler.c:
5917         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5918         (gst_opt_scheduler_get_wrapper):
5919           When we're recursing into a chain run, only run the directly
5920           related group, not all queued ones. This will fix a possible
5921           deadlock in chains with more than two groups.
5922
5923 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5924
5925         * autogen.sh:
5926           remove patch if autopoint fails
5927
5928 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5929
5930         * docs/gst/gstreamer-sections.txt:
5931           Document Thomas' addition, fix build, make Luis the sheriff happy.
5932
5933 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5934
5935         * gst/gstplugin.c:
5936         * gst/gstplugin.h:
5937           add accessor for version field
5938
5939 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5940
5941         submitted by: Luca Ferretti <elle.uca@infinito.it>
5942
5943         * po/LINGUAS:
5944         * po/it.po:
5945           New tranlation added: Italian
5946
5947 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5948
5949         * gst/gstpad.c: (gst_pad_is_negotiated),
5950         (gst_pad_get_negotiated_caps):
5951           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5952           it doesn't actually check the contents), so be sure to hand it
5953           a RealPad else we'll crash.
5954
5955 2004-12-03  Wim Taymans  <wim@fluendo.com>
5956
5957         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5958         (gst_queue_link), (gst_queue_handle_src_query):
5959         Reverted to 1.110 until this makes the testsuite and various
5960         apps work.
5961
5962 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5963
5964         * docs/upload.mak: fix included CVS conflict strings
5965
5966 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5967
5968         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5969
5970         * gst/gstelement.c: (gst_element_error_full):
5971           Use g_error_new_literal because error text may have
5972           percentage signs in it. Fixes #160019.
5973
5974 2004-12-01  Benjamin Otte  <otte@gnome.org>
5975
5976         * gst/elements/gstbufferstore.c:
5977         (gst_buffer_store_add_buffer_func):
5978           don't try to make subbuffers bigger than they can be. (fixes
5979           #159970)
5980
5981 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5982
5983         * docs/gst/gstreamer-sections.txt:
5984         * docs/gst/tmpl/gstvalue.sgml:
5985           Add new function to docs to fix build.
5986
5987 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5988
5989         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
5990         * gst/gstpad.c: (_gst_pad_default_fixate_value),
5991         (_gst_pad_default_fixate_foreach):
5992         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
5993         * gst/gstvalue.h:
5994           Deprecate _type_is_fixed, use _value_is_fixed instead, since
5995           in some cases (arrays), the fixedness depends on the content.
5996         * gst/gstqueue.c: (gst_queue_handle_src_query):
5997           Check for availability before doing something.
5998
5999 2004-11-29  Wim Taymans  <wim@fluendo.com>
6000
6001         * testsuite/threads/Makefile.am:
6002         * testsuite/threads/signals.c: (gst_test_get_type),
6003         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6004         (gst_test_set_property), (gst_test_get_property),
6005         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6006         (gst_test_do_prop), (run_thread), (main):
6007         Added a bunch of testcases that show threadsafety bugs in glib.
6008
6009 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6010
6011         * docs/manual/programs.xml:
6012           Added a first batch of gst-launch examples, as provided by Ronald
6013           and others from the devel-mlist
6014
6015 2004-11-28  Benjamin Otte  <otte@gnome.org>
6016
6017         * gst/gstelement.c: (gst_element_negotiate_pads):
6018           simplify
6019         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6020         (gst_value_serialize_string), (gst_value_deserialize_string):
6021           add unwrapping of previously wrapped strings. Fix bug in wrapping
6022           while at it.
6023         * testsuite/caps/value_serialize.c: (test1),
6024         (test_string_serialization), (test_string_deserialization), (main):
6025           add tests for string (de)serialization
6026
6027 2004-11-26  Wim Taymans  <wim@fluendo.com>
6028
6029         * testsuite/threads/159566.c: (object_deep_notify), (main):
6030         * testsuite/threads/Makefile.am:
6031         Added testsuite to show bug #159566
6032
6033 2004-11-25  Wim Taymans  <wim@fluendo.com>
6034
6035         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6036         (gst_thread_child_state_change), (gst_thread_main_loop):
6037         Ref the thread object in the GThread mainloop. Break out of the
6038         thread mainloop if it holds the last ref. This properly exits
6039         the threads when disposing the thread from its own context. It
6040         also avoids possible deadlocks in the dispose function.
6041
6042 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6043
6044         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6045         it is necessary to wait.
6046
6047 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6048
6049         * docs/pwg/building-boiler.xml:
6050           Make description somewhat clearer.
6051
6052 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6053
6054         * docs/upload.mak:
6055           Apparently docs changed location on FDO's server.
6056
6057 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6058
6059         * docs/pwg/appendix-checklist.xml:
6060           Add some random notes on things to check when writing an element.
6061           This list can be extended as people see fit.
6062
6063 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6064
6065         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6066         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6067         pad. The queue will now wait until it is empty and forward the new
6068         caps to the source.
6069         * gst/gstbin.c (gst_bin_set_element_sched)
6070         (gst_bin_unset_element_sched): Make sure that all elements and
6071         links are registered and unregistered with the scheduler exactly
6072         once. This elaborates on a fix by Benjamin Otte, but
6073         guarantees that decoupled elements are also registered.
6074
6075 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6076
6077         * docs/manual/quotes.xml:
6078           add a quote
6079         * configure.ac:
6080         * gst/gst.c:
6081         * gst/gstinfo.c:
6082           add LIBDIR and move init message higher up so it's at the start
6083
6084 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6085
6086         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6087         * gstreamer.spec.in: add fair
6088
6089 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6090
6091         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6092         * gst/elements/gstidentity.c: (gst_identity_class_init):
6093           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6094           <teuf@gnome.org> (#157263).
6095         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6096         (gst_type_find_handle_src_query):
6097           Subtract size of internally stored data from position queries.
6098
6099 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6100
6101         * gst/schedulers/fairscheduler.c:
6102         * gst/schedulers/faircothreads.c:
6103         * gst/schedulers/faircothreads.h:
6104         New cothread based scheduler: Fair scheduler.
6105         * gst/schedulers/gthread-cothreads.h: 
6106         Add the standard #if around the whole file.
6107         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6108         compilation of the functions defined in this file. This is
6109         necessary to be able to use this file as a normal header.
6110         * gst/schedulers/Makefile.am: Add compiling support for fair
6111         scheduler.
6112         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6113         scheduler cothreads layer from documentation generation.
6114
6115 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6116
6117         * gst/autoplug/gstspideridentity.c:
6118         (gst_spider_identity_sink_loop_type_finding):
6119           Don't crash if that function is not implemented.
6120
6121 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6122
6123         * docs/pwg/advanced-types.xml:
6124           Another typo.
6125
6126 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6127
6128         * docs/pwg/intro-preface.xml:
6129           Hm, ok, so the brackets weren't really useful...
6130         * docs/pwg/other-ntoone.xml:
6131           Fix embarassing typo.
6132
6133 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6134
6135         * docs/pwg/intro-preface.xml:
6136           Rewrite preface.
6137
6138 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6139
6140         * docs/pwg/advanced-scheduling.xml:
6141         * docs/pwg/advanced-tagging.xml:
6142         * docs/pwg/advanced-types.xml:
6143         * docs/pwg/building-boiler.xml:
6144         * docs/pwg/building-chainfn.xml:
6145         * docs/pwg/building-signals.xml:
6146         * docs/pwg/building-state.xml:
6147         * docs/pwg/building-testapp.xml:
6148         * docs/pwg/intro-basics.xml:
6149         * docs/pwg/other-manager.xml:
6150         * docs/pwg/other-source.xml:
6151           Typo fixes.
6152         * docs/pwg/other-manager.xml:
6153           Add some first content. No example code yet.
6154         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6155           Remove double newlines.
6156
6157 2004-11-04  Wim Taymans  <wim@fluendo.com>
6158
6159         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6160         (remove_from_group), (normalize_group), (group_migrate_connected),
6161         (gst_opt_scheduler_iterate):
6162         * testsuite/schedulers/.cvsignore:
6163         * testsuite/schedulers/Makefile.am:
6164         * testsuite/schedulers/queue_link.c: (main):
6165         Added testcase for scheduler segfault.
6166         Fix scheduler segfault when removing a decoupled
6167         entry point as the last element from a group.
6168
6169 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6170
6171         * gst/gstmarshal.list: add missing marshaller, fixes build
6172
6173 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6174
6175         * docs/random/signal: added notes about using BOXED for GstBuffer
6176         signal marshallers, not POINTER
6177
6178 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6179
6180         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6181         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6182         POINTER=>BOXED changes to marshal GstBuffers
6183
6184 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6185
6186         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6187         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6188
6189 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6190
6191         * docs/gst/gstreamer-sections.txt:
6192         * docs/gst/tmpl/gstcaps.sgml:
6193         * docs/gst/tmpl/gsterror.sgml:
6194         * docs/gst/tmpl/gstinfo.sgml:
6195         * docs/gst/tmpl/gstmacros.sgml:
6196         * docs/gst/tmpl/gstutils.sgml:
6197         * docs/random/ensonic/interfaces.txt:
6198         * gst/gstinfo.h:
6199           added some more docs, removed two obsolete defines
6200
6201 2004-11-02  Kjartan Maraas <as at gnome.org>
6202
6203         reviewed by: Wim Taymans, Ronald Bultje.
6204
6205         * gst/cothreads.c: (cothread_create):
6206         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6207         (gst_bin_child_state_change_func):
6208         * gst/gstbuffer.c: (gst_buffer_span):
6209         * gst/gstelement.c: (gst_element_get_index),
6210         (gst_element_get_event_masks), (gst_element_get_query_types),
6211         (gst_element_get_formats):
6212         * gst/gsterror.c: (_gst_core_errors_init),
6213         (_gst_library_errors_init), (_gst_resource_errors_init),
6214         (_gst_stream_errors_init):
6215         * gst/gstobject.c: (gst_object_default_deep_notify):
6216         * gst/gstpad.c: (gst_pad_get_event_masks),
6217         (gst_pad_get_internal_links_default):
6218         * gst/gstplugin.c: (gst_plugin_register_func),
6219         (gst_plugin_get_module):
6220         * gst/gststructure.c: (gst_structure_get_string),
6221         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6222         (gst_structure_to_abbr):
6223         * gst/gstutils.c: (gst_print_element_args):
6224         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6225         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6226         Aplied part of patch #157127: Cleanup of issues reported by 
6227         sparse.
6228         Also do not try to use cothreads when there is no cothread
6229         context yet.
6230
6231 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6232
6233         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6234         (gst_opt_scheduler_iterate):
6235         Applied patch #154061. Running a pipeline in which an element 
6236         calls GST_ELEMENT_ERROR in the chain function, the opt 
6237         scheduler doesn't unref the chain so it never gets freed.
6238
6239 2004-11-02  Wim Taymans  <wim@fluendo.com>
6240
6241         * gst/gststructure.c: (gst_structure_get_abbrs),
6242         (gst_structure_from_abbr), (gst_structure_to_abbr):
6243         Remove that ugly if-then thing in the code that converts
6244         between strings and types.
6245
6246 2004-11-02  Wim Taymans  <wim@fluendo.com>
6247
6248         * gst/gstscheduler.c: (gst_scheduler_add_element),
6249         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6250         Aplied clock distribution patch, this should fix bug
6251         #148787.
6252
6253 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6254
6255         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6256
6257         * po/LINGUAS:
6258         * po/nb.po:
6259           Added Norwegian Bokmaal translation
6260
6261 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6262
6263         * tools/gst-inspect.c: (print_signal_info):
6264           print signal arguments as pointers if they are
6265
6266 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6267
6268         * docs/pwg/building-boiler.xml:
6269           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6270
6271 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6272
6273         * gst/parse/parse.l:
6274         * testsuite/parse/parse1.c: (main):
6275         Since parse can do 'element name=a:b' make 'a:b.' work as
6276         well. 
6277         Added testcase to verify fix.
6278
6279 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6280
6281         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6282         Use the realpad when printing the direction.
6283         Add extra \n when printing extensions of typefind factories.
6284
6285 2004-10-13  David Schleef  <ds@schleef.org>
6286
6287         * examples/manual/Makefile.am: $< isn't portable in Makefile
6288         rules.
6289
6290 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6291
6292         * docs/gst/tmpl/gstobject.sgml:
6293         * docs/gst/tmpl/gstplugin.sgml:
6294         * docs/gst/tmpl/gstpluginfeature.sgml:
6295         * docs/gst/tmpl/gstregistry.sgml:
6296         * docs/gst/tmpl/gstversion.sgml:
6297         * gst/gstbin.c:
6298           more api documentation
6299         * gst/gstplugin.c: (gst_plugin_register_func),
6300         (gst_plugin_check_file), (gst_plugin_load_file):
6301           better error signaling and logging
6302
6303 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6304
6305         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6306           Subtract current queue contents from position queries.
6307
6308 2004-10-11  Johan Dahlin  <johan@gnome.org>
6309
6310         * gst/gsturi.c (gst_uri_get_location): unescape string
6311         (gst_uri_construct): escape string.
6312
6313 2004-10-11  Benjamin Otte  <otte@gnome.org>
6314
6315         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6316         (gst_pad_try_set_caps_nonfixed):
6317           allow renegotiation of unconnected pads (as inside spider). Simply
6318           return OK if unconnected - mimic try_set_caps there.
6319
6320 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6321
6322         * gst/gstbin.c: (gst_bin_sync_children_state):
6323           Add missing break.
6324
6325 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6326
6327         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6328         Set element to EOS before sending EOS event
6329
6330 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6331
6332         * gst/elements/gsttypefindelement.c:
6333         (gst_type_find_element_handle_event):
6334         Handle EOS events when doing the transition from
6335         typefind to data passing. This should fix the
6336         infinite loops in short files.
6337
6338 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6339
6340         * gst/gstthread.c: (gst_thread_change_state),
6341         (gst_thread_child_state_change):
6342         Make sure no iteration happens while performing
6343         the state change as it could mess up the internal
6344         consistency of the thread state.
6345
6346 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6347
6348         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6349         (gst_thread_change_state), (gst_thread_child_state_change):
6350         Do not try to grab the iterate lock in the state change method
6351         when we are in the same thread as the iterate or else we
6352         could deadlock. Some other cleanups.
6353
6354 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6355
6356         * configure.ac:
6357           bump nano to cvs
6358
6359 === release 0.8.7 ===
6360
6361 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6362
6363         * configure.ac:
6364         * NEWS:
6365         * RELEASE:
6366         * configure.ac:
6367           releasing 0.8.7, "A Cruise"
6368
6369 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6370
6371         * docs/random/mimetypes:
6372         Add an entry for Sony ATRAC3 audio format with mime-type
6373         used by rmdemux et riff-read
6374
6375 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6376
6377         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6378         Push the buffer store instead of clearing it in case that
6379         the stream is not seekable.
6380
6381 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6382
6383         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6384         (gst_thread_main_loop):
6385         Lock the iteration and the state change so that automatic
6386         negotiation and fixation does not happen at the same time
6387         as the in stream negotiation.
6388
6389 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6390
6391         * configure.ac:
6392           bump nano to cvs
6393
6394 === release 0.8.6 ===
6395
6396 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6397
6398         * configure.ac:
6399         * NEWS:
6400         * RELEASE:
6401         * configure.ac:
6402           releasing 0.8.6, "Narc"
6403
6404 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6405
6406         * configure.ac:
6407           prerel bump
6408
6409 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6410
6411         patch by: Steve Lhomme
6412
6413         * gst/elements/gstfakesrc.c:
6414         * gst/elements/gstidentity.c:
6415         * gst/gstthread.c:
6416           Fix for #153881
6417
6418 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6419
6420         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6421         Fix threadsafety of the crc checking function.
6422
6423 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6424
6425         patch by: Ronald Bultje
6426
6427         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6428         (gst_type_find_element_handle_event),
6429         (gst_type_find_element_chain):
6430         * gst/elements/gsttypefindelement.h:
6431          #153657.
6432          Filter out discont event from seekable sources when typefind
6433          asks them to seek.  Fixes typefind with demuxers for
6434          avi, asf and matroska.
6435
6436 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6437
6438         * docs/gst/gstreamer-sections.txt:
6439         * gst/gstcaps.c:
6440         * gst/gstcaps.h:
6441         * gst/gstpad.c:
6442           Revert preferred caps: (#147789)
6443
6444 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6445
6446         * win32/dirent.c:
6447           fix a memory leak
6448
6449 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6450
6451         * configure.ac:
6452           bump for prerelease
6453
6454 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6455
6456         * docs/Makefile.am:
6457         * docs/manual/elements-api.xml:
6458           restructure so that common stuff is shown first
6459         * docs/manual/init-api.xml:
6460           convert to examples
6461         * docs/manual/manual.xml:
6462         * docs/manuals.mak:
6463         * docs/url.entities:
6464           link to API on the website, possibly override later in build
6465         * examples/manual/.cvsignore:
6466           ignore more
6467         * examples/manual/Makefile.am:
6468           add more examples
6469         * examples/manual/extract.pl:
6470           error out on failure
6471
6472 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6473
6474         * docs/gst/tmpl/gstthread.sgml:
6475         * docs/manual/init-api.xml:
6476         * examples/manual/Makefile.am:
6477           convert two code bits to examples
6478
6479 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6480
6481         * gst/gstelement.c: (gst_element_change_state):
6482           Well, actually, I was about to remove this insane assert when
6483           I noticed Wim already did that. A warning is nice so we can
6484           fix actual ugs (using --g-fatal-warnings and backtraces), so
6485           I added that instead.
6486
6487 2004-09-06  Wim Taymans  <wim@fluendo.com>
6488
6489         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6490         (gst_element_threadsafe_properties_post_run),
6491         (gst_element_set_state), (gst_element_change_state):
6492         Added extra refcounting around various places. 
6493
6494 2004-09-06  Wim Taymans  <wim@fluendo.com>
6495
6496         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6497         Fix debug info.
6498
6499 2004-09-06  Wim Taymans  <wim@fluendo.com>
6500
6501         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6502         (remove_from_group):
6503         Some more debug info.
6504
6505 2004-09-03  Wim Taymans  <wim@fluendo.com>
6506
6507         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6508         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6509         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6510         (gst_fakesrc_get), (gst_fakesrc_change_state):
6511         * gst/elements/gstfakesrc.h:
6512         * gst/elements/gstidentity.c: (gst_identity_class_init),
6513         (gst_identity_init), (gst_identity_chain),
6514         (gst_identity_set_property), (gst_identity_get_property),
6515         (gst_identity_change_state):
6516         * gst/elements/gstidentity.h:
6517         Added datarate properties to limit the datarate.
6518
6519 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6520
6521         * gst/autoplug/gstspider.c: (plugin_init):
6522           don't set a rank. We don't want to autoplug by inserting spiders.
6523
6524 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6525
6526         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6527         (gst_spider_identity_plug):
6528           add a template for spider's sink
6529         * gst/gst.c: (gst_register_core_elements):
6530           queue's rank should be NULL, we don't want spider to add it.
6531
6532 2004-08-18  David Schleef  <ds@schleef.org>
6533
6534         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6535         * docs/libs/Makefile.am: same
6536         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6537         * docs/random/ds/0.9-planning: random additions
6538         * docs/random/ds/0.9-suggested-changes: same
6539         * gst/gstxml.h: remove vestigal GstXMLNs definition
6540
6541         Preferred caps: (#147789)
6542         * docs/gst/gstreamer-sections.txt: Add symbols
6543         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6544         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6545         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6546         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6547         (gst_caps_get_preferred), (gst_caps_set_preferred),
6548         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6549         (gst_caps_use_preferred): Handle caps preferences
6550         * gst/gstcaps.h: Add caps preferences
6551         * gst/gstpad.c: (gst_pad_link_get_preferred),
6552         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6553         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6554         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6555         negotiation.
6556
6557 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6558
6559         * gst/autoplug/gstspideridentity.c:
6560         (gst_spider_identity_request_new_pad):
6561         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6562         (gst_aggregator_init):
6563         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6564         (gst_fakesink_init):
6565         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6566         (gst_fakesrc_init):
6567         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6568         (gst_fdsink_init):
6569         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6570         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6571         (gst_filesink_init):
6572         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6573         (gst_filesrc_init):
6574         * gst/elements/gstidentity.c: (gst_identity_base_init),
6575         (gst_identity_init):
6576         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6577         (gst_multifilesrc_init):
6578         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6579         (gst_pipefilter_init):
6580         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6581         (gst_statistics_init):
6582         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6583         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6584           s/gst_pad_new/&_from_template/
6585           register pad templates in the base_init function
6586           add static pad template definitions
6587
6588 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6589
6590         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6591         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6592         * testsuite/refcounting/pad.c: (main):
6593         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6594           s/gst_pad_new/&_from_template/
6595           prepare deprecation of gst_pad_new
6596
6597 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6598
6599         patch by: Luca Ognibene <skaboy81@virgilio.it>
6600
6601         * gst/gstcaps.c:
6602         * gst/gstelement.c:
6603         * gst/gstpad.c:
6604         * gst/gstxml.c:
6605           fix memleaks.  Fixes #150001
6606
6607 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6608
6609         * docs/random/ds/0.9-suggested-changes:
6610           add notes - mostly about pad templates
6611
6612 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6613
6614         * win32/GStreamer.vcproj:
6615           temporary locale files are .gmo not .mo
6616
6617 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6618
6619         * configure.ac: bump nano to cvs
6620
6621 === release 0.8.5 ===
6622
6623 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6624
6625         * configure.ac:
6626           releasing 0.8.5, "Stuttgart"
6627         * NEWS:
6628         * RELEASE:
6629         * configure.ac:
6630         * docs/random/release:
6631           updates for release
6632
6633 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6634
6635         patch by: Wim Taymans (wim@fluendo.com)
6636
6637         * gst/gstbuffer.c:
6638         * gst/gstindex.h:
6639         * libs/gst/dataprotocol/dataprotocol.c:
6640           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6641
6642 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6643
6644         * Makefile.am:
6645         * win32/MANIFEST:
6646           add win32 dir to the build.  Fixes #149981.
6647
6648 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6649
6650         * configure.ac:
6651           bump libtool versioning
6652         * gst/gststructure.c:
6653           mark function as static
6654         * po/af.po:
6655         * po/az.po:
6656         * po/ca.po:
6657         * po/cs.po:
6658         * po/en_GB.po:
6659         * po/fr.po:
6660         * po/nl.po:
6661         * po/sq.po:
6662         * po/sr.po:
6663         * po/sv.po:
6664         * po/tr.po:
6665         * po/uk.po:
6666           translations update
6667         * win32/README.txt:
6668           trademark protection
6669
6670 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6671
6672         * configure.ac:
6673           fix GST_ORIGIN
6674           set GST_PACKAGE to source, and distinguish between release and other
6675         * tools/gst-inspect.c:
6676           print out plugin an element factory is part of so we see this info
6677
6678 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6679
6680         * docs/gst/gstreamer-sections.txt:
6681         * docs/gst/tmpl/gstbuffer.sgml:
6682         * docs/gst/tmpl/gstschedulerfactory.sgml:
6683           reorder docs a little, make GstBuffer's more sensible.
6684         * gst/gstbuffer.h:
6685           API: added GST_BUFFER_FLAG_DELTA_UNIT
6686         * gst/gstscheduler.c:
6687           comment API addition
6688
6689 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6690
6691         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6692           work with non-regular files that can be mmapped (like /dev/zero)
6693         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6694           get rid of typefinds that require a seek when we can't seek instead
6695           of trying them over and over again
6696         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6697           return non-zero failure value when the pipeline was interrupted or
6698           an error occurred
6699
6700 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6701
6702         * win32/config.h:
6703         * win32/GStreamer.vcproj:
6704           compile and install the locales
6705
6706 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6707
6708         * gst/gstvalue.c:
6709           fix a possible memory leak under Windows
6710
6711 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6712
6713         * win32/GStreamer.vcproj:
6714           fix a memory leak that occured under Windows
6715         * win32/gstreamer.def:
6716           add gst_scheduler_register
6717
6718 2004-08-11  Benjamin Otte  <otte@gnome.org>
6719
6720         * docs/gst/gstreamer-sections.txt:
6721         * gst/gstscheduler.c: (gst_scheduler_register):
6722         * gst/gstscheduler.h:
6723           API:
6724           add gst_scheduler_register shortcut similar to gst_element_register
6725         * gst/schedulers/entryscheduler.c: (plugin_init):
6726         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6727         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6728           use it
6729
6730 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6731
6732         * gst/gstvalue.h:
6733           fix a memory leak that occured under Windows
6734
6735 2004-08-10  Colin Walters  <walters@redhat.com>
6736
6737         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6738         Don't use O_EXCL to open temporary registry.  It will prevent
6739         registry creation if a temporary one already exists, which
6740         is unnecessary.
6741
6742 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6743
6744         * docs/gst/gstreamer-sections.txt:
6745         * docs/gst/tmpl/gstvalue.sgml:
6746           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6747
6748 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6749
6750         * win32/gstbytestream.vcproj:
6751         * win32/gstelements.vcproj:
6752         * win32/gstgetbits.vcproj:
6753         * win32/gst-inspect.vcproj:
6754         * win32/gst-launch.vcproj:
6755         * win32/gstoptimalscheduler.vcproj:
6756         * win32/GStreamer.vcproj:
6757         * win32/gst-register.vcproj:
6758         * win32/gstspider.vcproj:
6759           update the include and lib dirs to fit standard libraries as
6760           described in the Win32 manual
6761
6762 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6763
6764         * win32/config.h:
6765         * win32/gstversion.h:
6766           enable NLS again, push the version number for the coming 0.8.5 release
6767
6768 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6769
6770         * gst/gstvalue.h:
6771           export gst_type_XXX for windows DLLs
6772
6773 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6774
6775         * docs/faq/gst-uninstalled:
6776           fix PKG_CONFIG_PATH and PYTHONPATH
6777         * gst/schedulers/Makefile.am:
6778           cleanup
6779         * libs/gst/bytestream/bytestream.c:
6780           remove newline
6781         * po/LINGUAS:
6782         * po/sq.po:
6783           adding Albanian translation (Laurent Dhima)
6784         * po/cs.po:
6785           updated
6786
6787 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6788
6789         * po/ca.po:
6790         * po/sv.po:
6791           updated translations
6792
6793 2004-08-04  Benjamin Otte  <otte@gnome.org>
6794
6795         * tests/mass_elements.c: (main):
6796           allow specifying src and sink element explicitly, so I can test
6797           videotestsrc instead of fakesrc
6798
6799 2004-08-04  Benjamin Otte  <otte@gnome.org>
6800
6801         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6802         (gst_structure_id_empty_new), (gst_structure_empty_new),
6803         (gst_structure_copy):
6804           add gst_structure_id_empty_new_with_size to allow preallocating
6805           value array sizes. Use this in gst_structure_copy to get rid of
6806           reallocs.
6807           don't do quark=>string=>quark when copying structures
6808
6809 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6810
6811         * docs/manual/win32.xml:
6812         * win32/README.txt:
6813           update documentation with the clean version of dependencies
6814
6815 2004-08-03  Benjamin Otte  <otte@gnome.org>
6816
6817         * gst/schedulers/entryscheduler.c:
6818         (gst_entry_scheduler_remove_element):
6819           fix for GST_DISABLE_DEBUG
6820         * tools/gst-launch.c: (print_tag):
6821           fixes for G_DISABLE_ASSERT
6822
6823 2004-08-03  Benjamin Otte  <otte@gnome.org>
6824
6825         * gst/gst.c: (gst_register_core_elements):
6826           fix for G_DISABLE_ASSERT
6827         * gst/gstinfo.c: (__gst_in_valgrind):
6828           add for GST_DISABLE_DEBUG
6829
6830 2004-08-03  Benjamin Otte  <otte@gnome.org>
6831
6832         * gst/parse/parse.l:
6833           fix for G_DISABLE_ASSERT
6834
6835 2004-08-03  Wim Taymans  <wim@fluendo.com>
6836
6837         * gst/gstbin.c: (gst_bin_get_type),
6838         (gst_bin_child_state_change_func):
6839         * gst/gstthread.c: (gst_thread_change_state):
6840         Backported some debug logging from a reverted patch
6841         Don't try to destroy the thread twice. Added some more
6842         debugging in GstThread. Unlock and signal even if we
6843         are in the thread context.
6844
6845 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6846
6847         * po/uk.po:
6848           updated translation
6849
6850 2004-07-30  David Schleef  <ds@schleef.org>
6851
6852         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6853
6854 2004-07-29  David Schleef  <ds@schleef.org>
6855
6856         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6857         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6858
6859 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6860
6861         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6862         (gst_bin_add_func), (gst_bin_remove_func),
6863         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6864         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6865         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6866         (gst_bin_sync_children_state):
6867         * gst/gstbin.h:
6868         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6869         (gst_thread_change_state):
6870         * testsuite/states/Makefile.am:
6871           revert state change patches as agreed so we can rework them
6872           gradually
6873
6874 2004-07-29  Benjamin Otte  <otte@gnome.org>
6875
6876         * libs/gst/control/Makefile.am:
6877           link to libgstreamer (fixes Debian bug 262019, see
6878           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6879
6880 2004-07-29  Wim Taymans  <wim@fluendo.com>
6881
6882         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6883         (check_from_fraction_convert), (transform_test), (main):
6884         Make the test less pedantic about float roundoff errors.
6885
6886 2004-07-29  Benjamin Otte  <otte@gnome.org>
6887
6888         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6889         (gst_filesrc_srcpad_event):
6890           make seek events to before start/after end of file not fail, but
6891           seek to start/end instead
6892         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6893           add more output
6894
6895 2004-07-29  Benjamin Otte  <otte@gnome.org>
6896
6897         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6898           check that caps are fixed
6899         * gst/gstpad.c: (gst_pad_template_new):
6900           don't try to simplify caps, costs too much time on gst_init
6901         * gst/gstplugin.c: (gst_plugin_add_feature):
6902           G_ERROR if features are added twice
6903         * gst/gsttypefind.c: (gst_type_find_register):
6904         * gst/gstelementfactory.c: (gst_element_register):
6905           don't add features twice
6906         * docs/random/ds/0.9-suggested-changes:
6907           add note about possible gst_init optimization
6908
6909 2004-07-28  David Schleef  <ds@schleef.org>
6910
6911         * testsuite/elements/Makefile.am:
6912         * testsuite/elements/struct_i386.h:
6913         * testsuite/elements/struct_size.c: (main):  A little test
6914         to keep distcheck from working if someone changes a structure
6915         size accidentally.
6916
6917 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6918
6919         * docs/libs/Makefile.am:
6920         * docs/libs/gstreamer-libs-docs.sgml:
6921         * docs/libs/gstreamer-libs-sections.txt:
6922         * docs/libs/tmpl/gstbytestream.sgml:
6923         * docs/libs/tmpl/gstcontrol.sgml:
6924         * docs/libs/tmpl/gstdataprotocol.sgml:
6925         * docs/libs/tmpl/gstgetbits.sgml:
6926         * libs/gst/bytestream/Makefile.am:
6927         * libs/gst/bytestream/bytestream.c:
6928         * libs/gst/bytestream/bytestream.h:
6929         * libs/gst/control/Makefile.am:
6930         * libs/gst/dataprotocol/Makefile.am:
6931         * libs/gst/getbits/Makefile.am:
6932         * libs/gst/getbits/getbits.h:
6933           various doc and style fixes, adding bytestream to libs docs.
6934
6935 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6936
6937         * docs/gst/gstreamer-docs.sgml:
6938         * docs/libs/Makefile.am:
6939         * docs/libs/gstreamer-libs-docs.sgml:
6940         * docs/libs/gstreamer-libs-sections.txt:
6941         * libs/gst/control/dparam.c:
6942           more doc fixes.  gst-libs docs now build the same way as gst.
6943
6944 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6945
6946         * configure.ac:
6947         * testsuite/Makefile.am:
6948         * testsuite/bins/Makefile.am:
6949         * testsuite/caps/Makefile.am:
6950         * testsuite/cleanup/Makefile.am:
6951         * testsuite/clock/Makefile.am:
6952         * testsuite/debug/Makefile.am:
6953         * testsuite/dlopen/Makefile.am:
6954         * testsuite/dynparams/Makefile.am:
6955         * testsuite/elements/.cvsignore:
6956         * testsuite/elements/Makefile.am:
6957         * testsuite/enumcaps/Makefile.am:
6958         * testsuite/enumcaps/enumcaps.c:
6959         * testsuite/ghostpads/Makefile.am:
6960         * testsuite/indexers/Makefile.am:
6961         * testsuite/negotiation/Makefile.am:
6962         * testsuite/parse/Makefile.am:
6963         * testsuite/plugin/Makefile.am:
6964         * testsuite/refcounting/Makefile.am:
6965         * testsuite/schedulers/.cvsignore:
6966         * testsuite/states/Makefile.am:
6967         * testsuite/tags/Makefile.am:
6968         * testsuite/threads/Makefile.am:
6969           fold enumcaps into caps dir
6970           clean up Makefile.am's for testsuite
6971
6972 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6973
6974         * docs/gst/Makefile.am:
6975         * docs/libs/Makefile.am:
6976           clean up docs build.  Fixes needless rebuilding of template files.
6977
6978 2004-07-28  Wim Taymans  <wim@fluendo.com>
6979
6980         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
6981         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
6982         Make sure that a bin state change tries to keep the children
6983         in sync. 
6984         Added debug logging to the thread.
6985
6986 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6987
6988         * win32/GStreamer.vcproj:
6989         * win32/gstreamer.def:
6990           more exports for the plugins
6991
6992 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6993
6994         * win32/gstgetbits.vcproj:
6995         * win32/gstgetbits.def:
6996         * win32/msvc71.sln:
6997           add support for the getbits plugin
6998
6999 2004-07-27  Wim Taymans  <wim@fluendo.com>
7000
7001         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7002         (gst_value_transform_fraction_double), (_gst_value_initialize):
7003         * testsuite/caps/Makefile.am:
7004         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7005         (check_from_fraction_convert), (transform_test), (main):
7006         Added transform functions between double and fraction.
7007         Added testcase to verify transforms
7008
7009 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7010
7011         * win32/GStreamer.vcproj:
7012           rename GStreamer-0.8.lib to libgstreamer.lib
7013
7014 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7015
7016         * win32/gstelements.vcproj:
7017         * win32/gstoptimalscheduler.vcproj:
7018           fixes for the Release build
7019
7020 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7021
7022         * win32/config.h:
7023           update the version number
7024
7025 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7026
7027         * win32/GStreamer.vcproj:
7028           add gstinterface to the build
7029
7030 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7031
7032         * win32/gstreamer.def:
7033           add many definitions needed by plugins,
7034           GST_CAT_DEFAULT only available in the Debug build ?
7035
7036 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7037
7038         * gst/gstelement.c: (gst_element_set_eos_recursive):
7039           various whitespace fixes.
7040           doc fix, fixes #148497
7041
7042 2004-07-25  Benjamin Otte  <otte@gnome.org>
7043
7044         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7045           don't delay links on the sink elements, it causes unnegotiated
7046           links.
7047         * gst/elements/gsttypefindelement.c:
7048         (gst_type_find_element_base_init):
7049           add our padtemplates, we indeed do have some.
7050         * gst/elements/gsttypefindelement.c:
7051         (gst_type_find_element_handle_event),
7052         (gst_type_find_element_chain):
7053           don't push data when typefinding failed.
7054         * gst/gstpad.c: (gst_pad_link_fixate):
7055           check that no fixate function returns empty caps.
7056         * gst/gstpad.c: (gst_pad_push):
7057           check that the link is negotiated before data gets pushed.
7058         * tools/gst-register.c: (main):
7059           don't assert (fixes #148283)
7060
7061 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7062
7063         * docs/gst/gstreamer-sections.txt:
7064         * docs/gst/tmpl/gstconfig.sgml:
7065           add GST_PLUGIN_EXPORT definition
7066
7067 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7068
7069         * gst/gstplugin.h:
7070         * gst/gstconfig.h.in:
7071         * win32/gstconfig.h:
7072         * win32/gstelements.def:
7073         * win32/gstelements.vcproj:
7074         * win32/gstoptimalscheduler.def:
7075         * win32/gstoptimalscheduler.vcproj:
7076         * win32/gstspider.def:
7077         * win32/gstspider.vcproj:
7078           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7079
7080 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7081
7082         * docs/gst/gstreamer-sections.txt:
7083           remove GST_CAT_DEFAULT because the type has changed
7084
7085 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7086
7087         * win32/gstbytestream.vcproj:
7088         * win32/gstelements.vcproj:
7089         * win32/gst-inspect.vcproj:
7090         * win32/gst-launch.vcproj:
7091         * win32/gstoptimalscheduler.vcproj:
7092         * win32/GStreamer.vcproj:
7093         * win32/gst-register.vcproj:
7094         * win32/gstspider.vcproj:
7095         * win32/msvc71.sln:
7096           Copy the files where needed after building, The testsuite will be
7097           built separately
7098
7099 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7100
7101         * win32/config.h:
7102         * win32/README.txt:
7103         * docs/manual/win32.xml:
7104         Fixed the plugin and GStreamer location
7105
7106 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7107
7108         * win32/gstreamer.def:
7109         More exports for the plugins
7110
7111 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7112
7113         * gst/gstinfo.h:
7114         Marc was right, we need to export literally GST_CAT_DEFAULT
7115
7116 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7117
7118         * win32/config.h:
7119         NLS crashes in gettext, disabled until this is solved
7120
7121 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7122
7123         * win32/gst-inspect.vcproj:
7124         * win32/gst-launch.vcproj:
7125         Should use NLS when available
7126
7127 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7128
7129         * gst/registries/gstxmlregistry.c:
7130         removing the file doesn't seem to be a good idea on Linux
7131
7132 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7133
7134         * gst/registries/gstxmlregistry.c:
7135         Remove the registry before renaming the tempfile (needed for Windows)
7136
7137 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7138
7139         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7140         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7141         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7142         * gst/elements/gstmultifilesrc.h:
7143         Added newmedia property so it generates newmedia events between each
7144         file when property is set, as well as fixed eos handling
7145
7146 2004-07-22  David Schleef  <ds@schleef.org>
7147
7148         * gst/gststructure.c: (gst_structure_id_empty_new),
7149         (gst_structure_empty_new):  Set type field correctly.
7150         * gst/gststructure.h: Check type field correctly.
7151         * testsuite/caps/Makefile.am:
7152         * testsuite/caps/structure.c: (test1), (main): Add a very small
7153         test for structures.
7154
7155 2004-07-22  David Schleef  <ds@schleef.org>
7156
7157         * docs/random/ds/0.9-suggested-changes: more comments
7158         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7159
7160 2004-07-22  Benjamin Otte  <otte@gnome.org>
7161
7162         * gst/gstelementfactory.c: (gst_element_register):
7163           set the factory in the class struct, so gst_element_get_factory
7164           actually works
7165         * gst/parse/grammar.y:
7166           set element to playing when it gets unlocked as we can't rely on the
7167           bin state - all elements in the bin state might still be locked in
7168           NULL)
7169
7170 2004-07-22  Benjamin Otte  <otte@gnome.org>
7171
7172         * gst/gstelement.c: (gst_element_set_state_func):
7173           make this a static function
7174
7175 2004-07-22  Wim Taymans  <wim@fluendo.com>
7176
7177         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7178         (gst_opt_scheduler_pad_link):
7179         fix 147894-2 and the group_link problem.
7180
7181 2004-07-22  Wim Taymans  <wim@fluendo.com>
7182
7183         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7184         (handoff_identity), (main):
7185         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7186         (handoff_identity), (main):
7187         * testsuite/schedulers/Makefile.am:
7188         * testsuite/schedulers/group_link.c: (main):
7189         Show bug in scheduler when linking chain and loop based element 
7190         where the chain based element was not yet in a group.
7191
7192 2004-07-21  Benjamin Otte  <otte@gnome.org>
7193
7194         * gst/.cvsignore:
7195         * gst/autoplug/.cvsignore:
7196         * gst/elements/.cvsignore:
7197         * gst/indexers/.cvsignore:
7198         * libs/gst/bytestream/.cvsignore:
7199         * libs/gst/control/.cvsignore:
7200         * libs/gst/getbits/.cvsignore:
7201         * testsuite/states/.cvsignore:
7202         * testsuite/threads/.cvsignore:
7203           keep this up to date, since I seem to be the only one who cares
7204           about not missing files on commits (editor's note: no you don't,
7205           but feel free to change them at the time you add stuff instead
7206           of later on)
7207
7208 2004-07-21  Benjamin Otte  <otte@gnome.org>
7209
7210         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7211         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7212         (gst_bin_child_state_change_func), (set_kid_state_func),
7213         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7214           make state changes work correctly and reentrant (so removing
7215           elements from bins during state changes of bins doesn't cause
7216           segfaults or even wrong states)
7217           add debugging category and debugging output to print children states
7218         * gst/gstbin.c: (gst_bin_dispose): 
7219           add some assertion checks
7220         * gst/gstbin.h:
7221         * gst/gstbin.c: (gst_bin_sync_children_state):
7222           deprecate this function - it just does gst_bin_set_state (bin,
7223           GST_STATE (bin)) 
7224         * testsuite/threads/queue.c: (main):
7225           don't use gst_bin_sync_children_state anymore
7226         * testsuite/states/Makefile.am:
7227         * testsuite/states/bin.c:
7228           test that the state changes of bins work as expected
7229         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7230           some adjustments to change states correctly, too
7231         * gst/gstthread.c: (gst_thread_change_state):
7232           don't enable/disable "threadsafe" properties, they're unused and
7233           cause random segfaults
7234         * testsuite/threads/Makefile.am:
7235           the queue check randomly passes now, ignore it
7236
7237 2004-07-21  Benjamin Otte  <otte@gnome.org>
7238
7239         * gst/gstpad.c:
7240           check if data is NULL before outputting debug info. (fixes #145100)
7241
7242 2004-07-21  Benjamin Otte  <otte@gnome.org>
7243
7244         * gst/schedulers/entryscheduler.c:
7245         (gst_entry_scheduler_loop_wrapper),
7246         (gst_entry_scheduler_chain_wrapper),
7247         (gst_entry_scheduler_get_wrapper):
7248           reset the state when the cothread starts, so we don't get assertion
7249           failures on restarting of cothreads
7250
7251 2004-07-20  Benjamin Otte  <otte@gnome.org>
7252
7253         * gst/gstelement.c: (gst_element_link_pads_filtered):
7254           use correct sinkpad, if only sinkpad is specified, but not srcpad
7255           (fixes #147889)
7256         * gst/gstelement.c: (gst_element_set_state_func),
7257         (gst_element_change_state): ref/unref the element, signal handlers
7258         could get rid of the element otherwise
7259
7260 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7261
7262         * docs/random/ds/0.9-suggested-changes:
7263           Make note about renaming fixed-list to array.
7264         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7265         (_gst_value_initialize):
7266           Add array intersections.
7267         * testsuite/caps/intersect2.c: (main):
7268           Add test for array intersections.
7269
7270 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7271
7272         * configure.ac: back to cvs
7273
7274 === release 0.8.4 ===
7275
7276 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7277
7278         * configure.ac:
7279           releasing 0.8.4, "Paella"
7280           bump libtool versioning
7281
7282 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7283
7284         * po/LINGUAS:
7285         * po/ca.po:
7286           adding Catalan translation (Jordi Mallach)
7287
7288 2004-07-20  Wim Taymans  <wim@fluendo.com>
7289
7290         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7291         (handoff_identity), (main):
7292         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7293         (handoff_identity), (main):
7294         * testsuite/schedulers/Makefile.am:
7295         Added failing testcase for variant of #147894
7296
7297 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7298
7299         patch by: David Moore
7300
7301         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7302         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7303         (group_migrate_connected):
7304         * testsuite/schedulers/Makefile.am:
7305           fix for #142813 (Deadlock in optimal scheduler)
7306
7307 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7308
7309         patch by: Wim Taymans
7310
7311         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7312         (gst_opt_scheduler_schedule_run_queue),
7313         (gst_opt_scheduler_get_wrapper), (get_group),
7314         (group_migrate_connected):
7315         * testsuite/schedulers/Makefile.am:
7316           fix for #147819 (Add some checks in the opt scheduler)
7317
7318 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7319
7320         patch by: Benjamin Otte
7321
7322         * gst/gstelementfactory.c: (__gst_element_details_set):
7323           fix for #147929: running gst-register in non-utf8 locale can cause
7324           invalid registry
7325
7326 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7327
7328         patch by: Wim Taymans
7329
7330         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7331         (group_has_element), (element_get_reachables_func),
7332         (group_migrate_connected):
7333           fix for #147894 (opt scheduler decoupled elements mismanagement)
7334         * testsuite/schedulers/Makefile.am:
7335           testsuite app now passes
7336
7337 2004-07-19  Wim Taymans  <wim@fluendo.com>
7338
7339         * testsuite/schedulers/147819.c: (handoff_identity1),
7340         (handoff_identity2), (main):
7341         * testsuite/schedulers/Makefile.am:
7342         Added testcase for bug 147819
7343
7344 2004-07-19  Wim Taymans  <wim@fluendo.com>
7345
7346         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7347         (handoff_identity), (main):
7348         * testsuite/schedulers/Makefile.am:
7349         Added testcase for bug 147894
7350
7351 2004-07-16  Wim Taymans  <wim@fluendo.com>
7352
7353         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7354         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7355         * testsuite/schedulers/Makefile.am:
7356         Added testsuite for bug 142183 in its two incarnations. Refcount
7357         is not increased for scheduled elements and threadsafe properties
7358         mutexes are not properly unlocked.
7359
7360 2004-07-16  Wim Taymans  <wim@fluendo.com>
7361
7362         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7363         (create_chain), (destroy_chain), (create_group), (destroy_group),
7364         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7365         (group_dec_link), (gst_opt_scheduler_pad_link),
7366         (group_inc_links_for_element), (group_migrate_connected):
7367         Call group_inc_link with the proper src->sink ordering -- 
7368         break this, and we break sort_chain. patch from wingo for bug
7369         147713.
7370         Partially revert patch 1.89. When adding a loop based element to 
7371         the scheduler, the links to other groups are automatically followed
7372         and incremented. This should not happen because the bin will call
7373         pad_link explicitly for those connection, resulting in them counted 
7374         twice. Results in assertion failure on pipeline cleanup.
7375
7376 2004-07-16  Wim Taymans  <wim@fluendo.com>
7377
7378         * testsuite/schedulers/143777-2.c: (main):
7379         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7380         (main):
7381         * testsuite/schedulers/Makefile.am:
7382         Added cleanup code to testcase 143777-2.
7383         Added testcase to show bug 147713, does not really show the
7384         deadlock as I can't figure out how to trigger it, but it does
7385         demonstrate bad ordering in the scheduler.
7386
7387 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7388
7389         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7390           change strndup to g_strndup.  Fixes #147707
7391
7392 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7393
7394         * po/af.po:
7395         * po/az.po:
7396         * po/cs.po:
7397         * po/en_GB.po:
7398         * po/fr.po:
7399         * po/nl.po:
7400         * po/sr.po:
7401         * po/sv.po:
7402         * po/tr.po:
7403         * po/uk.po:
7404           updated translations
7405
7406 2004-07-16  Benjamin Otte  <otte@gnome.org>
7407
7408         * gst/gstvalue.c: (gst_greatest_common_divisor):
7409           use ints and return ints, fractions only use ints, too, so this
7410           avoids accidently casting multiplications to unsigned
7411         (gst_value_lcopy_fraction): it's ints, not uint32
7412         (gst_value_set_fraction): disallow minint, multiplying and negation
7413           are broken with it
7414         (gst_value_fraction_multiply): fix to make large numbers work and get
7415         rid of the assumption that the multiplication of two ints fits an
7416         int64 - dunno if that's true for all systems
7417         * testsuite/caps/Makefile.am:
7418         * testsuite/caps/fraction-multiply-and-zero.c:
7419         (check_multiplication), (check_equal), (zero_test), (main):
7420           add tests for all the stuff above
7421         * testsuite/caps/value_compare.c: (test1):
7422           fix comment
7423         * tests/.cvsignore:
7424         * testsuite/caps/.cvsignore:
7425         * testsuite/debug/.cvsignore:
7426         * testsuite/dlopen/.cvsignore:
7427         * testsuite/states/.cvsignore:
7428           get up to date
7429
7430 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7431
7432         * docs/manual/bins-api.xml:
7433         * docs/manual/factories.xml:
7434         * docs/manual/helloworld.xml:
7435         * docs/manual/links-api.xml: 
7436           fixes for out of date info, incorrect info and grammar
7437
7438 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7439
7440         * docs/manual/pads.xml:
7441         * docs/manual/pads-api.xml: grammar fix
7442
7443 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7444
7445         * docs/manual/pads-api.xml: typo + grammar fix
7446
7447 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7448
7449         * docs/gst/gstreamer-sections.txt:
7450           add new symbols
7451         * docs/gst/tmpl/gstelement.sgml:
7452         * docs/gst/tmpl/gstpad.sgml:
7453         * docs/gst/tmpl/gsttypes.sgml:
7454         * docs/gst/tmpl/gstvalue.sgml:
7455           update docs
7456         * gst/gststructure.c: (gst_structure_set_valist),
7457         (gst_structure_from_abbr), (gst_structure_to_abbr):
7458         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7459         (gst_greatest_common_divisor), (gst_value_init_fraction),
7460         (gst_value_copy_fraction), (gst_value_collect_fraction),
7461         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7462         (gst_value_get_fraction_numerator),
7463         (gst_value_get_fraction_denominator),
7464         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7465         (gst_value_deserialize_fraction),
7466         (gst_value_transform_fraction_string),
7467         (gst_value_transform_string_fraction),
7468         (gst_value_compare_fraction), (_gst_value_initialize):
7469         * gst/gstvalue.h:
7470           adding GstFraction GValue type, get/set, and multiply
7471         * testsuite/caps/Makefile.am:
7472         * testsuite/caps/fraction.c: (test), (main):
7473         * testsuite/caps/string-conversions.c: (main):
7474         * testsuite/caps/value_compare.c: (test1), (main):
7475           add regression tests for GstFraction
7476
7477 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7478         
7479         * docs/manual/init-api.xml: Grammar fix
7480
7481 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7482
7483         * docs/manual/states.xml: Fix inconsistent information
7484
7485 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7486
7487         * gst/gstelement.c: (gst_element_set_state):
7488         * gst/gstpad.c: (gst_pad_try_set_caps):
7489         * gst/gststructure.c:
7490         * gst/gstthread.c: (gst_thread_child_state_change):
7491         * gst/gstvalue.c: (gst_value_compare_double):
7492         * gst/gstvalue.h:
7493         * testsuite/parse/parse1.c: (main):
7494           debugging additions and style cleanups
7495
7496 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7497
7498         * docs/manual/states.xml: Grammar fix
7499
7500 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7501
7502         * docs/manual/pads.xml: Grammar fix
7503
7504 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7505
7506         * docs/manual/elements.xml: Fixed image reference
7507
7508 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7509
7510         * docs/manual/goals.xml: Grammar fix
7511
7512 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7513
7514         * docs/manual/motivation.xml:
7515         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7516
7517 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7518
7519         * docs/manual/motivation.xml: Fix spelling
7520
7521 2004-07-15  Benjamin Otte  <otte@gnome.org>
7522
7523         * gst/gstelement.h: 
7524           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7525           strings.
7526         * gst/gstelement.c (gst_element_class_init):
7527           GError's are boxed, not objects
7528         * gst/gstmarshal.list:
7529           update list for the fixed error signal
7530
7531 2004-07-14  Andy Wingo  <wingo@pobox.com>
7532
7533         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7534         there all along, but the function wasn't. (guile-gstreamer's build
7535         system uses the address of the function -- I wasn't actually
7536         trying to use this.)
7537
7538 2004-07-14  Andy Wingo  <wingo@pobox.com>
7539
7540         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7541         as gst_pad_proxy_pad_link) just link to every other pad when they
7542         are called. In the case where the graph has cycles, this will mean
7543         that a call to try_set_caps will recurse. Allow this recursion
7544         and return OK, while we wait for the first try_set_caps to give a
7545         proper return value.
7546         (gst_pad_link_call_link_functions): Since this function is the
7547         only one to set the NEGOTIATING flag on a pad, if the flag is set
7548         it means that the link functions have indirectly recursed. If this
7549         happens, error out to avoid infinite recursion and an eventual
7550         SEGV.
7551         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7552         (gst_pad_proxy_getcaps): Intersect the result with the template
7553         caps to ensure that the return value is valid.
7554
7555 2004-07-14  Andy Wingo  <wingo@pobox.com>
7556
7557         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7558         one refcount, the calling function is the owner of the buffer.
7559
7560 2004-07-14  Wim Taymans  <wim@fluendo.com>
7561
7562         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7563         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7564         Fix stupid warning when an element is to be migrated but
7565         is already migrated.
7566
7567 2004-07-14  Wim Taymans  <wim@fluendo.com>
7568
7569         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7570         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7571         Make sure that a single non-loop-based element does not 
7572         end up in a group. This fixes the testsuite again.
7573
7574 2004-07-14  Wim Taymans  <wim@fluendo.com>
7575
7576         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7577         (add_to_group), (merge_groups), (schedule_group),
7578         (gst_opt_scheduler_get_wrapper), (group_elements),
7579         (group_dec_link), (gst_opt_scheduler_pad_link),
7580         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7581         (gst_opt_scheduler_iterate):
7582         move isolated groups to a new chain.
7583         Emit a warning instead of segfaulting in some error cases.
7584         Fix a bug where the link count between groups was not calculated 
7585         correctly. Fixes #144510.
7586
7587 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7588         * gst/elements/gstfilesrc.c:
7589           Binary files support under Windows now OK
7590       
7591 2004-07-13  Benjamin Otte  <otte@gnome.org>
7592
7593           compatibility fixes for Solaris 8/gcc 2.95
7594         * configure.ac:
7595           include libintl libs in LDFLAGS
7596         * gstvalue.c (gst_value_deserialize_buffer):
7597           cast isxdigit stuff to int to silence compiler warning
7598
7599 2004-07-12  Benjamin Otte  <otte@gnome.org>
7600
7601         * gst/gsttypes.h:
7602           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7603           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7604           just causes support madness
7605         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7606           make it work without this
7607         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7608         (gst_file_index_commit):
7609           glib IO channels don't want binary mode
7610         * testsuite/bytestream/filepadsink.c: (main):
7611         * testsuite/bytestream/test1.c: (read_param_file):
7612           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7613
7614 2004-07-12  Benjamin Otte  <otte@gnome.org>
7615
7616         * gst/gstelement.c: (gst_element_class_init),
7617         (gst_element_set_state), (gst_element_set_state_func):
7618           virutalize gst_element_set_state, use set_state member in class
7619           struct that was already added in 0.7 for this.
7620         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7621         (gst_bin_change_state):
7622           make gst_bin_foreach works similar to other foreach functions, plug
7623           memleaks in it. Make functions using it work with the new approach.
7624           Document gst_bin_foreach, so it can be exported if we want to
7625         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7626           use virtualized set_state to make set_state on bins set the state of
7627           all its children.
7628
7629 2004-07-12  Benjamin Otte  <otte@gnome.org>
7630
7631         * configure.ac:
7632           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7633           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7634         * gst/gstpad.c: (gst_pad_alloc_buffer):
7635           allow buffer_alloc functions to return NULL and allocate a normal
7636           buffer in that case
7637
7638 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7639         * gst/elements/gstfilesink.c:
7640         * gst/elements/gstfilesrc.c:
7641         * gst/indexers/gstfileindex.c:
7642         * gst/gsttypes.h:
7643         * testsuite/bytestream/filepadsink.c:
7644         * testsuite/bytestream/test1.c:
7645           Handle binary files under Windows
7646
7647 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7648         * docs/manual/win32.xml:
7649         * win32/config.h:
7650         * win32/gst-register.vcproj:
7651         * win32/gstreamer.def:
7652           Update to another gettext public build
7653
7654 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7655         * gst/gstplugin.c:
7656           Fix an impossible C syntax
7657         * win32/config.h:
7658           Disable i18n under Windows for the moment
7659         * win32/gst-register.vcproj:
7660           Use this configuration
7661
7662 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7663         * docs/manual/quotes.xml:
7664           Keep the quotes file alive
7665         * docs/random/ds/0.9-suggested-changes:
7666           Add the suggestion of including a 'rowstride' as part of video
7667           format caps
7668
7669 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7670
7671         * gst/gstelement.c: (gst_element_set_state),
7672         (gst_element_change_state):
7673           d'oh.  Set PENDING state correctly before forcing bin to change.
7674         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7675         (gst_structure_parse_fixed_list):
7676         * gst/schedulers/gstoptimalscheduler.c:
7677         (gst_opt_scheduler_state_transition):
7678         * testsuite/states/parent.c: (main):
7679           remove comment now that it's fixed.
7680
7681 2004-07-11  Benjamin Otte  <otte@gnome.org>
7682
7683         * gst/gstclock.h:
7684           GST_SECOND shouldn't cause a conversion to unsigned.
7685         * testsuite/clock/.cvsignore:
7686         * testsuite/clock/Makefile.am:
7687         * testsuite/clock/signedness.c: (main):
7688           make sure it never will again
7689
7690 2004-07-11  Andy Wingo  <wingo@pobox.com>
7691
7692         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7693         whose state is higher than the bin state, raise the bin state to
7694         ensure that bin state := highest child state.
7695         
7696 2004-07-11  Andy Wingo  <wingo@pobox.com>
7697
7698         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7699         procedure on the children of a bin. Assumes that the procedure can
7700         change the set of children.
7701         (set_kid_state_func): New static function.
7702         (gst_bin_change_state): Use gst_bin_foreach to call
7703         set_kid_state_func. Fixes a bug: if a child had a state-change
7704         handler that removes it from the bin, there would be a segfault.
7705         Hopefully it should also work in the case where the state-change
7706         handler on one child adds or removes other children. In any case,
7707         fixes should go to gst_bin_foreach.
7708
7709 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7710
7711         * gst/gstelement.c: (gst_element_set_state):
7712           compatibility fix for latest plugins release.  Change loop back
7713           to while {}
7714
7715 2004-07-09  Wim Taymans  <wim@fluendo.com>
7716
7717         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7718         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7719         (gst_thread_main_loop):
7720         Since remove is virtual in GstBin we must not assume the 
7721         elements GList to have anothing useful.
7722         Add some more logging to GstThread and be a bit more paranoid
7723         when resetting the scheduler.
7724         Set the state of the bin to NULL before removing the children.
7725
7726 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7727
7728         * testsuite/threads/Makefile.am:
7729         * testsuite/threads/threadg.c:
7730           added test to check if problem when removing all elements from a
7731           GstThread before setting GstThread state to NULL
7732
7733 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7734
7735         * docs/gst/tmpl/gstelement.sgml:
7736         * docs/gst/tmpl/gsttypes.sgml:
7737         * gst/gstbin.c: (gst_bin_change_state):
7738         * gst/gstelement.c: (gst_element_set_state),
7739         (gst_element_change_state):
7740           rework so that for bins we try to set the state on all children
7741           as well even if the bin is in the correct state already.
7742           change while to do so at least one iteration is done.
7743           For regular elements, we fall back to the previous behaviour for
7744           now since we first need a new plugins release.
7745         * testsuite/states/parent.c: (main):
7746           test for this case
7747           Fixes #123774
7748
7749 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7750
7751         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7752         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7753         (gst_queue_release_locks), (gst_queue_change_state),
7754         (gst_queue_set_property):
7755           add proper lock debugging.  Change dispose to finalize, since
7756           we're freeing mutexes and other stuff which should happen only once.
7757
7758 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7759
7760         * docs/gst/tmpl/gstelement.sgml:
7761         * docs/gst/tmpl/gstplugin.sgml:
7762         * docs/gst/tmpl/gsttypes.sgml:
7763         * docs/pwg/building-state.xml:
7764         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7765         * gst/gstelement.c: (gst_element_change_state):
7766         * gst/gstthread.c: (gst_thread_change_state):
7767           catch wrong state changes in element base class.
7768
7769 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7770
7771         * gst/gstinfo.h:
7772           clean up layout a little.
7773
7774 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7775
7776         * configure.ac:
7777         * testsuite/Makefile.am:
7778         * testsuite/states/Makefile.am:
7779         * testsuite/states/parent.c: (main):
7780           re-enable states testsuite dir.  Add test for state changes and
7781           parent behaviour
7782
7783 2004-07-09  Wim Taymans  <wim@fluendo.com>
7784
7785         * gst/schedulers/gstoptimalscheduler.c:
7786         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7787         (element_get_reachables_func), (element_get_reachables),
7788         (debug_element), (rechain_group), (group_migrate_connected),
7789         (gst_opt_scheduler_pad_unlink):
7790         Do not try to migrate decoupled elements to a new group since
7791         they are not added to groups.
7792
7793 2004-07-08  Benjamin Otte  <otte@gnome.org>
7794
7795         * gst/gstelement.c: (gst_element_error_func):
7796           make reentrant (= allow removing elements in error handler)
7797
7798 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7799
7800         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7801         (gst_pad_send_event), (gst_pad_call_chain_function):
7802           events sent to elements below PAUSED cannot be handled, so
7803           don't try to
7804
7805 2004-07-08  Wim Taymans  <wim@fluendo.com>
7806
7807         * gst/schedulers/gstoptimalscheduler.c:
7808         (chain_recursively_migrate_group), (create_group),
7809         (schedule_group), (gst_opt_scheduler_pad_link),
7810         (group_elements_set_visited), (element_get_reachables_func),
7811         (element_get_reachables), (group_can_reach_group), (debug_element),
7812         (rechain_group), (group_migrate_connected),
7813         (gst_opt_scheduler_pad_unlink):
7814         * testsuite/schedulers/Makefile.am:
7815         Implemented group splitting and rechaining.
7816         Fixes 143777 and 143777-2 in the testsuite.
7817
7818 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7819
7820         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7821           extra debugging
7822         * gst/gstevent.h:
7823         * gst/gstinfo.c: (gst_debug_log_default):
7824           print time nicely.  add thread pointer until someone figures out
7825           a completely portable way of getting at thread id's.
7826         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7827         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7828         (gst_pad_call_chain_function):
7829           extra debugging
7830         * gst/schedulers/gstoptimalscheduler.c:
7831         (get_group_schedule_function), (loop_group_schedule_function),
7832         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7833         (pad_clear_queued), (gst_opt_scheduler_iterate):
7834           rename BUFPEN and friends to DATAPEN since that's what they are.
7835
7836 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7837
7838         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7839         * gst/gstbuffer.h:
7840         * gst/gstpad.c:
7841           cleanups and debugging
7842
7843 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7844
7845         * configure.ac:
7846         * gst/gstvalue.c: (gst_value_compare_enum),
7847         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7848         (gst_value_can_compare), (gst_value_compare):
7849         * testsuite/Makefile.am:
7850         * testsuite/enumcaps/Makefile.am:
7851         * testsuite/enumcaps/enumcaps.c:
7852           Fix enum serialization, deserialization, comparison in caps, add
7853           a test to ensure that this continues working in the future.
7854
7855 2004-07-06  David Schleef  <ds@schleef.org>
7856
7857         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7858         Fix memleak.
7859
7860 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7861
7862         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7863         * gst/gstplugin.h:
7864         * gst/registries/gstxmlregistry.c:
7865         (plugin_times_older_than_recurse), (plugin_times_older_than),
7866         (gst_xml_registry_parse_padtemplate):
7867           only rebuild registry when actual plugins have a newer time than
7868           the registry.  Fixes #145520
7869
7870 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7871
7872         * docs/manual/manual.xml:
7873         * docs/manual/win32.xml:
7874           add chapter on win32 building.  fixes #142422
7875
7876 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7877
7878         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7879
7880         * gst/autoplug/gstspider.c: (gst_spider_init),
7881         (gst_spider_dispose):
7882           fix spider memleaks.  fixes #137863
7883
7884 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7885
7886         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7887
7888         * gst/schedulers/gstoptimalscheduler.c:
7889         (gst_opt_scheduler_pad_unlink):
7890           fix SIGBUS error, fixes #145338
7891
7892 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7893
7894         * gst/gstobject.c: (gst_object_replace):
7895         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7896         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7897           clean up clock lifecycle.  Fixes #109831
7898
7899 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7900
7901         * po/LINGUAS:
7902         * po/cs.po:
7903           added Czech translation (Miloslav Trmac)
7904
7905 2004-07-04  David Schleef  <ds@schleef.org>
7906
7907         * tools/Makefile.am:
7908         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7909
7910 2004-07-04  David Schleef  <ds@schleef.org>
7911
7912         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7913
7914 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7915
7916         * gst/gstbin.c: (gst_bin_restore_thyself):
7917           chain to parent restore so the bins get restored correctly
7918           in the editor
7919
7920 2004-07-03  David Schleef  <ds@schleef.org>
7921
7922         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7923         Actually do something in these functions, like before the big
7924         caps change.  (bug #145137)
7925
7926 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7927
7928         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7929         (gst_element_get_compatible_pad_filtered):
7930         * gst/gstthread.c: (gst_thread_main_loop):
7931           more debugging
7932
7933 2004-07-02  David Schleef  <ds@schleef.org>
7934
7935         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7936         * gst/gstobject.h:
7937         * gst/gstparse.h:
7938         * gst/gsttrace.h:
7939         * gst/gstxml.h:
7940
7941 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7942
7943         * gst/gstpad.c: (gst_pad_check_schedulers),
7944         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7945         (gst_pad_link_prepare):
7946           revert until testsuite is fixed
7947
7948 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7949
7950         * testsuite/Makefile.am:
7951         * testsuite/caps/filtercaps.c: (main):
7952         * testsuite/clock/clock1.c: (main):
7953         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7954           fix some more tests
7955
7956 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7957
7958         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7959         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7960         * testsuite/cleanup/cleanup4.c: (main):
7961           fix testsuite
7962
7963 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7964
7965         * libs/gst/control/control.c:
7966         * libs/gst/control/dparam.c:
7967         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7968         * libs/gst/control/dparammanager.c:
7969         * libs/gst/control/dparammanager.h:
7970         * testsuite/dynparams/Makefile.am:
7971         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7972         (gst_dptest_change_state), (gst_dptest_chain), (main):
7973           fix testcase for dparams
7974           add debugging category
7975
7976 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7977
7978         * testsuite/Rules:
7979           change path
7980
7981 2004-07-02  Benjamin Otte  <otte@gnome.org>
7982
7983         * tests/.cvsignore:
7984         * tests/Makefile.am:
7985         * tests/mass_elements.c: (gst_get_current_time), (main):
7986           add simple benchmark to test various speeds of fakesrc ! identity !
7987           identity ! ... ! fakesink.
7988           Usage: mass_elements [num_identities] [num_buffers]
7989           If not specified they default to 1000.
7990
7991 2004-07-02  Benjamin Otte  <otte@gnome.org>
7992
7993         * gst/gstpad.c: (gst_pad_check_schedulers),
7994         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7995         (gst_pad_link_prepare):
7996           check that pads that get linked belong to the same manager. The old
7997           code allowed linking elements before putting them into bins, so it
7998           worked to link them and then put them in different threads, which
7999           lead to weird behaviour.
8000           Since this effectively disallows linking elements before putting
8001           them in a bin, some applications might not work after this and error
8002           out. If these applications are too critical, we might need to revert
8003           that patch. Please test this before the next release...
8004
8005 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8006
8007         * gst/gstpad.c: (gst_pad_get_caps):
8008           throw an error if the getcaps function does not return a subset of
8009           the template caps.
8010         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8011           make disconts without position info an error in debugging
8012         * tests/spidey_bench.c: (handoff), (main):
8013           don't count first try when averaging
8014
8015 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8016
8017         * gst/gstplugin.c: (gst_plugin_load_file):
8018           figure out problem with dynamic test
8019
8020 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8021
8022         * docs/gst/Makefile.am:
8023           fix docs build
8024
8025 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8026
8027         * po/POTFILES.in:
8028         * po/af.po:
8029         * po/az.po:
8030         * po/en_GB.po:
8031         * po/fr.po:
8032         * po/nl.po:
8033         * po/sr.po:
8034         * po/sv.po:
8035         * po/tr.po:
8036         * po/uk.po:
8037         * tools/gst-register.c: (plugin_added_func), (main):
8038           i18n-ize -register, fix plural
8039
8040 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8041
8042         * gst/elements/gstidentity.c: (gst_identity_class_init),
8043         (gst_identity_init), (gst_identity_chain),
8044         (gst_identity_set_property), (gst_identity_get_property):
8045         * gst/elements/gstidentity.h:
8046           check for perfect stream
8047
8048 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8049
8050         * gst/elements/gstidentity.c: (gst_identity_chain):
8051           print offset_end
8052
8053 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8054
8055         * docs/gst/Makefile.am:
8056         * docs/gst/gstreamer-docs.sgml:
8057           doc fixes
8058
8059 2004-06-24  David Schleef  <ds@schleef.org>
8060
8061         * autogen.sh:  Remove call to env, since the buildbot isn't
8062         broken anymore.
8063
8064 2004-06-24  Wim Taymans  <wim@fluendo.com>
8065
8066         * gst/elements/Makefile.am:
8067         * gst/elements/gstelements.c:
8068         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8069         (gst_multifdsink_class_init), (gst_multifdsink_init),
8070         (gst_multifdsink_add), (gst_multifdsink_remove),
8071         (gst_multifdsink_clear), (gst_multifdsink_chain),
8072         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8073         * gst/elements/gstmultifdsink.h:
8074         Added an element that writes to multiple filedescriptors at once.
8075
8076 2004-06-24  Benjamin Otte  <otte@gnome.org>
8077
8078         * gst/parse/grammar.y:
8079           don't try to link elements before they have been added to bins
8080
8081 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8082
8083         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8084         (gst_file_pad_get_length):
8085         * libs/gst/bytestream/filepad.h:
8086           add 2 new functions
8087
8088 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8089
8090         * docs/gst/gstreamer-sections.txt:
8091         remove from docs, the define that Benjamin removed from gstelement.h
8092
8093 2004-06-22  Benjamin Otte  <otte@gnome.org>
8094
8095         * gst/gstelement.h:
8096           remove define that referenced a nonexisting GstElement struct member
8097
8098 2004-06-20  Benjamin Otte  <otte@gnome.org>
8099
8100         * gst/gstdata.c: (gst_data_is_writable):
8101           whoops, return values were wrong, so writable data was marked as
8102           non-writable and vice versa. (fixes #143953, spotted by Francis
8103           Labonte)
8104           Shows how rarely we need to copy data ;)
8105
8106 2004-06-20  Benjamin Otte  <otte@gnome.org>
8107
8108         * testsuite/schedulers/.cvsignore:
8109         * testsuite/schedulers/Makefile.am:
8110         * testsuite/schedulers/143777-2.c: (main):
8111           add test for opt breakage in bug #143777
8112
8113 2004-06-20  Benjamin Otte  <otte@gnome.org>
8114
8115         * gst/gstpad.c: (gst_pad_call_chain_function):
8116           check for if we were unlinked while inside the chainfunction (fixes
8117           entrygthread having issues with #143777)
8118         * testsuite/schedulers/143777.c: (main):
8119         * testsuite/schedulers/Makefile.am:
8120           add a test for that fix
8121
8122 2004-06-20  Benjamin Otte  <otte@gnome.org>
8123
8124         * gst/gstvalue.c: (gst_value_set_int_range):
8125           test that start is smaller then end
8126         * libs/gst/bytestream/Makefile.am:
8127         * libs/gst/bytestream/filepad.c: 
8128         * libs/gst/bytestream/filepad.h:
8129           add GstFilePad - a pad that behaves like a FILE*
8130         * testsuite/bytestream/.cvsignore:
8131         * testsuite/bytestream/Makefile.am:
8132         * testsuite/bytestream/filepadsink.c: 
8133           test for the GstFilePad
8134
8135 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8136
8137         * gst/elements/gstidentity.c: (gst_identity_class_init),
8138         (gst_identity_init), (gst_identity_set_clock),
8139         (gst_identity_chain), (gst_identity_set_property),
8140         (gst_identity_get_property):
8141         * gst/elements/gstidentity.h:
8142         * gst/gstclock.c: (gst_clock_id_wait):
8143           add a "sync" property to sync to the clock
8144
8145 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8146
8147         * gst/gstelementfactory.c: (gst_element_factory_create):
8148           make the freakin "elementfactory bla has no type" message more
8149           useful. So we actually can do something when someone shows up
8150           complaining about it.
8151
8152 2004-06-15  Johan Dahlin  <johan@gnome.org>
8153
8154         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8155         found. This matches the old behavior better. Thanks to Thomas for
8156         pointing out.
8157
8158 2004-06-14  David Schleef  <ds@schleef.org>
8159
8160         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8161         -fomit-frame-pointer.  Appears to generate correct code in
8162         other cases as well.
8163
8164 2004-06-14  Johan Dahlin  <johan@gnome.org>
8165
8166         * tools/gst-inspect.c (main): Add two new command line options: -a
8167         to print all elements and -n to print the name on each line. Also
8168         fix some error reporting.
8169         (main): Simplify, remove -n and always print names if -a is specified
8170
8171 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8172
8173         * win32/gstconfig.h:
8174         * win32/GSTreamer.vcproj:
8175         * win32/Makefile:
8176         * gst/gstconfig.h.in:
8177         * gst/gst.h:
8178         * gst/gstbin.h:
8179         * gst/gstelement.h:
8180         * gst/gstevent.h:
8181         * gst/gstobject.h:
8182         * gst/gstpad.h:
8183         * docs/gst/gstreamer-sections.txt:
8184         * docs/gst/tmpl/gstconfig.sgml:
8185           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8186
8187 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8188         * docs/gst/gstreamer-sections.txt:
8189         * docs/gst/tmpl/gstconfig.sgml:
8190         Add the GSTREAMER_EXPORT macro to the docs
8191
8192 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8193
8194         * tools/gst-compprep.c: (handle_xmlerror), (main):
8195         Add a check for the version that introduced SetStructuredError to fix
8196         the build on FC1
8197
8198 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8199
8200         * win32/msvc71.sln:
8201         * win32/testsuite/:
8202           prepare to compile the testsuite with MSVC
8203
8204 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8205
8206         * docs/manual/win32.xml:
8207           attempt to transform the Win32 README into an XML doc
8208
8209 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8210
8211         * gst/gst.c:
8212         * gst/gstbin.*:
8213         * gst/config.h.in:
8214         * gst/gstelement.*:
8215         * gst/gstevent.h:
8216         * gst/gstobject.*:
8217         * gst/gstpad.h:
8218         * tools/gst-register.c:
8219         * win32/gstreamer.def:
8220           extern symbols are now exported for the Windows DLL
8221
8222 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8223
8224         * gst/gstinfo.h:
8225           fix a problem to enable/disable DEBUG under MSVC
8226
8227 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8228
8229         * win32/:
8230           enable more debug code in DEBUG build
8231
8232 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8233
8234         * win32/config.h:
8235         * gst/gst-i18n-app.h:
8236           enable NLS under Windows
8237
8238 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8239         * tools/gst-compprep.c: (handle_xmlerror), (main):
8240           Make an error that baffled me a bit clearer
8241
8242 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8243
8244         * gst/gstqueue.c:
8245           don't use g_queue_get_length () because it's 2.4, use ->length
8246
8247 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8248
8249         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8250
8251         * tools/gst-inspect.c: (print_signal_info):
8252           don't free random data twice. (fixes #144185)
8253
8254 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8255
8256         * gst/gstqueue.c:
8257         * gst/gstqueue.h:
8258           fix removing from the wrong queue on event timeout
8259           fix disposing of the event queue by casting correctly
8260           add mutexes for handling the event queue
8261           someone was sleeping when fixing queue last time around :)
8262
8263 2004-06-10  Johan Dahlin  <johan@gnome.org>
8264
8265         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8266         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8267
8268 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8269
8270         * docs/random/gdp:
8271         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8272         * libs/gst/dataprotocol/dataprotocol.c:
8273         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8274         (gst_dp_buffer_from_header):
8275         * libs/gst/dataprotocol/dataprotocol.h:
8276         * libs/gst/dataprotocol/dp-private.h:
8277           rev version to 0.1, add buffer flags and copy them
8278
8279 2004-06-09  Johan Dahlin  <johan@gnome.org>
8280
8281         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8282         the flags from the buffer we're copying.
8283
8284 2004-06-09  Wim Taymans  <wim@fluendo.com>
8285
8286         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8287         * gst/elements/gstidentity.c: (gst_identity_init),
8288         (gst_identity_chain):
8289         Print more buffer info in fakesink.
8290         Make identity output similar to fakesink.
8291
8292 2004-06-07  Daniel Gazard  <dany42@free.fr>
8293
8294         reviewed by Benjamin Otte  <otte@gnome.org>
8295
8296         * configure.ac:
8297           fix cross compiling not working. (fixes #143741)
8298
8299 2004-06-07  Benjamin Otte  <otte@gnome.org>
8300
8301         * gst/gstelement.c: (gst_element_set_time_delay):
8302           add failure check
8303         * gst/gstinfo.h:
8304           put brackets around macro arguments of GST_TIME_ARGS, add note to
8305           move it to correct header in 0.9
8306
8307 2004-06-07  Benjamin Otte  <otte@gnome.org>
8308
8309         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8310         (gst_file_index_load), (_file_index_id_save_entries),
8311         (gst_file_index_commit), (gst_file_index_add_association),
8312         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8313         (gst_file_index_plugin_init):
8314           make debugging use a default category
8315
8316 2004-06-06  David Moore  <dcm@acm.org>
8317
8318         reviewed by Benjamin Otte  <otte@gnome.org>
8319
8320         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8321         (gst_fdsrc_change_state):
8322           reset offset counter when going READY => PAUSED. (fixes #142903)
8323
8324 2004-06-06  ed@catmur.co.uk
8325
8326         reviewed by Benjamin Otte  <otte@gnome.org>
8327
8328         * gst/registries/gstxmlregistry.c:
8329         (gst_xml_registry_rebuild_recurse):
8330           don't rely on g_dir_open to figure out if a file is a directory, use
8331           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8332           directories. (fixes #142850)
8333
8334 2004-06-06  Benjamin Otte  <otte@gnome.org>
8335
8336         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8337           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8338         * libs/gst/bytestream/adapter.c:
8339         * libs/gst/bytestream/adapter.h:
8340           fix copyright in header and typo in debugging category name
8341
8342 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8343
8344         * configure.ac:
8345           bump nano to cvs
8346
8347 === release 0.8.3 ===
8348
8349 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8350
8351         * configure.ac:
8352           update libtool versioning
8353           do a new release
8354         * docs/gst/tmpl/gstelement.sgml:
8355         * docs/gst/tmpl/gsttypes.sgml:
8356         * gst/gstinfo.c: (_gst_debug_init):
8357           put back GST_CAT_DATAFLOW to fix API breakage
8358
8359 2004-06-04  David Schleef  <ds@schleef.org>
8360
8361         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8362
8363 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8364
8365         * configure.ac:
8366           bump nano to cvs
8367
8368 === release 0.8.2 ===
8369
8370 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8371
8372         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8373           check GST_DEBUG environment variable which is parsed the same way
8374           as --gst-debug=
8375
8376 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8377
8378         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8379                             gstmd5sink.c gstshaper.c gsttee.c
8380                             gsttypefindelement.c
8381         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8382
8383           - removing trailing commas at end of enums
8384             it is correct C99 code but C90 compilers would complain
8385             (AIX, Forte, ...)
8386             ('should' fix #143290, at least partially)
8387
8388 2004-05-27  Wim Taymans  <wim@fluendo.com>
8389
8390         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8391         (chain_group_set_enabled), (create_group), (add_to_group),
8392         (merge_groups), (setup_group_scheduler), (group_elements),
8393         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8394         Don't try to follow the pad connections with other groups
8395         when a loop based element is added to the scheduler because
8396         the bin will inform the scheduler about the pad links a little
8397         later.
8398
8399 2004-05-27  Wim Taymans  <wim@fluendo.com>
8400
8401         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8402         (remove_from_chain), (chain_group_set_enabled),
8403         (setup_group_scheduler), (group_element_set_enabled),
8404         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8405         (gst_opt_scheduler_show):
8406         Elements without a group can do a state change as well, just wait
8407         with the setup of the scheduling function when it is added to a
8408         chain.
8409
8410 2004-05-27  Wim Taymans  <wim@fluendo.com>
8411
8412         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8413         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8414         (merge_groups), (setup_group_scheduler),
8415         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8416         (gst_opt_scheduler_show):
8417         Fixes to maintain internal consistency of the scheduler data
8418         structures. 
8419          - adding an enabled group to a chain should increment the
8420            number of enabled elements in that chain.
8421          - removing an enabled group from a chain could disable the
8422            chain.
8423          - removing a disabled group from a chain could enable the
8424            chain.
8425          - add g_assert when internal inconsistency is detected.
8426          - adding an element to a group could increase the number of
8427            links this group has with other groups.
8428          - merging two groups also merges the chains.
8429          - also show group links in the _show method.
8430            
8431
8432 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8433
8434         * gst/gstcaps.c: (gst_caps_structure_simplify):
8435           don't print error messages when there is no error
8436         * gst/gstvalue.c: (gst_value_compare_int_range):
8437           compare the second value, too
8438         * testsuite/caps/Makefile.am:
8439         * testsuite/caps/random.c: (assert_on_error), (main):
8440           add tests to make sure the two things above are checked for
8441
8442 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8443
8444         * configure.ac:
8445         * libs/gst/dataprotocol/Makefile.am:
8446         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8447         * libs/gst/dataprotocol/dataprotocol.h:
8448           wrap header in GST_ENABLE_NEW.  make code use it
8449
8450 2004-05-23  Johan Dahlin  <johan@gnome.org>
8451
8452         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8453         so verbose and print GstElement signal names all the time.
8454
8455 2004-05-22  David Schleef  <ds@schleef.org>
8456
8457         * gst/registries/gstxmlregistry.c:
8458         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8459         (bug #142957)
8460
8461 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8462
8463         * configure.ac:
8464           scrub cflags for glib2 so gcc doesn't complain when glib is in
8465           /usr/local
8466
8467 2004-05-21  Johan Dahlin  <johan@gnome.org>
8468
8469         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8470         __GNUC__, patch from Brian Cameron, fixes bug #142804
8471
8472 2004-05-20  David Schleef  <ds@schleef.org>
8473
8474         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8475         comparison code.  (bug #142819)
8476
8477 2004-05-20  Wim Taymans  <wim@fluendo.com>
8478
8479         * gst/gstbuffer.c: (gst_buffer_default_copy):
8480         * gst/gstbuffer.h:
8481         Added Comment to a flag.
8482         copy relevant flags in _buffer_copy.
8483
8484 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8485
8486         reviewed by: Wim Taymans <wim at fluendo dot com>
8487
8488         * gst/gstbuffer.h:
8489           add GST_BUFFER_IN_CAPS buffer flag
8490         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8491         (gst_structure_parse_any_list), (gst_structure_parse_list),
8492         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8493         * gst/gstvalue.c: (gst_value_serialize_any_list),
8494         (gst_value_transform_any_list_string),
8495         (gst_value_list_prepend_value), (gst_value_list_append_value),
8496         (gst_value_list_get_size), (gst_value_list_get_value),
8497         (gst_value_transform_list_string),
8498         (gst_value_transform_fixed_list_string),
8499         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8500         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8501         (_gst_value_initialize):
8502         * gst/gstvalue.h:
8503           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8504           < , > as a format.
8505         * testsuite/caps/string-conversions.c: (main):
8506           add regression tests for < >
8507
8508 2004-05-20  Johan Dahlin  <johan@gnome.org>
8509
8510         * docs/gst/Makefile.am (all-local): Re-add
8511
8512 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8513
8514         * docs/gst/Makefile.am:
8515         * docs/gst/gstreamer-docs.sgml:
8516         * docs/libs/Makefile.am:
8517         * docs/libs/gstreamer-libs-docs.sgml:
8518           fix distcheck issues
8519
8520 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8521
8522         * libs/gst/dataprotocol/Makefile.am:
8523           add to autotest
8524
8525 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8526
8527         * libs/gst/dataprotocol/Makefile.am:
8528         * libs/gst/dataprotocol/dataprotocol.c:
8529         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8530         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8531         * libs/gst/dataprotocol/dp-private.h:
8532           use GST macros to read/write fixed length ints
8533           add some more asserts
8534
8535 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8536
8537         * docs/libs/gstreamer-libs-docs.sgml:
8538         * docs/libs/gstreamer-libs-sections.txt:
8539           remove idct and putbits
8540         * configure.ac:
8541         * docs/libs/tmpl/gstdataprotocol.sgml:
8542         * libs/gst/Makefile.am:
8543         * libs/gst/dataprotocol/Makefile.am:
8544         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8545         (buffer_test), (caps_test), (event_test), (main):
8546         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8547         (gst_dp_dump_byte_array), (gst_dp_init),
8548         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8549         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8550         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8551         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8552         (gst_dp_validate_header), (gst_dp_validate_payload),
8553         (gst_dp_validate_packet), (plugin_init):
8554         * libs/gst/dataprotocol/dataprotocol.h:
8555         * libs/gst/dataprotocol/dp-private.h:
8556           add dataprotocol
8557
8558 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8559
8560         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8561           fix int variable deserialization and add a helper so we can actually
8562           debug this.
8563
8564 2004-05-18  David Schleef  <ds@schleef.org>
8565
8566         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8567           argv[0].  Calling yourself is probably not the best way to
8568           construct a test like this, btw.
8569
8570 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8571
8572         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8573           don't claim to be more intelligent than a scheduler when the
8574           scheduler claims the pipeline is stopped
8575         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8576         (safe_cothread_destroy),
8577         (gst_entry_scheduler_remove_all_cothreads),
8578         (gst_entry_scheduler_reset), (_remove_cothread),
8579         (gst_entry_scheduler_state_transition):
8580           hold off cothread destruction if we're not in main cothread
8581         * configure.ac:
8582         * testsuite/Makefile.am:
8583           add new test dir
8584         * testsuite/schedulers/.cvsignore:
8585         * testsuite/schedulers/Makefile.am:
8586           add tests
8587         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8588           check relinking and adding/removing elements from a running pipeline
8589         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8590           check unlinking in a running pipeline
8591         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8592           check unreffing a running pipeline
8593         * testsuite/schedulers/useless_iteration.c: (main):
8594           check iterating a pipeline that contains running threads works
8595
8596 2004-05-18  David Schleef  <ds@schleef.org>
8597
8598         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8599           is false.
8600
8601 2004-05-18  Wim Taymans  <wim@fluendo.com>
8602
8603         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8604         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8605         Fixed an error introduced with patch for 1.63. When setting
8606         a get based element as the entry point in a group, make sure
8607         to mark the group as GET based.
8608
8609 2004-05-18  Wim Taymans  <wim@fluendo.com>
8610
8611         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8612         (setup_group_scheduler), (loop_group_schedule_function),
8613         (gst_opt_scheduler_pad_link):
8614         Added some more debug info and fixed a bug where the group
8615         type was set to LOOP but it was in fact unknown.
8616
8617 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8618
8619         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8620           make resetting scheduler work twice in a row
8621
8622 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8623
8624         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8625         (CREATE_USERIALIZATION), (_gst_value_initialize),
8626         (gst_value_compare_float), (gst_value_serialize_float),
8627         (gst_value_deserialize_float), (gst_value_compare_enum),
8628         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8629           add serialization and comparison functions for long, int64, enum and
8630           float values
8631         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8632           use best serialization function in type hierarchy instead of only a
8633           matching one. This is required for enums to work.
8634         * gst/parse/grammar.y:
8635           use gst_caps_deserialize
8636         * testsuite/parse/Makefile.am:
8637           parse1 now works
8638         * testsuite/parse/parse1.c: (main):
8639           remove aggregator check, aggregator is broken, this test works now
8640           but fails because of bug #138012
8641         * testsuite/parse/parse2.c: (main):
8642           s/xvideosink/xvimagesink - this test looks a lot like we should
8643           disable it
8644
8645 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8646
8647         * gst/gstelement.c: (gst_element_class_init):
8648           whoops, store the signal id correctly
8649         * gst/schedulers/gstbasicscheduler.c:
8650         (gst_basic_scheduler_chain_wrapper):
8651           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8652           chain function isn't linked
8653
8654 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8655         * configure.ac:
8656         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8657         support until we decide where the flags should be used
8658         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8659         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8660         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8661         Output refused caps in the debug info
8662
8663 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8664
8665         * gst/elements/gstidentity.c: (gst_identity_chain):
8666           add duration debug
8667         * gst/gstinfo.c: (gst_debug_log_default):
8668           add timestamp
8669
8670 2004-05-13  Benjamin Otte  <otte@gnome.org>
8671
8672         * gst/gstpipeline.c: (gst_pipeline_dispose),
8673         (gst_pipeline_change_state):
8674           call gst_scheduler_reset on dispose (fixes #141416)
8675
8676 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8677
8678         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8679           compute mapsize correctly
8680         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8681           use correct datatypes when calling a varargs function
8682         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8683           push a DISCONT event as first thing
8684         * gst/gst_private.h:
8685         * gst/gstinfo.c: (_gst_debug_init):
8686           remove GST_DATAFLOW debugging category
8687         * gst/gstbin.c: (gst_bin_iterate):
8688           use GST_SCHEDULING category
8689         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8690         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8691         (gst_pad_call_get_function):
8692           add GST_DATAFLOW to easily track flow of buffers or events.
8693         * gst/gstqueue.c: (gst_queue_get_type),
8694         (gst_queue_handle_pending_events), (gst_queue_chain),
8695         (gst_queue_get), (gst_queue_handle_src_event):
8696           use own static debugging category GST_DATAFLOW for dataflow,
8697           use DEBUG category for showing which path events go, use LOG
8698           category for buffers.
8699
8700 2004-05-10  David Schleef  <ds@schleef.org>
8701
8702         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8703
8704 2004-05-10  David Schleef  <ds@schleef.org>
8705
8706         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8707         symbols, because otherwise we don't know what they are.  Thanks,
8708         the GStreamer team.
8709         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8710
8711 2004-05-10  David Schleef  <ds@schleef.org>
8712
8713         (from Steve Lhomme)
8714         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8715         are deleted.  Fix.
8716         * win32/Makefile.inspect:
8717         * win32/Makefile.launch:
8718         * win32/Makefile.register:
8719
8720 2004-05-10  David Schleef  <ds@schleef.org>
8721
8722         * gst/gstinfo.h: Add missing inline function.
8723         * gst/gsttrace.c: add include
8724         * gst/parse/grammar.y: remove unused code
8725         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8726         more portable.
8727         * tools/gst-register.c: wrap unistd.h
8728         
8729         More additions/fixes from Steve for the MSVC build.
8730         * win32/GStreamer.vcproj:
8731         * win32/Makefile:
8732         * win32/Makefile.inspect:
8733         * win32/Makefile.launch:
8734         * win32/Makefile.register:
8735         * win32/README.txt:
8736         * win32/gst-inspect.vcproj:
8737         * win32/gst-launch.vcproj:
8738         * win32/gst-register.vcproj:
8739         * win32/gstbytestream.def:
8740         * win32/gstbytestream.vcproj:
8741         * win32/gstconfig.h:
8742         * win32/gstelements.def:
8743         * win32/gstelements.vcproj:
8744         * win32/gstenumtypes.c:
8745         * win32/gstenumtypes.h:
8746         * win32/gstoptimalscheduler.def:
8747         * win32/gstoptimalscheduler.vcproj:
8748         * win32/gstreamer.def:
8749         * win32/gstspider.def:
8750         * win32/gstspider.vcproj:
8751         * win32/gstversion.h:
8752         * win32/msvc71.sln:
8753
8754 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8755
8756         * gst/gstelement.c: (gst_element_class_init),
8757         (gst_element_no_more_pads):
8758         * gst/gstelement.h:
8759           add gst_element_no_more_pads and the "no-more-pads" signal
8760
8761 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8762
8763         * gst/gstregistry.c: (gst_registry_add_plugin):
8764           refuse to add plugins when a plugin with same name is already
8765           registered. Fixes a bunch of "How to remove plugins?" issues.
8766           May lead to other problems though, let's test
8767
8768 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8769
8770         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8771         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8772         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8773
8774 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8775
8776         * tests/Makefile.am: fix am16 issue
8777
8778 2004-05-09  Benjamin Otte  <otte@gnome.org>
8779
8780         * libs/gst/bytestream/Makefile.am:
8781           we should indeed add .c files to makefiles or they won't be built
8782           (d'oh)
8783
8784 2004-05-08  Benjamin Otte  <otte@gnome.org>
8785
8786         * gst/gstpad.c: (gst_pad_proxy_fixate):
8787           really reduce the set of caps
8788
8789 2004-05-08  Benjamin Otte  <otte@gnome.org>
8790
8791         * tests/Makefile.am:
8792         * tests/spidey_bench.c: (handoff), (main):
8793           add benchmark to test how long spider needs to create a pipeline
8794
8795 2004-05-08  Benjamin Otte  <otte@gnome.org>
8796
8797         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8798           mark links as unengaged when unnegotiating instead of deactivating.
8799           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8800
8801 2004-05-08  Benjamin Otte  <otte@gnome.org>
8802
8803         * docs/manual/helloworld.xml:
8804           s/audiosink/osssink (patch by Patrick Guimond)
8805
8806 2004-05-07  David Schleef  <ds@schleef.org>
8807
8808         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8809         since it contains important stuff.
8810
8811 2004-05-07  David Schleef  <ds@schleef.org>
8812
8813         * testsuite/caps/caps.c: (test3), (main): A check for appending
8814         ANY caps.
8815
8816 2004-05-07  David Schleef  <ds@schleef.org>
8817
8818         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8819         which may contain commas.  Fixes detection of -Wa,-mregnames
8820
8821 2004-05-06  David Schleef  <ds@schleef.org>
8822
8823         Changes to handle compilers that don't have variadic macro
8824         support.  In particular, glib headers define some inlines
8825         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8826         builds.
8827         * gst/Makefile.am:
8828         * gst/cothreads.c:
8829         * gst/elements/gstfdsink.c:
8830         * gst/elements/gstfdsrc.c:
8831         * gst/elements/gstfilesink.c:
8832         * gst/elements/gstfilesrc.c:
8833         * gst/gst_private.h:
8834         * gst/gstatomic.c:
8835         * gst/gstcaps.c: (gst_caps_append):
8836         * gst/gstcpu.c: (gst_cpuid_i386):
8837         * gst/gstelement.c:
8838         * gst/gsterror.c:
8839         * gst/gstfilter.c:
8840         * gst/gstinfo.h:
8841         * gst/gstprobe.c:
8842         * gst/gstquery.c:
8843         * gst/gstregistry.c:
8844         * gst/gststructure.c:
8845         * gst/gsttaginterface.c:
8846         * gst/gsttrace.c: (gst_trace_new):
8847         * gst/gsttrashstack.c:
8848         * gst/gsturi.c:
8849         * gst/gstvalue.c:
8850         * gst/parse/grammar.y:
8851         * gst/parse/parse.l:
8852         * tools/gst-inspect.c: (main):
8853         * tools/gst-launch.c: (main):
8854         * tools/gst-xmlinspect.c: (PUT_STRING):
8855
8856 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8857
8858         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8859         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8860         * gst/elements/gstfilesrc.h:
8861           send NEW_MEDIA events correctly
8862         * gst/elements/gsttypefindelement.c: (start_typefinding),
8863         (gst_type_find_element_handle_event):
8864           restart typefinding when we get a NEW_MEDIA event
8865         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8866         (gst_bin_dispose):
8867           don't die when someone removes elements in callbacks
8868         * gst/gstelement.c: (gst_element_change_state):
8869           improve debugging
8870         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8871           we need a NEW_MEDIA event to engage a link
8872         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8873           don't g_print debugging stuff
8874         * testsuite/caps/simplify.c: (check_caps):
8875
8876 2004-05-04  Benjamin Otte  <otte@gnome.org>
8877
8878         * gst/parse/grammar.y:
8879           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8880
8881 2004-05-04  Benjamin Otte  <otte@gnome.org>
8882
8883         * testsuite/caps/renegotiate.c: (main):
8884           improve output in error case
8885
8886 2004-05-04  Benjamin Otte  <otte@gnome.org>
8887
8888         * gst/parse/grammar.y:
8889           fix assert to not trigger when there's no error argument
8890         * gst/parse/parse.l:
8891           fix definition of caps to allow more than two structures
8892         * testsuite/caps/Makefile.am:
8893         * testsuite/caps/renegotiate.c: (main):
8894           it's sinesrc and works in that case
8895
8896 2004-05-04  Wim Taymans  <wim@fluendo.com>
8897
8898         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8899         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8900         when removing an element from a group, we always need to
8901         decrement the link count that this group had with other 
8902         groups through the element.
8903         added an extra assert to catch inconsistencies when decrementing
8904         the link count.
8905
8906 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8907
8908         * configure.ac:
8909         * docs/gst/Makefile.am:
8910         * docs/gst/gstreamer-sections.txt:
8911         * docs/gst/tmpl/gstcompat.sgml:
8912         * examples/appreader/Makefile.am:
8913         * examples/cutter/Makefile.am:
8914         * examples/events/Makefile.am:
8915         * examples/helloworld/Makefile.am:
8916         * examples/helloworld2/Makefile.am:
8917         * examples/launch/Makefile.am:
8918         * examples/manual/Makefile.am:
8919         * examples/mixer/Makefile.am:
8920         * examples/pingpong/Makefile.am:
8921         * examples/plugins/Makefile.am:
8922         * examples/queue/Makefile.am:
8923         * examples/queue2/Makefile.am:
8924         * examples/queue3/Makefile.am:
8925         * examples/queue4/Makefile.am:
8926         * examples/retag/Makefile.am:
8927         * examples/thread/Makefile.am:
8928         * examples/typefind/Makefile.am:
8929         * examples/xml/Makefile.am:
8930         * gst/Makefile.am:
8931         * gst/autoplug/Makefile.am:
8932         * gst/elements/Makefile.am:
8933         * gst/gstcompat.h:
8934         * gst/indexers/Makefile.am:
8935         * gst/parse/Makefile.am:
8936         * gst/registries/Makefile.am:
8937         * gst/schedulers/Makefile.am:
8938         * libs/gst/bytestream/Makefile.am:
8939         * libs/gst/control/Makefile.am:
8940         * libs/gst/getbits/Makefile.am:
8941         * po/af.po:
8942         * po/az.po:
8943         * po/en_GB.po:
8944         * po/fr.po:
8945         * po/nl.po:
8946         * po/sr.po:
8947         * po/sv.po:
8948         * po/tr.po:
8949         * po/uk.po:
8950         * tests/Makefile.am:
8951         * tests/bufspeed/Makefile.am:
8952         * tests/instantiate/Makefile.am:
8953         * tests/memchunk/Makefile.am:
8954         * tests/muxing/Makefile.am:
8955         * tests/negotiation/Makefile.am:
8956         * tests/probes/Makefile.am:
8957         * tests/sched/Makefile.am:
8958         * tests/seeking/Makefile.am:
8959         * tests/threadstate/Makefile.am:
8960         * testsuite/caps/Makefile.am:
8961         * testsuite/cleanup/Makefile.am:
8962         * testsuite/dlopen/Makefile.am:
8963         * testsuite/dynparams/Makefile.am:
8964         * testsuite/plugin/Makefile.am:
8965         * testsuite/states/Makefile.am:
8966         * tools/Makefile.am:
8967           reorganize compile/link flags to be consistent
8968           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8969
8970 2004-05-04  David Schleef  <ds@schleef.org>
8971
8972         The "once more, with feeling" check-in.
8973         * testsuite/caps/Makefile.am: dist caps_strings
8974         * testsuite/caps/renegotiate.c: (main): This test triggers a
8975           segfault in the core.  Marking as failing.
8976
8977 2004-05-03  David Schleef  <ds@schleef.org>
8978
8979         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8980           by the build bots.
8981         * testsuite/caps/renegotiate.c: (main): Same.
8982
8983 2004-05-03  David Schleef  <ds@schleef.org>
8984
8985         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
8986
8987 2004-05-03  David Schleef  <ds@schleef.org>
8988
8989         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
8990           variable to find our source file.
8991
8992 2004-05-03  David Schleef  <ds@schleef.org>
8993
8994         * configure.ac:  Link plugins with libgstreamer and dependent
8995           libraries
8996         * testsuite/caps/Makefile.am:
8997         * testsuite/caps/caps_strings:
8998         * testsuite/caps/deserialize.c: (main): Add a little test to slog
8999           through a file of caps strings and test each one
9000
9001 2004-05-04  Benjamin Otte  <otte@gnome.org>
9002
9003         * libs/gst/bytestream/Makefile.am:
9004         * libs/gst/bytestream/adapter.c: 
9005         * libs/gst/bytestream/adapter.h:
9006           add GstAdapter, similar to bytestream, but doesn't require ugly event
9007           handling or uglier loopbased elements
9008
9009 2004-05-03  David Schleef  <ds@schleef.org>
9010
9011         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9012         * testsuite/caps/erathostenes.c:
9013         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9014
9015 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9016
9017         * docs/pwg/pwg.xml:
9018           remove hardcoded stylesheet path (duh)
9019         * docs/random/release:
9020         * docs/gst/gstreamer-sections.txt:
9021         * gst/Makefile.am:
9022         * gst/gst.h:
9023         * gst/gst_private.h:
9024         * gst/gstcaps.c:
9025         * gst/gstevent.c:
9026         * gst/gstformat.c:
9027         * gst/gstinfo.c:
9028         * gst/gstinfo.h:
9029         * gst/gstinterface.c:
9030         * gst/gstmemchunk.c:
9031         * gst/gstprobe.c:
9032         * gst/gstquery.c:
9033         * gst/gstregistry.c:
9034         * gst/gstregistrypool.c:
9035         * gst/gststructure.c:
9036         * gst/gsttaginterface.c:
9037         * gst/gstthread.c:
9038         * gst/gsttrace.c:
9039         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9040         * gst/gsturi.c:
9041         * gst/gstvalue.c:
9042           deprecate gst_info; remove gstlog.h
9043    
9044
9045 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9046
9047         * Makefile.am:
9048         * po/en_GB.po:
9049         * po/sv.po:
9050         * po/uk.po:
9051           updated translations
9052
9053 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9054
9055         * gst/gstbin.c: (gst_bin_dispose):
9056           better debugging
9057
9058 2004-05-03  Johan Dahlin  <johan@gnome.org>
9059
9060         * gst/schedulers/gstoptimalscheduler.c
9061         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9062         really is a GstElement. Avoids critical when running gst-launch -v
9063         and a oggdemux/decoding pipeline.
9064
9065 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9066
9067         * docs/gst/tmpl/gstpipeline.sgml :
9068         * docs/manual/elements-api.xml :
9069                 doc fix by Patrick Guimond (Protector) from devel ML
9070                 reviewed by ronald
9071
9072 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9073
9074         * docs/gst/Makefile.am :
9075         * docs/libs/Makefile.am :
9076                 apply a patch from Arwed v. Merkatz so that gtk-doc
9077                 generated docs install (same for .devhelp file)
9078                 (fixes part 1 of #138836)
9079
9080 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9081
9082         * docs/faq/dependencies.xml: typo
9083         * docs/faq/getting.xml :
9084             - fix download URL for new gstreamer site
9085             - hide sf.net download page as latest version aren't there
9086             - fix apt URLs
9087             - fill "get via CVS" paragraph (link to dev page on the site)
9088         * docs/faq/general.xml:
9089             hide status tables as they no more exists
9090             change case on plugins license file to reflect reality
9091         * docs/faq/troubleshooting.xml:
9092             remove the wiki question/answer as there is no more wiki
9093
9094 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9095
9096         * gst/gsterror.h:
9097           include the headers needed for declarations used in this header
9098
9099 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9100
9101         * docs/random/uraeus/gstreamer_and_midi.txt :
9102           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9103           (fixes #132288)
9104
9105 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9106
9107         reviewed by Benjamin Otte  <otte@gnome.org>
9108
9109         * gst/schedulers/gthread-cothreads.h:
9110           free allocated data for main cothread, too when destroying context
9111           (fixes #141417)
9112
9113 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9114
9115         * docs/manual/goals.xml : remove duplicated paragraph at end 
9116         of doc page (fixes #141448)
9117
9118 2004-04-29  David Schleef  <ds@schleef.org>
9119
9120         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9121         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9122
9123 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9124
9125         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9126           fix property
9127         * gst/gstcaps.c:
9128           fix doc string
9129         * po/POTFILES.in:
9130           rename typefind source file
9131
9132 2004-04-28  David Schleef  <ds@schleef.org>
9133
9134         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9135         * win32/GStreamer.vcproj:
9136         * win32/Makefile:
9137         * win32/config.h:
9138         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9139         (_trewinddir), (_ttelldir), (_tseekdir):
9140         * win32/dirent.h:
9141         * win32/gst-inspect.vcproj:
9142         * win32/gst-launch.vcproj:
9143         * win32/gst-register.vcproj:
9144         * win32/gstbytestream.vcproj:
9145         * win32/gstelements.vcproj:
9146         * win32/gstoptimalscheduler.vcproj:
9147         * win32/gstspider.vcproj:
9148         * win32/gtchar.h:
9149         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9150         * win32/mman.h:
9151         * win32/mman.inl:
9152         * win32/msvc71.sln:
9153
9154 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9155
9156         * gst/gst.c: (init_post):
9157         * gst/gstinfo.c:
9158           remove useless _gst_progname stuff
9159         * tools/gst-inspect.c: (print_field), (print_caps):
9160           improve caps output
9161
9162 2004-04-28  David Schleef  <ds@schleef.org>
9163
9164         Disable parsing of a lot of files that aren't part of the
9165         exported API.  Move corresponding template files to old/,
9166         waiting for removal when they don't contain anything
9167         interesting.
9168         * docs/gst/Makefile.am:
9169         * docs/gst/gstreamer-sections.txt:
9170         * docs/gst/tmpl/cothreads.sgml:
9171         * docs/gst/tmpl/cothreads_compat.sgml:
9172         * docs/gst/tmpl/gettext.sgml:
9173         * docs/gst/tmpl/gobject2gtk.sgml:
9174         * docs/gst/tmpl/grammar.tab.sgml:
9175         * docs/gst/tmpl/gst-i18n-app.sgml:
9176         * docs/gst/tmpl/gst-i18n-lib.sgml:
9177         * docs/gst/tmpl/gst_private.sgml:
9178         * docs/gst/tmpl/gstaggregator.sgml:
9179         * docs/gst/tmpl/gstarch.sgml:
9180         * docs/gst/tmpl/gstatomic_impl.sgml:
9181         * docs/gst/tmpl/gstbufferstore.sgml:
9182         * docs/gst/tmpl/gstdata_private.sgml:
9183         * docs/gst/tmpl/gstdisksink.sgml:
9184         * docs/gst/tmpl/gstdisksrc.sgml:
9185         * docs/gst/tmpl/gstelementfactory.sgml:
9186         * docs/gst/tmpl/gstextratypes.sgml:
9187         * docs/gst/tmpl/gstfakesink.sgml:
9188         * docs/gst/tmpl/gstfakesrc.sgml:
9189         * docs/gst/tmpl/gstfdsink.sgml:
9190         * docs/gst/tmpl/gstfdsrc.sgml:
9191         * docs/gst/tmpl/gstfilesink.sgml:
9192         * docs/gst/tmpl/gstfilesrc.sgml:
9193         * docs/gst/tmpl/gsthttpsrc.sgml:
9194         * docs/gst/tmpl/gstidentity.sgml:
9195         * docs/gst/tmpl/gstindexfactory.sgml:
9196         * docs/gst/tmpl/gstmarshal.sgml:
9197         * docs/gst/tmpl/gstmd5sink.sgml:
9198         * docs/gst/tmpl/gstmultidisksrc.sgml:
9199         * docs/gst/tmpl/gstmultifilesrc.sgml:
9200         * docs/gst/tmpl/gstpadtemplate.sgml:
9201         * docs/gst/tmpl/gstpipefilter.sgml:
9202         * docs/gst/tmpl/gstschedulerfactory.sgml:
9203         * docs/gst/tmpl/gstsearchfuncs.sgml:
9204         * docs/gst/tmpl/gstshaper.sgml:
9205         * docs/gst/tmpl/gstspider.sgml:
9206         * docs/gst/tmpl/gstspideridentity.sgml:
9207         * docs/gst/tmpl/gststatistics.sgml:
9208         * docs/gst/tmpl/gsttee.sgml:
9209         * docs/gst/tmpl/gsttimecache.sgml:
9210         * docs/gst/tmpl/gsttypefind.sgml:
9211         * docs/gst/tmpl/gsttypefindfactory.sgml:
9212         * docs/gst/tmpl/gstxmlregistry.sgml:
9213         * docs/gst/tmpl/gthread-cothreads.sgml:
9214         * docs/gst/tmpl/old/cothreads.sgml:
9215         * docs/gst/tmpl/old/cothreads_compat.sgml:
9216         * docs/gst/tmpl/old/gettext.sgml:
9217         * docs/gst/tmpl/old/gobject2gtk.sgml:
9218         * docs/gst/tmpl/old/grammar.tab.sgml:
9219         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9220         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9221         * docs/gst/tmpl/old/gst_private.sgml:
9222         * docs/gst/tmpl/old/gstaggregator.sgml:
9223         * docs/gst/tmpl/old/gstarch.sgml:
9224         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9225         * docs/gst/tmpl/old/gstbufferstore.sgml:
9226         * docs/gst/tmpl/old/gstdata_private.sgml:
9227         * docs/gst/tmpl/old/gstdisksink.sgml:
9228         * docs/gst/tmpl/old/gstdisksrc.sgml:
9229         * docs/gst/tmpl/old/gstelementfactory.sgml:
9230         * docs/gst/tmpl/old/gstextratypes.sgml:
9231         * docs/gst/tmpl/old/gstfakesink.sgml:
9232         * docs/gst/tmpl/old/gstfakesrc.sgml:
9233         * docs/gst/tmpl/old/gstfdsink.sgml:
9234         * docs/gst/tmpl/old/gstfdsrc.sgml:
9235         * docs/gst/tmpl/old/gstfilesink.sgml:
9236         * docs/gst/tmpl/old/gstfilesrc.sgml:
9237         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9238         * docs/gst/tmpl/old/gstidentity.sgml:
9239         * docs/gst/tmpl/old/gstindexfactory.sgml:
9240         * docs/gst/tmpl/old/gstmarshal.sgml:
9241         * docs/gst/tmpl/old/gstmd5sink.sgml:
9242         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9243         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9244         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9245         * docs/gst/tmpl/old/gstpipefilter.sgml:
9246         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9247         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9248         * docs/gst/tmpl/old/gstshaper.sgml:
9249         * docs/gst/tmpl/old/gstspider.sgml:
9250         * docs/gst/tmpl/old/gstspideridentity.sgml:
9251         * docs/gst/tmpl/old/gststatistics.sgml:
9252         * docs/gst/tmpl/old/gsttee.sgml:
9253         * docs/gst/tmpl/old/gsttimecache.sgml:
9254         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9255         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9256         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9257         * docs/gst/tmpl/old/types.sgml:
9258         * docs/gst/tmpl/types.sgml:
9259
9260         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9261         gtkdoc-scan doesn't like files with the same name in different
9262         directories.
9263         * gst/elements/Makefile.am:
9264         * gst/elements/gstelements.c:
9265         * gst/elements/gsttypefind.c: 
9266         * gst/elements/gsttypefind.h:
9267         * gst/elements/gsttypefindelement.c:
9268         * gst/elements/gsttypefindelement.h:
9269
9270 2004-04-28  David Schleef  <ds@schleef.org>
9271
9272         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9273         patch (bug #141317):
9274         * gst/gst-i18n-lib.h: Allow disabling gettext.
9275         * gst/gstatomic_impl.h: disable warning when it's dumb.
9276         * gst/gstclock.c: fix include
9277         * gst/gstcompat.h: fix variadic macro
9278         * gst/gstinfo.c: fix include
9279         * gst/gstmacros.h: add defines for inlines on MSVC
9280         * gst/gstplugin.c: fix includes
9281         * gst/gstregistry.c: fix includes
9282         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9283         * gst/gstsystemclock.c: fix include
9284         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9285         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9286         * gst/registries/gstxmlregistry.c:
9287         (gst_xml_registry_parse_element_factory): fix use of non-portable
9288         functions
9289         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9290         * libs/gst/control/dparammanager.h: same
9291
9292 2004-04-28  David Schleef  <ds@schleef.org>
9293
9294         Move a bunch of unused files to old/ with names that are
9295         not case-insensitive-unique.  These files still contain some
9296         useful information that needs to be merged into gstbin.sgml,
9297         etc., so they shouldn't be deleted yet.
9298         * docs/gst/tmpl/GstBin.sgml:
9299         * docs/gst/tmpl/GstBuffer.sgml:
9300         * docs/gst/tmpl/GstCaps.sgml:
9301         * docs/gst/tmpl/GstClock.sgml:
9302         * docs/gst/tmpl/GstCompat.sgml:
9303         * docs/gst/tmpl/GstData.sgml:
9304         * docs/gst/tmpl/GstElement.sgml:
9305         * docs/gst/tmpl/GstEvent.sgml:
9306         * docs/gst/tmpl/GstIndex.sgml:
9307         * docs/gst/tmpl/GstStructure.sgml:
9308         * docs/gst/tmpl/GstTag.sgml:
9309         * docs/gst/tmpl/old/GstBin.sgml:
9310         * docs/gst/tmpl/old/GstBuffer.sgml:
9311         * docs/gst/tmpl/old/GstCaps.sgml:
9312         * docs/gst/tmpl/old/GstClock.sgml:
9313         * docs/gst/tmpl/old/GstCompat.sgml:
9314         * docs/gst/tmpl/old/GstData.sgml:
9315         * docs/gst/tmpl/old/GstElement.sgml:
9316         * docs/gst/tmpl/old/GstEvent.sgml:
9317         * docs/gst/tmpl/old/GstIndex.sgml:
9318         * docs/gst/tmpl/old/GstStructure.sgml:
9319         * docs/gst/tmpl/old/GstTag.sgml:
9320
9321 2004-04-28  David Schleef  <ds@schleef.org>
9322
9323         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9324         (gst_caps_append), (gst_caps_append_structure),
9325         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9326         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9327         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9328         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9329         (gst_caps_intersect), (gst_caps_normalize),
9330         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9331         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9332         * gst/gstcaps.h: use GST_IS_CAPS().
9333
9334 2004-04-26  David Schleef  <ds@schleef.org>
9335
9336         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9337         assembly.  gcc doesn't handle it correctly. (bug #141083)
9338         * gst/gsttrashstack.h: same
9339
9340 2004-04-25  Benjamin Otte  <otte@gnome.org>
9341
9342         * gst/gstelement.c: (gst_element_change_state):
9343           fix assertion to do an int comparison
9344
9345 2004-04-25  Benjamin Otte  <otte@gnome.org>
9346
9347         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9348           better debugging output on error
9349
9350 2004-04-25  Benjamin Otte  <otte@gnome.org>
9351
9352         * gst/gstcaps.c: (gst_caps_subtract):
9353           fix memleak
9354
9355 2004-04-23  Benjamin Otte  <otte@gnome.org>
9356
9357         * gst/gstvalue.c: (gst_value_compare_buffer),
9358         (_gst_value_initialize):
9359           add comparison function for buffers
9360
9361 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9362
9363         * docs/pwg/pwg.xml:
9364           Just found out that this so-called "ima-wav" format is really
9365           just "dvi adpcm" (according to the MS WAV documentation). So
9366           renaming it. We didn't use it yet anyway.
9367
9368 2004-04-23  Benjamin Otte  <otte@gnome.org>
9369
9370         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9371           call gst_caps_is_subset
9372
9373 2004-04-23  Benjamin Otte  <otte@gnome.org>
9374
9375         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9376         (gst_caps_is_subset):
9377           add documentation
9378
9379 2004-04-23  Benjamin Otte  <otte@gnome.org>
9380           
9381         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9382         (gst_caps_structure_subtract), (gst_caps_subtract),
9383         (gst_caps_structure_figure_out_union),
9384         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9385           fix simplifying and subtracting not working correctly with optional
9386           properties
9387           solve assorted problems that make it now simplify ebven more
9388         * docs/gst/tmpl/gstcaps.sgml:
9389         * gst/gstcaps.h:
9390           make gst_caps_do_simplify return a bool to indicate if it simplified
9391         * testsuite/caps/simplify.c: (main):
9392           add more checks. The tests is quite a bit useless right now because
9393           the core is heavily simplifying itself.
9394         * testsuite/caps/caps.h:
9395           fix caps to contain all optional properties
9396
9397 2004-04-22  Benjamin Otte  <otte@gnome.org>
9398
9399         * docs/gst/tmpl/gstcaps.sgml:
9400         * docs/gst/tmpl/gstfilesrc.sgml:
9401         * docs/gst/tmpl/gststructure.sgml:
9402         * docs/gst/tmpl/gstvalue.sgml:
9403           update for recent API changes
9404         * gst/gstcaps.c: (gst_caps_do_simplify):
9405           fix to stop trying with a freed structure
9406         * gst/gstpad.c: (gst_pad_link_fixate):
9407           simplify caps
9408         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9409           remove C++ comment
9410         * gst/gstpad.h:
9411           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9412         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9413         (gst_structure_to_string):
9414           keep the correct type when using lists of ranges
9415         * gst/gstvalue.c: (gst_value_list_prepend_value),
9416         (gst_value_list_append_value):
9417           copy the value before adding to the list (d'oh)
9418         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9419         (gst_value_subtract_int_range_int_range):
9420           handle overflows correctly
9421         * gst/gstvalue.c: (gst_value_subtract_from_list):
9422           fix memleak
9423         * testsuite/caps/caps.h:
9424           add a caps that caused segfaults
9425
9426 2004-04-22  Benjamin Otte  <otte@gnome.org>
9427
9428         * testsuite/refcounting/pad.c: (main):
9429           fix test
9430
9431 2004-04-22  Benjamin Otte  <otte@gnome.org>
9432
9433         * gst/gstcaps.c: (gst_caps_subtract):
9434           allow subtracting ANY and EMPTY from ANY caps
9435
9436 2004-04-22  Benjamin Otte  <otte@gnome.org>
9437
9438         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9439         (gst_caps_union):
9440           only simplify in functions that create new caps. Simplifying in
9441           gst_caps_append breaks tests.
9442
9443 2004-04-22  Benjamin Otte  <otte@gnome.org>
9444
9445         * gst/gstcaps.c: (gst_caps_structure_simplify):
9446           unset GValue after use
9447         * gst/gstcaps.c: (gst_caps_append), 
9448         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9449           use gst_caps_simplify (reduces registry size by 30%)
9450         * gst/gstpad.c: (gst_pad_template_new):
9451           don't allow NULL caps
9452
9453 2004-04-22  Benjamin Otte  <otte@gnome.org>
9454
9455         * docs/gst/gstreamer-sections.txt:
9456           add gst_caps_do_simplify
9457         * gst/gstcaps.c:
9458           add documentation for gst_caps_do_simplify
9459         * gst/gstvalue.h:
9460           fix typo in gst_value_register_subtract_func declaration for gst-doc
9461
9462 2004-04-22  Benjamin Otte  <otte@gnome.org>
9463
9464         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9465           fix bug when converting from empty string.
9466         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9467         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9468           use gst_caps_new_empty to allocate a new caps. Only that function
9469           allocates memory for caps now.
9470         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9471         (gst_caps_remove_structure):
9472           add ability to remove one structure (but not to header yet)
9473         * gst/gstcaps.c: (gst_caps_compare_structures),
9474         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9475         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9476         * gst/gstcaps.h:
9477           add gst_caps_do_simplify that tries to simplify a caps in place.
9478           Deprecate old gst_caps_simplify function.
9479         * testsuite/caps/caps.h:
9480           add caps.h containing a common set of caps to test against.
9481         * testsuite/caps/sets.c: (check_caps), (main):
9482           use it.
9483         * testsuite/caps/.cvsignore:
9484         * testsuite/caps/Makefile.am:
9485         * testsuite/caps/simplify.c: (check_caps), (main):
9486           add test to check correctness and efficency of caps simplification.
9487
9488 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9489
9490         reviewed by Benjamin Otte  <otte@gnome.org>
9491
9492         * gst/gstparse.c: (_gst_parse_escape):
9493           Free the GString used in _gst_parse_escape()
9494
9495 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9496
9497         * gst/gstpad.c: (gst_pad_link_negotiate):
9498           refuse to link if the link is not possible
9499         * configure.ac:
9500         * testsuite/Makefile.am:
9501         * testsuite/negotiation/.cvsignore:
9502         * testsuite/negotiation/Makefile.am:
9503         * testsuite/negotiation/pad_link.c: (main):
9504           add test that checks the above behaviour
9505
9506 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9507
9508         * docs/gst/gstreamer-sections.txt:
9509           add newly added API
9510
9511 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9512
9513         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9514         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9515         (gst_filesrc_open_file), (gst_filesrc_close_file),
9516         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9517         * gst/elements/gstfilesrc.h:
9518           add support for non-regular files (#140734)
9519
9520 2004-04-21  Benjamin Otte  <otte@gnome.org>
9521
9522         * gst/gstpad.c: (gst_pad_link_fixate):
9523           add sophisticated error checking code to see if fixation functions
9524           did their fixation right
9525
9526 2004-04-21  Benjamin Otte  <otte@gnome.org>
9527
9528         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9529           check for ANY caps before appending/unioning
9530         * gst/gstcaps.c: (gst_caps_is_subset),
9531         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9532         (gst_caps_structure_subtract), (gst_caps_subtract):
9533         * gst/gstcaps.h:
9534           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9535           the API. deprecate gst_caps_is_equal_fixed
9536         * gst/gstpad.c: (gst_pad_try_set_caps):
9537         * gst/gstqueue.c: (gst_queue_link):
9538           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9539         * gst/gststructure.c: (gst_structure_get_name_id):
9540         * gst/gststructure.h:
9541           add function gst_structure_get_name_id
9542         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9543         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9544         (gst_value_subtract_int_range_int_range),
9545         (gst_value_subtract_double_double_range),
9546         (gst_value_subtract_double_range_double),
9547         (gst_value_subtract_double_range_double_range),
9548         (gst_value_subtract_from_list), (gst_value_subtract_list),
9549         (gst_value_can_intersect), (gst_value_subtract),
9550         (gst_value_can_subtract), (gst_value_register_subtract_func),
9551         (_gst_value_initialize):
9552         * gst/gstvalue.h:
9553           add support for subtracting values from each other. Note that
9554           subtracting means subtracting as in set theory. Required for caps
9555           stuff above.
9556         * testsuite/caps/.cvsignore:
9557         * testsuite/caps/Makefile.am:
9558         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9559         * testsuite/caps/sets.c: (check_caps), (main):
9560         * testsuite/caps/subtract.c: (check_caps), (main):
9561           add tests for subtraction and equality code.
9562
9563 2004-04-20  David Schleef  <ds@schleef.org>
9564
9565         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9566         * gst/indexers/Makefile.am:
9567         * gst/schedulers/Makefile.am:
9568         * libs/gst/bytestream/Makefile.am:
9569         * libs/gst/control/Makefile.am:
9570         * libs/gst/getbits/Makefile.am:
9571
9572 2004-04-20  David Schleef  <ds@schleef.org>
9573
9574         * common/as-libtool.mak: Fine-tune DLL building.
9575         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9576         (like gst-plugins)
9577         * examples/plugins/Makefile.am: remove plugindir
9578         * gst/autoplug/Makefile.am: DLL building fixes
9579         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9580         Windows.
9581         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9582         * gst/indexers/Makefile.am: DLL building fixes
9583         * gst/schedulers/Makefile.am: DLL building fixes.
9584         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9585         * libs/gst/control/Makefile.am: same
9586         * libs/gst/getbits/Makefile.am: same
9587         * testsuite/Makefile.am: New dlopen directory
9588         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9589         when dlopened.
9590         * testsuite/dlopen/dlopen_gst.c: (main): same
9591         * testsuite/dlopen/loadgst.c: (do_test): same
9592
9593 2004-04-20  David Schleef  <ds@schleef.org>
9594
9595         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9596         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9597
9598 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9599
9600         * gst/gstelement.c: (gst_element_wait),
9601         (gst_element_set_time_delay), (gst_element_change_state):
9602           Use GST_TIME_*
9603
9604 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9605
9606         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9607         (gst_spider_identity_plug):
9608           improve debugging messages
9609         * gst/gstbin.c: (gst_bin_remove_func):
9610           make sure the state_change function is only called with simple state
9611           transitions
9612
9613 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9614
9615         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9616         (gst_fakesink_set_property), (gst_fakesink_chain):
9617         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9618         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9619         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9620         * gst/elements/gstidentity.c: (gst_identity_chain),
9621         (gst_identity_set_property):
9622         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9623         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9624           add warnings to _set_property for unknown arguments
9625           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9626
9627 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9628
9629         * Makefile.am:
9630         * docs/manuals.mak:
9631           add .po file download snippet
9632           fix a bug in the doc makefile
9633
9634 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9635
9636         * Makefile.am:
9637         * po/LINGUAS:
9638         * po/en_GB.po:
9639           Added en_GB translation (Gareth Owen)
9640
9641 2004-04-20  Johan Dahlin  <johan@gnome.org>
9642
9643         * gst/gstpad.c (_invent_event): Clean up
9644
9645 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9646
9647         * testsuite/caps/filtercaps.c: (main):
9648           fix test to test things correctly (caps are complicated)
9649
9650 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9651
9652         * testsuite/caps/Makefile.am:
9653         * testsuite/caps/filtercaps.c: (main):
9654           add test (that doesn't work right now, but should)
9655
9656 2004-04-19  David Schleef  <ds@schleef.org>
9657
9658         * configure.ac: Add test for allowing unaligned access.  Add define
9659         to put in gstconfig.h.
9660         * docs/gst/gstreamer-sections.txt: New symbols
9661         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9662         * docs/gst/tmpl/gstfilesrc.sgml:
9663         * docs/gst/tmpl/gstparse.sgml:
9664         * docs/gst/tmpl/gsttypes.sgml:
9665         * docs/gst/tmpl/gstutils.sgml:
9666         * docs/gst/tmpl/gstvalue.sgml:
9667         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9668         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9669         on most !i386/!powerpc architectures.  From Daniel Gazard
9670         <daniel.gazard@free.fr>.  (bug #140156)
9671         * po/af.po: Check in changes made by gettext.
9672         * po/az.po:
9673         * po/fr.po:
9674         * po/nl.po:
9675         * po/sr.po:
9676         * po/sv.po:
9677
9678 2004-04-20  Benjamin Otte  <otte@gnome.org>
9679
9680         * gst/schedulers/entryscheduler.c: 
9681         (gst_entry_scheduler_yield):
9682           refuse to yield when decoupled elements insist on doing that.
9683           At least it's better than crashing
9684
9685 2004-04-19  David Schleef  <ds@schleef.org>
9686
9687         * docs/libs/Makefile.am: Change sinclude to include
9688         * docs/gst/Makefile.am: same
9689         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9690
9691 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9692
9693         * po/LINGUAS:
9694         * po/uk.po:
9695           Added Ukrainian translation (Maxim V. Dziumanenko)
9696
9697 2004-04-19  Johan Dahlin  <johan@gnome.org>
9698
9699         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9700         checking here, do it before calling the function.
9701         Clean up, use for loops instead of while loops while iterating
9702         over lists.
9703
9704         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9705         in debug message.
9706         (gst_spider_create_and_plug): Improve debug message.
9707         General: Replace while loops which iterates over GLists with for
9708         loops. Which are much cleaner, improves readability, especially
9709         for gst_spider_identity_plug
9710
9711         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9712         fixes bug 140477
9713
9714 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9715
9716         * po/LINGUAS:
9717         * po/tr.po:
9718           Added Turkish translation (Baris Cicek)
9719
9720 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9721
9722         * docs/faq/troubleshooting.xml:
9723           Mention gst-register in the FAQ (fixes 139045).
9724
9725 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9726
9727         * docs/gst/gstreamer-sections.txt:
9728
9729 2004-04-17  Benjamin Otte  <otte@gnome.org>
9730
9731         * gst/gstelement.c: (gst_element_dispose):
9732           simplify
9733         * gst/gstpad.c: (gst_pad_call_chain_function):
9734           don't create loads of events due to bad macro usage
9735
9736 2004-04-16  David Schleef  <ds@schleef.org>
9737
9738         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9739         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9740         * gst/gstvalue.c: (gst_value_serialize_buffer),
9741         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9742         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9743         to indicate types that are fixed wrt caps or not.  Switching to
9744         this function fixes (bug #140298).
9745         * gst/gstvalue.h:
9746
9747 2004-04-16  David Schleef  <ds@schleef.org>
9748
9749         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9750         for GST_UNALIGNED_ACESS, since we essentially know which archs
9751         are ok.
9752
9753 2004-04-17  Benjamin Otte  <otte@gnome.org>
9754
9755         * docs/gst/Makefile.am:
9756           ignore gst/parse directory when building docs (fixes #140205)
9757
9758 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9759
9760         * testsuite/refcounting/mem.c: (vmsize):
9761           do error checking
9762
9763 2004-04-16  Johan Dahlin  <johan@gnome.org>
9764
9765         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9766         and gst_pad_call_get_function.
9767
9768 2004-04-15  David Schleef  <ds@schleef.org>
9769
9770         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9771         checks if we can access unaligned memory.
9772         * configure.ac: Use it.
9773
9774 2004-04-16  Benjamin Otte  <otte@gnome.org>
9775
9776         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9777         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9778         * gst/elements/gstfilesrc.h:
9779           s/seek_happened/need_discont/ and require discont before sending any
9780           data
9781
9782 2004-04-15  David Schleef  <ds@schleef.org>
9783
9784         * gst/gstvalue.c: (gst_value_serialize_buffer),
9785         (gst_value_deserialize_buffer), (_gst_value_initialize):
9786         Register these types as fundamental types. (bug #140015)
9787
9788 2004-04-16  Benjamin Otte  <otte@gnome.org>
9789
9790         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9791         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9792         (gst_pad_pull):
9793           implement enforcing discont events before buffers are passed. This
9794           allows state changes of only some elements and later correctly going
9795           on where they left off (or in short: you can now set audio sinks to
9796           NULL to release the device when the pipeline is paused)
9797         * gst/gstpad.c: (gst_pad_call_chain_function),
9798         (gst_pad_call_get_function):
9799         * gst/gstpad.h:
9800           add gst_pad_call_chain_function and gst_pad_call_get_function for
9801           scheduler interaction. They are required because of the changes
9802           above.
9803         * gst/schedulers/entryscheduler.c: (get_buffer),
9804         (gst_entry_scheduler_chain_wrapper),
9805         (gst_entry_scheduler_get_wrapper),
9806         (gst_entry_scheduler_state_transition),
9807         (gst_entry_scheduler_pad_link):
9808         * gst/schedulers/gstbasicscheduler.c:
9809         (gst_basic_scheduler_chain_wrapper),
9810         (gst_basic_scheduler_src_wrapper),
9811         (gst_basic_scheduler_chainhandler_proxy),
9812         (gst_basic_scheduler_gethandler_proxy),
9813         (gst_basic_scheduler_cothreaded_chain),
9814         (gst_basic_scheduler_chain_elements):
9815         * gst/schedulers/gstoptimalscheduler.c:
9816         (get_group_schedule_function), (pad_clear_queued),
9817         (gst_opt_scheduler_pad_link):
9818           use the new functions instead of calling get/chain-functions
9819           directly.
9820
9821 2004-04-15  David Schleef  <ds@schleef.org>
9822
9823         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9824         * docs/gst/tmpl/gstinfo.sgml: same
9825         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9826         gtk-doc put here.
9827         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9828         * examples/queue/queue.c: (main):  We iterate pipelines, not
9829         bins.  (bug #139996)
9830
9831 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9832
9833         * docs/pwg/advanced-types.xml:
9834           Add MS RLE support. Also document Qt RLE although I have no sample
9835           files for that yet. And document an extra property for ADPCM.
9836
9837 2004-04-15  David Schleef  <ds@schleef.org>
9838
9839         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9840         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9841         Windows.
9842
9843 2004-04-15  David Schleef  <ds@schleef.org>
9844
9845         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9846         symbol names to not conflict with new gstinfo.h symbols.
9847         * gst/gstinfo.h: Add inline functions for all those crazy
9848         compilers that don't know how to handle variadic macros (MSVC).
9849
9850 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9851
9852         * configure.ac: bump nano to 1
9853
9854 === release 0.8.1 ===
9855
9856 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9857
9858         * NEWS:
9859         * RELEASE:
9860         * configure.ac:
9861           releasing 0.8.1, "Snow Brigade"
9862
9863 2004-04-14  David Schleef  <ds@schleef.org>
9864
9865         * testsuite/Makefile.am: define tests_ignore
9866         * testsuite/Rules: Added new tests_ignore, which get compiled,
9867         but not run (generally because they're inconsistent or have
9868         heisenbugs).  Now we can ensure all the .c files compile in
9869         testsuite/.
9870         * testsuite/bins/Makefile.am: define tests_ignore
9871         * testsuite/bytestream/Makefile.am:
9872         * testsuite/caps/Makefile.am:
9873         * testsuite/clock/Makefile.am:
9874         * testsuite/debug/Makefile.am:
9875         * testsuite/debug/global.c: (gst_debug_log_one),
9876         (gst_debug_log_two): Fix compilation problem.
9877         * testsuite/dynparams/Makefile.am:
9878         * testsuite/elements/Makefile.am:
9879         * testsuite/ghostpads/Makefile.am:
9880         * testsuite/indexers/Makefile.am:
9881         * testsuite/parse/Makefile.am:
9882         * testsuite/plugin/Makefile.am:
9883         * testsuite/refcounting/Makefile.am:
9884         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9885         results, because it's not calculated correctly.
9886         * testsuite/refcounting/pad.c: (main): same
9887         * testsuite/states/Makefile.am:
9888         * testsuite/tags/Makefile.am:
9889         * testsuite/threads/Makefile.am:
9890
9891 2004-04-14  David Schleef  <ds@schleef.org>
9892
9893         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9894         generating bad code around the cpu detection asm code.
9895
9896 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9897
9898         * tools/gst-inspect.c: (print_element_info):
9899           print numeric version of rank as well, since we added some - 1
9900           rank values to elements
9901
9902 2004-04-13  David Schleef  <ds@schleef.org>
9903
9904         * configure.ac:  Disable various code when compiling for MinGW.
9905         * gst/elements/Makefile.am:
9906         * gst/elements/gstelements.c:
9907         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9908         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9909         * gst/registries/gstxmlregistry.c: (make_dir):
9910
9911 2004-04-13  David Schleef  <ds@schleef.org>
9912
9913         * gst/Makefile.am:
9914         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9915         assembly.
9916         * gst/gstcpuid_i386.s: remove
9917
9918 2004-04-13  David Schleef  <ds@schleef.org>
9919
9920         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9921         seems to think it needs to be done.
9922         * docs/gst/tmpl/gstfakesink.sgml:
9923         * docs/gst/tmpl/gstfakesrc.sgml:
9924         * docs/gst/tmpl/gstfdsink.sgml:
9925         * docs/gst/tmpl/gstfdsrc.sgml:
9926         * docs/gst/tmpl/gstfilesink.sgml:
9927         * docs/gst/tmpl/gstfilesrc.sgml:
9928         * docs/gst/tmpl/gstidentity.sgml:
9929         * docs/gst/tmpl/gstmd5sink.sgml:
9930         * docs/gst/tmpl/gstmultifilesrc.sgml:
9931         * docs/gst/tmpl/gstpipefilter.sgml:
9932         * docs/gst/tmpl/gstshaper.sgml:
9933         * docs/gst/tmpl/gstspider.sgml:
9934         * docs/gst/tmpl/gstspideridentity.sgml:
9935         * docs/gst/tmpl/gststatistics.sgml:
9936         * docs/gst/tmpl/gsttee.sgml:
9937         * docs/gst/tmpl/gsttypefind.sgml:
9938         * docs/gst/tmpl/gstutils.sgml:
9939
9940 2004-04-13  David Schleef  <ds@schleef.org>
9941
9942         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9943         and to build DLLs on Windows.
9944         * gst/Makefile.am:
9945         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9946         (gst_filesrc_open_file):
9947         * gst/schedulers/Makefile.am:
9948
9949 2004-04-13  David Schleef  <ds@schleef.org>
9950
9951         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9952         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9953         fixating lists.
9954
9955 2004-04-12  David Schleef  <ds@schleef.org>
9956
9957         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9958         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9959         to using it.
9960         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9961         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9962         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9963         * gst/gststructure.c: (gst_structure_set_valist),
9964         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9965         support for buffers.
9966         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9967         intended to be const.
9968         * gst/gsttag.h: same
9969         * gst/gstvalue.c: (gst_value_serialize_buffer),
9970         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9971         to (de)serialize buffers.
9972         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9973         * testsuite/caps/string-conversions.c: (main):
9974         * testsuite/caps/value_serialize.c: add new test
9975
9976 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9977
9978         * docs/pwg/advanced-types.xml:
9979           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9980
9981 2004-04-11  Benjamin Otte  <otte@gnome.org>
9982
9983         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
9984           rename categories to basic_*
9985         * gst/schedulers/gstbasicscheduler.c: 
9986         (gst_basic_scheduler_chain_wrapper),
9987         (gst_basic_scheduler_chainhandler_proxy),
9988         (gst_basic_scheduler_gethandler_proxy),
9989         (gst_basic_scheduler_eventhandler_proxy):
9990           debugging category fixes - put common stuff in log category
9991         * gst/schedulers/gstbasicscheduler.c: 
9992         (gst_basic_scheduler_chain_elements):
9993           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
9994           active and linking two active chains
9995
9996 2004-04-10  Benjamin Otte  <otte@gnome.org>
9997
9998         * docs/pwg/intro-preface.xml:
9999           fix dead links and remove reference to Wiki
10000
10001 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10002
10003         * gst/schedulers/gstbasicscheduler.c:
10004           make sure we can switch back to the main function if we're still in
10005           the main function (supposed to fix #139617)
10006         * gst/schedulers/gthread-cothreads.h:
10007           don't throw an error when switching to the same cothread
10008
10009 2004-04-09  Benjamin Otte  <otte@gnome.org>
10010
10011         * gst/gstbin.c: (gst_bin_get_type):
10012         * gst/gstclock.c: (gst_clock_get_type):
10013         * gst/gstindex.c: (gst_index_get_type):
10014         * gst/gstobject.c: (gst_object_get_type),
10015         (gst_signal_object_get_type):
10016         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10017         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10018         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10019         * gst/gstqueue.c: (gst_queue_get_type):
10020         * gst/gstregistry.c: (gst_registry_get_type):
10021         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10022         * gst/gstthread.c: (gst_thread_get_type):
10023           don't use memchunks for these objects, use malloc instead
10024
10025 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10026
10027         * docs/gst/.cvsignore:
10028         * docs/gst/Makefile.am:
10029         * docs/gst/gstreamer-sections.txt:
10030         * docs/gst/tmpl/gstaggregator.sgml:
10031         * docs/gst/tmpl/gstbuffer.sgml:
10032         * docs/gst/tmpl/gstclock.sgml:
10033         * docs/gst/tmpl/gstelement.sgml:
10034         * docs/gst/tmpl/gstfakesink.sgml:
10035         * docs/gst/tmpl/gstfakesrc.sgml:
10036         * docs/gst/tmpl/gstfdsink.sgml:
10037         * docs/gst/tmpl/gstfdsrc.sgml:
10038         * docs/gst/tmpl/gstfilesink.sgml:
10039         * docs/gst/tmpl/gstfilesrc.sgml:
10040         * docs/gst/tmpl/gstidentity.sgml:
10041         * docs/gst/tmpl/gstindex.sgml:
10042         * docs/gst/tmpl/gstinfo.sgml:
10043         * docs/gst/tmpl/gstmd5sink.sgml:
10044         * docs/gst/tmpl/gstmultifilesrc.sgml:
10045         * docs/gst/tmpl/gstpad.sgml:
10046         * docs/gst/tmpl/gstpipefilter.sgml:
10047         * docs/gst/tmpl/gstpipeline.sgml:
10048         * docs/gst/tmpl/gstpluginfeature.sgml:
10049         * docs/gst/tmpl/gstqueue.sgml:
10050         * docs/gst/tmpl/gstregistry.sgml:
10051         * docs/gst/tmpl/gstscheduler.sgml:
10052         * docs/gst/tmpl/gstshaper.sgml:
10053         * docs/gst/tmpl/gstspider.sgml:
10054         * docs/gst/tmpl/gstspideridentity.sgml:
10055         * docs/gst/tmpl/gststatistics.sgml:
10056         * docs/gst/tmpl/gstsystemclock.sgml:
10057         * docs/gst/tmpl/gsttee.sgml:
10058         * docs/gst/tmpl/gstthread.sgml:
10059         * docs/gst/tmpl/gsttypefind.sgml:
10060         * docs/gst/tmpl/gstutils.sgml:
10061           further doc build fixes
10062
10063 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10064
10065         * docs/gst/Makefile.am:
10066           make docs exit on scanning problems
10067           fix nonsrcdir build issues
10068         * docs/gst/gstreamer-sections.txt:
10069           adding stuff from -unused
10070         * gst/gstqueue.h:
10071           create GstQueueSize
10072         * gst/schedulers/cothreads_compat.h:
10073           fix cothread warnings
10074
10075 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10076
10077         * docs/gst/gstreamer-sections.txt:
10078           remove defines deprecated by Benjamin
10079
10080 2004-04-07  Benjamin Otte  <otte@gnome.org>
10081
10082         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10083           when the buffer is complete, don't check if other buffers are needed
10084         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10085           check that the offset is >0 so we don't try to read before the
10086           beginning of the file
10087         * gst/gstpad.c: (gst_pad_set_pad_template):
10088           sink the template, so we don't end up with 130k pad templates
10089
10090 2004-04-06  Benjamin Otte  <otte@gnome.org>
10091
10092         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10093           don't ref the element, adding already reffed it. And we didn't unref
10094           it later anyway... (huge memleak when you used many spider elements)
10095         * gst/gstelement.c: (gst_element_base_class_finalize):
10096         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10097         (gst_element_register):
10098         * gst/gsturi.c: (gst_element_make_from_uri):
10099           use gst_object_(un)ref instead of g_object(un)ref
10100
10101 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10102
10103         * gst/gstbuffer.h:
10104           remove macro that wouldn't work anymore because struct member has
10105           been removed.
10106         * gst/schedulers/entryscheduler.c: (schedule_forward):
10107           fix segfault for unconnected pads
10108         
10109 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10110
10111         reviewed by David Schleef <ds@schleef.org>
10112
10113         * gst/gstinfo.h:
10114           *_FORMAT modifiers should require putting a % in front of them for
10115           consistency reasons.
10116
10117 2004-04-05  Colin Walters  <walters@redhat.com>
10118
10119         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10120         space.
10121
10122 2004-04-05  Benjamin Otte  <otte@gnome.org>
10123
10124         * configure.ac:
10125         * gst/Makefile.am:
10126         * gst/gst_private.h:
10127         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10128           add support for detecting if GStreamer runs inside valgrind.
10129           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10130           print a big message in valgrind that GStreamer has detected it's
10131           running inside and might now use different code.
10132         * gst/gstmemchunk.c: (populate), (free_area),
10133         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10134         (gst_mem_chunk_free):
10135           flag memchunks for valgrind, so it can detect leaking of chunks.
10136           This allows detecting leaks of GstBuffer and GstEvent correctly
10137           inside valgrind.
10138
10139 2004-04-05  David Schleef  <ds@schleef.org>
10140
10141         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10142           jensgr@gmx.net (Jens Granseuer)
10143
10144 2004-04-05  David Schleef  <ds@schleef.org>
10145
10146         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10147         (gst_buffer_default_free), (gst_buffer_default_copy),
10148         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10149         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10150         structures in one place.
10151
10152 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10153
10154         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10155           (GST_TIME_FORMAT, GST_TIME_ARGS)
10156
10157 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10158
10159         * testsuite/elements/Makefile.am:
10160           disable test until it stops breaking make distcheck
10161
10162 2004-04-05  Johan Dahlin  <johan@gnome.org>
10163
10164         * po/sv.po: Updated translation
10165
10166 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10167
10168         * gst/gstplugin.c: (gst_plugin_load_file):
10169           fix segfault for when original plugin was loaded statically
10170
10171 2004-04-05  Benjamin Otte  <otte@gnome.org>
10172
10173         * testsuite/debug/category.c: (main):
10174         * testsuite/debug/commandline.c: (main):
10175         * testsuite/debug/output.c: (main):
10176           fix tests to work again with debugging enabled
10177
10178 2004-04-05  Benjamin Otte  <otte@gnome.org>
10179
10180         * gst/schedulers/gstbasicscheduler.c:
10181         (gst_basic_scheduler_pad_link):
10182           fix to work with recent scheduling changes
10183
10184 2004-04-05  Benjamin Otte  <otte@gnome.org>
10185
10186         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10187         prepareChangeLog doesn't work when cvs indents):
10188           don't throw an error when no element can be scheduled, there's too
10189           many weird reasons why it doesn't work. Return STOPPED instead.
10190           decoupled elemts' schedulability doesn't depend on bufpens.
10191
10192 2004-04-04  Benjamin Otte  <otte@gnome.org>
10193
10194         * gst/schedulers/gstbasicscheduler.c:
10195         (gst_basic_scheduler_pad_select):
10196           fix uninitialized variable warnings
10197
10198 2004-04-04  Benjamin Otte  <otte@gnome.org>
10199
10200         * gst/gstpad.c: (gst_pad_collect_valist):
10201           fix uninitialized variable warning
10202         * gst/schedulers/entryscheduler.c: (schedule_forward):
10203           fix shadowed variable
10204
10205 2004-04-04  Benjamin Otte  <otte@gnome.org>
10206
10207         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10208         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10209         (gst_pad_select):
10210         * gst/gstpad.h:
10211         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10212         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10213         * gst/gstscheduler.h:
10214           implement gst_pad_collect as replacement for gst_pad_select.
10215           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10216           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10217           new pad_select, lock and unlock calls.
10218         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10219         * gst/cothreads.h:
10220         * gst/schedulers/cothreads_compat.h:
10221         * gst/schedulers/gthread-cothreads.h:
10222           remove unused cothread_lock and cothread_unlock calls
10223         * gst/schedulers/entryscheduler.c:
10224         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10225         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10226         (gst_entry_scheduler_pad_select):
10227           update to new API
10228         * gst/schedulers/gstbasicscheduler.c:
10229         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10230         (gst_basic_scheduler_pad_select):
10231           remove useless lock and unlock calls, update pad_select to new API
10232           (untested)
10233         * gst/schedulers/gstoptimalscheduler.c:
10234         (gst_opt_scheduler_class_init):
10235           remove useless select, lock and unlock function calls
10236         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10237           use gst_pad_collect instead of gst_pad_select
10238
10239 2004-04-04  Benjamin Otte  <otte@gnome.org>
10240
10241         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10242         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10243         (schedule_next_element), (print_entry):
10244           add can_schedule_pad to handle element states.
10245           add schedule_forward to select the correct entry to schedule next
10246
10247 2004-04-03  Benjamin Otte  <otte@gnome.org>
10248
10249         * gst/schedulers/entryscheduler.c: 
10250           remove unused variable, fix error inside Rb, fix compile warning in
10251           unreachable code
10252
10253 2004-04-03  Benjamin Otte  <otte@gnome.org>
10254
10255         * gst/schedulers/entryscheduler.c:
10256           completely revamp the inner workings, so it's a lot easier to
10257           understand and extend
10258
10259 2004-04-03  Andy Wingo  <wingo@pobox.com>
10260
10261         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10262         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10263         This allows better introspection of pipeline topology.
10264         (add_to_chain): Don't do trickery to put loop elements first;
10265         rather, queue a chain sort by marking the chain as dirty.
10266         (remove_from_chain): Mark the chain dirty.
10267         (sort_chain): New function. Sorts the group list so that terminal
10268         sinks are first. This means elements on the sink side will be
10269         preferentially sscheduled before elements on the src side of the
10270         pipeline.
10271         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10272         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10273         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10274         (group_inc_link): Change argument and variable names to match the
10275         new link structure member names (src and sink).
10276         (group_dec_link): Add some description
10277
10278 2004-04-03  Benjamin Otte  <otte@gnome.org>
10279
10280         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10281         * gst/gstinfo.h:
10282         * testsuite/debug/category.c: (main):
10283         * testsuite/debug/commandline.c: (main):
10284         * testsuite/debug/output.c: (main):
10285         * testsuite/debug/printf_extension.c: (main):
10286           fix to successfully build and test with --disable-gst-debug
10287           configure switch (fixes #138705)
10288
10289 2004-04-03  Benjamin Otte  <otte@gnome.org>
10290
10291         * docs/pwg/building-boiler.xml:
10292           add cvs login line and s/anonymous/anoncvs/
10293
10294 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10295
10296         reviewed by Benjamin Otte  <otte@gnome.org>
10297
10298         * gst/gststructure.c: (gst_structure_free):
10299           memleak fix: free fields array (partial fix for #134839)
10300
10301 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10302
10303         * docs/random/ds/0.9-suggested-changes:
10304           Add a note to change handoff use in fakesrc to be usable in
10305           a more generic way (fakesrc should be renamed to appsrc or so).
10306         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10307           Change signal type to scope, so we can fill the buffer in the
10308           handoff handler (that's the whole use of this signal...).
10309
10310 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10311
10312         * docs/pwg/other-ntoone.xml:
10313           Document muxers and n-to-1 elements.
10314
10315 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10316
10317         * gst/registries/gstxmlregistry.c
10318         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10319         determine if a file is a G_MODULE. The old one discards paths
10320         containing "so" somewhere in the middle. My home directory is
10321         called "soto". Go figure...
10322
10323 2004-03-31  David Schleef  <ds@schleef.org>
10324
10325         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10326         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10327         * gst/gstbuffer.h:
10328
10329 2004-03-31  David Schleef  <ds@schleef.org>
10330
10331         * gst/gstvalue.c: (gst_value_union_int_int_range),
10332         (gst_value_union_int_range_int_range), (gst_value_can_union),
10333         (gst_value_union), (_gst_value_initialize):  Add some union
10334         implementations.  We didn't have any previously.
10335         * testsuite/caps/Makefile.am:
10336         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10337         (gst_audioscale_getcaps), (test_caps), (main): A little test
10338         that is the same as the caps manipulation in audioscale.
10339
10340 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10341
10342         * docs/faq/general.xml:
10343           add entry about "does gst support format X?"
10344
10345 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10346
10347         * gst/gstthread.c:
10348           fix docs
10349         * gst/gstutils.h:
10350           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10351
10352 2004-03-30  Benjamin Otte  <otte@gnome.org>
10353
10354         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10355           set the offset of the buffer to the requested offset
10356         * gst/elements/gsttypefind.c: (stop_typefinding):
10357           revert patch 1.18 (which I unfortunately don't know the reason for).
10358           This is needed to allow downstream elements to seek. Otherwise
10359           typefind might overwrite a previous seek by downstream elements.
10360           This lead to errors with id3tag and typefind on some mp3s.
10361         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10362         (gst_entry_scheduler_iterate):
10363           be more verbose when debugging
10364
10365 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10366
10367         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10368           make sure we don't get NULL strings
10369
10370 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10371
10372         * gst/gstcaps.c:
10373         * gst/gstelement.c:
10374         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10375         * gst/gstindex.c: (gst_index_resolver_get_type),
10376         (gst_index_get_type), (gst_index_factory_get_type):
10377         * gst/gstinfo.c:
10378         * gst/gstpad.c:
10379         * gst/gstplugin.c:
10380         * gst/gsturi.c: (gst_uri_handler_get_type):
10381         * gst/gstvalue.c:
10382           first batch of documentation fixes
10383
10384 2004-03-29  David Schleef  <ds@schleef.org>
10385
10386         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10387         * docs/gst/gstreamer-docs.sgml:  More hacking
10388         * docs/gst/gstreamer-sections.txt:
10389         * docs/gst/tmpl/cothreads_compat.sgml:
10390         * docs/gst/tmpl/gstcaps.sgml:
10391         * docs/gst/tmpl/gstclock.sgml:
10392         * docs/gst/tmpl/gstelement.sgml:
10393         * docs/gst/tmpl/gstevent.sgml:
10394         * docs/gst/tmpl/gstpad.sgml:
10395         * docs/gst/tmpl/gstutils.sgml:
10396         * docs/gst/tmpl/gstxml.sgml:
10397         * docs/gst/tmpl/gthread-cothreads.sgml:
10398         * docs/random/ds/0.9-suggested-changes:
10399         * gst/elements/gstfakesink.h: doc fixes
10400         * gst/elements/gstfakesrc.h: doc fixes
10401         * gst/gstcaps.c: doc fixes
10402         * gst/gstcaps.h: doc fixes
10403         * gst/gstelement.c: doc fixes
10404         * gst/gstelement.h: doc fixes
10405         * gst/gstindex.c: doc fixes
10406         * gst/gstinfo.c: doc fixes
10407         * gst/gstpad.c: doc fixes
10408         * gst/gstpad.h: doc fixes
10409         * gst/gstplugin.c: doc fixes
10410         * gst/gsttypefind.h: doc fixes
10411         * gst/gsturi.c: doc fixes
10412         * gst/gstvalue.c: doc fixes
10413
10414 2004-03-29  Colin Walters  <walters@redhat.com>
10415
10416         * gst/registries/gstxmlregistry.c (get_time)
10417         (plugin_times_older_than_recurse):
10418         Use the result of stat to determine whether a path is a file,
10419         so we don't attempt to opendir() files.
10420
10421 2004-03-29  Benjamin Otte  <otte@gnome.org>
10422
10423         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10424           print caps in debugging output when setting caps failed
10425         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10426         (schedule_next_element), (get_buffer), (run_chainhandler),
10427         (element_may_start), (gst_entry_scheduler_chain_handler),
10428         (gst_entry_scheduler_get_handler),
10429         (gst_entry_scheduler_state_transition),
10430         (gst_entry_scheduler_pad_link):
10431           make this scheduler a testcase for mandatory
10432           discont-before-first-buffer which is needed if we want to allow apps
10433           to release the sound device.
10434           add SCHED_ASSERT macro to print scheduler state before an assertion
10435           triggers.
10436
10437 2004-03-29  Benjamin Otte  <otte@gnome.org>
10438
10439         * COPYING:
10440           replace by LGPL (former COPYING.LIB). The core is completely
10441           licensed LGPL.
10442         * COPYING.LIB:
10443           remove
10444
10445 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10446
10447         * po/af.po:
10448         * po/sv.po:
10449           updated Afrikaans and Swedish
10450
10451 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10452
10453         * po/LINGUAS:
10454         * po/az.po:
10455           adding Azerbaijani (Mətin Əmirov)
10456
10457 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10458
10459         * gst/gstelement.h: 
10460         * gst/gstelement.c (gst_element_set_time_delay): New function for
10461         setting element time taking into account a hardware buffering
10462         delay.
10463         (gst_element_set_time): Now just an invocation of
10464         gst_element_set_time_delay.
10465         * gst/gstclock.h: 
10466         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10467         allowing to set event times in the future.
10468         (gst_clock_get_event_time): Now just an invocation of
10469         gst_clock_get_event_time_delay.
10470
10471 2004-03-28  Benjamin Otte  <otte@gnome.org>
10472
10473         * gst/gstbin.c: (gst_bin_set_element_sched),
10474         (gst_bin_unset_element_sched):
10475           don't add decoupled elements to schedulers - otherwise it's
10476           impossible to control if a link to a decoupled element was already
10477           removed from a scheduler or not.
10478         * gst/schedulers/cothreads_compat.h:
10479         * gst/schedulers/gthread-cothreads.h:
10480           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10481           is no "unused" warning.
10482         * gst/schedulers/Makefile.am:
10483         * gst/schedulers/entryscheduler.c:
10484           add new scheduler, based on ideas from talking to David and Martin.
10485           It's supposed to be small and correct. Currently it's also slow (but
10486           it's not noticable)
10487         * examples/retag/retag.c: (main):
10488         * testsuite/bytestream/test1.c: (main):
10489           fix missing NULLs at end of variadic functions
10490         * testsuite/elements/.cvsignore:
10491           update
10492
10493 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10494
10495         * gst/gstevent.h:
10496         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10497
10498 2004-03-25  David Schleef  <ds@schleef.org>
10499
10500         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10501         * docs/gst/tmpl/gstaggregator.sgml:
10502         * docs/gst/tmpl/gstautoplugfactory.sgml:
10503         * docs/gst/tmpl/gstbin.sgml:
10504         * docs/gst/tmpl/gstbuffer.sgml:
10505         * docs/gst/tmpl/gstbufferstore.sgml:
10506         * docs/gst/tmpl/gstfakesink.sgml:
10507         * docs/gst/tmpl/gstfakesrc.sgml:
10508         * docs/gst/tmpl/gstmd5sink.sgml:
10509         * docs/gst/tmpl/gstreamer-unused.sgml:
10510         * docs/gst/tmpl/gstsearchfuncs.sgml:
10511         * docs/gst/tmpl/gstshaper.sgml:
10512         * docs/gst/tmpl/gstspider.sgml:
10513         * docs/gst/tmpl/gsttee.sgml:
10514         * docs/gst/tmpl/gstutils.sgml:
10515         * docs/gst/tmpl/gstvalue.sgml:
10516         * docs/gst/tmpl/gstxml.sgml:
10517         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10518         and we don't support it.
10519         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10520         (gst_use_threads), (gst_has_threads): same
10521         * gst/gstthreaddummy.c: same
10522         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10523         * gst/autoplug/gstspider.h: same
10524         * gst/elements/gstaggregator.h: Remove bogus function from header
10525         * gst/elements/gstfakesink.h: same
10526         * gst/elements/gstfakesrc.h: same
10527         * gst/elements/gstmd5sink.h: same
10528         * gst/elements/gstshaper.h: same
10529         * gst/elements/gsttee.h: same
10530         * gst/gstbin.c: doc fixes
10531         * gst/gstbin.h: Remove unused definition.
10532         * gst/gstbuffer.c: doc fixes
10533         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10534         * gst/gstfilter.c: doc fixes
10535         * gst/gsttag.c: doc fixes
10536         * gst/gstvalue.c: doc fixes
10537
10538 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10539
10540         * docs/pwg/advanced-types.xml:
10541           Document typefinding.
10542         * docs/pwg/other-oneton.xml:
10543           Document one-to-n elements, demuxers and parsers.
10544
10545 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10546
10547         reviewed by: David Schleef  <ds@schleef.org>
10548
10549         * configure.ac: Check bison version (bug #127838)
10550
10551 2004-03-25  David Schleef  <ds@schleef.org>
10552
10553         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10554         * docs/gst/gstreamer-sections.txt:
10555         * docs/gst/tmpl/gstautoplug.sgml:
10556         * docs/gst/tmpl/gststaticautoplug.sgml:
10557         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10558         * docs/gst/tmpl/gstutils.sgml:
10559         * docs/gst/tmpl/gstxml.sgml:
10560
10561 2004-03-24  David Schleef  <ds@schleef.org>
10562
10563         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10564         manual being such complete crap, that I decided to do major
10565         hacking of it.  This checkin replaces any fine tuning that
10566         may have been done previously, with the benefit of actually
10567         being complete for much of the API that was changed since
10568         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10569         * docs/gst/gstreamer-sections.txt:
10570         * docs/gst/tmpl/GstBin.sgml:
10571         * docs/gst/tmpl/GstBuffer.sgml:
10572         * docs/gst/tmpl/GstCaps.sgml:
10573         * docs/gst/tmpl/GstClock.sgml:
10574         * docs/gst/tmpl/GstCompat.sgml:
10575         * docs/gst/tmpl/GstData.sgml:
10576         * docs/gst/tmpl/GstElement.sgml:
10577         * docs/gst/tmpl/GstEvent.sgml:
10578         * docs/gst/tmpl/GstIndex.sgml:
10579         * docs/gst/tmpl/GstStructure.sgml:
10580         * docs/gst/tmpl/GstTag.sgml:
10581         * docs/gst/tmpl/cothreads.sgml:
10582         * docs/gst/tmpl/cothreads_compat.sgml:
10583         * docs/gst/tmpl/gettext.sgml:
10584         * docs/gst/tmpl/grammar.tab.sgml:
10585         * docs/gst/tmpl/gst-i18n-app.sgml:
10586         * docs/gst/tmpl/gst-i18n-lib.sgml:
10587         * docs/gst/tmpl/gst.sgml:
10588         * docs/gst/tmpl/gst_private.sgml:
10589         * docs/gst/tmpl/gstaggregator.sgml:
10590         * docs/gst/tmpl/gstarch.sgml:
10591         * docs/gst/tmpl/gstatomic.sgml:
10592         * docs/gst/tmpl/gstatomic_impl.sgml:
10593         * docs/gst/tmpl/gstbin.sgml:
10594         * docs/gst/tmpl/gstbuffer.sgml:
10595         * docs/gst/tmpl/gstbufferstore.sgml:
10596         * docs/gst/tmpl/gstcaps.sgml:
10597         * docs/gst/tmpl/gstclock.sgml:
10598         * docs/gst/tmpl/gstcompat.sgml:
10599         * docs/gst/tmpl/gstconfig.sgml:
10600         * docs/gst/tmpl/gstcpu.sgml:
10601         * docs/gst/tmpl/gstdata.sgml:
10602         * docs/gst/tmpl/gstdata_private.sgml:
10603         * docs/gst/tmpl/gstelement.sgml:
10604         * docs/gst/tmpl/gstenumtypes.sgml:
10605         * docs/gst/tmpl/gsterror.sgml:
10606         * docs/gst/tmpl/gstevent.sgml:
10607         * docs/gst/tmpl/gstfakesink.sgml:
10608         * docs/gst/tmpl/gstfakesrc.sgml:
10609         * docs/gst/tmpl/gstfilesink.sgml:
10610         * docs/gst/tmpl/gstfilter.sgml:
10611         * docs/gst/tmpl/gstindex.sgml:
10612         * docs/gst/tmpl/gstinfo.sgml:
10613         * docs/gst/tmpl/gstinterface.sgml:
10614         * docs/gst/tmpl/gstlog.sgml:
10615         * docs/gst/tmpl/gstmacros.sgml:
10616         * docs/gst/tmpl/gstmarshal.sgml:
10617         * docs/gst/tmpl/gstmd5sink.sgml:
10618         * docs/gst/tmpl/gstmultifilesrc.sgml:
10619         * docs/gst/tmpl/gstobject.sgml:
10620         * docs/gst/tmpl/gstpad.sgml:
10621         * docs/gst/tmpl/gstparse.sgml:
10622         * docs/gst/tmpl/gstpipeline.sgml:
10623         * docs/gst/tmpl/gstplugin.sgml:
10624         * docs/gst/tmpl/gstpluginfeature.sgml:
10625         * docs/gst/tmpl/gstqueue.sgml:
10626         * docs/gst/tmpl/gstreamer-unused.sgml:
10627         * docs/gst/tmpl/gstregistry.sgml:
10628         * docs/gst/tmpl/gstregistrypool.sgml:
10629         * docs/gst/tmpl/gstscheduler.sgml:
10630         * docs/gst/tmpl/gstsearchfuncs.sgml:
10631         * docs/gst/tmpl/gstshaper.sgml:
10632         * docs/gst/tmpl/gstspider.sgml:
10633         * docs/gst/tmpl/gstspideridentity.sgml:
10634         * docs/gst/tmpl/gststructure.sgml:
10635         * docs/gst/tmpl/gstsystemclock.sgml:
10636         * docs/gst/tmpl/gsttag.sgml:
10637         * docs/gst/tmpl/gsttaginterface.sgml:
10638         * docs/gst/tmpl/gsttee.sgml:
10639         * docs/gst/tmpl/gstthread.sgml:
10640         * docs/gst/tmpl/gsttrace.sgml:
10641         * docs/gst/tmpl/gsttrashstack.sgml:
10642         * docs/gst/tmpl/gsttypefind.sgml:
10643         * docs/gst/tmpl/gsttypes.sgml:
10644         * docs/gst/tmpl/gsturi.sgml:
10645         * docs/gst/tmpl/gsturitype.sgml:
10646         * docs/gst/tmpl/gstutils.sgml:
10647         * docs/gst/tmpl/gstvalue.sgml:
10648         * docs/gst/tmpl/gstversion.sgml:
10649         * docs/gst/tmpl/gstxml.sgml:
10650         * docs/gst/tmpl/gstxmlregistry.sgml:
10651         * docs/gst/tmpl/gthread-cothreads.sgml:
10652         * docs/gst/tmpl/types.sgml:
10653
10654 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10655
10656         * docs/pwg/other-sink.xml:
10657         * docs/pwg/other-source.xml:
10658           Documentation on how to write source and sink elements. Other
10659           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10660           manager, autoplugger) are all still pending.
10661
10662 2004-03-25  Benjamin Otte  <otte@gnome.org>
10663
10664         * testsuite/elements/Makefile.am:
10665         * testsuite/elements/gst-compprep-check:
10666           add check to make sure gst-compprep works
10667         * testsuite/elements/gst-inspect-check.in:
10668           improve initialization output
10669         * testsuite/Makefile.am:
10670         * testsuite/gst-inspect-check:
10671           remove old file
10672
10673 2004-03-24  David Schleef  <ds@schleef.org>
10674
10675         * testsuite/elements/Makefile.am:
10676         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10677         to the testsuite.
10678
10679 2004-03-24  Benjamin Otte  <otte@gnome.org>
10680
10681         * libs/gst/control/dparam.c: (gst_dparam_attach),
10682         (gst_dparam_detach):
10683         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10684           fix lvalue casts for real
10685
10686 2004-03-24  Benjamin Otte  <otte@gnome.org>
10687
10688         * gst/schedulers/gstbasicscheduler.c:
10689         (gst_basic_scheduler_src_wrapper):
10690         * gst/schedulers/gstoptimalscheduler.c:
10691         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10692         (pad_clear_queued), (gst_opt_scheduler_add_element),
10693         (gst_opt_scheduler_remove_element):
10694           fix GStreamer to not have issues with lvalue casts anymore (fixes
10695           #136841)
10696
10697 2004-03-24  Benjamin Otte  <otte@gnome.org>
10698
10699         * gst/gstelement.c:
10700           add documentation about a gobject quirk where the object hasn't the
10701           correct class pointer set on initialization
10702         * gst/schedulers/gstbasicscheduler.c:
10703         (gst_basic_scheduler_src_wrapper):
10704           make sure to not run into an infinite loop
10705
10706 2004-03-22  Benjamin Otte  <otte@gnome.org>
10707
10708         * gst/gstutils.c: (gst_util_dump_mem):
10709         * gst/gstutils.h:
10710           first argument of gst_util_dump_mem should be const
10711
10712 2004-03-22  Johan Dahlin  <johan@gnome.org>
10713
10714         * gst/gstvalue.h: Clean up a little bit.
10715
10716 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10717
10718         reviewed by Benjamin Otte  <otte@gnome.org>
10719
10720         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10721         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10722         (gst_aggregator_class_init), (gst_aggregator_init):
10723         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10724         (gst_filesrc_dispose), (gst_filesrc_set_location):
10725         * gst/elements/gstidentity.c: (gst_identity_finalize),
10726         (gst_identity_class_init), (gst_identity_chain):
10727         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10728         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10729         (gst_statistics_class_init):
10730         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10731         (gst_tee_get_property):
10732           clean up used memory in this elements correctly on teardown (closes
10733           #137279)
10734
10735 2004-03-20  Colin Walters  <walters@redhat.com>
10736
10737         * gst/registries/gstxmlregistry.c:
10738         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10739         registry saving atomic.
10740
10741 2004-03-20  Colin Walters  <walters@redhat.com>
10742
10743         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10744         Just use
10745         access() instead of actually creating and deleting files.
10746
10747 2004-03-18  David Schleef  <ds@schleef.org>
10748
10749         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10750         (bug #137625)
10751
10752 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10753
10754         * po/sv.po: updated translation (Christian Rose)
10755
10756 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10757
10758         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10759         (gst_filesink_get_query_types), (_do_init),
10760         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10761           return FALSE silently
10762         * po/af.po: updated translation (Petri Jooste)
10763
10764 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10765
10766         * Makefile.am:
10767         * configure.ac:
10768           dist common properly
10769         * po/af.po:
10770         * po/fr.po:
10771         * po/nl.po:
10772         * po/sr.po:
10773         * po/sv.po:
10774           refreshing translations
10775
10776 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10777
10778         * po/LINGUAS:
10779         * po/sv.po:
10780         * po/af.po:
10781           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10782
10783 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10784
10785         * Makefile.am: use common/release.mak
10786
10787 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10788
10789         * docs/faq/gst-uninstalled:
10790           adding gst-monkeysaudio to the list of possible plugin dirs
10791
10792 2004-03-16  David Schleef  <ds@schleef.org>
10793
10794         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10795         (gst_init_check_with_popt_table):  Fix some gettext strings to
10796         make them easier to translate.  Required making the strings
10797         non-const.
10798
10799 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10800
10801         * configure.ac: bump nano to 1
10802
10803 === release 0.8.0 ===
10804
10805 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10806
10807         * configure.ac: release 0.8.0, "Executive Slacks"
10808
10809 2004-03-16  Johan Dahlin  <johan@gnome.org>
10810
10811         * gst/schedulers/gstoptimalscheduler.c
10812         (gst_opt_scheduler_pad_unlink): Remove double ;,
10813         spotted by Scott Wheeler
10814
10815 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10816
10817         * configure.ac: bump libtool version
10818
10819 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10820
10821         * gst/gstcaps.h:
10822         * gst/gststructure.h:
10823           add reserved padding
10824
10825 2004-03-15  Benjamin Otte  <otte@gnome.org>
10826
10827         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10828           set the first parameter for select call correctly.
10829           (fixes #137230)
10830
10831 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10832
10833         * *.c,*.h: don't mix tabs and spaces
10834
10835 2004-03-15  Johan Dahlin  <johan@gnome.org>
10836
10837         * gst/schedulers/gstoptimalscheduler.c
10838         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10839         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10840
10841         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10842         
10843 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10844
10845         * testsuite/Rules:
10846           fix gst-register rules
10847
10848 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10849
10850         * testsuite/Rules:
10851           use versioned gst-register
10852
10853 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10854
10855         * docs/libs/gstreamer-libs-sections.txt:
10856           remove </SUBSECTION>
10857         * gst/gstplugin.c:
10858         * gst/gstregistry.c: (gst_registry_add_plugin):
10859         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10860         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10861           add debugging and fix some comment blocks
10862
10863 2004-03-15  Johan Dahlin  <johan@gnome.org>
10864
10865         * *.h: Revert indent changes.
10866         
10867 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10868
10869         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10870           g_error_free the g_error
10871         * tools/gst-feedback-m.m:
10872           check for other versions of gstreamer
10873         * tools/gst-indent:
10874           use sh, not bash
10875
10876 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10877
10878         * tools/gst-register.c: do not spill paths when registries are not
10879           writable, until we fix the "user running gst-register" case.
10880
10881 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10882
10883         * *.c, *.h: commit of gst-indent run on core
10884
10885 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10886
10887         * tools/gst-indent:
10888         * tools/Makefile.am:
10889           add our indentation style as a script
10890
10891 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10892
10893         * po/sr.po:
10894         * po/LINGUAS:
10895           added Serbian translation
10896
10897 2004-03-13  Benjamin Otte  <otte@gnome.org>
10898
10899         * gst/gstelement.c:
10900           add documentation note about gst_element_found_tags_for_pad not
10901           being usable in getfunctions. (see #137042)
10902
10903 2004-03-12  David Schleef  <ds@schleef.org>
10904
10905         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10906         change API right now!  Readd gst_caps_is_simple() macro.
10907         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10908         uninitialized variable.  I'd bet this caused crashes.
10909         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10910
10911 2004-03-12  Johan Dahlin  <johan@gnome.org>
10912
10913         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10914         * gst/gstcaps.h: Clean up
10915
10916         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10917         _gst_caps_initalize()
10918
10919         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10920         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10921
10922         * gst/gststructure.c (gst_structure_get_type): Ditto
10923
10924         * gst/gststructure.h: Ditto
10925         
10926 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10927
10928         * gst/gstqueue.c: (gst_queue_init):
10929           Reset default max. values in queues. Reason is simply to avoid
10930           braindead use. If you want wider values, use the properties. The
10931           default is supposed to always work. Wider values would make this
10932           beast a memory hog by default (250 full-PAL RGB32 video frames?
10933           That's 440 MB! No thank you).
10934
10935 2004-03-10  David Schleef  <ds@schleef.org>
10936
10937         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10938         were found.  (bug #136793)
10939
10940 2004-03-10  Johan Dahlin  <johan@gnome.org>
10941
10942         * gst/schedulers/gstoptimalscheduler.c
10943         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10944         links to elements within the same group, so we can finally remove
10945         that annoying warning. Refactor the code a little bit
10946         (group_dec_links_for_element): Split out
10947
10948 2004-03-09  David Schleef  <ds@schleef.org>
10949
10950         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10951         (bug #134863)
10952
10953 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10954
10955         * configure.ac: first bug fix due to major/minor bump
10956
10957 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10958
10959         * configure.ac: bump nano to 1
10960
10961 === release 0.7.6 ===
10962
10963 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10964
10965         * NEWS:
10966         * RELEASE:
10967         * configure.ac:
10968           releasing 0.7.6, "Almost"
10969         * po/fr.po:
10970         * po/nl.po:
10971         * tools/Makefile.am:
10972         * tools/gst-feedback-m.m:
10973           unversioned source
10974
10975 2004-03-09  Johan Dahlin  <johan@gnome.org>
10976
10977         Reviewed by: Thomas Vander Stichele
10978
10979         * gst/gstelement.c (gst_element_class_init): register second
10980         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
10981         language bindings can (de)marshall correctly.
10982
10983         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
10984
10985         * gst/gsterror.c (gst_g_error_get_type): New function
10986
10987         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
10988         with VOID:OBJECT,OBJECT,STRING 
10989
10990 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
10991
10992         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
10993         Free a leaked g_timer on early returns.
10994
10995 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10996
10997         * docs/pwg/advanced-types.xml:
10998           Add cinepak description.
10999
11000 2004-03-07  David Schleef  <ds@schleef.org>
11001
11002         * docs/random/mimetypes:  Added cinepak description
11003
11004 2004-03-07  Andy Wingo  <wingo@pobox.com>
11005
11006         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11007
11008         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11009         there are no links to other groups when a group is destroyed.
11010         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11011         removed from a group, make sure the link count to elements linked
11012         to other pads is appropriately decremented. This really fixes
11013         #135672.
11014
11015         The 1.60->1.61 patch has been reapplied in light of this fix.
11016
11017         * gst/gstelement.c (gst_element_dispose): Really protect against
11018         multiple invocations this time.
11019
11020 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11021
11022         * docs/gst/gstreamer-sections.txt:
11023         * docs/gst/tmpl/gsttag.sgml:
11024           remove some deprecated functions, document some existing ones
11025         * gst/gsttag.c: (gst_tag_get_flag):
11026         * gst/gsttag.h:
11027           add accessor function
11028
11029 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11030
11031         * docs/gst/gstreamer-sections.txt:
11032         * docs/gst/tmpl/gsttag.sgml:
11033         * docs/gst/tmpl/gstxml.sgml:
11034         * gst/gsttag.c: (gst_tag_get_flag):
11035         * gst/gsttag.h:
11036
11037 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11038
11039         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11040         leak
11041
11042 2004-03-05  David Schleef  <ds@schleef.org>
11043
11044         * REQUIREMENTS: Add bison and flex.
11045         * configure.ac: Fix comment about bison.
11046         * docs/random/ds/0.9-suggested-changes: yer ma
11047         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11048
11049 2004-03-05  Benjamin Otte  <otte@gnome.org>
11050
11051         * gst/gstelement.c: (gst_element_error_full):
11052           revert recent recursive state changing commit - messing with other
11053           elements' states is evil and should be done by apps only.
11054
11055 2004-03-05  Benjamin Otte  <otte@gnome.org>
11056
11057         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11058           check for empty intersection instead of NULL caps
11059         (gst_element_get_compatible_pad_filtered):
11060           remove old workaround that is only a bug nowadays
11061
11062 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11063
11064         * gst/gstelement.c: (gst_element_error_full):
11065           make elements try to recursively change state to PAUSED on all
11066           parents after an error to suppress ensuing warnings
11067         * gst/parse/grammar.y:
11068           make it check if it was able to sync the state, and throw an error
11069           if not, so stuff like
11070           oggdemux ! vorbisdec ! osssink gets caught
11071
11072 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11073
11074         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11075           it contains lib64; use AS_AC_EXPAND to handle it properly
11076
11077 2004-03-05  David Schleef  <ds@schleef.org>
11078
11079         * gst/gstcpuid_i386.s:  Remove unused code
11080         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11081         (gst_getbits_newbuf): Remove MMX code
11082         * libs/gst/getbits/getbits.h: Remove MMX code
11083
11084 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11085
11086         * debian/.cvsignore:
11087         * debian/README.Debian:
11088         * debian/changelog:
11089         * debian/control:
11090         * debian/control.in:
11091         * debian/copyright:
11092         * debian/gstreamer-core-libs-dev.files:
11093         * debian/gstreamer-core-libs.files:
11094         * debian/gstreamer-core.files:
11095         * debian/gstreamer-core.postinst:
11096         * debian/gstreamer-core.postrm:
11097         * debian/gstreamer-doc.files:
11098         * debian/gstreamer-doc.links:
11099         * debian/gstreamer-doc.lintian:
11100         * debian/gstreamer-runtime.files:
11101         * debian/gstreamer-runtime.manpages:
11102         * debian/gstreamer-runtime.postinst:
11103         * debian/gstreamer-runtime.postrm:
11104         * debian/gstreamer-tools.files:
11105         * debian/gstreamer-tools.manpages:
11106         * debian/libgstreamer-dev.files:
11107         * debian/libgstreamer0.4.1.files:
11108         * debian/libgstreamerVERSION.files:
11109         * debian/rules:
11110         Debian package info not maintained here.
11111
11112 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11113
11114         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11115         * gst/gstbin.c: (gst_bin_class_init):
11116         * gst/gstelement.c: (gst_element_class_init):
11117         * gst/gstindex.c: (gst_index_class_init):
11118         * gst/gstobject.c: (gst_object_class_init),
11119         (gst_signal_object_class_init):
11120         * gst/gstpad.c: (gst_pad_template_class_init):
11121         * gst/gstregistry.c: (gst_registry_class_init):
11122         * gst/gsturi.c: (gst_uri_handler_base_init):
11123         * gst/gstxml.c: (gst_xml_class_init):
11124         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11125         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11126           make all signal names use dashes instead of underscore
11127
11128 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11129
11130         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11131
11132 2004-03-03  Benjamin Otte  <otte@gnome.org>
11133
11134         * gst/schedulers/gstoptimalscheduler.c:
11135           revert last commit by Andy Wingo. It causes segfaults on unreffing
11136           in Rhythmbox. (see bug #135672)
11137
11138 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11139
11140         * po/fr.po: fix typo
11141
11142 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11143
11144         * tools/gst-inspect.c: (main): 
11145         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11146
11147 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11148
11149         * configure.ac:
11150           get GLIB_ONLY and POPT flags for the nonversioned binaries
11151         * tools/Makefile.am:
11152           use them
11153
11154 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11155
11156         * gst/gst.c: (init_post):
11157           change so that GST_REGISTRY now is where the global registry gets
11158           saved, since that is where plugins now get attached to first, and
11159           spilled over to the user registry.  Note that in the case of using
11160           GST_REGISTRY env var, we don't want to affect any real registries
11161           beyond the one given by this var, and thus we don't set a user
11162           registry to spill to.  So make sure GST_REGISTRY is writable.
11163
11164 2004-03-01  David Schleef  <ds@schleef.org>
11165
11166         * AUTHORS:  Added some names.  Add yourself if you're missing.
11167
11168 2004-03-01  David Schleef  <ds@schleef.org>
11169
11170         * MAINTAINERS: Add
11171
11172 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11173
11174         * configure.ac:
11175           remove whitespace
11176         * docs/gst/tmpl/gstbuffer.sgml:
11177         * docs/gst/tmpl/gstdata.sgml:
11178         * docs/gst/tmpl/gstreamer-unused.sgml:
11179         * docs/gst/tmpl/gstxml.sgml:
11180           doc update
11181         * docs/manuals.mak:
11182           add a FIXME
11183         * docs/pwg/intro-preface.xml:
11184         * docs/pwg/pwg.xml:
11185           remove GNOME
11186         * gst/gst.c: (init_post):
11187           try GST_PLUGIN_PATH paths for the _global_registry first
11188         * gst/gstelement.h:
11189           add the error message as well, otherwise (null) debug info doesn't
11190           make much sense
11191         * tools/gst-register.c: (main):
11192           spill paths to next registry if this registry is not writable
11193         * po/fr.po:
11194         * po/nl.po:
11195           translation updates
11196
11197 2004-03-01  Johan Dahlin  <johan@gnome.org>
11198
11199         * gst/gstbuffer.c (_gst_buffer_initialize): 
11200         * gst/gstdata.c (gst_data_get_type): 
11201         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11202         instead of ref, since some applications that uses GBoxed
11203         routines depends on a function that actually returns a copy.
11204
11205 2004-02-27  Benjamin Otte  <otte@gnome.org>
11206
11207         * gst/gstbuffer.h:
11208           remove gst_buffer_free, use gst_data_unref
11209         * gst/gstdata.c: (gst_data_get_type):
11210           use refcounting in GstData GBoxed registration
11211         * gst/gstdata.h:
11212           remove gst_data_free, use gst_data_unref
11213
11214 2004-02-27  Johan Dahlin  <johan@gnome.org>
11215
11216         * gst/gstdata.c (gst_data_get_type): New function, register
11217         GstData as a GBoxed type.
11218
11219         * gst/gstdata.h (GST_TYPE_DATA): New macro
11220
11221 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11222
11223         * Makefile.am:
11224         * gstreamer.spec.in:
11225           put back RELEASE
11226         * gst/Makefile.am:
11227           clean up non-disting of built files
11228         * testsuite/debug/commandline.c:
11229           test fix for option rename
11230
11231 2004-02-26  David Schleef  <ds@schleef.org>
11232
11233         * configure.ac:  We don't really need glib-2.3.  Also remove
11234         some unneeded checks for library functions.
11235         * gst/Makefile.am:  Instead, we need to not dist files created
11236         by glib-genmarshal.
11237
11238 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11239
11240         * configure.ac:
11241           bump glib required version to 2.3.0 for g_value_takes_boxed
11242
11243  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11244
11245         * common/m4/gst-docs.m4
11246         change flavour text from enable to disable as enable is our default
11247         closes bug Bug 135304
11248
11249 === release 0.7.5 ===
11250  
11251  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11252  
11253         * NEWS:
11254           instate NEWS file
11255         * Makefile.am:
11256         * gstreamer.spec.in:
11257         * RELEASE:
11258           put back release
11259         * configure.ac:
11260         * docs/random/release:
11261           more updates
11262
11263 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11264
11265         * gst/gsttag.c: (_gst_tag_initialize):
11266         * po/fr.po:
11267         * po/nl.po:
11268           remove hyphen from codec tags
11269
11270 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11271
11272         * gst/parse/Makefile.am:
11273           fix dependency so that a make from a clean build works the first
11274           time
11275
11276 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11277
11278         * docs/random/release:
11279           update release strategy
11280         * po/fr.po:
11281           auto-update po file
11282         * po/nl.po:
11283           update dutch translation
11284
11285 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11286
11287         * docs/manual/debugging.xml:
11288         fix manual for new debugging system
11289
11290 2004-02-25  Andy Wingo  <wingo@pobox.com>
11291
11292         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11293         gst_pad_link_prepare. Please email the list with specific reasons
11294         for reverting.
11295
11296 2004-02-24  Andy Wingo  <wingo@pobox.com>
11297
11298         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11299         invocations.
11300
11301         * gst/schedulers/gstoptimalscheduler.c:
11302         I added a mess of prototypes at the top of the file by way of
11303         documentation. Some of the operations on chains and groups were
11304         re-organized.
11305
11306         (create_group): Added a type argument so if the group is enabled,
11307         the setup_group_scheduler knows what to do.
11308         (group_elements): Added a type argument here, too, to be passed on
11309         to create_group.
11310         (group_element_set_enabled): If an unlinked PLAYING element is
11311         added to a bin, we have to create a new group to hold the element,
11312         and this function will be called before the group is added to the
11313         chain. Thus we have a valid case for group->chain==NULL. Instead
11314         of calling chain_group_set_enabled, just set the flag on the group
11315         (the chain's status will be set when the group is added to it).
11316         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11317         Setup the group scheduler when the group is enabled, not
11318         specifically when an element goes PAUSED->PLAYING. This means
11319         PLAYING elements can be added, linked, and scheduled into a
11320         PLAYING pipeline, as was intended.
11321         (add_to_group): Don't ref the group twice. I don't know when this
11322         double-ref got in here. Removing it has the potential to cause
11323         segfaults if other parts of the scheduler are buggy. If you find
11324         that the scheduler is segfaulting for you, put in an extra ref
11325         here and see if that hacks over the underlying issue. Of course,
11326         then find out what code is unreffing a group it doesn't own...
11327         (create_group): Make the extra refcount floating, and remove it
11328         after adding the element. This means that...
11329         (unref_group): Destroy when the refcount reaches 0, not 1, like
11330         every other refcounted object in the known universe.
11331         (remove_from_group): When a group becomes empty, set it to be not
11332         active, and remove it from its chain. Don't unref it again,
11333         there's no floating reference any more.
11334         (destroy_group): We have to remove the group from the chain in
11335         remove_from_group (rather than here) to break refcounting cycles
11336         (the chain always has a ref on the group). So assert that
11337         group->chain==NULL.
11338         (ref_group_by_count): Removed, it was commented out anyway.
11339         (merge_chains): Use the remove_from_chain and add_to_chain
11340         primitives to do the reparenting, instead of rolling our own
11341         implementation.
11342         (add_to_chain): The first non-disabled group in the chain's group
11343         list will be the entry point for the chain. Because buffers can
11344         accumulate in loop elements' peer bufpens, we preferentially
11345         schedule loop groups before get groups to avoid unnecessary
11346         execution of get-based groups when the bufpens are already full.
11347         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11348         (get_group_schedule_function): Ditto.
11349         (loop_group_schedule_function): Ditto.
11350         (gst_opt_scheduler_loop_wrapper): Ditto.
11351         (gst_opt_scheduler_iterate): Ditto.
11352
11353         I understand the opt scheduler now, yippee!
11354
11355         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11356         (gst_pad_get_name, gst_pad_set_chain_function) 
11357         (gst_pad_set_get_function, gst_pad_set_event_function) 
11358         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11359         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11360         (gst_pad_set_query_function, gst_pad_get_query_types) 
11361         (gst_pad_get_query_types_default) 
11362         (gst_pad_set_internal_link_function) 
11363         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11364         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11365         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11366         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11367         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11368         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11369         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11370         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11371         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11372         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11373         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11374         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11375         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11376         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11377         argument checks, and some doc fixes.
11378
11379         (gst_pad_custom_new_from_template): Um, does anyone
11380         use these functions? Actually make a custom pad instead of a
11381         normal one.
11382         (gst_pad_try_set_caps): Transpose some checks.
11383         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11384         the pad is in negotiation.
11385         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11386         
11387         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11388
11389         * gst/gstelement.h: 
11390         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11391         on the list.
11392
11393 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11394
11395         * gst/gstbin.c: (gst_bin_add):
11396           add error for not being able to add elements
11397
11398 2004-02-22  Julien MOUTTE <julien@moutte.net>
11399
11400         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11401         audio-codec and video-codec.
11402
11403 2004-02-22  Benjamin Otte  <otte@gnome.org>
11404
11405         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11406
11407         * autogen.sh:
11408           replace test -e with test -x for mkinstalldirs to be more portable.
11409           (fixes #134816)
11410
11411 2004-02-22  Benjamin Otte  <otte@gnome.org>
11412
11413         * gst/gstpad.c:
11414           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11415           too noisy
11416         * gst/gsttag.c: (_gst_tag_initialize):
11417         * gst/gsttag.h:
11418           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11419         * libs/gst/control/dparam.c: (gst_dparam_attach):
11420         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11421           check that types for attached dparams match
11422
11423 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11424
11425         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11426         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11427         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11428           fix errors
11429
11430 2004-02-20  Andy Wingo  <wingo@pobox.com>
11431
11432         * gst/gstbin.c:
11433         * gst/gstbuffer.c:
11434         * gst/gstplugin.c:
11435         * gst/registries/gstxmlregistry.c: 
11436         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11437
11438         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11439         (gst_element_add_pad): DEBUG->INFO, some fixes.
11440         (gst_element_get_compatible_pad_template): Just see if the
11441         templates' caps intersect, not if one is a strict subset of the
11442         other. This conforms more to what gst_pad_link_intersect() does.
11443         (gst_element_class_add_pad_template): Don't memcpy the pad
11444         template, just ref it.
11445         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11446
11447         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11448         (gst_pad_link_filtered): Debug changes.
11449         (gst_pad_link_prepare): New function, consolidated from
11450         can_link_filtered and link_filtered.
11451
11452         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11453         look more like that of the functions in gstelement.c
11454
11455         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11456         object, and return the empty string if object is NULL.
11457
11458         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11459         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11460         LOG, not DEBUG. We still get flex info on debug.
11461
11462         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11463         debug string more verbose.
11464         (plugin_times_older_than): DEBUG->LOG.
11465
11466 2004-02-20  Julien MOUTTE <julien@moutte.net>
11467
11468         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11469         will emit found_tag for each stream they demux with the codec.
11470
11471 2004-02-20  Benjamin Otte  <otte@gnome.org>
11472
11473         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11474           copy navigation event correctly. Check freeing tag lists. 
11475         * gst/gstthread.c: (gst_thread_change_state):
11476           don't abort() on state changing mess - it might happen because of
11477           bugs.
11478         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11479           use boxed functions
11480         * gst/gstvalue.h:
11481           fix GST_VALUE_HOLDS_CAPS
11482
11483 2004-02-19  David Schleef  <ds@schleef.org>
11484
11485         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11486         and use it for GST_FUNCTION.  (bug #134750)
11487
11488 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11489
11490         * po/fr.po:
11491         * po/nl.po:
11492           updating translations
11493
11494 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11495
11496         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11497
11498 2004-02-18  kost@imn.htwk-leipzig.de
11499
11500         reviewed by: David Schleef  <ds@schleef.org>
11501
11502         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11503         for libgstcontrol.
11504
11505 2004-02-18  David Schleef  <ds@schleef.org>
11506
11507         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11508         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11509         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11510         * tools/gst-inspect.c: (print_element_info): Support dumping of
11511         double dparam information.
11512
11513 2004-02-17  David Schleef  <ds@schleef.org>
11514
11515         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11516         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11517         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11518         Use GST_TYPE_CAPS in signal prototype.
11519         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11520         Convert GST_TYPE_CAPS to boxed.
11521         * gst/gstelement.c: (gst_element_class_init):
11522         Use GST_TYPE_TAG_LIST in signal prototype.
11523         * gst/gstindex.c: (gst_index_class_init):
11524         * gst/gstindex.h:
11525         Add GST_TYPE_INDEX_ENTRY type.
11526         * gst/gstmarshal.list:
11527         Add necessary marshal types.
11528         * gst/gstpad.c: (gst_real_pad_class_init),
11529         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11530         (gst_pad_recover_caps_error):
11531         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11532         * gst/gststructure.c: (_gst_structure_initialize),
11533         (gst_structure_copy), (_gst_structure_copy_conditional):
11534         * gst/gststructure.h:
11535         Convert GST_TYPE_STRUCTURE to boxed.
11536         * gst/gsttag.c: (gst_tag_list_get_type):
11537         * gst/gsttag.h:
11538         Add GST_TYPE_TAG_LIST type.
11539
11540 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11541
11542         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11543         to what we agreed with david.
11544         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11545
11546 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11547
11548         * po/nl.po: update translation
11549
11550 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11551
11552         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11553           throw an error if spider is trying to play a mime type there is
11554           no decoder for
11555         * po/POTFILES.in:
11556           add gst/autoplug/gstspider.c for translation
11557
11558 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11559
11560         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11561         silently when the pad is negotiating.
11562
11563 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11564
11565         * docs/faq/Makefile.am:
11566           add script to run gstreamer uninstalled 
11567         * docs/faq/faq.xml:
11568         * docs/faq/developing.xml:
11569         * docs/faq/gst-uninstalled:
11570           extract script to run gstreamer uninstalled
11571         * docs/manuals.mak:
11572           add EXTRA_SOURCES variable for Makefile.am's to set to
11573           use additional SOURCE files for the doc build
11574
11575 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11576
11577         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11578
11579 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11580
11581         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11582         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11583         an error was thrown by osssink. Basically a state change failure for
11584         an element in a different scheduling group was considered as
11585         successful, which means that caps nego was going on and weird stuff
11586         happened. Like I wrote in the comment there, if someone wants to
11587         revert that please drop me a mail explaining why because I really see
11588         no point in keeping that broken behaviour there.
11589         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11590         be empty, we then return NULL which will trigger a nice error when 
11591         pulling from the pad.
11592
11593 2004-02-13  David Schleef  <ds@schleef.org>
11594
11595         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11596         (gst_dparam_get_property), (gst_dparam_set_property),
11597         (gst_dparam_do_update_default):
11598         * libs/gst/control/dparam.h:
11599         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11600         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11601         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11602         (gst_dpsmooth_do_update_double):
11603         * libs/gst/control/dparam_smooth.h:
11604         * libs/gst/control/dparammanager.c:
11605         (gst_dpman_inline_direct_update):
11606         Add support for double dparams.
11607
11608 2004-02-13  David Schleef  <ds@schleef.org>
11609
11610         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11611         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11612
11613 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11614
11615         reviewed by: David Schleef  <ds@schleef.org>
11616
11617         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11618         (gst_fdsrc_init), (gst_fdsrc_set_property),
11619         (gst_fdsrc_get_property), (gst_fdsrc_get):
11620         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11621         and sends an EOS event if file descriptor reading times out.
11622
11623 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11624
11625         * configure.ac:
11626           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11627
11628 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11629
11630         * configure.ac: pass required libxml version as argument
11631         (bug reported by Christophe Fergeau)
11632
11633 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11634   
11635         * docs/gst/gstreamer-docs.sgml:
11636         * docs/gst/tmpl/gstxml.sgml:
11637         * docs/libs/gstreamer-libs-docs.sgml:
11638           version API docs
11639
11640 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11641
11642         * gst/gstinfo.c:
11643         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11644         (gst_registry_pool_feature_filter):
11645         * gst/gstthread.c: (gst_thread_class_init):
11646         * gst/gstvalue.c:
11647           add includes exposed by building without libxml
11648         * gst/indexers/Makefile.am:
11649           do not build fileindex when LOADSAVE disabled; we should have
11650           a better libxml check later since fileindex depends on xml, not
11651           LOADSAVE or REGISTRY
11652         * libs/gst/control/Makefile.am:
11653           link with m
11654         * tools/Makefile.am:
11655           fix wrong source code for gst-xmlinspect
11656
11657 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11658
11659         * configure.ac:
11660           fix gcov help output
11661           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11662         * docs/random/release:
11663           some updated releasing notes
11664         * gstreamer.spec.in:
11665           more updates
11666
11667 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11668
11669         * docs/faq/faq.xml:
11670         * docs/manual/manual.xml:
11671         * docs/pwg/pwg.xml:
11672         * docs/pwg/titlepage.xml:
11673           put version in documentation
11674
11675 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11676
11677         * tools/Makefile.am: fix man page installation
11678
11679 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11680
11681         * configure.ac:
11682           don't check for libxml when load/save and registry disabled (#105844)
11683         * gstreamer.spec.in:
11684           sync with fedora candidate spec
11685
11686 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11687
11688         * po/fr.po:
11689         * po/nl.po:
11690           replace multidisksrc with multifilesrc
11691
11692 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11693
11694         * po/POTFILES.in:
11695           update to multidisksrc => multifilesrc file renaming (#134145)
11696
11697 2004-02-11  David Schleef  <ds@schleef.org>
11698
11699         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11700         * docs/gst/tmpl/gstpadtemplate.sgml: same
11701         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11702         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11703         fixing dance.
11704         * gst/gstutils.c: Remove disabled code that uses GstProps.
11705         * gst/registries/gstxmlregistry.h: same
11706         * docs/random/ds/0.9-suggested-changes: random notes
11707
11708 2004-02-11  kost@imn.htwk-leipzig.de
11709
11710         reviewed by: David Schleef  <ds@schleef.org>
11711
11712         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11713         initialisation of clock (bug #134128)
11714
11715 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11716
11717         * configure.ac:
11718         * gst/elements/Makefile.am:
11719         * gst/elements/gstelements.c:
11720         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11721         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11722         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11723         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11724         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11725         * gst/elements/gstmultifilesrc.h:
11726           rename multidisksrc to multifilesrc (part of #122200)
11727
11728 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11729
11730         * docs/manuals.mak:
11731           fix automake complaints
11732         * gst-element-check.m4:
11733           fix unquotedness
11734
11735 2004-02-11  David Schleef  <ds@schleef.org>
11736
11737         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11738         * gst/gstatomic_impl.h: Disable sparc implementation.
11739
11740 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11741
11742         * gst-element-check.m4:
11743           fix underquoted macros as reported by automake 1.8.x (#133800)
11744         * configure.ac:
11745           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11746           by autopoint (fixes #132996)
11747
11748 2004-02-10  Andy Wingo  <wingo@pobox.com>
11749
11750         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11751         way to do inheritance.
11752         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11753         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11754         Routine docs.
11755         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11756         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11757         doc.
11758         (gst_pad_unlink, gst_pad_is_linked): Docs.
11759         (gst_pad_renegotiate): A brief description of capsnego.
11760         (gst_pad_try_set_caps): Document.
11761         (gst_pad_try_set_caps_nonfixed): Document.
11762         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11763         (gst_pad_set_parent): Deprecated (although not out of the API).
11764         (gst_pad_get_parent): Deprecated, although many plugins use this.
11765         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11766         are private and will go away in 0.9.
11767         (gst_pad_perform_negotiate): Doc.
11768         (gst_pad_link_unnegotiate): I think this is meant to be static.
11769         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11770         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11771         (gst_pad_get_peer): Doc updates.
11772         (gst_pad_caps_change_notify): Doc.
11773         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11774         (gst_ghost_pad_new): Doc fixes.
11775
11776         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11777         (gst_object_check_uniqueness): 
11778
11779         * gst/gstelement.c (gst_element_add_pad) 
11780         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11781         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11782         (gst_element_get_static_pad, gst_element_get_pad_list) 
11783         (gst_element_class_get_pad_template_list) 
11784         (gst_element_class_get_pad_template): Work on the docs.
11785         (gst_element_get_pad_template_list): Uses the class method.
11786         (gst_element_get_compatible_pad_template): Docs, and consolidate
11787         some test conditions. 
11788         (gst_element_get_pad_from_template): New static function.
11789         (gst_element_request_compatible_pad): Docs, and work with
11790         non-request compatible templates. 
11791         (gst_element_get_compatible_pad_filtered): Docs and remove
11792         redundant checks.
11793         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11794         (gst_element_link_filtered, gst_element_link_many) 
11795         (gst_element_link, gst_element_link_pads) 
11796         (gst_element_unlink_many): Docs.
11797
11798 2004-02-05  Andy Wingo  <wingo@pobox.com>
11799
11800         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11801         s/pointer/boxed/.
11802
11803         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11804
11805         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11806         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11807         with the type=GST_TYPE_CAPS. This allows language bindings to know
11808         what kind of data they're dealing with.
11809
11810         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11811         to NULL when g_value_init is called. GstCaps, which rolls its own
11812         type implementation, now does the same instead of allocating empty
11813         caps.
11814         (_gst_caps_initialize, _gst_caps_collect_value,
11815         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11816         table methods. This allows G_VALUE_COLLECT to work.
11817
11818 2004-02-05  Andy Wingo  <wingo@pobox.com>
11819
11820         * configure.ac:
11821         * testsuite/Makefile.am (SUBDIRS): 
11822         * testsuite/ghostpads/Makefile.am: 
11823         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11824
11825         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11826         These two routines are the only ones that set
11827         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11828         pad template. They should be made static, depending on ABI needs.
11829         (gst_real_pad_dispose): Handle the case of ghost pads without a
11830         parent. Assert after dealing with ghost pads that the ghost pad
11831         list is empty.
11832         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11833         set after creation.
11834         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11835         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11836         functions. set_property will call add_ghost_pad/remove_ghost_pad
11837         as appropriate.
11838         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11839
11840         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11841         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11842         (gst_element_remove_pad): Handle ghost pads as well.
11843         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11844         depending on API-stability needs).
11845
11846 2004-02-05  Andy Wingo  <wingo@pobox.com>
11847
11848         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11849         of course they're const
11850
11851 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11852
11853         * tools/Makefile.am:
11854         * tools/gst-feedback:
11855         * tools/gst-feedback-0.7:
11856           make gst-feedback versioned too for consistency
11857
11858 2004-02-11  David Schleef  <ds@schleef.org>
11859
11860         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11861         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11862
11863 2004-02-10  Julien MOUTTE <julien@moutte.net>
11864
11865         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11866         the structure does not contain a valid tag list. Adding a safety check
11867         to remove a noisy warning in that case.
11868
11869 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11870
11871         * gst/gst.c: fix name to be in line with others
11872
11873 2004-02-09  Julien MOUTTE <julien@moutte.net>
11874
11875         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11876         not shout that loud when len is 0. Just return 0 silently.
11877
11878 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11879
11880         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11881         because data_unref has one and I prefer the debug to be symetric.
11882         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11883         were refed when added to the queue and unrefed only once when the queue
11884         was flushed. Now the flush handler unref the buffers two times : first
11885         unref for the ref added when pushing in the queue's tail and second
11886         unref to destroy the flushed buffer.
11887
11888 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11889
11890         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11891
11892 2004-02-06  David Schleef  <ds@schleef.org>
11893
11894         * docs/random/ds/0.9-suggested-changes: Random ramblings
11895         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11896         to int before printing.
11897         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11898         * gst/parse/parse.l: same.  See bug #129600
11899
11900 2004-02-06  David Schleef  <ds@schleef.org>
11901
11902         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11903         (gst_index_add_entry), (gst_index_add_associationv),
11904         (gst_index_add_association): Add gst_index_add_associationv()
11905         and clean up gst_index_add_association(). #127133
11906
11907 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11908
11909         * autogen.sh: check out common with right tag if CVS/Tag exists
11910
11911 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11912
11913         * testsuite/ghostpads/ghostpads.c: (main):
11914           fix testsuite from segfaulting
11915
11916 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11917
11918         * Makefile.am: add release target
11919         * configure.ac: bump nano to 1
11920         * docs/random/release:
11921
11922 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11923
11924         * gst/gstcaps.h:
11925         * gst/gstelement.c: (gst_element_base_class_init),
11926         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11927         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11928         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11929         (gst_real_pad_dispose):
11930         * gst/gststructure.c: (gst_structure_free),
11931         (gst_structure_from_string):
11932           put reverted patch back in
11933         * gst/gstelement.c: (gst_element_remove_pad):
11934           free explicit caps if they're set
11935         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11936           copy the structure when fixating
11937
11938 2004-02-05  David Schleef  <ds@schleef.org>
11939
11940         * gst/gstmarshal.list:
11941         * gst/gstpad.c: (gst_real_pad_class_init),
11942         (_gst_real_pad_fixate_accumulator):
11943         Revert POINTER->BOXED change in signal marshaller.
11944
11945 === release 0.7.4 ===
11946                                                                                 
11947 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11948                                                                                 
11949         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11950         * configure.ac: changed for release
11951
11952 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11953
11954         * gstreamer.spec.in:
11955           bump required version of gtk-doc
11956
11957 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11958
11959         * gst/gstcaps.h:
11960         * gst/gstelement.c: (gst_element_base_class_init),
11961         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11962         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11963         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11964         (gst_real_pad_dispose):
11965         * gst/gststructure.c: (gst_structure_free),
11966         (gst_structure_from_string):
11967           revert patch that breaks applications, reapply after release
11968           to get this fixed properly
11969
11970 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11971
11972         * gst/gsttag.c: (_gst_tag_initialize):
11973         * gst/gsttag.h:
11974           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11975
11976 2004-02-04  David Schleef  <ds@schleef.org>
11977
11978         Fix some memleaks:
11979         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11980         (gst_spider_plug_from_srcpad):
11981         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
11982
11983 2004-02-04  David Schleef  <ds@schleef.org>
11984
11985         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
11986         a GstRealPad before accessing its structure members.
11987
11988 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11989
11990         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
11991         (gst_clock_get_speed):
11992         * gst/gstclock.h:
11993           reset padding, remove unused fields
11994
11995 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11996
11997         * gst/autoplug/gstspideridentity.c:
11998         (gst_spider_identity_sink_loop_type_finding):
11999           use get_allowed_caps, not get_caps (fixes #132519)
12000         * gst/elements/gsttypefind.c: (stop_typefinding):
12001           use correct order when sending buffers and seeking
12002
12003 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12004
12005         * configure.ac:
12006         * gst/gstelement.h:
12007         * gst/gstpad.h:
12008         * gst/gstqueue.h:
12009           upgrade libtool CURRENT, reset padding
12010
12011 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12012
12013         * configure.ac:
12014           bump to prerelease
12015           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12016
12017 2004-02-04  David Schleef  <ds@schleef.org>
12018
12019         * docs/random/ds/0.9-suggested-changes: random notes
12020         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12021         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12022         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12023         expansion.
12024         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12025         (gst_filesink_get_query_types): same
12026         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12027         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12028         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12029         to use new GST_PTR_FORMAT.
12030         * gst/gstelement.h: deprecate function factory macros
12031         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12032         These are our last variadic macros that can't be replaced with
12033         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12034         attempting to deprecate gst_element_clock_wait().
12035         * gst/gstevent.h: same
12036         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12037         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12038         * gst/gstpad.h: deprecate function factory macros similar to above.
12039
12040 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12041
12042         * configure.ac:
12043         * tools/Makefile.am:
12044         * tools/gst-run.c: (popt_callback), (hash_print_key),
12045         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12046         (get_candidates), (main):
12047           add new source file to generate non-versioned wrapper binaries
12048           for our tools.
12049
12050 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12051
12052         * gst/gstevent.c: (_gst_event_free):
12053           actually break; inside the switch statement
12054         * gst/parse/grammar.y:
12055           fix memleak where GValues weren't unset
12056
12057 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12058
12059         * gst/gststructure.c: (gst_structure_from_string):
12060           fix huge memleak
12061         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12062         (new_entry), (gst_type_find_element_chain):
12063         * gst/gstelement.c: (gst_element_base_class_init),
12064         (gst_element_class_set_details):
12065         * gst/gstpad.c: (gst_pad_can_link_filtered):
12066           fix smaller memleaks
12067         * gst/gstpad.c: (gst_real_pad_dispose):
12068           check that explicit caps are gone
12069         * gst/gststructure.c: (gst_structure_free):
12070           actually free the structure
12071         * gst/gstelement.c: (gst_element_clear_pad_caps):
12072           unset explicit caps
12073
12074 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12075
12076         * tools/Makefile.am:
12077           use AM_CFLAGS since all the CFLAGS are the same
12078           use AM_LDFAGS
12079
12080 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12081
12082         * docs/manual/gnome.xml:
12083           expand example a little
12084         * gst/gst.c: (gst_init_with_popt_table),
12085         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12086           make sure popt option displays are done with right textdomain
12087           use GstPoptOption type
12088         * gst/gst.h:
12089           create GstPoptOption type
12090
12091 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12092
12093         * gst/gsterror.c: (_gst_stream_errors_init):
12094         * gst/gsterror.h:
12095           adding error type for no codec
12096         * po/POTFILES.in:
12097           add gst-inspect
12098         * po/nl.po:
12099           update dutch translation
12100         * tools/gst-inspect.c: (print_element_list), (main):
12101           do proper internationalization
12102         * tools/gst-launch.c: (idle_func):
12103           remove commented out function call
12104
12105 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12106
12107         * docs/README:
12108           add some error fixing notes
12109         * docs/gst/gstreamer-sections.txt:
12110           remove double entries
12111         * docs/gst/tmpl/gstbin.sgml:
12112         * docs/gst/tmpl/gstclock.sgml:
12113           remove override
12114         * docs/gst/tmpl/gstelement.sgml:
12115         * docs/gst/tmpl/gstindex.sgml:
12116         * docs/gst/tmpl/gstobject.sgml:
12117         * docs/gst/tmpl/gstpadtemplate.sgml:
12118         * docs/gst/tmpl/gstreamer-unused.sgml:
12119         * docs/gst/tmpl/gsttag.sgml:
12120         * docs/gst/tmpl/gstthread.sgml:
12121         * docs/gst/tmpl/gstxml.sgml:
12122         * gst/gsttag.h:
12123           sync header prototypes with c decls
12124         * gst/gsttaginterface.c:
12125           fix doc headers
12126
12127 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12128
12129         * gst/parse/Makefile.am:
12130         * gst/gstobject.h:
12131           get rid of gstmarshal.h dependency. It's not needed.
12132         * gst/gst.h:
12133         * gst/elements/gstfakesink.c:
12134         * gst/elements/gstfakesrc.c:
12135         * gst/elements/gstidentity.c:
12136         * gst/gstbin.c:
12137         * gst/gstelement.c:
12138         * gst/gstindex.c:
12139         * gst/gstobject.c:
12140         * gst/gstpad.c:
12141         * gst/gstthread.c:
12142         * gst/gstxml.c:
12143         * libs/gst/control/dparam.c:
12144         * libs/gst/control/dparammanager.c:
12145           include gstmarshal.h.
12146         Fixes #132045
12147
12148 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12149
12150         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12151         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12152         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12153         * gst/elements/gstfilesrc.h:
12154           don't ref the filesrc when creating mmaped buffers. Don't keep a
12155           list of not-yet-destroyed buffers.
12156         * gst/gstbuffer.h:
12157           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12158
12159 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12160
12161         * gst/gst.c: (init_pre):
12162           remove textdomain
12163
12164 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12165
12166         * docs/pwg/advanced-events.xml:
12167         * docs/pwg/advanced-scheduling.xml:
12168         * docs/pwg/intro-basics.xml:
12169         * docs/pwg/other-manager.xml:
12170         * docs/pwg/other-nton.xml:
12171         * docs/pwg/other-ntoone.xml:
12172         * docs/pwg/other-oneton.xml:
12173         * docs/pwg/pwg.xml:
12174           All sort of documentation... Forgot what. Point is that I want this
12175           in before I leave. The 'other-*' will be the last section and will
12176           explain issues specific to these type of elements.
12177
12178 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12179
12180         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12181         (gst_filesrc_get_read):
12182           set all the values on buffers that we can
12183
12184 2004-02-02  David Schleef  <ds@schleef.org>
12185
12186         Change usage of isblah() to g_ascii_isblah() to be more locale
12187         independent.  (#133076)
12188         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12189         * gst/gstutils.c:
12190         * gst/parse/parse.l:
12191
12192 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12193
12194         reviewed by: David Schleef  <ds@schleef.org>
12195
12196         Fix memory leaks:
12197         * gst/gstcaps.c: (gst_caps_to_string):
12198         * gst/registries/gstxmlregistry.c:
12199         (gst_xml_registry_add_path_list_func),
12200         (gst_xml_registry_parse_padtemplate):
12201
12202 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12203
12204         * gst/gstelement.c: (gst_element_default_error):
12205           suffix error messages with period
12206
12207 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12208
12209         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12210         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12211         * gst/gsterror.c: (gst_error_get_message):
12212           Suffix with dots
12213         * po/fr.po:
12214         * po/nl.po:
12215           Update translation files
12216
12217 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12218
12219         * gst/autoplug/gstspideridentity.c:
12220         (gst_spider_identity_sink_loop_type_finding):
12221         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12222         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12223         (gst_filesink_close_file), (gst_filesink_handle_event),
12224         (gst_filesink_chain):
12225         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12226         (gst_filesrc_get_read), (gst_filesrc_open_file):
12227         * gst/elements/gstidentity.c: (gst_identity_chain):
12228         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12229         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12230         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12231         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12232         * gst/gsterror.c: (_gst_core_errors_init),
12233         (_gst_library_errors_init), (_gst_resource_errors_init),
12234         (_gst_stream_errors_init), (gst_error_get_message):
12235         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12236         (gst_pad_recover_caps_error), (gst_pad_pull):
12237         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12238         * gst/schedulers/gstbasicscheduler.c:
12239         (gst_basic_scheduler_chainhandler_proxy),
12240         (gst_basic_scheduler_gethandler_proxy),
12241         (gst_basic_scheduler_cothreaded_chain):
12242           Suffix error messages with period.
12243           Use (NULL) instead of NULL
12244
12245 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12246
12247         * docs/gst/tmpl/gstelement.sgml:
12248         * docs/gst/tmpl/gstxml.sgml:
12249         * gst/gstelement.c: (gst_element_error_full):
12250           add element path to error
12251
12252 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12253
12254         * docs/random/mimetypes:
12255           update raw int/float info
12256         * gst/gsttag.c: (_gst_tag_initialize):
12257         * gst/gsttag.h:
12258           add GST_TAG_ENCODER
12259
12260 2004-01-30  David Schleef  <ds@schleef.org>
12261
12262         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12263           missing (#132991)
12264
12265 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12266
12267         reviewed by Benjamin Otte 
12268           parts of the patch submitted in bug #113913
12269
12270         * configure.ac:
12271           use AC_C_INLINE. Use = instead of == with test
12272         * examples/plugins/example.c:
12273         * gst/autoplug/gstspideridentity.c:
12274         * gst/elements/gstfdsrc.c:
12275         * gst/elements/gstfilesrc.c:
12276         * gst/elements/gstidentity.c:
12277         * gst/elements/gstmultidisksrc.c:
12278         * gst/elements/gststatistics.c:
12279         * gst/gstelement.c:
12280         * gst/gstobject.c:
12281         * gst/gstpad.c:
12282         * gst/gstpipeline.c:
12283         * gst/gstthread.c:
12284           don't end enums with a comma
12285         * gst/gstindex.c: (gst_index_compare_func):
12286           do explicit casting to gint
12287         * gst/gsttrace.c: (gst_trace_text_flush):
12288           #define strsize as a macro
12289
12290 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12291
12292         * docs/README:
12293         * docs/gst/gstreamer-docs.sgml:
12294         * docs/gst/gstreamer-sections.txt:
12295         * docs/gst/tmpl/gstelement.sgml:
12296         * docs/gst/tmpl/gsterror.sgml:
12297         * docs/gst/tmpl/gstinterface.sgml:
12298         * docs/gst/tmpl/gstreamer-unused.sgml:
12299         * docs/gst/tmpl/gststructure.sgml:
12300         * docs/gst/tmpl/gsttag.sgml:
12301         * docs/gst/tmpl/gsttaginterface.sgml:
12302         * docs/gst/tmpl/gstvalue.sgml:
12303         make sure all API ends up in the built docs
12304         * gst/gstinterface.c:
12305         * gst/gststructure.c: (gst_structure_id_set_value),
12306         (gst_structure_set_value), (gst_structure_id_get_value):
12307         * gst/gststructure.h:
12308         * gst/gstvalue.h:
12309         sync .h with .c declarations
12310
12311 2004-01-30  Julien Moutte  <julien@moutte.net>
12312
12313         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12314         Ronald will fix riffread.
12315
12316 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12317
12318         * docs/pwg/advanced-interfaces.xml:
12319           Added tuner interface docs.
12320
12321 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12322
12323         * docs/random/mimetypes:
12324           correct Theora information
12325         * gst/gstelement.h:
12326           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12327
12328 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12329
12330         * gst/gstelement.c: (gst_element_error_full):
12331         * gst/gstelement.h:
12332           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12333
12334 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12335
12336         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12337         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12338         again and even before DISCONT.
12339         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12340         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12341         bytestream so that it's not stopping to fill the bytestream if events
12342         different than EOS or DISCONT are received. Instead it process them so
12343         that they go downstream.
12344
12345 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12346
12347         * docs/gst/tmpl/gstelement.sgml:
12348         * docs/gst/tmpl/gstreamer-unused.sgml:
12349         * docs/gst/tmpl/gstxml.sgml:
12350         * gst/autoplug/gstspideridentity.c:
12351         (gst_spider_identity_sink_loop_type_finding):
12352         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12353         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12354         (gst_filesink_close_file), (gst_filesink_handle_event),
12355         (gst_filesink_chain):
12356         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12357         (gst_filesrc_get_read), (gst_filesrc_open_file):
12358         * gst/elements/gstidentity.c: (gst_identity_chain):
12359         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12360         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12361         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12362         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12363         * gst/gstelement.h:
12364         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12365         (gst_pad_recover_caps_error), (gst_pad_pull):
12366         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12367         * gst/schedulers/gstbasicscheduler.c:
12368         (gst_basic_scheduler_chainhandler_proxy),
12369         (gst_basic_scheduler_gethandler_proxy),
12370         (gst_basic_scheduler_cothreaded_chain):
12371           gst_element_error -> GST_ELEMENT_ERROR
12372
12373 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12374
12375         * docs/Makefile.am:
12376         * docs/gst/tmpl/gstelement.sgml:
12377         * docs/gst/tmpl/gstxml.sgml:
12378         * docs/manuals.mak:
12379         * docs/pwg/advanced-request.xml:
12380         * docs/pwg/advanced-scheduling.xml:
12381         * docs/pwg/advanced-tagging.xml:
12382           fix non-validating docbook using CDATA
12383           make sure make check-local gets run first to check if it validates
12384
12385 2004-01-29  Julien MOUTTE <julien@moutte.net>
12386
12387         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12388         handling (up and downstream).
12389         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12390         my_filter thing.
12391
12392 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12393
12394         * docs/pwg/advanced-tagging.xml:
12395           Add docs about tag writing.
12396
12397 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12398
12399         * docs/pwg/advanced-tagging.xml:
12400           Add a part about tag reading and application signalling... Tag
12401           writing still needs to be documented.
12402         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12403           We can set file locations in READY, too.
12404
12405 2004-01-29  Julien MOUTTE <julien@moutte.net>
12406
12407         * docs/random/ds/element-checklist: Adding some notes about src
12408         events.
12409
12410 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12411
12412         * docs/random/mimetypes:
12413           Update docs to point to correct elements for various mimetypes, and
12414           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12415           <stephane.loeuillet@tiscali.fr>.
12416
12417 2004-01-28  David Schleef  <ds@schleef.org>
12418
12419         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12420
12421 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12422
12423         * docs/random/mimetypes:
12424           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12425           undefined"
12426         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12427           make it only work in NULL.
12428         * gst/gstcaps.c:
12429           don't posion NULL caps
12430         * gst/gstelement.c: (gst_element_set_time):
12431           add debugging statement
12432         * gst/gstelement.c: (gst_element_emit_found_tag),
12433         (gst_element_found_tag_func), (gst_element_found_tags):
12434         * gst/gstelement.h:
12435           These functions take const taglists
12436         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12437           fix memleak
12438         * gst/gstpad.c: (gst_pad_event_default):
12439           make more effort on handling discont and clocks, g_warn if everything
12440           fails
12441         * gst/gststructure.c: (gst_structure_remove_fields),
12442         (gst_structure_remove_fields_valist):
12443         * gst/gststructure.h:
12444           add gst_structure_remove_fields(_valist)
12445         * gst/gsttag.c:
12446           fix doc glitch
12447
12448 2004-01-28  David Schleef  <ds@schleef.org>
12449
12450         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12451         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12452         Fix memory leakage of gst_caps_to_string().
12453
12454         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12455         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12456         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12457         (gst_spider_identity_sink_loop_type_finding):
12458         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12459         (find_suggest):
12460         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12461         (gst_pad_set_explicit_caps):
12462         * gst/parse/grammar.y:
12463
12464 2004-01-28  David Schleef  <ds@schleef.org>
12465
12466         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12467         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12468         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12469         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12470         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12471         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12472         (gst_debug_log_default), (_gst_info_printf_extension),
12473         (_gst_info_printf_extension_arginfo):  Add printf extension.
12474         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12475         * gst/gststructure.c: (gst_structure_to_string),
12476         (_gst_structure_parse_value): Use gst_value_deserialize() and
12477         remove old code.
12478         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12479         (gst_value_deserialize_boolean), (gst_strtoi),
12480         (gst_value_deserialize_int), (gst_value_deserialize_double),
12481         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12482         a bunch of deserialize functions and gst_value_deserialize.
12483         * gst/gstvalue.h: er, _de_serialize, not unserialize
12484         * testsuite/caps/string-conversions.c: (main): We don't currently
12485         handle (float) in caps, so convert these to (double).
12486         * testsuite/debug/Makefile.am: Add new test for the printf extension
12487         * testsuite/debug/printf_extension.c: (main): same
12488
12489 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12490
12491         * docs/random/company/time:
12492           Add some docs about clocking and time
12493
12494 2004-01-28  Julien MOUTTE <julien@moutte.net>
12495
12496         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12497
12498 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12499
12500         * docs/pwg/advanced-clock.xml:
12501         * docs/pwg/advanced-dparams.xml:
12502         * docs/pwg/advanced-events.xml:
12503         * docs/pwg/advanced-interfaces.xml:
12504         * docs/pwg/advanced-midi.xml:
12505         * docs/pwg/advanced-request.xml:
12506         * docs/pwg/advanced-scheduling.xml:
12507         * docs/pwg/advanced-tagging.xml:
12508         * docs/pwg/advanced-types.xml:
12509         * docs/pwg/appendix-checklist.xml:
12510         * docs/pwg/building-boiler.xml:
12511         * docs/pwg/building-chainfn.xml:
12512         * docs/pwg/building-filterfactory.xml:
12513         * docs/pwg/building-pads.xml:
12514         * docs/pwg/building-props.xml:
12515         * docs/pwg/building-signals.xml:
12516         * docs/pwg/building-state.xml:
12517         * docs/pwg/building-testapp.xml:
12518         * docs/pwg/intro-basics.xml:
12519         * docs/pwg/intro-preface.xml:
12520         * docs/pwg/other-autoplugger.xml:
12521         * docs/pwg/other-sink.xml:
12522         * docs/pwg/other-source.xml:
12523         * docs/pwg/titlepage.xml:
12524           fix up id's
12525
12526 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12527
12528         * docs/95NonPath:
12529         * docs/HACKING:
12530         * docs/README:
12531         * docs/building-the-docs-on-debian:
12532           collect relevant bits of doc info
12533
12534 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12535
12536         * docs/pwg/advanced_tagging.xml:
12537           Half-assed commit so Thomas can re-arrange document IDs here to be
12538           consistent, too.
12539
12540 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12541
12542         * docs/manual/autoplugging.xml:
12543         * docs/manual/bins-api.xml:
12544         * docs/manual/bins.xml:
12545         * docs/manual/buffers-api.xml:
12546         * docs/manual/buffers.xml:
12547         * docs/manual/clocks.xml:
12548         * docs/manual/components.xml:
12549         * docs/manual/cothreads.xml:
12550         * docs/manual/debugging.xml:
12551         * docs/manual/dparams-app.xml:
12552         * docs/manual/dynamic.xml:
12553         * docs/manual/elements-api.xml:
12554         * docs/manual/elements.xml:
12555         * docs/manual/factories.xml:
12556         * docs/manual/gnome.xml:
12557         * docs/manual/goals.xml:
12558         * docs/manual/helloworld.xml:
12559         * docs/manual/helloworld2.xml:
12560         * docs/manual/init-api.xml:
12561         * docs/manual/intro.xml:
12562         * docs/manual/links-api.xml:
12563         * docs/manual/links.xml:
12564         * docs/manual/manual.xml:
12565         * docs/manual/motivation.xml:
12566         * docs/manual/pads-api.xml:
12567         * docs/manual/pads.xml:
12568         * docs/manual/plugins-api.xml:
12569         * docs/manual/plugins.xml:
12570         * docs/manual/programs.xml:
12571         * docs/manual/queues.xml:
12572         * docs/manual/quotes.xml:
12573         * docs/manual/schedulers.xml:
12574         * docs/manual/states-api.xml:
12575         * docs/manual/states.xml:
12576         * docs/manual/threads.xml:
12577         * docs/manual/typedetection.xml:
12578         * docs/manual/xml.xml:
12579           use chapter, part, section or misc as id starts for all bits
12580
12581 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12582
12583         * docs/gst/gstreamer-sections.txt:
12584           Fix up TITLE of the sections
12585
12586 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12587
12588         * docs/pwg/advanced_interfaces.xml:
12589           Add documentation on propertyprobing.
12590         * docs/pwg/advanced_events.xml:
12591         * docs/pwg/advanced_tagging.xml:
12592         * docs/pwg/building_boiler.xml:
12593         * docs/pwg/building_filterfactory.xml:
12594         * docs/pwg/pwg.xml:
12595           Move filterfactory and tagging into their own chapter, add a chapter
12596           on events. all these are empty placeholders that will be filled in
12597           some day.
12598
12599 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12600
12601         * docs/pwg/advanced_interfaces.xml:
12602           Docs for mixer interface. Also a check for website uploading.
12603
12604 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12605
12606         * docs/HACKING:
12607         * docs/Makefile.am:
12608         * docs/faq/Makefile.am:
12609         * docs/gst/Makefile.am:
12610         * docs/gst/tmpl/gstelement.sgml:
12611         * docs/gst/tmpl/gstplugin.sgml:
12612         * docs/gst/tmpl/gstreamer-unused.sgml:
12613         * docs/libs/Makefile.am:
12614         * docs/manual/Makefile.am:
12615         * docs/manuals.mak:
12616         * docs/pwg/Makefile.am:
12617         * docs/upload.mak:
12618           Separate out upload target and make it similar for
12619           both docbook and gtk-doc docs
12620
12621 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12622
12623         * docs/manuals.mak:
12624           Fix upload target to work with freedesktop
12625
12626 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12627
12628         * docs/pwg/advanced_types.xml:
12629           Add notes on creating your own types.
12630         * docs/pwg/building_boiler.xml:
12631         * docs/pwg/building_pads.xml:
12632         * docs/pwg/building_state.xml:
12633           Add some stuff about how to retrieve values from structures, how
12634           that relates to types and change layout slightly again to be almost
12635           perfect.
12636
12637 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12638
12639         * docs/pwg/advanced_dparams.xml:
12640         * docs/pwg/advanced_scheduling.xml:
12641           Change index layout slightly.
12642
12643 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12644
12645         * docs/pwg/advanced_clock.xml:
12646         * docs/pwg/advanced_interfaces.xml:
12647         * docs/pwg/advanced_midi.xml:
12648           General placeholders for now.
12649         * docs/pwg/advanced_request.xml:
12650           Explanation about sometimes and request pads.
12651         * docs/pwg/advanced_scheduling.xml:
12652           Concept of bytestream, loopfunctions and schedulers.
12653         * docs/pwg/building_boiler.xml:
12654           Add something about plugin-init.
12655
12656 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12657
12658         * docs/pwg/building_pads.xml:
12659           Fix broken docbook
12660
12661 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12662
12663         * docs/pwg/advanced_interfaces.xml:
12664         * docs/pwg/pwg.xml:
12665           Add as a placeholder for future filling-in.
12666         * docs/pwg/basics_autoplugging.xml:
12667         * docs/pwg/basics_buffers.xml:
12668         * docs/pwg/basics_elements.xml:
12669         * docs/pwg/basics_events.xml:
12670         * docs/pwg/basics_plugins.xml:
12671         * docs/pwg/basics_types.xml:
12672           Remove, because unused (this is all in intro_basics.xml).
12673         * docs/pwg/building_signals.xml:
12674           Short intro to signals + reference to GObject docs - we really
12675           shouldn't go into these sort of things to deply because we don't
12676           use them that extensively anyway.
12677         * docs/pwg/building_state.xml:
12678           Explanation of states. Benjamin, please check.
12679         * docs/pwg/building_testapp.xml:
12680           Put everything in one page - putting only a few lines of content
12681           per page doesn't really make sense.
12682
12683           Time to get into the advanced topics. ;).
12684
12685 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12686
12687         * docs/pwg/advanced_types.xml:
12688           Finish documenting the current state of mimetypes.
12689         * docs/pwg/building_boiler.xml:
12690         * docs/pwg/building_chainfn.xml:
12691         * docs/pwg/building_pads.xml:
12692         * docs/pwg/building_props.xml:
12693         * docs/pwg/building_testapp.xml:
12694           Start documenting the "how to build a simple audio filter" part
12695           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12696           states and (maybe?) a short introduction to capsnego in the chapter
12697           on pads (building_pads.xml). Capsnego should probably be explained
12698           fully in advanced_capsnego.xml or so.
12699
12700 2004-01-26  David Schleef  <ds@schleef.org>
12701
12702         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12703         * gst/gstpad.h: Add new function to allow element to (somewhat)
12704         specify non-fixed caps on a pad.
12705         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12706         that I added a few weeks ago.
12707
12708 2004-01-26  David Schleef  <ds@schleef.org>
12709
12710         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12711           making try_set_caps() work with non-fixed caps.
12712
12713 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12714
12715         * docs/pwg/advanced_types.xml:
12716         * docs/pwg/intro_basics.xml:
12717         * docs/pwg/intro_preface.xml:
12718         * docs/pwg/pwg.xml:
12719         * docs/pwg/titlepage.xml:
12720           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12721           in here (docs/random/mimetypes), and will from there on work on both
12722           updating outdated parts and adding missing parts.
12723           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12724
12725 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12726
12727         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12728           policy is set
12729
12730 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12731
12732         * gst/gstelement.h:
12733           remove gst_element_factory_get_version. It doesn't exist anymore.
12734         * gst/gstplugin.c:
12735         * gst/gstplugin.h:
12736           remove gst_plugin_set_name and change gst_plugin_get_longname to
12737           gst_plugin_get_description to match code.
12738         * gst/gsterror.h:
12739           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12740         * gst/gstpad.c: (gst_pad_try_set_caps):
12741           make it work with nonfixed caps.
12742           Note that even in the nonfixed case the link function of the pad
12743           that tries to set caps isn't called.
12744
12745 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12746
12747         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12748           fix bug where buffer was not assembled correctly
12749         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12750           silence by default
12751         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12752           only seek if there's no more buffers that could work without seeking
12753
12754 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12755
12756         * gst/gsttag.c: (_gst_tag_initialize):
12757         * gst/gsttag.h:
12758           Add application tag (for encoding/muxing app).
12759
12760 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12761
12762         * autogen.sh:
12763           make autopoint force, and libtoolize not copy
12764         * common/m4/as-docbook.m4:
12765           added docbook xml catalog setup check
12766         * common/m4/gst-doc.m4:
12767           use docbook check
12768
12769 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12770
12771         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12772         * gst/gsttag.h:
12773           add GstTagFlag
12774
12775 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12776
12777         * docs/gst/gstreamer-sections.txt:
12778         * docs/gst/tmpl/gst.sgml:
12779         * docs/gst/tmpl/gstbuffer.sgml:
12780         * docs/gst/tmpl/gstclock.sgml:
12781         * docs/gst/tmpl/gstelement.sgml:
12782         * docs/gst/tmpl/gstreamer-unused.sgml:
12783         * docs/gst/tmpl/gstxml.sgml:
12784           sync latest API changes to docs
12785
12786 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12787
12788         * gst/gstpluginfeature.c:
12789           fix doc snippet
12790         * tools/gst-inspect.c: (print_element_list):
12791           fix output of typefind
12792           add GPL header
12793         * tools/gst-launch.c:
12794           add GPL header
12795
12796 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12797
12798         * gst/elements/Makefile.am:
12799         * gst/elements/gstelements.c:
12800         * gst/elements/gsttypefindelement.c:
12801         * gst/elements/gsttypefindelement.h:
12802         * po/POTFILES.in:
12803         * po/fr.po:
12804         * po/nl.po:
12805           renamed gsttypefindelement to gsttypefind, conserving CVS history
12806
12807 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12808
12809         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12810         * gst/gsttag.h:
12811           add some tags used in ogg as well
12812           fix _ in replaygain tags
12813
12814 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12815
12816         * gst/gsterror.h:
12817           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12818
12819 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12820
12821         * gst/gstelement.c: (gst_element_error_full):
12822         * gst/gstelement.h:
12823           change _extended to _full
12824
12825 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12826
12827         reviewed by: <delete if not using a buddy>
12828
12829         * docs/gst/tmpl/gst.sgml:
12830         * docs/gst/tmpl/gstbuffer.sgml:
12831         * docs/gst/tmpl/gstclock.sgml:
12832         * docs/gst/tmpl/gstelement.sgml:
12833         * docs/gst/tmpl/gstreamer-unused.sgml:
12834         * docs/gst/tmpl/gstxml.sgml:
12835         * gst/gstelement.c: (gst_element_error_full):
12836         * gst/gstelement.h:
12837
12838 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12839
12840         * gst/gstelement.h: fix _gst_element_error_printf prototype
12841
12842 2004-01-20  David Schleef  <ds@schleef.org>
12843
12844         * gst/gststructure.c: (gst_structure_to_string):
12845         Convert function to use gst_value_serialize().
12846         * gst/gstvalue.c: (gst_value_serialize_list),
12847         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12848         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12849         (gst_value_serialize_int), (gst_value_serialize_double),
12850         (gst_string_wrap), (gst_value_serialize_string),
12851         (gst_value_serialize), (gst_value_deserialize):
12852         * gst/gstvalue.h:
12853         Add implementations for serialize.
12854
12855 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12856
12857         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12858         we want to keep that one in the future or change xvidenc.c to use 
12859         another error.
12860
12861 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12862
12863         * gst/gstelement.c: (_gst_element_error_printf):
12864         * gst/gstelement.h:
12865           privatise function
12866
12867 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12868
12869         * docs/random/error:
12870           doc explaining error system
12871         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12872           cleanup
12873
12874 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12875
12876         * gst/gst-i18n-app.h:
12877         * gst/gst-i18n-lib.h:
12878           remove inclusion of config.h
12879         * po/POTFILES.in:
12880         * po/nl.po:
12881           add gst/gstelement.c
12882
12883 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12884
12885         * po/nl.po: updated Dutch translation
12886
12887 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12888
12889         * gst/gsterror.c: (_gst_core_errors_init),
12890         (_gst_library_errors_init), (_gst_resource_errors_init),
12891         (_gst_stream_errors_init):
12892         remove ending punctuation dots
12893
12894 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12895
12896         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12897         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12898         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12899         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12900         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12901         use GST_ERROR_SYSTEM
12902
12903 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12904
12905         * gst/gstelement.c: (gst_element_error_printf),
12906         (gst_element_error_extended):
12907         * gst/gstelement.h:
12908           add a helper printf function so we can have NULL values passed.
12909
12910 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12911
12912         * gst/gstelement.h:
12913           add G_STMT macros to gst_element_error, which isn't strictly
12914           necessary but people tell me to anyway.
12915
12916 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12917
12918         * gst/Makefile.am:
12919         * gst/autoplug/gstspideridentity.c:
12920         (gst_spider_identity_sink_loop_type_finding):
12921         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12922         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12923         (gst_filesink_close_file), (gst_filesink_handle_event),
12924         (gst_filesink_chain):
12925         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12926         (gst_filesrc_map_region), (gst_filesrc_get_read),
12927         (gst_filesrc_open_file):
12928         * gst/elements/gstidentity.c: (gst_identity_chain):
12929         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12930         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12931         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12932         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12933         * gst/gst.h:
12934         * gst/gst_private.h:
12935         * gst/gstelement.c: (gst_element_class_init),
12936         (gst_element_default_error), (gst_element_error_func),
12937         (gst_element_error_extended):
12938         * gst/gstelement.h:
12939         * gst/gsterror.c: (_gst_core_errors_init),
12940         (_gst_library_errors_init), (_gst_resource_errors_init),
12941         (_gst_stream_errors_init), (gst_error_get_message):
12942         * gst/gsterror.h:
12943         * gst/gstinfo.c: (_gst_debug_init):
12944         * gst/gstmarshal.list:
12945         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12946         (gst_pad_recover_caps_error), (gst_pad_pull):
12947         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12948         * gst/schedulers/gstbasicscheduler.c:
12949         (gst_basic_scheduler_chainhandler_proxy),
12950         (gst_basic_scheduler_gethandler_proxy),
12951         (gst_basic_scheduler_cothreaded_chain):
12952         * po/POTFILES.in:
12953         * po/fr.po:
12954         * po/nl.po:
12955           change error signal
12956           add error categories
12957
12958 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12959
12960         * gst/gsttag.c: (_gst_tag_initialize):
12961         * gst/gsttag.h:
12962         Add replaygain tag
12963
12964 2004-01-18  Colin Walters  <walters@verbum.org>
12965
12966         * examples/retag/retag.c: Call gst_init before processing
12967         program args.  Add g_assert to _link_many call.
12968
12969 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12970
12971         * gst/gstpad.c: (gst_pad_alloc_buffer):
12972           Return a newly allocated buffer when the pad has no peer.
12973
12974 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12975
12976         * gst/gstclock.c: (gst_clock_get_time):
12977           make it compile with gcc 2.95 again.
12978           Patch by Scott Wheeler
12979
12980 2004-01-15  David Schleef  <ds@schleef.org>
12981
12982         * gst/gstcaps.h:
12983         Added gst_caps_is_simple() macro.
12984         * testsuite/caps/caps.c: (test1):
12985         * testsuite/caps/intersect2.c: (main):
12986         * testsuite/caps/intersection.c: (main):
12987         Fixes to make 'make check' work again after removing
12988         gst_caps_is_chained().
12989
12990 2004-01-15  Leif Johnson <leif@ambient.2y.net>
12991
12992         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
12993         and additions to the MIDI document.
12994
12995 2004-01-15  David Schleef  <ds@schleef.org>
12996
12997         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
12998         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
12999         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13000
13001 2004-01-15  David Schleef  <ds@schleef.org>
13002
13003         * gst/gstqueue.c:
13004         * gst/gstqueue.h:
13005         Fix the spelling of "treshold" and make min_threshold actually
13006         affect the queue.
13007
13008 2004-01-15  David Schleef  <ds@schleef.org>
13009
13010         * gst/gstcaps.c:
13011         Add lots of documentation.
13012         * gst/gstcaps.h:
13013         Deprecate a few functions.
13014         * gst/gstpad.c:
13015         Removed use of deprecated functions.
13016
13017 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13018
13019         * gst/gstpad.c: (gst_pad_is_linked):
13020         * gst/gstpad.h:
13021           implement gst_pad_is_linked
13022         * gst/gstelement.h:
13023           reserve space for initiate_state_change
13024
13025 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13026
13027         * gst/autoplug/gstspideridentity.c:
13028         (gst_spider_identity_sink_loop_type_finding):
13029           break infinite loop by just returning instead of looping
13030         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13031           set event time difference correctly. Set it to 1 second instead
13032           of 100ms to be more tolerant
13033         * gst/gstelement.c: (gst_element_set_time):
13034           add debugging output
13035
13036 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13037
13038         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13039           query if buffers are inside the pool, ignore events
13040
13041 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13042
13043         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13044         (gst_clock_set_speed), (gst_clock_set_active),
13045         (gst_clock_is_active), (gst_clock_reset),
13046         (gst_clock_handle_discont):
13047         * gst/gstclock.h:
13048           deprecate old interface and disable functions that aren't in use
13049           anymore.
13050         * gst/gstelement.h:
13051         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13052         (gst_element_set_time), (gst_element_adjust_time):
13053           add concept of "element time" and functions to get/set this time.
13054         * gst/gstelement.c: (gst_element_change_state):
13055           update element time correctly.
13056         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13057           This is a debug message, not a g_critical.
13058         * gst/gstpad.c: (gst_pad_event_default):
13059           handle discontinuous events right with element time.
13060         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13061           update to clocking fixes.
13062           set clocks on elements in READY=>PAUSED. The old behaviour caused
13063           a wrong element time on the first element that started playing.
13064         * gst/schedulers/gstbasicscheduler.c:
13065         (gst_basic_scheduler_class_init):
13066         * gst/schedulers/gstoptimalscheduler.c:
13067         (gst_opt_scheduler_class_init):
13068           remove code that just implements the default behaviour.
13069         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13070           update to use new clocking functions
13071         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13072         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13073           update to test new element time.
13074         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13075           use _get_allowed_caps instead of _get_caps. This catches filtered
13076           caps correctly.
13077         * testsuite/debug/commandline.c:
13078           update for new GST_DEBUG syntax.
13079         * testsuite/threads/Makefile.am:
13080           disable a test that only works sometimes.
13081
13082 2004-01-13  Julien MOUTTE <julien@moutte.net>
13083
13084         * po/LINGUAS: Adding fr.
13085         * po/fr.po: Adding french translation.
13086
13087 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13088
13089         * gst/parse/grammar.y:
13090         * po/POTFILES.in:
13091         * po/nl.po:
13092         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13093           translate parsing error messages
13094
13095 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13096
13097         * po/POTFILES.in: adding gst-launch
13098         * po/nl.po: updated translation, all 99 strings translated
13099         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13100         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13101           fix strings for translation
13102
13103 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13104
13105         * gst/gst.c:
13106           - capitalize beginnings of popt options
13107           - fix strings for translation
13108           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13109
13110 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13111
13112         * po/README: add some notes on how to update translations
13113
13114 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13115
13116         * ABOUT-NLS: removed, is autogenerated from autopoint
13117         * autogen.sh: add autopoint stuff
13118         * configure.ac: fix up gettext stuff
13119         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13120         * gst/elements/gsttypefindelement.c: add header include
13121         * gst/gettext.h: add header, copy from system-installed header
13122         * gst/gst-i18n-app.h: to be included by each app having translations
13123         * gst/gst-i18n-lib.h: to be included by each lib having translations
13124         * gst/gst.c: (init_pre): fix up gettext calls
13125         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13126         * po/LINGUAS: the new way to specify translations present
13127         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13128         * po/Makevars: the variables filled in for GStreamer
13129         * po/POTFILES.in: added new files with translations
13130         * po/de.po: has new strings
13131         * po/nl.po: readded, has new strings
13132
13133 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13134
13135         * gst/gsttag.c: fix some strings marked for translation
13136
13137 2004-01-13  Iain <iain@prettypeople.org>
13138
13139         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13140         group when we add an element to it, cos we unref it when we remove one
13141
13142 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13143
13144         * testsuite/debug/commandline.c: (debug_not_reached):
13145         * testsuite/debug/output.c: (check_message):
13146           fix testsuite
13147
13148 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13149
13150         * examples/cutter/.cvsignore:
13151         * examples/helloworld/.cvsignore:
13152         * examples/launch/.cvsignore:
13153         * examples/manual/.cvsignore:
13154         * examples/mixer/.cvsignore:
13155         * examples/pingpong/.cvsignore:
13156         * examples/plugins/.cvsignore:
13157         * examples/queue/.cvsignore:
13158         * examples/queue2/.cvsignore:
13159         * examples/queue3/.cvsignore:
13160         * examples/queue4/.cvsignore:
13161         * examples/retag/.cvsignore:
13162         * examples/thread/.cvsignore:
13163         * examples/typefind/.cvsignore:
13164         * examples/xml/.cvsignore:
13165         * gst/.cvsignore:
13166         * gst/autoplug/.cvsignore:
13167         * gst/elements/.cvsignore:
13168         * gst/indexers/.cvsignore:
13169         * gst/parse/.cvsignore:
13170         * gst/registries/.cvsignore:
13171         * gst/schedulers/.cvsignore:
13172         * libs/gst/bytestream/.cvsignore:
13173         * libs/gst/control/.cvsignore:
13174         * libs/gst/getbits/.cvsignore:
13175         * tests/.cvsignore:
13176         * tests/bufspeed/.cvsignore:
13177         * tests/instantiate/.cvsignore:
13178         * tests/memchunk/.cvsignore:
13179         * tests/muxing/.cvsignore:
13180         * tests/sched/.cvsignore:
13181         * tests/seeking/.cvsignore:
13182         * tests/threadstate/.cvsignore:
13183         * testsuite/.cvsignore:
13184         * testsuite/caps/.cvsignore:
13185         * testsuite/cleanup/.cvsignore:
13186         * testsuite/dynparams/.cvsignore:
13187         * testsuite/plugin/.cvsignore:
13188         * tools/.cvsignore:
13189           update - this is huge, because it includes *.bb, *.bbg and *.da files
13190           which are generated for gcov.
13191
13192 2004-01-11  David Schleef  <ds@schleef.org>
13193
13194         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13195         a function to parse integers in ways that strto[u]l() does not.
13196
13197 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13198
13199         * tools/gst-inspect.c: (print_caps):
13200           improve output of caps a bit
13201
13202 2004-01-11  David Schleef  <ds@schleef.org>
13203
13204         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13205         inherit correct flags (READONLY and DONTKEEP).
13206
13207 2004-01-11  David Schleef  <ds@schleef.org>
13208
13209         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13210         (gst_filesrc_map_region):
13211         * gst/gstbuffer.c: (_gst_buffer_initialize),
13212         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13213         (gst_buffer_new), (gst_buffer_create_sub),
13214         (gst_buffer_is_span_fast), (gst_buffer_span):
13215         * gst/gstbuffer.h:
13216         Change GstBuffer private structure element names. (all files)
13217         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13218         (gst_queue_link):
13219         * gst/gstqueue.h:
13220         Implement getcaps/pad_link functions that handle the case where
13221         there are data in the queue.
13222
13223 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13224
13225         * gst/elements/gstbufferstore.c:
13226           initialize debugging structure correctly
13227         * gst/elements/gsttee.c: (gst_tee_set_property):
13228           g_object_notify when property was changed
13229         * gst/elements/gsttypefindelement.c:
13230         (gst_type_find_element_change_state):
13231           clear caps correctly
13232
13233 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13234
13235         * gst/gstqueue.c: (gst_queue_init):
13236           Use better defaults for when a queue should block. This
13237           gets rid of jerky playback for quite a few files.
13238           It takes more memory.
13239
13240 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13241
13242         (gst_xml_registry_parse_padtemplate):
13243           make critical message slightly more useful
13244
13245 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13246
13247         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13248         (gst_debug_message_get), (gst_debug_log_default):
13249         * gst/gstinfo.h:
13250           Change gst_debug_log(_valist) to take a const format string.
13251           Change prototype of log function and functions using those to 
13252           take a GstDebugMessage instead of a string that requires using
13253           gst_debug_message_get.
13254
13255 2004-01-08  David Schleef  <ds@schleef.org>
13256
13257         * Makefile.am:
13258         * configure.ac:
13259         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13260         and -ftest-coverage, which allows gcov to show information about
13261         testsuite coverage.
13262
13263 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13264
13265         * gst/gstutils.h:
13266           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13267           GST_PARENT_CALL_WITH_DEFAULT
13268         * gst/elements/gstaggregator.c: 
13269         * gst/elements/gstbufferstore.c: 
13270         * gst/elements/gstfakesink.c: 
13271         * gst/elements/gstfakesrc.c: 
13272         * gst/elements/gstfdsink.c: 
13273         * gst/elements/gstfdsrc.c: 
13274         * gst/elements/gstfilesink.c: 
13275         * gst/elements/gstfilesrc.c: 
13276         * gst/elements/gstidentity.c: 
13277         * gst/elements/gstmd5sink.c: 
13278         * gst/elements/gstmultidisksrc.c:
13279         * gst/elements/gstpipefilter.c: 
13280         * gst/elements/gstshaper.c:
13281         * gst/elements/gststatistics.c:
13282         * gst/elements/gsttee.c:
13283         * gst/elements/gsttypefindelement.c:
13284           use them.
13285
13286 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13287
13288         * docs/gst/gstreamer-docs.sgml: remove props
13289         * docs/gst/gstreamer-sections.txt: remove props
13290         * docs/gst/tmpl/gst.sgml:
13291         * docs/gst/tmpl/gstbin.sgml:
13292         * docs/gst/tmpl/gstbuffer.sgml:
13293         * docs/gst/tmpl/gstcaps.sgml:
13294         * docs/gst/tmpl/gstclock.sgml:
13295         * docs/gst/tmpl/gstelement.sgml:
13296         * docs/gst/tmpl/gstindex.sgml:
13297         * docs/gst/tmpl/gstobject.sgml:
13298         * docs/gst/tmpl/gstpad.sgml:
13299         * docs/gst/tmpl/gstpadtemplate.sgml:
13300         * docs/gst/tmpl/gstreamer-unused.sgml:
13301         * docs/gst/tmpl/gstthread.sgml:
13302         * docs/gst/tmpl/gstxml.sgml:
13303           sync with code reorganization
13304
13305 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13306
13307         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13308         Make the 'Could not find compatible pad' message more informative.
13309
13310 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13311                                                                                 
13312         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13313           Fix for if we pass NULL as property to location.
13314         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13315         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13316           Fix for instantiate-test (see below).
13317         * gst/gststructure.c: (_gst_structure_parse_value):
13318           Fix compile error on gcc-2.96.
13319         * configure.ac:
13320         * tests/Makefile.am:
13321         * tests/instantiate/Makefile.am:
13322         * tests/instantiate/create.c: (create_all_elements), (main):
13323           Add a test that instantiates all elements. This makes it easy to
13324           track dead code for old API/design (like setting event functions
13325           on sink pads and so on).
13326
13327 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13328
13329         * gst/gstcaps.c: (gst_caps_append_structure):
13330           Move the poisoning to allow a NULL structure
13331         * gst/gstevent.c: (_gst_event_free):
13332           When freeing a navigation event, free the structure
13333           also
13334
13335 2004-01-04  David Schleef  <ds@schleef.org>
13336
13337         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13338         Remove usage of gst_pad_proxy_fixate.
13339         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13340         (gst_caps_split_one), (gst_caps_replace):
13341         Add poisoning code.
13342         * gst/gstmarshal.list:
13343         Add pointer__pointer for fixate signal
13344         * gst/gstpad.c: (gst_real_pad_class_init),
13345         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13346         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13347         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13348         Add poisoning code. Add fixate signal on RealPad. Change
13349         set_explicit_caps() to take const GstCaps, like try_set_caps().
13350         * gst/gstpad.h:
13351         * testsuite/caps/Makefile.am:
13352         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13353
13354 2004-01-03  David Schleef  <ds@schleef.org>
13355
13356         * gst/elements/gsttypefindelement.c:
13357         (gst_type_find_element_have_type), (gst_type_find_element_init):
13358         Use gst_pad_use_explicit_caps for src pad.
13359         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13360         before using it.
13361
13362 2004-01-03  David Schleef  <ds@schleef.org>
13363
13364         * gst/gstelement.c: (gst_element_link_pads_filtered),
13365         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13366         that linking was successful.
13367         * gst/gstpad.c: (gst_pad_link_free),
13368         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13369         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13370         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13371         GstPadLinkReturn correctly between functions, and don't fail
13372         when DELAYED is used (DELAYED is very important).  Better
13373         cleanup on unlinking and unnegotiation.  Should fix some spider
13374         bugs.
13375
13376 2004-01-02  David Schleef  <ds@schleef.org>
13377
13378         * gst/gstelement.c: (gst_element_class_init),
13379         (gst_element_base_class_init): ->padtemplates should be cleared
13380         in base_init, since we need to have a fresh list for every
13381         class.  (Alternately, we chould copy the list and share the
13382         actual pad templates (not the list), but that would require
13383         changing every plugin to move pad template registration from
13384         base_init to class_init.)
13385
13386 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13387
13388         * gst/gstelement.c: (gst_element_class_add_pad_template):
13389           Refuse registering a pad template if another pad template
13390           with the same name already exists (#114715).
13391
13392 2004-01-02  David Schleef  <ds@schleef.org>
13393
13394         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13395         (gst_caps_is_equal_fixed): Add new function.
13396         * gst/gstcaps.h: ditto.
13397         * gst/gstpad.c: (gst_real_pad_class_init),
13398         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13399         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13400         check new caps against existing caps -- if they're the same, return
13401         OK without renegotiating.  caps-nego-failed signal fixed so that
13402         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13403         to save an extra caps copy.  Don't complete negotiation if a pad
13404         link function returns DELAYED.
13405
13406 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13407
13408         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13409           Fix wrong g_return_if_fail
13410
13411 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13412
13413         * gst/gstbin.c: (gst_bin_class_init):
13414         Change the marshalling of element_added/element_removed
13415         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13416         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13417
13418 2004-01-01  David Schleef  <ds@schleef.org>
13419
13420         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13421         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13422         (gst_pad_use_explicit_caps):
13423         * gst/gstpad.h:
13424         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13425         to use an internal getcaps and link fuction so that negotiation
13426         always results in the explicitly set caps.
13427         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13428         are particularly useful for decoders.
13429
13430 2003-12-31  David Schleef  <ds@schleef.org>
13431
13432         * gst/elements/gstidentity.c: (gst_identity_class_init),
13433         (gst_identity_init), (gst_identity_chain),
13434         (gst_identity_set_property), (gst_identity_get_property):
13435         * gst/elements/gstidentity.h:
13436         * gst/gstqueue.c: (gst_queue_init):
13437           Negotiation fixes.
13438
13439 2003-12-31  David Schleef  <ds@schleef.org>
13440
13441         * gst/gstcaps.c: (gst_caps_intersect),
13442         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13443           Implement gst_caps_normalize().
13444         * testsuite/caps/normalisation.c: (main):
13445           Add an additional test
13446
13447 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13448
13449         * gst/gstqueue.c: (gst_queue_init):
13450           use gst_pad_proxy_getcaps()
13451
13452 2003-12-31  David Schleef  <ds@schleef.org>
13453
13454         * gst/elements/gstshaper.c: (gst_shaper_link):
13455         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13456         * gst/gstqueue.c: (gst_queue_link):
13457           Negotiation fixes.
13458
13459 2003-12-31  David Schleef  <ds@schleef.org>
13460
13461         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13462         * gst/gstpad.h: Add functions that are useful as default pad
13463         link and fixate functions for elements.
13464
13465 2003-12-30  David Schleef  <ds@schleef.org>
13466
13467         * gst/gstpad.c: (gst_pad_link_try):
13468           Fix segfault when attempting to return to old caps
13469
13470 2003-12-29  David Schleef  <ds@schleef.org>
13471
13472         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13473         (gst_caps_structure_simplify), (gst_caps_simplify):
13474         * gst/gstcaps.h:
13475           Add simplify function
13476         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13477         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13478         * gst/gstpad.h:
13479           Copy over srcnotify, sinknotify when calling old pad_link
13480           functions.  Add new is_negotiated() function.
13481         * gst/gststructure.c: (gst_structure_copy):
13482           Fix an incredibly stupid bug that should have been noticed
13483           weeks ago.  _copy() returned the argument, not the new copy.
13484
13485 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13486
13487         * gst/gstcaps.c: (gst_caps_append):
13488           add sanity checks
13489         * gst/gstcaps.h: (gst_caps_debug):
13490           remove, it doesn't exist anymore.
13491         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13492         (gst_element_threadsafe_properties_post_run):
13493           make debugging messages not clutter up THREAD debug category
13494         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13495         (gst_element_change_state):
13496           update to new caps API
13497         * gst/gstinterface.c: (gst_implements_interface_cast):
13498           don't put vital code in g_return_if_fail
13499         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13500         (gst_pad_link_filtered):
13501           add pst_pad_try_link and use it.
13502         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13503           implement correctly, deprecate first one.
13504         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13505           add and implement.
13506         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13507           implement.
13508         (gst_pad_get_negotiated_caps):
13509           add and implement. Make GST_PAD_CAPS call this function.
13510         (gst_pad_get_caps):
13511           remove unneeded check..
13512         (gst_pad_recover_caps_error):
13513           disable, always return FALSE.
13514         (gst_real_pad_dispose):
13515           don't free caps and appfilter anymore, they're unused.
13516         * gst/gstpad.h:
13517           Reflect changes mentioned above.
13518         * gst/gstsystemclock.c: (gst_system_clock_wait):
13519           Make 'clock is way behind' a debugging message.
13520         * gst/gstthread.c: (gst_thread_change_state):
13521           Fix debugging message
13522
13523 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13524
13525         * gst/gstinfo.h:
13526           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13527         * docs/gst/tmpl/gstreamer-unused.sgml:
13528           removed all traces of cvs conflicts
13529
13530 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13531
13532         * configure.ac:
13533         * gst/schedulers/cothreads_compat.h:
13534         * libs/Makefile.am:
13535           remove last instances of wingo cothread usage
13536
13537 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13538
13539         * gst/gstplugin.c:
13540         * gst/gstversion.h.in:
13541         * gst/parse/grammar.y:
13542           change comment block from /** to /* when not gtk-doc comments
13543
13544 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13545
13546         * gst/gst.c: whitespace and doc style fixes
13547
13548 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13549
13550         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13551
13552 2003-12-24  Colin Walters  <walters@verbum.org>
13553
13554         * gst/elements/gsttypefindelement.c:
13555           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13556           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13557           Don't double-free caps.
13558
13559 2003-12-23  David Schleef  <ds@schleef.org>
13560
13561         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13562           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13563           Many little fixes and additions of debug statements to
13564           get rhythmbox working.
13565
13566 2003-12-23  Colin Walters  <walters@verbum.org>
13567
13568         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13569         Use GST_PAD_LINK_SUCCESSFUL.
13570
13571 2003-12-23  David Schleef  <ds@schleef.org>
13572
13573         * gst/elements/gstaggregator.c:
13574         * gst/elements/gsttee.c:
13575           Use gst_pad_proxy_getcaps().
13576         * gst/gstpad.c:
13577         * gst/gstpad.h:
13578           Add gst_pad_proxy_getcaps(), which filter elements can use
13579           as a generic getcaps implementation.
13580           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13581           was advertised.
13582
13583 2003-12-23  David Schleef  <ds@schleef.org>
13584
13585         * gst/gstpad.c:
13586           Rearrange/rewrite much of the pad negotiation code, since it
13587           resembled pasta.  This actually changes the way some
13588           negotiation works, since the previous code was inconsistent
13589           depending on how it was invoked.  Add (internal) structure
13590           GstPadLink, which is used to hold some information (more in
13591           the future) about the link between two pads.  Fixes a number
13592           of bugs, including random lossage of filter caps when the
13593           initial negotiation is delayed.  A few functions are still
13594           unimplemented.
13595         * gst/gstpad.h:
13596           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13597           these when testing GstPadLinkReturn values instead of comparing
13598           directly.
13599
13600 2003-12-23  David Schleef  <ds@schleef.org>
13601
13602         * gst/gstvalue.c: 
13603         * gst/gstvalue.h:
13604           Rearrange lots of code.  Change registration of compare function
13605           into registration of compare/serialize/deserialize functions.
13606           Doesn't include implementation of gst_value_[de]serialize(),
13607           but that should be easy.
13608
13609 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13610
13611         * docs/gst/gstreamer-sections.txt:
13612         * docs/gst/tmpl/gstprops.sgml: removed
13613         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13614           David removed props and caps code, so let's remove their docs as well.
13615           Removed all no longer existing symbols from gstreamer-sections.txt
13616           
13617 2003-12-22  Colin Walters  <walters@verbum.org>
13618
13619         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13620           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13621           of tags directly.
13622
13623 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13624
13625         * gst/elements/gstelements.c:
13626           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13627         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13628           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13629           gst_caps (peer).
13630
13631 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13632
13633         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13634         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13635         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13636         (gst_spider_identity_sink_loop_type_finding):
13637         * gst/autoplug/gstspideridentity.h:
13638           Fix autoplugging in spider element, so it works with new caps.
13639           This was mainly caused by identifying empty caps incorrectly.
13640
13641 2003-12-22  David Schleef  <ds@schleef.org>
13642
13643         * gststructure.c, gstvalue.c, gstvalue.h: Add
13644           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13645           using g_value_copy()
13646
13647 2003-12-21  David Schleef  <ds@schleef.org>
13648
13649         * many, many files: Merge CAPS branch.  This includes:
13650           - implemention of GstValue and several GstValue types
13651           - implemention of GstStructure
13652           - entire rewrite of GstCaps
13653           - removal of GstProps
13654           - many changes to GstPad to compensate for new caps paradigm
13655           - removal of GstBufferpool
13656         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13657         gstvalue.h, gst/gstcaps[2]*.[ch]:
13658           - rename gstcaps2.[ch] to gstcaps.[ch]
13659
13660 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13661
13662         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13663         (gst_queue_chain), (gst_queue_handle_src_event):
13664           implement timeout for sending events. Workaround for if the
13665           pipeline on this queue is not passing any data.
13666
13667 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13668                                                                                 
13669         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13670         * moved CVS to freedesktop.org
13671