check/Makefile.am: Use CHECK_CFLAGS and CHECK_LIBS
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
2
3         * check/Makefile.am:
4           Use CHECK_CFLAGS and CHECK_LIBS
5         * check/gst/gstevent.c: (event_probe), (test_event),
6         (GST_START_TEST):
7           Don't leak events.
8         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9         (gst_base_src_start), (gst_base_src_stop),
10         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11         (gst_base_src_change_state):
12           Sprinkle gst_base_src_stop liberally around error paths to fix
13           problems reusing a source after failed state changes.
14         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15         (helper_find_suggest), (gst_type_find_helper):
16           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17         * gst/gstevent.h:
18         * docs/gst/tmpl/gstevent.sgml:
19           Migrate part of the docs from the SGML file. Wait for ensonic to
20           tell me how I did it wrong ;)
21         * tools/gst-typefind.c: (main):
22           Extra robustness to state changes between files.
23
24 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25
26         * check/Makefile.am:
27           don't valgrind the controller test - it's leaking - Stefan, HELP
28         * gst/check/gstcheck.c: (gst_check_message_error),
29         (gst_check_chain_func), (gst_check_setup_element),
30         (gst_check_teardown_element), (gst_check_setup_src_pad),
31         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
32         (gst_check_teardown_sink_pad):
33         * gst/check/gstcheck.h:
34           add a bunch of methods to set up elements, and src and sink pads
35         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
36         * check/elements/identity.c: (setup_identity), (cleanup_identity),
37         (GST_START_TEST):
38           use them
39         * gst/gstmessage.c:
40         * gst/gsttag.h:
41           whitespace/doc fixes
42
43 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
44
45         * gst/gstelement.h:
46           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
47           be handled by the application and not always printed as well
48
49 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
50
51         * check/Makefile.am:
52           set GST_TOOLS_DIR
53         * gst/check/gstcheck.c: (gst_check_message_error):
54         * gst/check/gstcheck.h:
55           add a fail_unless_equals_int
56           add fail_unless for error messages
57
58 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
59
60         * check/Makefile.am:
61         * check/gst.supp:
62         * common/Makefile.am:
63         * common/check.mak:
64         * common/gst.supp:
65           factor out some of the common stuff so we can use it
66
67 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
68
69         * check/Makefile.am:
70         * check/gst/gstiterator.c: (GST_START_TEST):
71         * check/gst/gstsystemclock.c: (GST_START_TEST),
72         (gst_systemclock_suite):
73         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
74         * gst/gstclock.c:
75           valgrind more tests
76
77 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
78
79         * check/elements/.cvsignore:
80         * check/elements/gstfakesrc.c:
81           rename to name of element
82         * check/elements/identity.c: (chain_func), (event_func),
83         (setup_identity), (cleanup_identity), (GST_START_TEST),
84         (identity_suite), (main):
85           add a test for identity
86         * check/Makefile.am:
87         * pkgconfig/Makefile.am:
88         * pkgconfig/gstreamer-check.pc.in:
89         * pkgconfig/gstreamer-check-uninstalled.pc.in:
90         * gst/check:
91         * gst/Makefile.am:
92         * configure.ac:
93           move the check stuff to a library that gets installed
94         * check/gst-libs/controller.c: (GST_START_TEST):
95         * check/gst-libs/gdp.c:
96         * check/gst/gst.c: (GST_START_TEST):
97         * check/gst/gstbin.c:
98         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
99         * check/gst/gstbus.c:
100         * check/gst/gstcaps.c: (GST_START_TEST):
101         * check/gst/gstelement.c:
102         * check/gst/gstghostpad.c:
103         * check/gst/gstiterator.c:
104         * check/gst/gstmessage.c:
105         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
106         * check/gst/gstobject.c:
107         * check/gst/gstpad.c: (GST_START_TEST):
108         * check/gst/gststructure.c: (GST_START_TEST):
109         * check/gst/gstsystemclock.c: (GST_START_TEST),
110         (gst_systemclock_suite):
111         * check/gst/gsttag.c: (gst_tag_suite):
112         * check/gst/gstvalue.c:
113         * check/pipelines/cleanup.c:
114         * check/pipelines/simple_launch_lines.c:
115         * check/states/sinks.c:
116           change include statement
117
118         * docs/gst/gstreamer-sections.txt:
119         * docs/gst/tmpl/gstpad.sgml:
120           document more pad stuff
121         * gst/gstminiobject.c: (gst_mini_object_ref),
122         (gst_mini_object_unref):
123           debug refcounting
124
125 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
126
127         * docs/gst/tmpl/gst.sgml:
128         * gst/gst.c:
129           eliminate another tmpl file, fix spelling in the long-description
130
131 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
132
133         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
134         (test_event), (timediff), (gstevents_suite):
135           Should fix build on 64-bit arch's
136
137 2005-08-18  Andy Wingo  <wingo@pobox.com>
138
139         Make sure that when a pipeline goes to PLAYING, that data has
140         actually hit the sink.
141
142         * check/states/sinks.c (test_sink): A sink that doesn't get any
143         data shouldn't return SUCCESS for going to either PLAYING or
144         PAUSED. Test also the return values on the way back down.
145
146         * gst/gstelement.c (gst_element_set_state): When changing the
147         state of an element currently changing state asynchronously, go to
148         lost-state after commiting the pending state. Makes future calls
149         to get_state continue to return ASYNC.
150
151         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
152         ASYNC when going to PLAYING if we still don't have preroll, as can
153         happen with live sources.
154
155 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
156
157         * docs/pwg/advanced-types.xml:
158           Hack long paragraph into 2 chunks as a workaround for buggy
159           jadetex version in sid and breezy that loops infinitely and
160           eats all RAM.
161
162 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
163
164         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
165         (test_event), (timediff), (gstevents_suite):
166           Provide more error margin in clock measurements to allow for 
167           g_get_current_time inaccuracies.
168
169 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
170
171         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
172         (test_event), (timediff), (gstevents_suite):
173            Fix error message output so I might be able to tell why the
174            test works here but fails on the build farm.
175
176 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
177
178         * check/Makefile.am:
179         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
180         (test_event), (timediff), (gstevents_suite), (main):
181           I wrote a test!
182
183         * docs/design/part-seeking.txt:
184           Spelling correction
185
186         * docs/gst/tmpl/gstevent.sgml:
187         * docs/gst/tmpl/gstfakesrc.sgml:
188           Docs updates.
189
190         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
191           Treat a buffer-without-newsegment the same as a receiving 
192           a newsegment not in time format, and disable syncing to the clock
193           with a warning.
194
195         * gst/gstbus.c: (gst_bus_set_sync_handler):
196           Assert if anyone tries to replace the existing sync_handler for bus, 
197           as only the owner should be setting it.
198
199         * gst/gstevent.h:
200           Have a fixed set of custom event enums with events identified by
201           their structure name (as in 0.8), rather than a free-for-all
202           allowing collisions between enum values from different plugins.
203
204         * gst/gstpad.c: (gst_pad_class_init):
205           Docs change.
206           
207         * gst/gstqueue.c: (gst_queue_handle_sink_event):
208           Handle out-of-band downstream events from the sending thread.
209
210 2005-08-17  Andy Wingo  <wingo@pobox.com>
211
212         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
213         play-timeout==0 to mean no timeout at all. In that case, don't
214         bother with a get_state or a warning, just return directly, even
215         if it's ASYNC.
216
217         * gst/base/gstbasetransform.c: Debug changes.
218
219         * gst/gstutils.h:
220         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
221         ensure bins post state change messages. A bit of a hack but I can't
222         think of a way to avoid it.
223
224         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
225
226 2005-08-16  Andy Wingo  <wingo@pobox.com>
227
228         * gst/base/gstadapter.h:
229         * gst/base/gstadapter.c (gst_adapter_take): New function, like
230         peek() but you own the data. Not terribly efficient atm.
231
232 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
233
234         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
235         (gst_element_found_tags):
236         * gst/gstutils.h:
237           Add two utility functions for tag handling.
238
239 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
240
241         * docs/manual/advanced-dataaccess.xml:
242         * docs/manual/basics-helloworld.xml:
243           Fix docs to use _bin_add() before _link(), which fixes the examples
244           with recent core versions (reported by Madhan Raj M
245           <raj_madan@rediffmail.com>, #313199).
246
247 2005-08-16  Wim Taymans  <wim@fluendo.com>
248
249         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
250         Added subtract checks.
251
252         * docs/design/part-events.txt:
253         Some more docs about newsegment
254
255         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
256         Fix FIXME
257
258         * gst/gstcaps.c: (gst_caps_to_string):
259         Add comments, cleanups.
260         
261         * gst/gstelement.c: (gst_element_save_thyself):
262         cleanups
263         
264         * gst/gstvalue.c: (gst_value_collect_int_range),
265         (gst_string_unwrap), (gst_value_union_int_int_range),
266         (gst_value_union_int_range_int_range),
267         (gst_value_intersect_int_int_range),
268         (gst_value_intersect_int_range_int_range),
269         (gst_value_intersect_double_double_range),
270         (gst_value_intersect_double_range_double_range),
271         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
272         (gst_value_subtract_int_range_int),
273         (gst_value_subtract_double_range_double),
274         (gst_value_subtract_double_range_double_range),
275         (gst_value_subtract_from_list), (gst_value_subtract_list),
276         (gst_value_can_compare), (gst_value_compare_fraction):
277         Cleanups, add comments, remove unneeded asserts.
278
279 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
280
281         * tools/gst-launch.c: (event_loop):
282           don't convert NULL structures to strings
283
284 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
285
286         * docs/gst/gstreamer-sections.txt:
287           made some defines private
288         * docs/gst/tmpl/gstconfig.sgml:
289         * docs/gst/tmpl/gstqueue.sgml:
290         * docs/gst/tmpl/gsttaglist.sgml:
291         * docs/gst/tmpl/gsttypes.sgml:
292         * docs/gst/tmpl/gstutils.sgml:
293         * docs/pwg/appendix-porting.xml:
294         * gst/base/gstbasesink.h:
295         * gst/base/gstbasesrc.c:
296         * gst/base/gstbasesrc.h:
297         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
298         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
299         * gst/gstelement.c: (gst_element_class_init):
300         * gst/gstpad.c: (gst_pad_class_init):
301         * gst/gstqueue.c: (gst_queue_class_init):
302         * gst/gstxml.c: (gst_xml_class_init):
303           documented all undocumented signal inline
304         * libs/gst/controller/gst-controller.h:
305           added padding
306
307 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
308
309         * docs/pwg/appendix-porting.xml:
310           Document _set_link_function -> _set_setcaps_function.
311
312 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
313
314         * check/Makefile.am:
315           add a .check target for running the check
316         * check/gst-libs/controller.c: (GST_START_TEST):
317           cosmetic fixups
318         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
319           complete checks for gstbuffer; would be nice if I could get the
320           gcov stuff to work so I can see if I actually completed gstbuffer.c
321         * check/gstcheck.h:
322           add ASSERT_BUFFER_REFCOUNT
323
324 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
325
326         * docs/gst/gstreamer-sections.txt:
327         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
328         * gst/gsttag.h:
329           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
330           spew out a warning if a tag that is already registered
331           is re-registered, unless it is re-registered with a 
332           different type (#308438).
333
334 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
335
336         * docs/pwg/appendix-porting.xml:
337         * docs/pwg/building-state.xml:
338           Add some paragraphs about state changes in 0.9 to the PWG
339           and the porting guide, in particular about the new meaning
340           of GST_STATE_PAUSED and how to write state change functions
341           with concurrent access by multiple threads in mind.
342
343 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
344
345         * docs/gst/gstreamer-docs.sgml:
346         * docs/libs/gstreamer-libs-docs.sgml:
347           added deprecation and since indexes
348         * libs/gst/controller/gst-controller.c:
349         * libs/gst/controller/gst-helper.c:
350           added since tags
351
352
353 2005-08-11  Wim Taymans  <wim@fluendo.com>
354
355         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
356         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
357         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
358         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
359         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
360         (gst_ghost_pad_set_target):
361         Actually implement (re)setting the target on a ghostpad
362         as described in the docs.
363
364 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
365
366         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
367           Check whether GST_DEBUG_NO_COLOR environment variable is
368           set and disable coloured debug output if that is the case.
369
370 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
371
372         * gst/base/gsttypefindhelper.c: (helper_find_peek),
373         (gst_type_find_helper):
374           The memory returned by gst_type_find_peek() needs to
375           stay valid until the end of a typefind function, and
376           typefind functions may keep results from different 
377           offsets around, so we can't just unref the buffer from
378           the previous _peek(), but have to save all buffers 
379           returned by _peek() until typefinding is done and only
380           free them then.
381
382 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
383
384         * docs/gst/gstreamer-sections.txt:
385         * gst/gstutils.h:
386           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
387
388 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
389
390         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
391           Fix a pretty good memleak.
392
393 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
394
395         * gst/gstiterator.h:
396           Fix wrong include and 'make distcheck'.
397
398 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
399
400         * gst/gstbin.c: (bin_bus_handler):
401           Use gst_element_post_message() instead.
402
403 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
404
405         * gst/base/gstadapter.h:
406         * gst/base/gstbasesink.h:
407         * gst/base/gstbasesrc.h:
408         * gst/base/gstbasetransform.h:
409         * gst/base/gstcollectpads.h:
410         * gst/base/gstpushsrc.h:
411         * gst/gstiterator.h:
412           Add padding to our base elements' class and instance structs and
413           to GstIterator (you will need to rebuild all plugins and apps!)
414
415 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
416
417         * gst/gstbin.c: (bin_bus_handler):
418           Make default message forwarding from child->bus to bin->bus
419           threadsafe and make it not emit warnings if the parent has no bus.
420
421 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
422
423         * gst/gstelement.c: (activate_pads):
424           On paused->ready, set pad->caps to NULL, as is the documented
425           behaviour in this state change. Fixes playback of series of
426           media files when visualization is enabled in Totem.
427
428 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
429
430         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
431           Allow NULL as filter-caps (which means "any").
432
433 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
434
435         * docs/libs/gstreamer-libs-sections.txt:
436         * libs/gst/controller/gst-controller.c:
437         * libs/gst/controller/gst-controller.h:
438         * libs/gst/controller/gst-helper.c:
439           adding more entries to the docs and fix small doc-bugs
440
441 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
442
443         * docs/gst/gstreamer-docs.sgml:
444         * docs/gst/gstreamer-sections.txt:
445         * docs/gst/gstreamer.types:
446         * docs/gst/tmpl/gstbasesink.sgml:
447         * docs/gst/tmpl/gstbasesrc.sgml:
448         * docs/gst/tmpl/gstbasetransform.sgml:
449         * docs/gst/tmpl/gstfakesrc.sgml:
450         * gst/base/gstcollectpads.c:
451         * gst/base/gstcollectpads.h:
452         * libs/gst/controller/gst-controller.c:
453         * libs/gst/controller/gst-controller.h:
454         * libs/gst/controller/gst-helper.c:
455         * libs/gst/controller/gst-interpolation.c:
456         * libs/gst/controller/lib.c:
457           added long/short desc for controller docs
458           added collectpads base class docs
459           added correct includes to base-class docs
460
461 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
462
463         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
464         (gst_test_mono_source_set_property),
465         (gst_test_mono_source_class_init), (GST_START_TEST),
466         (gst_controller_suite):
467         * docs/gst/gstreamer-docs.sgml:
468         * docs/gst/gstreamer-sections.txt:
469         * docs/gst/gstreamer.types:
470         * docs/libs/gstreamer-libs-docs.sgml:
471         * docs/libs/gstreamer-libs-sections.txt:
472         * gst/base/gstadapter.c:
473         * libs/gst/controller/gst-controller.c:
474         (gst_controlled_property_new), (gst_controlled_property_free),
475         (gst_controller_new_valist),
476         (gst_controller_remove_properties_valist),
477         (gst_controller_sink_values), (_gst_controller_finalize):
478         * libs/gst/controller/gst-controller.h:
479         * libs/gst/controller/gst-helper.c:
480         (gst_object_control_properties), (gst_object_uncontrol_properties),
481         (gst_object_get_controller), (gst_object_set_controller),
482         (gst_object_sink_values), (gst_object_get_value_arrays),
483         (gst_object_get_value_array):
484           more tests (and fixes) for the controller
485           more docs for the controller
486           integrated companies docs for the adapter 
487
488 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
489
490         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
491         (GST_START_TEST), (fakesrc_suite):
492           add tests for sizetype
493
494 2005-08-04  Andy Wingo  <wingo@pobox.com>
495
496         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
497         fixes buffer_alloc proxying among other things.
498
499         * gst/base/gstbasetransform.c:
500         * gst/base/gstbasetransform.h:
501         Revert patch to gstbasetransform from 7-28 removing
502         delay_configure.
503
504         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
505         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
506         Semantics changed, should return not the size of the output buffer
507         but the byte size of a buffer with a given caps.
508
509         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
510         debug object.
511         (gst_base_transform_configure_caps): Don't set out_size here: (in,
512         out) are not the pad caps until setcaps finishes.
513         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
514         not-in-place case as well. Deal with changing from in-place to
515         not-in-place within calling pad_alloc_buffer. Still a bit
516         concerned about the overhead here...
517
518 2005-08-03  Andy Wingo  <wingo@pobox.com>
519
520         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
521         fixating is an error.
522
523 2005-08-04  Edward Hervey  <edward@fluendo.com>
524
525         * gst/base/gstadapter.h: 
526         Added gst_adapter_get_type() to the header
527
528 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
529
530         * check/Makefile.am:
531         * check/gst-libs/controller.c:
532         * libs/gst/controller/gst-controller.c:
533         (gst_controller_new_valist):
534           added check test suite for the controller
535         * gst/base/gstpushsrc.c:
536           fixed a doc typo
537
538 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
539
540         * docs/gst/Makefile.am:
541         * docs/gst/gstreamer-docs.sgml:
542         * docs/gst/gstreamer-sections.txt:
543         * docs/gst/gstreamer.types:
544         * docs/gst/tmpl/gstfakesrc.sgml:
545         * gst/base/README:
546         * gst/base/gstbasesink.c:
547         * gst/base/gstbasesink.h:
548         * gst/base/gstbasesrc.c:
549         * gst/base/gstbasesrc.h:
550         * gst/base/gstbasetransform.c:
551         * gst/base/gstpushsrc.c:
552         * gst/base/gstpushsrc.h:
553           add short/long description docs to base classes
554           add pushsrc to the docs
555           remove consolidated doc fragments
556
557 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
558
559         * configure.ac:
560         * docs/libs/Makefile.am:
561         * docs/libs/gstreamer-libs-docs.sgml:
562         * docs/libs/gstreamer-libs-sections.txt:
563         * docs/libs/gstreamer-libs.types:
564         * examples/Makefile.am:
565         * examples/controller/.cvsignore:
566         * examples/controller/Makefile.am:
567         * examples/controller/audio-example.c: (main):
568         * libs/gst/Makefile.am:
569         * libs/gst/controller/.cvsignore:
570         * libs/gst/controller/Makefile.am:
571         * libs/gst/controller/gst-controller.c:
572         (on_object_controlled_property_changed), (gst_timed_value_compare),
573         (gst_timed_value_find),
574         (gst_controlled_property_set_interpolation_mode),
575         (gst_controlled_property_new), (gst_controlled_property_free),
576         (gst_controller_find_controlled_property),
577         (gst_controller_new_valist), (gst_controller_new),
578         (gst_controller_remove_properties_valist),
579         (gst_controller_remove_properties), (gst_controller_set),
580         (gst_controller_set_from_list), (gst_controller_unset),
581         (gst_controller_get), (gst_controller_get_all),
582         (gst_controller_sink_values), (gst_controller_get_value_arrays),
583         (gst_controller_get_value_array),
584         (gst_controller_set_interpolation_mode),
585         (_gst_controller_finalize), (_gst_controller_init),
586         (_gst_controller_class_init), (gst_controller_get_type):
587         * libs/gst/controller/gst-controller.h:
588         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
589         (g_object_uncontrol_properties), (g_object_get_controller),
590         (g_object_set_controller), (g_object_sink_values),
591         (g_object_get_value_arrays), (g_object_get_value_array):
592         * libs/gst/controller/gst-interpolation.c:
593         (gst_controlled_property_find_timed_value_node),
594         (interpolate_none_get), (interpolate_trigger_get),
595         (interpolate_trigger_get_value_array):
596         * libs/gst/controller/lib.c: (gst_controller_init):
597         * pkgconfig/Makefile.am:
598         * pkgconfig/gstreamer-control-uninstalled.pc.in:
599         * pkgconfig/gstreamer-control.pc.in:
600         * testsuite/Makefile.am:
601         * testsuite/controller/.cvsignore:
602         * testsuite/controller/Makefile.am:
603         * testsuite/controller/interpolator.c: (main):
604           added controller code
605           removed dparam pc files
606
607 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
608         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
609         (gst_collectpads_stop):
610           Broadcast the condition when shutting down, to make sure we wake all
611           threads up. Shut down pads on finalize, for safety.
612
613 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
614         * gst/base/gstbasetransform.c: (gst_base_transform_init),
615         (gst_base_transform_handle_buffer),
616         (gst_base_transform_change_state):
617           Handle PAUSED->READY->PAUSED transition after negotiation
618           occurred already.
619         * gst/gstmessage.c: (gst_message_init):
620           Extra piece of debug for new messages.
621
622 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
623
624         * configure.ac:
625         * docs/gst/tmpl/gstbasesrc.sgml:
626         * docs/gst/tmpl/gstelement.sgml:
627         * docs/gst/tmpl/gstevent.sgml:
628         * docs/gst/tmpl/gstfakesrc.sgml:
629         * docs/gst/tmpl/gstformat.sgml:
630         * docs/gst/tmpl/gstghostpad.sgml:
631         * docs/gst/tmpl/gstpad.sgml:
632         * docs/gst/tmpl/gstquery.sgml:
633         * docs/gst/tmpl/gststructure.sgml:
634         * docs/gst/tmpl/gsttaglist.sgml:
635         * docs/gst/tmpl/gstvalue.sgml:
636         * docs/libs/gstreamer-libs-docs.sgml:
637         * docs/libs/gstreamer-libs-sections.txt:
638         * docs/libs/gstreamer-libs.types:
639         * libs/gst/Makefile.am:
640         * libs/gst/control/.cvsignore:
641         * libs/gst/control/Makefile.am:
642         * libs/gst/control/control.c:
643         * libs/gst/control/control.h:
644         * libs/gst/control/dparam.c:
645         * libs/gst/control/dparam.h:
646         * libs/gst/control/dparam_smooth.c:
647         * libs/gst/control/dparam_smooth.h:
648         * libs/gst/control/dparamcommon.h:
649         * libs/gst/control/dparammanager.c:
650         * libs/gst/control/dparammanager.h:
651         * libs/gst/control/dplinearinterp.c:
652         * libs/gst/control/dplinearinterp.h:
653         * libs/gst/control/unitconvert.c:
654         * libs/gst/control/unitconvert.h:
655         * testsuite/Makefile.am:
656         * testsuite/dynparams/.cvsignore:
657         * testsuite/dynparams/Makefile.am:
658         * testsuite/dynparams/dparamstest.c:
659         * tools/Makefile.am:
660         * tools/gst-inspect.c: (print_element_info), (main):
661         * tools/gst-xmlinspect.c: (print_element_info), (main):
662           deactivate and remove dparams (libgstcontrol)
663
664 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
665
666         * gst/elements/gsttypefindelement.c:
667         (gst_type_find_element_have_type), (gst_type_find_element_init),
668         (stop_typefinding), (gst_type_find_element_handle_event),
669         (gst_type_find_element_chain), (gst_type_find_element_getrange):
670         * gst/elements/gsttypefindelement.h:
671           Set caps on all outgoing buffers, not just the first one.
672
673 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
674
675         * gst/elements/gsttypefindelement.c:
676         (gst_type_find_element_have_type),
677         (gst_type_find_element_check_set_buffer_caps),
678         (gst_type_find_element_init), (stop_typefinding),
679         (gst_type_find_element_handle_event),
680         (gst_type_find_element_chain), (gst_type_find_element_getrange):
681         * gst/elements/gsttypefindelement.h:
682           Set caps on first outgoing buffer when we've found the type.
683
684 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
685
686         * docs/gst/gstreamer-docs.sgml:
687         * docs/gst/gstreamer-sections.txt:
688         * docs/gst/tmpl/gstscheduler.sgml:
689         * docs/gst/tmpl/gstschedulerfactory.sgml:
690           Remove some old cruft from docs.
691
692 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
693
694         * gst/gstpad.h:
695           Fix inline docs for GstPadLinkReturn.
696           
697         * gst/gststructure.c: (gst_structure_has_name):
698         * gst/gststructure.h:
699         * docs/gst/gstreamer-sections.txt:
700           New API: gst_structure_has_name().
701
702 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
703
704         * configure.ac:
705           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
706           and _LARGEFILE_SOURCE in config.h as required. Do not 
707           export those flags in our .pc files any longer (#142209).
708
709           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
710
711         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
712         (gst_file_sink_do_seek), (gst_file_sink_event),
713         (gst_file_sink_get_current_offset), (gst_file_sink_render):
714           Redo seek/tell calls with large file support in mind; add some
715           debugging messages; add log message that tells us when large
716           file support is unavailable or not enabled for some reason.
717
718         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
719           Add log message that tells us when large file support 
720           is unavailable or not enabled for some reason.
721
722 2005-07-29  Wim Taymans  <wim@fluendo.com>
723
724         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
725         Added test for removing an element with ghostpad from a bin.
726         Fixed test as current implementation does the right thing.
727
728         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
729         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
730         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
731         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
732         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
733         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
734         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
735         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
736         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
737         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
738         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
739         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
740         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
741         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
742         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
743         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
744         * gst/gstghostpad.h:
745         Clean up ghostpads, remove properties for internal stuff.
746         Make threadsafe.
747         Fix refcounting.
748         Prepare for switching targets, not all use cases work yet.
749
750 2005-07-29  Wim Taymans  <wim@fluendo.com>
751
752         * docs/design/part-gstghostpad.txt:
753         Small update.
754
755         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
756         (gst_bin_remove_func):
757         Unlinking pads while holding the bin LOCK is not a good
758         idea.
759
760         * gst/gstpad.c: (gst_pad_class_init),
761         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
762         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
763         No prob setting template after creating the pad.
764
765 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
766
767         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
768         (gst_bus_peek), (gst_bus_source_dispatch),
769         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
770         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
771           gst_bus_poll may be called from other threads. Handle
772           this nicely by not making poll_data disappear off the
773           stack once gst_bus_poll returns.
774           gst_bus_peek now increments the refcount on the returned
775           message.
776
777 2005-07-29  Wim Taymans  <wim@fluendo.com>
778
779         * docs/design/part-gstghostpad.txt:
780         Overview of current GhostPad datastructures and use
781         cases for changing the target.
782
783 2005-07-28  Wim Taymans  <wim@fluendo.com>
784
785         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
786         Added checks for hierarchy consistency whan adding linked
787         elements to bins.
788
789         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
790         Added check to test element scheduling without bin/pipeline.
791
792         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
793         First add elements to bin, then link.
794         
795         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
796         (gst_bin_remove_func):
797         Unlink pads from elements added/removed from bin to maintain
798         hierarchy consistency.
799
800 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
801
802         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
803         (gst_base_transform_handle_buffer):
804         * gst/base/gstbasetransform.h:
805           Remove broken delay_configure (fixes renegotiation of software
806           scaling pipelines); remove some leftover printf()s.
807
808 2005-07-28  Wim Taymans  <wim@fluendo.com>
809
810         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
811         Added some more tests for wrong hierarchy
812
813         * docs/design/part-overview.txt:
814         Some updates.
815
816         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
817         Cleanups.
818
819         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
820         (gst_element_dispose):
821         Some more cleanups.
822
823         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
824         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
825         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
826         (gst_pad_set_caps), (gst_pad_send_event):
827         Check for correct hierarchy when linking pads. Moving to
828         strict requirement for ghostpads when linking elements in
829         different bins.
830
831         * gst/gstpad.h:
832         Clean ups. Added WRONG_HIERARCHY return value.
833
834 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
835
836         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
837           Better debug if no transform is possible.
838
839 2005-07-27  Wim Taymans  <wim@fluendo.com>
840
841         * docs/random/wtay/network-transp:
842         Some old doc I had.
843
844 2005-07-27  Wim Taymans  <wim@fluendo.com>
845
846         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
847         (gst_dp_event_from_packet):
848         Fix serialization of seek events.
849
850 2005-07-27  Wim Taymans  <wim@fluendo.com>
851
852         * check/gst-libs/gdp.c: (GST_START_TEST):
853         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
854         Fix compilation and fix event serialization.
855
856 2005-07-27  Wim Taymans  <wim@fluendo.com>
857
858         * CHANGES-0.9:
859         * docs/design/part-TODO.txt:
860         * docs/design/part-events.txt:
861         Some docs updates
862
863         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
864         (gst_base_sink_event), (gst_base_sink_do_sync),
865         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
866         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
867         (gst_base_src_do_seek), (gst_base_src_event_handler),
868         (gst_base_src_loop):
869         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
870         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
871         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
872         (gst_base_transform_event), (gst_base_transform_handle_buffer),
873         (gst_base_transform_set_passthrough),
874         (gst_base_transform_is_passthrough):
875         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
876         * gst/elements/gstfilesink.c: (gst_file_sink_event):
877         Event updates.
878
879         * gst/gstbuffer.h:
880         Use faster casts.
881
882         * gst/gstelement.c: (gst_element_seek):
883         * gst/gstelement.h:
884         Update gst_element_seek.
885
886         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
887         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
888         (gst_event_new_flush_start), (gst_event_new_flush_stop),
889         (gst_event_new_eos), (gst_event_new_newsegment),
890         (gst_event_parse_newsegment), (gst_event_new_tag),
891         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
892         (gst_event_parse_qos), (gst_event_new_seek),
893         (gst_event_parse_seek), (gst_event_new_navigation):
894         * gst/gstevent.h:
895         Make GstEvent use GstStructure. Add parsing code, make sure the
896         API is sufficiently generic.
897         Mark possible directions of events and serialization.
898
899         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
900         (_gst_message_copy), (gst_message_new_segment_start),
901         (gst_message_new_segment_done), (gst_message_new_custom),
902         (gst_message_parse_segment_start),
903         (gst_message_parse_segment_done):
904         Small cleanups.
905
906         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
907         (gst_pad_set_caps), (gst_pad_send_event):
908         Update for new events. 
909         Catch events sent in wrong directions.
910
911         * gst/gstqueue.c: (gst_queue_link_src),
912         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
913         (gst_queue_handle_src_query):
914         Event updates.
915
916         * gst/gsttag.c:
917         * gst/gsttag.h:
918         Remove event code from this file.
919
920         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
921         (gst_dp_event_from_packet):
922         Event updates.
923
924 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
925
926         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
927         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
928         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
929           Make debugging actually useful.
930
931 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
932
933         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
934         (gst_pad_fixate_caps):
935           Implement default fixation once again, so that gst_pad_fixate()
936           actually does anything at all. This probably needs to be some
937           sort of a last resort, and use profile-based fixation first, but
938           since that doesn't exist yet, this is the best we have. Fixes
939           visualization in Totem.
940
941 2005-07-22  Wim Taymans  <wim@fluendo.com>
942
943         * docs/design/part-events.txt:
944         Small update.
945
946         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
947         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
948         (gst_base_sink_activate_pull):
949         Some more comments.
950
951         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
952         (gst_fake_src_create):
953         Fix handoff marshall.
954
955         * gst/elements/gstidentity.c: (gst_identity_class_init),
956         (gst_identity_transform_ip):
957         We're a real inplace element.
958
959         * gst/gstbus.c: (gst_bus_post):
960         Added some comments.
961
962         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
963         * tests/muxing/case1.c: (main):
964         * tests/sched/dynamic-pipeline.c: (main):
965         * tests/sched/interrupt1.c: (main):
966         * tests/sched/interrupt2.c: (main):
967         * tests/sched/interrupt3.c: (main):
968         * tests/sched/runxml.c: (main):
969         * tests/sched/sched-stress.c: (main):
970         * tests/seeking/seeking1.c: (event_received), (main):
971         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
972         (main):
973         * tests/threadstate/threadstate3.c: (main):
974         * tests/threadstate/threadstate4.c: (main):
975         * tests/threadstate/threadstate5.c: (main):
976         Fix the tests.
977
978 2005-07-21  Wim Taymans  <wim@fluendo.com>
979
980         * docs/design/part-seeking.txt:
981         Some small additions.
982
983         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
984         (gst_base_sink_get_times), (gst_base_sink_do_sync),
985         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
986         * gst/base/gstbasesink.h:
987         discont values are gint64, handle the math correctly.
988
989         * gst/base/gstbasesrc.c: (gst_base_src_loop):
990         Make the basesrc report error if the source pad is not linked.
991
992         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
993         (gst_queue_loop), (gst_queue_handle_src_query),
994         (gst_queue_src_activate_push):
995         Make queue collect data even if the srcpad is not linked.
996         Start pushing out data as soon as it is linked.
997
998         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
999         * gst/gstutils.h:
1000         Added gst_flow_get_name() to ease error reporting.
1001
1002 2005-07-20  Wim Taymans  <wim@fluendo.com>
1003
1004         * gst/gstmessage.c: (gst_message_new_segment_start),
1005         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1006         (gst_message_parse_segment_done):
1007         * gst/gstmessage.h:
1008         Added a bunch of messages for advanced seeking.
1009
1010         * gst/parse/grammar.y:
1011         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1012         (gst_dpman_state_changed):
1013         Fix some new-pad -> pad-added signals
1014
1015 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1016
1017         * docs/manual/appendix-porting.xml:
1018         * docs/pwg/appendix-porting.xml:
1019           Document new-pad/state-change signal renames and the FixedList
1020           type rename.
1021
1022 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1023
1024         * docs/manual/advanced-autoplugging.xml:
1025         * docs/manual/basics-helloworld.xml:
1026         * docs/manual/basics-pads.xml:
1027         * docs/random/ds/0.9-suggested-changes:
1028         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1029         * gst/gstelement.h:
1030         * gst/gstevent.h:
1031         * gst/gstformat.h:
1032         * gst/gstquery.h:
1033         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1034         (gst_structure_parse_array), (gst_structure_parse_value):
1035         * gst/gstvalue.c: (gst_type_is_fixed),
1036         (gst_value_list_prepend_value), (gst_value_list_append_value),
1037         (gst_value_list_get_size), (gst_value_list_get_value),
1038         (gst_value_transform_array_string), (gst_value_serialize_array),
1039         (gst_value_deserialize_array), (gst_value_intersect_array),
1040         (gst_value_is_fixed), (_gst_value_initialize):
1041         * gst/gstvalue.h:
1042           GstElement::new-pad -> pad-added, GstElement::state-change ->
1043           state-changed, GstValueFixedList -> GstValueArray, add format and
1044           flags as their own arguments in gst_element_seek() (should improve
1045           "bindeability"), remove function generators since they don't work
1046           under a whole bunch of compilers (they were deprecated already
1047           anyway).
1048
1049 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1050
1051         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1052         (_gst_debug_register_funcptr):
1053         * gst/gstinfo.h:
1054           Fix illegal cast on some platforms (#309253).
1055
1056 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1057
1058         * gst/gstmessage.c: (gst_message_new_custom):
1059         * gst/gstmessage.h:
1060           Add _new_custom, make _new_application a macro to _new_custom.
1061
1062 2005-07-20  Wim Taymans  <wim@fluendo.com>
1063
1064         * gst/base/gstbasesrc.c: (gst_base_src_init),
1065         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1066         * gst/base/gstbasesrc.h:
1067         Add a gboolean to decide when to push out a discont.
1068
1069         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1070         (gst_queue_loop), (gst_queue_handle_src_query),
1071         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1072         (gst_queue_set_property), (gst_queue_get_property):
1073         Some cleanups.
1074
1075         * tests/threadstate/threadstate1.c: (main):
1076         Make a thread test compile and run... very silly..
1077
1078
1079 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1080
1081         * docs/manual/appendix-porting.xml:
1082           Mention removal of libgstgconf-0.9.la and existence of gconf
1083           elements.
1084
1085 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1086
1087         * docs/pwg/advanced-clock.xml:
1088         * docs/pwg/appendix-porting.xml:
1089         * docs/pwg/intro-preface.xml:
1090         * docs/pwg/other-base.xml:
1091         * docs/pwg/other-manager.xml:
1092         * docs/pwg/other-nton.xml:
1093         * docs/pwg/other-ntoone.xml:
1094         * docs/pwg/other-oneton.xml:
1095         * docs/pwg/pwg.xml:
1096           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1097           demuxer), remove n-to-n (was never written), fix some code examples
1098           and links and update the porting section to include all this.
1099
1100 2005-07-19  Wim Taymans  <wim@fluendo.com>
1101
1102         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1103         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1104         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1105         (gst_queue_src_activate_push), (gst_queue_change_state),
1106         (gst_queue_get_property):
1107         * gst/gstqueue.h:
1108         Propagate GstFlowReturn more intelligently upstream and output
1109         an ERROR/EOS when streaming stopped due to fatal error.
1110
1111 2005-07-19  Wim Taymans  <wim@fluendo.com>
1112
1113         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1114         Don't block forever for the state change to complete, the
1115         pipeline already did with a sensible timeout.
1116
1117 2005-07-19  Wim Taymans  <wim@fluendo.com>
1118
1119         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1120         Make sure we never call the create function is we
1121         got deactivated.
1122
1123 2005-07-19  Andy Wingo  <wingo@pobox.com>
1124
1125         * gst/parse/parse.l: Attempt to solve bug #172815.
1126
1127 2005-07-19  Wim Taymans  <wim@fluendo.com>
1128
1129         * docs/design/part-clocks.txt:
1130         * docs/design/part-events.txt:
1131         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1132         Small docs updates.
1133         Only update the seeking values when we are not
1134         busy streaming.
1135
1136 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1137
1138         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1139           Oops, ignore the result of gst_pad_push_event here.
1140
1141 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1142
1143         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1144         (gst_base_src_activate_push):
1145           Send discont event from the loop function, as pads
1146           aren't activated yet in the activate_push handler.
1147
1148         * gst/gstbin.c: (bin_bus_handler):
1149           Don't leak element name.
1150
1151 2005-07-18  Andy Wingo  <wingo@pobox.com>
1152
1153         * configure.ac: Use AS_LIBTOOL_TAGS.
1154
1155 2005-07-18  Wim Taymans  <wim@fluendo.com>
1156
1157         * docs/gst/gstreamer.types:
1158         Remove deleted types.
1159
1160 2005-07-18  Wim Taymans  <wim@fluendo.com>
1161
1162         * check/elements/gstfakesrc.c: (GST_START_TEST):
1163         * configure.ac:
1164         * gst/Makefile.am:
1165         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1166         (init_popt_callback):
1167         * gst/gst.h:
1168         * gst/gst_private.h:
1169         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1170         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1171         * gst/gstbin.h:
1172         * gst/gstbus.h:
1173         * gst/gstconfig.h.in:
1174         * gst/gstelement.c: (gst_element_class_init),
1175         (gst_element_set_base_time), (gst_element_get_base_time),
1176         (iterator_fold_with_resync), (gst_element_change_state),
1177         (gst_element_dispose), (gst_element_get_bus):
1178         * gst/gstelement.h:
1179         * gst/gstelementfactory.h:
1180         * gst/gsterror.c: (_gst_core_errors_init):
1181         * gst/gsterror.h:
1182         * gst/gstevent.h:
1183         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1184         * gst/gstindex.c:
1185         * gst/gstinfo.c: (_gst_debug_init):
1186         * gst/gstmessage.c: (_gst_message_copy):
1187         * gst/gstmessage.h:
1188         * gst/gstminiobject.h:
1189         * gst/gstobject.c:
1190         * gst/gstobject.h:
1191         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1192         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1193         * gst/gstpad.h:
1194         * gst/gstparse.h:
1195         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1196         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1197         (gst_pipeline_get_last_stream_time):
1198         * gst/gstpipeline.h:
1199         * gst/gstpluginfeature.h:
1200         * gst/gstquery.h:
1201         * gst/gstscheduler.c:
1202         * gst/gstscheduler.h:
1203         * gst/gststructure.h:
1204         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1205         (gst_task_finalize), (gst_task_func), (gst_task_create),
1206         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1207         (gst_task_stop), (gst_task_pause):
1208         * gst/gsttask.h:
1209         * gst/gsttypefind.h:
1210         * gst/gsttypes.h:
1211         * gst/registries/gstlibxmlregistry.c: (load_feature),
1212         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1213         * gst/registries/gstxmlregistry.c:
1214         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1215         * gst/schedulers/threadscheduler.c:
1216         * libs/gst/control/dparammanager.h:
1217         * tools/gst-inspect.c: (print_element_list),
1218         (print_plugin_features), (print_element_features):
1219         * tools/gst-xmlinspect.c: (print_element_list),
1220         (print_plugin_info), (main):
1221         Removed plugable schedulers.
1222         Removed Scheduler/Manager from elements.
1223         Removed gsttypes.h, rearranged includes.
1224         Removed dependency pad<->element, element<>pipeline, and
1225         various others,  fix includes.
1226         implement gst_pad_get_parent() with gst_object_get_parent()
1227         Make GstTask sefcontained.
1228         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1229         timeout.
1230         Fix endless loop in iterator_fold_with_resync.
1231
1232
1233 2005-07-18  Wim Taymans  <wim@fluendo.com>
1234
1235         * gst/Makefile.am:
1236         * gst/gstarch.h:
1237         Remove old file.
1238
1239 2005-07-18  Wim Taymans  <wim@fluendo.com>
1240
1241         * gst/Makefile.am:
1242         No more cothreads.h
1243
1244 2005-07-18  Wim Taymans  <wim@fluendo.com>
1245
1246         * gst/cothreads.c:
1247         * gst/cothreads.h:
1248         Let's remove these.
1249
1250 2005-07-18  Wim Taymans  <wim@fluendo.com>
1251
1252         * docs/design/part-dynamic.txt:
1253         * docs/design/part-events.txt:
1254         * docs/design/part-seeking.txt:
1255         Some more docs in the works.
1256
1257         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1258         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1259         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1260         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1261         (gst_base_transform_handle_buffer),
1262         (gst_base_transform_sink_activate_push),
1263         (gst_base_transform_src_activate_pull),
1264         (gst_base_transform_set_passthrough),
1265         (gst_base_transform_is_passthrough):
1266         Refcounting fixes.
1267
1268         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1269         Cleanups.
1270
1271         * gst/gstevent.c: (gst_event_finalize):
1272         Set SRC to NULL.
1273
1274         * gst/gstutils.c: (gst_element_unlink),
1275         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1276         (gst_pad_proxy_setcaps):
1277         * gst/gstutils.h:
1278         Add _get_parent_element() to get a pads parent as an element.
1279
1280 2005-07-18  Wim Taymans  <wim@fluendo.com>
1281
1282         * check/gst/gstbin.c: (GST_START_TEST):
1283         Remove bogus test.
1284
1285 2005-07-18  Wim Taymans  <wim@fluendo.com>
1286
1287         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1288         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1289         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1290         (gst_base_sink_event), (gst_base_sink_do_sync),
1291         (gst_base_sink_chain), (gst_base_sink_loop),
1292         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1293         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1294         Refcounting fixes.
1295         Fix logic for returning ASYNC when not prerolled.
1296
1297 2005-07-18  Wim Taymans  <wim@fluendo.com>
1298
1299         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1300         Fix nasty refcount bug.
1301
1302 2005-07-16 Philippe Khalaf <burger@speedy.org>
1303         * gst/elements/gstfdsrc.c:
1304         * gst/elements/gstfdsrc.h:
1305         * gst/elements/gstelements.c:
1306         * gst/elements/Makefile.am:
1307         Ported fdsrc to 0.9.
1308
1309 2005-07-16  Wim Taymans  <wim@fluendo.com>
1310
1311         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1312         (gst_base_sink_do_sync):
1313         Fix compile error.
1314
1315 2005-07-16  Wim Taymans  <wim@fluendo.com>
1316
1317         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1318         (gst_base_sink_event), (gst_base_sink_get_times),
1319         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1320         * gst/base/gstbasesink.h:
1321         Store and use discont values when syncing buffers as described
1322         in design docs.
1323         
1324         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1325         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1326         (gst_base_src_activate_push):
1327         Push discont event when starting.
1328
1329         * gst/elements/gstidentity.c: (gst_identity_transform):
1330         Small cleanups.
1331
1332         * gst/gstbin.c: (gst_bin_change_state):
1333         Small cleanups in base_time  distribution.
1334
1335         * gst/gstelement.c: (gst_element_set_base_time),
1336         (gst_element_get_base_time), (gst_element_change_state):
1337         * gst/gstelement.h:
1338         Added methods for the base_time of the element.
1339         Some MT fixes.
1340
1341         * gst/gstpipeline.c: (gst_pipeline_send_event),
1342         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1343         (gst_pipeline_get_last_stream_time):
1344         * gst/gstpipeline.h:
1345         MT fixes.
1346         Handle seeking as described in design doc, remove stream_time
1347         hack.
1348         Cleanups clock and stream_time selection code. Added accessors
1349         for the stream_time.
1350         
1351
1352 2005-07-16  Andy Wingo  <wingo@pobox.com>
1353
1354         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1355         (#305291).
1356
1357 2005-07-16  Wim Taymans  <wim@fluendo.com>
1358
1359         * check/gst/gstbin.c: (GST_START_TEST):
1360         Make elements silent as the deep_notify refs the
1361         parent, which might make the test fail.
1362
1363         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1364         Don't hold the lock for too long.
1365
1366 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1367
1368         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1369           Don't unref the caps we passed to gst_caps_make_writable() after
1370           passing them. gst_caps_make_writable() will do that for us.
1371
1372 2005-07-15  Andy Wingo  <wingo@pobox.com>
1373
1374         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1375         (#157311).
1376
1377         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1378         own marshalling function for the handoff signal. Properly type the
1379         buffer as a buffer. Fixes some warnings. Should do a more general
1380         solution.
1381         (gst_identity_class_init): Plug into the right marshaller.
1382
1383 2005-07-15  Wim Taymans  <wim@fluendo.com>
1384
1385         * docs/design/part-TODO.txt:
1386         * docs/design/part-clocks.txt:
1387         * docs/design/part-element-sink.txt:
1388         * docs/design/part-events.txt:
1389         * docs/design/part-gstpipeline.txt:
1390         Updated docs, mostly DISCONT related.
1391
1392 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1393
1394         * docs/pwg/building-pads.xml:
1395           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1396
1397 2005-07-15  Andy Wingo  <wingo@pobox.com>
1398
1399         * tools/gst-typefind.c: Update, add copyright block.
1400
1401         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1402         Normalize and truncate caps before fixation.
1403
1404         * gst/gstcaps.h:
1405         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1406         discards all but the first structure from its argument.
1407
1408 2005-07-15  Wim Taymans  <wim@fluendo.com>
1409
1410         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1411         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1412         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1413         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1414         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1415         (gst_base_transform_chain), (gst_base_transform_change_state),
1416         (gst_base_transform_set_passthrough),
1417         (gst_base_transform_is_passthrough):
1418         * gst/base/gstbasetransform.h:
1419         Make passthrough work using the bufferpools.
1420         Changed API a bit, subclasses have to write into a buffer
1421         provided by the base class.
1422         More debug info in nego functions.
1423         
1424         * gst/elements/gstidentity.c: (gst_identity_init),
1425         (gst_identity_transform):
1426         Port to new base class.
1427
1428 2005-07-15  Wim Taymans  <wim@fluendo.com>
1429
1430         * gst/gstmessage.c: (gst_message_new_state_changed):
1431         * tools/gst-launch.c: (event_loop), (main):
1432         Totally dump messages in -launch with the -m option.
1433         Fix message name for State messages,
1434
1435 2005-07-14  Wim Taymans  <wim@fluendo.com>
1436
1437         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1438         Post error messages on errors.
1439
1440 2005-07-14  Wim Taymans  <wim@fluendo.com>
1441
1442         * gst/gstcaps.c: (gst_caps_do_simplify):
1443         Remove debug info.
1444
1445         * gst/gsterror.h:
1446         Define error for stream stopped.
1447
1448         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1449         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1450         Do proper return values.
1451
1452         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1453         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1454         (gst_pad_get_range):
1455         Better return values.
1456
1457         * gst/gstpad.h:
1458         Reorganise return values, add macro to check for fatal errors.
1459
1460         * gst/gstqueue.c: (gst_queue_chain):
1461         Return proper GstFlowReturn values,
1462
1463 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1464
1465         * docs/gst/gstreamer-sections.txt:
1466         * docs/gst/gstreamer.types:
1467         * docs/gst/tmpl/gst.sgml:
1468         * docs/gst/tmpl/gstbasesink.sgml:
1469         * docs/gst/tmpl/gstbasesrc.sgml:
1470         * docs/gst/tmpl/gstbasetransform.sgml:
1471         * docs/gst/tmpl/gstbin.sgml:
1472         * docs/gst/tmpl/gstbuffer.sgml:
1473         * docs/gst/tmpl/gstcaps.sgml:
1474         * docs/gst/tmpl/gstclock.sgml:
1475         * docs/gst/tmpl/gstcompat.sgml:
1476         * docs/gst/tmpl/gstconfig.sgml:
1477         * docs/gst/tmpl/gstelement.sgml:
1478         * docs/gst/tmpl/gstelementdetails.sgml:
1479         * docs/gst/tmpl/gstelementfactory.sgml:
1480         * docs/gst/tmpl/gstenumtypes.sgml:
1481         * docs/gst/tmpl/gsterror.sgml:
1482         * docs/gst/tmpl/gstevent.sgml:
1483         * docs/gst/tmpl/gstfakesink.sgml:
1484         * docs/gst/tmpl/gstfakesrc.sgml:
1485         * docs/gst/tmpl/gstfilesink.sgml:
1486         * docs/gst/tmpl/gstfilesrc.sgml:
1487         * docs/gst/tmpl/gstfilter.sgml:
1488         * docs/gst/tmpl/gstformat.sgml:
1489         * docs/gst/tmpl/gstghostpad.sgml:
1490         * docs/gst/tmpl/gstimplementsinterface.sgml:
1491         * docs/gst/tmpl/gstindex.sgml:
1492         * docs/gst/tmpl/gstindexfactory.sgml:
1493         * docs/gst/tmpl/gstinfo.sgml:
1494         * docs/gst/tmpl/gstiterator.sgml:
1495         * docs/gst/tmpl/gstmacros.sgml:
1496         * docs/gst/tmpl/gstmemchunk.sgml:
1497         * docs/gst/tmpl/gstminiobject.sgml:
1498         * docs/gst/tmpl/gstobject.sgml:
1499         * docs/gst/tmpl/gstpad.sgml:
1500         * docs/gst/tmpl/gstpadtemplate.sgml:
1501         * docs/gst/tmpl/gstparse.sgml:
1502         * docs/gst/tmpl/gstpipeline.sgml:
1503         * docs/gst/tmpl/gstplugin.sgml:
1504         * docs/gst/tmpl/gstpluginfeature.sgml:
1505         * docs/gst/tmpl/gstquery.sgml:
1506         * docs/gst/tmpl/gstqueue.sgml:
1507         * docs/gst/tmpl/gstregistry.sgml:
1508         * docs/gst/tmpl/gstregistrypool.sgml:
1509         * docs/gst/tmpl/gstscheduler.sgml:
1510         * docs/gst/tmpl/gstschedulerfactory.sgml:
1511         * docs/gst/tmpl/gststructure.sgml:
1512         * docs/gst/tmpl/gstsystemclock.sgml:
1513         * docs/gst/tmpl/gsttaglist.sgml:
1514         * docs/gst/tmpl/gsttagsetter.sgml:
1515         * docs/gst/tmpl/gsttrace.sgml:
1516         * docs/gst/tmpl/gsttrashstack.sgml:
1517         * docs/gst/tmpl/gsttypefind.sgml:
1518         * docs/gst/tmpl/gsttypefindfactory.sgml:
1519         * docs/gst/tmpl/gsttypes.sgml:
1520         * docs/gst/tmpl/gsturihandler.sgml:
1521         * docs/gst/tmpl/gsturitype.sgml:
1522         * docs/gst/tmpl/gstutils.sgml:
1523         * docs/gst/tmpl/gstvalue.sgml:
1524         * docs/gst/tmpl/gstversion.sgml:
1525         * docs/gst/tmpl/gstxml.sgml:
1526         * docs/libs/tmpl/gstcontrol.sgml:
1527         * docs/libs/tmpl/gstdataprotocol.sgml:
1528         * docs/libs/tmpl/gstdparam.sgml:
1529         * docs/libs/tmpl/gstdplinint.sgml:
1530         * docs/libs/tmpl/gstdpman.sgml:
1531         * docs/libs/tmpl/gstdpsmooth.sgml:
1532         * docs/libs/tmpl/gstgetbits.sgml:
1533         * docs/libs/tmpl/gstunitconvert.sgml:
1534         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1535         (gst_push_src_base_init), (gst_push_src_class_init),
1536         (gst_push_src_init), (gst_push_src_create):
1537         * gst/base/gstpushsrc.h:
1538         * gst/elements/gstelements.c:
1539         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1540         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1541         (gst_fake_sink_init), (gst_fake_sink_set_property),
1542         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1543         (gst_fake_sink_event), (gst_fake_sink_preroll),
1544         (gst_fake_sink_render), (gst_fake_sink_change_state):
1545         * gst/elements/gstfakesink.h:
1546         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1547         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1548         (gst_fake_src_base_init), (gst_fake_src_class_init),
1549         (gst_fake_src_init), (gst_fake_src_event_handler),
1550         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1551         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1552         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1553         (gst_fake_src_create_buffer), (gst_fake_src_create),
1554         (gst_fake_src_start), (gst_fake_src_stop):
1555         * gst/elements/gstfakesrc.h:
1556         * gst/elements/gstfilesink.c: (_do_init),
1557         (gst_file_sink_base_init), (gst_file_sink_class_init),
1558         (gst_file_sink_init), (gst_file_sink_dispose),
1559         (gst_file_sink_set_location), (gst_file_sink_set_property),
1560         (gst_file_sink_get_property), (gst_file_sink_open_file),
1561         (gst_file_sink_close_file), (gst_file_sink_query),
1562         (gst_file_sink_event), (gst_file_sink_render),
1563         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1564         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1565         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1566         * gst/elements/gstfilesink.h:
1567         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1568         (gst_file_src_class_init), (gst_file_src_init),
1569         (gst_file_src_finalize), (gst_file_src_set_location),
1570         (gst_file_src_set_property), (gst_file_src_get_property),
1571         (gst_file_src_map_region), (gst_file_src_map_small_region),
1572         (gst_file_src_create_mmap), (gst_file_src_create_read),
1573         (gst_file_src_create), (gst_file_src_is_seekable),
1574         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1575         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1576         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1577         (gst_file_src_uri_handler_init):
1578         * gst/elements/gstfilesrc.h:
1579           more autistic cleanliness in functions/names/defines
1580
1581 2005-07-13  Andy Wingo  <wingo@pobox.com>
1582
1583         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1584         source couldn't negotiate.
1585
1586         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1587         connections again.
1588
1589         * gst/gstutils.h:
1590         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1591         function. I am channeling Hades. Put your boots on suckers!!!
1592
1593 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1594
1595         * testsuite/caps/Makefile.am:
1596         * testsuite/caps/value_compare.c:
1597         * testsuite/caps/value_intersect.c:
1598         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1599           move two testsuite apps over to the check dir
1600
1601 2005-07-12  Wim Taymans  <wim@fluendo.com>
1602
1603         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1604         Added more debug info in the negotiate process.
1605
1606         * gst/gstmessage.h:
1607         Prepare for segment playback.
1608
1609         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1610         Better debugging.
1611
1612         * gst/gstutils.c:
1613         Some more docs.
1614
1615         * tools/gst-launch.c: (main):
1616         NULL pipeline on errors.
1617
1618 2005-07-12  Andy Wingo  <wingo@pobox.com>
1619
1620         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1621         not it comes from a malloc region. Make sure our copy gets freed.
1622
1623 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1624
1625         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1626         * check/gst/gstmessage.c: (GST_START_TEST):
1627         * check/gst/gststructure.c: (GST_START_TEST),
1628         (gst_structure_suite), (main):
1629           more testing
1630         * gst/gstelement.c: (gst_element_message_full):
1631           clean up GError and debug string now that they get copied
1632         * gst/gstmessage.c: (gst_message_new_error),
1633         (gst_message_new_warning), (gst_message_parse_error),
1634         (gst_message_parse_warning):
1635           use GST_TYPE_G_ERROR for structure_new, and take copies of
1636           arguments, so that we don't mess up refcounting
1637
1638 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1639
1640         * check/Makefile.am:
1641           add per-test valgrind targets
1642         * check/gst-libs/gdp.c: (GST_START_TEST),
1643         (gst_data_protocol_suite), (main):
1644           clean up
1645
1646 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1647
1648         * check/Makefile.am:
1649           instate more valgrindable tests
1650         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1651         (GST_START_TEST), (fakesrc_suite):
1652         * check/gst/gstpad.c: (GST_START_TEST):
1653         * check/gst/gststructure.c: (GST_START_TEST):
1654           fix test leaks
1655         * docs/gst/tmpl/gstminiobject.sgml:
1656         * gst/gstpad.c: (gst_pad_finalize):
1657           fix the static mutex leak
1658
1659 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1660
1661         * check/Makefile.am:
1662           add two more tests for valgrinding
1663         * check/gst/gstvalue.c: (GST_START_TEST):
1664           test refcount of deserialized buffer, found a leak
1665         * docs/gst/gstreamer-docs.sgml:
1666         * docs/gst/gstreamer-sections.txt:
1667         * docs/gst/gstreamer.types:
1668         * docs/gst/tmpl/gstminiobject.sgml:
1669           add miniobject to docs
1670         * gst/gstminiobject.c:
1671           add some docs
1672         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1673         (gst_string_unwrap):
1674           fix a hard-to-find invalid write for one of the tests
1675           fix a leak for deserialized buffers
1676
1677 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1678
1679         * docs/pwg/advanced-events.xml:
1680         * docs/pwg/advanced-request.xml:
1681         * docs/pwg/advanced-scheduling.xml:
1682         * docs/pwg/appendix-porting.xml:
1683         * docs/pwg/building-boiler.xml:
1684         * docs/pwg/intro-preface.xml:
1685         * docs/pwg/other-ntoone.xml:
1686           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1687           of example code and explanation for pad activation, loop() and
1688           getrange() functions and a bit more. Remove old comments pointing
1689           to loop-functions.
1690         * examples/pwg/Makefile.am:
1691           Add loop/getrange examples.
1692
1693 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1694
1695         * configure.ac:
1696           check for valgrind binary + some fixes
1697         * check/gst.supp:
1698           valgrind suppressions for the tests
1699         * check/Makefile.am:
1700           add a valgrind: target that valgrinds the unit tests
1701         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1702         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1703         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1704         * check/gst/gstghostpad.c:
1705           added some cleanup
1706         * check/gst/gstdata.c:
1707           removed
1708         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1709         (thread_unref), (gst_mini_object_suite), (main):
1710           added
1711         * gst/gst.c: (gst_deinit):
1712         * gst/gst.h:
1713           add a method to clean up.
1714         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1715         (gst_system_clock_obtain):
1716           allow for disposing the system clock.
1717         * tools/gst-launch.c: (main):
1718           deinit
1719
1720 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1721
1722         * docs/gst/tmpl/gstbasesrc.sgml:
1723         * docs/gst/tmpl/gstfakesrc.sgml:
1724         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1725         (gst_base_src_init), (gst_base_src_set_property),
1726         (gst_base_src_get_property), (gst_base_src_get_range),
1727         (gst_base_src_start):
1728         * gst/base/gstbasesrc.h:
1729           add num-buffers property
1730         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1731         (gst_fakesrc_init), (gst_fakesrc_set_property),
1732         (gst_fakesrc_get_property), (gst_fakesrc_create),
1733         (gst_fakesrc_start):
1734           remove num-buffers property
1735
1736 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1737
1738         * docs/gst/gstreamer-sections.txt:
1739         * docs/gst/tmpl/gstbasesink.sgml:
1740         * docs/gst/tmpl/gstbasesrc.sgml:
1741         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1742         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1743         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1744         (gst_base_sink_set_property), (gst_base_sink_get_property),
1745         (gst_base_sink_handle_object), (gst_base_sink_event),
1746         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1747         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1748         (gst_base_sink_loop), (gst_base_sink_deactivate),
1749         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1750         (gst_base_sink_change_state):
1751         * gst/base/gstbasesink.h:
1752         * gst/base/gstbasesrc.h:
1753         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1754         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1755         (gst_filesink_init):
1756           more macro splitting
1757
1758 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1759
1760         * gst/gstelement.c: (gst_element_get_bus):
1761           add debug
1762         * tools/gst-launch.c: (check_intr), (event_loop):
1763           fix bus leaks
1764
1765 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1766
1767         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1768           fix a caps leak
1769
1770 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1771
1772         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1773         (gst_base_src_finalize):
1774           add finalize method and clean up properly
1775         * gst/gstpipeline.c: (gst_pipeline_dispose):
1776           add debug
1777
1778 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1779
1780         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1781         (gst_bin_suite):
1782           add more things to check
1783         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1784         * gst/gstelement.c:
1785           more debug
1786
1787 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1788
1789         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1790         (GST_START_TEST), (fakesrc_suite):
1791         * check/gst-libs/gdp.c: (GST_START_TEST):
1792         * check/gst/gst.c: (GST_START_TEST):
1793         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1794         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1795         * check/gst/gstbus.c: (GST_START_TEST):
1796         * check/gst/gstcaps.c: (GST_START_TEST):
1797         * check/gst/gstdata.c: (GST_START_TEST):
1798         * check/gst/gstelement.c: (GST_START_TEST):
1799         * check/gst/gstghostpad.c: (GST_START_TEST):
1800         * check/gst/gstiterator.c: (GST_START_TEST):
1801         * check/gst/gstmessage.c: (GST_START_TEST):
1802         * check/gst/gstobject.c: (GST_START_TEST):
1803         * check/gst/gstpad.c: (GST_START_TEST):
1804         * check/gst/gststructure.c: (GST_START_TEST):
1805         * check/gst/gstsystemclock.c: (GST_START_TEST),
1806         (gst_systemclock_suite):
1807         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1808         * check/gst/gstvalue.c: (GST_START_TEST):
1809         * check/pipelines/cleanup.c: (GST_START_TEST):
1810         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1811         * check/states/sinks.c: (GST_START_TEST):
1812         * check/gstcheck.c: (gst_check_init):
1813         * check/gstcheck.h:
1814           add debugging category
1815           use GST_START_TEST now, so we add a debug line
1816
1817 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1818
1819         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1820           add test for state change message on a bin
1821         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1822           add another test
1823         * gst/gstbin.c: (gst_bin_init):
1824         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1825         * gst/gstelement.c: (gst_element_post_message),
1826         (gst_element_set_state):
1827         * gst/gstelementfactory.c: (gst_element_factory_create):
1828         * gst/gstmessage.c: (gst_message_new):
1829         * gst/gstscheduler.c:
1830           various debugging additions and cleanups
1831
1832 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1833
1834         * check/Makefile.am:
1835         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1836         (main):
1837           adding tests for elements
1838         * gst/gstelement.c: (gst_element_dispose):
1839
1840 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1841
1842         * gst/registries/gstlibxmlregistry.c: (load_feature):
1843           plug more leaks.  A simple gst_init() now is leakfree, yay.
1844
1845 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1846
1847         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1848         (gst_xml_registry_load):
1849           plug another memleak
1850
1851 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1852
1853         * configure.ac:
1854           use GST_SET_ERROR_CFLAGS
1855         * docs/faq/cvs.xml:
1856           change to ERROR_CFLAGS
1857
1858 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1859
1860         * configure.ac:
1861           make GST_ERROR_CFLAGS overridable and re-enable Werror
1862         * docs/faq/cvs.xml:
1863           add a note about error CFLAGS
1864         * docs/gst/tmpl/gstfakesrc.sgml:
1865         * gst/elements/gstfakesrc.c:
1866           comment out some unused code
1867         * gst/gst.c: (split_and_iterate):
1868         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1869         (load_feature):
1870           plug some memleaks
1871
1872 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1873
1874         * common/Makefile.am:
1875         * common/gtk-doc.mak:
1876         * docs/gst/Makefile.am:
1877           factor out gtk-doc.mak
1878
1879 2005-07-07  Wim Taymans  <wim@fluendo.com>
1880
1881         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1882         (gst_thread_scheduler_dispose):
1883         Unlock the STREAM_LOCK completely.
1884
1885 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1886
1887         * check/Makefile.am:
1888         * check/elements/.cvsignore:
1889         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1890         (START_TEST), (fakesrc_suite), (main):
1891         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1892         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1893         (gst_fakesrc_create), (gst_fakesrc_start):
1894         * gst/elements/gstfakesrc.h:
1895           adding a first element test
1896
1897 2005-07-07  Andy Wingo  <wingo@pobox.com>
1898
1899         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1900         debug message.
1901
1902 2005-07-07  Wim Taymans  <wim@fluendo.com>
1903
1904         * gst/gstquery.c:
1905         * gst/gstquery.h:
1906         Remove old types
1907
1908 2005-07-07  Wim Taymans  <wim@fluendo.com>
1909
1910         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1911         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1912         Allow subclasses to implement their own negotiation.
1913
1914 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1915
1916         * docs/design/part-gstbin.txt:
1917         * docs/design/part-gstpipeline.txt:
1918           Update design notes to reflect the movement of
1919           responsibility for bus handling from GstPipeline to
1920           GstBin
1921
1922 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1923
1924         * configure.ac:
1925           Remove unnecessary queue2/3/4 examples.
1926
1927 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1928
1929         * examples/Makefile.am:
1930         * examples/helloworld/helloworld.c: (event_loop), (main):
1931         * examples/queue/queue.c: (event_loop), (main):
1932         * examples/queue2/queue2.c: (main):
1933           Update a couple of the examples to work again.
1934
1935         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1936         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1937          Spelling corrections and extra debug.
1938         
1939         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1940         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1941         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1942         * gst/gstbin.h:
1943         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1944         (gst_pipeline_change_state):
1945         * gst/gstpipeline.h:
1946           Move the bus handler for children to the GstBin, and create a
1947           separate bus for receiving messages from children to the one the
1948           bus sends 'upwards' on.
1949
1950 2005-07-06  Wim Taymans  <wim@fluendo.com>
1951
1952         * gst/base/README:
1953         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1954         (gst_base_sink_handle_object), (gst_base_sink_loop),
1955         (gst_base_sink_change_state):
1956         * gst/base/gstbasesink.h:
1957         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1958         (gst_base_src_init), (gst_base_src_setcaps),
1959         (gst_base_src_getcaps), (gst_base_src_loop),
1960         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1961         (gst_base_src_start), (gst_base_src_change_state):
1962         * gst/base/gstbasesrc.h:
1963         Make basesrc negotiate.
1964         Handle the case where preroll fails in basesink.
1965         Update README.
1966
1967 2005-07-06  Wim Taymans  <wim@fluendo.com>
1968
1969         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1970         Implement the fixate function.
1971         Clean up acceptcaps.
1972
1973 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1974
1975         * docs/pwg/building-filterfactory.xml:
1976         * docs/pwg/pwg.xml:
1977           Remove never-written filter-factory chapter; I'll add the various
1978           base classes to part 4 ("other element types") later on.
1979
1980 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1981
1982         * docs/pwg/advanced-negotiation.xml:
1983         * docs/pwg/building-boiler.xml:
1984         * docs/pwg/building-pads.xml:
1985         * docs/pwg/pwg.xml:
1986         * examples/pwg/Makefile.am:
1987           Add a chapter on caps negotiation, simplify the original code
1988           samples a bit w.r.t. caps negotiation, add link to the advanced
1989           section. Add a bunch of examples showing different use cases of
1990           different types of caps negotiation. Upstream renegotiation isn't
1991           fully documented yet since nobody knows how that works.
1992
1993 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1994
1995         * check/gst/gstpad.c:
1996         * check/gstcheck.c:
1997         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1998           if pad has no parent, return NULL as list of internal links
1999
2000 2005-07-05  Andy Wingo  <wingo@pobox.com>
2001
2002         * gst/elements/gstfilesrc.c:
2003         * gst/elements/gstfakesrc.c: 
2004         * gst/base/gstpushsrc.c:
2005         * gst/base/gstbasesrc.h: 
2006         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2007         
2008 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2009
2010         * Makefile.am:
2011           better report generation target (lcov needs a patch)
2012
2013 2005-07-05  Andy Wingo  <wingo@pobox.com>
2014
2015         * gst/elements, testsuite: Null if we got it...
2016
2017 2005-07-05  Wim Taymans  <wim@fluendo.com>
2018
2019         * configure.ac:
2020         * libs/gst/dataprotocol/Makefile.am:
2021         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2022         * libs/gst/dataprotocol/dataprotocol.h:
2023         * pkgconfig/Makefile.am:
2024         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2025         * pkgconfig/gstreamer-dataprotocol.pc.in:
2026         Ported dataprotol to 0.9. 
2027         Added pkgconfig files.
2028
2029 2005-07-05  Andy Wingo  <wingo@pobox.com>
2030
2031         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2032         Default to returning TRUE for the case when tranform_caps returns
2033         a fixed caps, like for identity or volume.
2034
2035         * check/gst/gstbus.c (pound_bus_with_messages): 
2036         * check/gst/gstmessage.c (START_TEST): 
2037         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2038         message API change.
2039
2040         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2041         logic weaks here: always run transform_caps, trying passthrough
2042         operation only if the original caps intersects with the transform.
2043
2044         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2045         source and sink caps.
2046
2047         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2048         Intersect the peer caps with the pad template before going into
2049         transform_caps.
2050         (gst_base_transform_transform_caps): More debugging.
2051
2052         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2053         src argument.
2054
2055 2005-07-04  Edward Hervey  <edward@fluendo.com>
2056
2057         * gst/gstutils.c:
2058         * gst/gstutils.h:
2059         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2060         in bindings.
2061
2062 2005-07-04  Andy Wingo  <wingo@pobox.com>
2063
2064         * check/gst/gstpad.c: Only set explicit caps on pads.
2065
2066 2005-07-01  Andy Wingo  <wingo@pobox.com>
2067
2068         * tests/network-clock.scm: Commentary update.
2069
2070         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2071         Didn't really make sense, not implementable with basetransform,
2072         etc.
2073         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2074         attempt at implementing the sync property, needs an unlock method.
2075
2076         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2077         New func, by default returns the same caps (the identity
2078         transformation).
2079         (gst_base_transform_getcaps): Uses transform_caps to return
2080         something sensible.
2081         (gst_base_transform_setcaps): Complicated logic to get caps on
2082         both pads, even if they are different, and to call set_caps once
2083         for every time both pads get their caps set.
2084         (gst_base_transform_handle_buffer): Give the ref to the transform
2085         function. Allows in-place modification of the buffer.
2086
2087         * gst/base/gstbasetransform.h (transform_caps): New class method.
2088         Given caps on one side, what can I do on the other.
2089         (set_caps): Take two caps, one for each side of the element.
2090
2091         * gst/gstpad.h:
2092         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2093         caps in place. This is safe because we can check the mutability of
2094         the caps, and a good idea because fixate functions are just called
2095         as a matter of last resort. (Not actually implemented.)
2096         (gst_pad_set_caps): If the caps we're setting is actually the same
2097         as the existing pad caps, just update the pointer without calling
2098         setcaps. Assert that caps is either NULL or fixed, as per the
2099         docs.
2100
2101         * gst/gstghostpad.c: Update for fixate changes.
2102
2103 2005-07-02  Andy Wingo  <wingo@pobox.com>
2104
2105         * gst/gstcaps.c:
2106         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2107         two refcounts makes it immutable, which is enough. Doc more.
2108
2109 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2110
2111         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2112           Put the mini_object into GValue as a mini_object,
2113           not a gpointer, since that's how we declared
2114           the signal.
2115
2116 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2117
2118         * examples/pwg/Makefile.am:
2119           Fix buildbot again.
2120
2121 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2122
2123         * docs/pwg/building-testapp.xml:
2124           Add extra check.
2125         * examples/pwg/Makefile.am:
2126           Fix buildbot.
2127
2128 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2129
2130         * configure.ac:
2131         * examples/Makefile.am:
2132         * examples/pwg/Makefile.am:
2133         * examples/pwg/extract.pl:
2134           Enable building the PWG examples.
2135         * docs/pwg/advanced-interfaces.xml:
2136           Add URI interface stub.
2137         * docs/pwg/advanced-types.xml:
2138         * docs/pwg/other-autoplugger.xml:
2139         * docs/pwg/appendix-porting.xml:
2140         * docs/pwg/pwg.xml:
2141           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2142         * docs/pwg/building-boiler.xml:
2143         * docs/pwg/building-chainfn.xml:
2144         * docs/pwg/building-pads.xml:
2145         * docs/pwg/building-props.xml:
2146         * docs/pwg/building-state.xml:
2147         * docs/pwg/building-testapp.xml:
2148           Update the building-*.xml parts for 0.9 changes. All examples
2149           code blocks compile in examples/pwg/*.
2150
2151 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2152
2153         * docs/manual/advanced-autoplugging.xml:
2154         * docs/manual/appendix-checklist.xml:
2155         * docs/manual/appendix-integration.xml:
2156         * docs/manual/highlevel-components.xml:
2157           Fix playbin/decodebin examples, update docs a bit, mention bus
2158           instead of signals in various places, mention kmplayer and
2159           kaffeine since they have a working GStreamer backend in the KDE
2160           section.
2161
2162 2005-06-30  Wim Taymans  <wim@fluendo.com>
2163
2164         * CHANGES-0.9:
2165         * docs/design/draft-ghostpads.txt:
2166         * docs/design/draft-push-pull.txt:
2167         * docs/design/draft-query.txt:
2168         * docs/design/part-TODO.txt:
2169         * docs/design/part-query.txt:
2170         Added CHANGES-0.9 doc, updated status of other docs.
2171         
2172         * gst/gstquery.h:
2173         Remove "hmm" macro
2174
2175 2005-06-30  Wim Taymans  <wim@fluendo.com>
2176
2177         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2178         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2179         (gst_base_sink_change_state):
2180         * gst/base/gstbasesink.h:
2181         Some tweaks, only EOS and a buffer complete a preroll.
2182
2183 2005-06-30  Andy Wingo  <wingo@pobox.com>
2184
2185         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2186         activate_push down to the internal pad as well.
2187
2188 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2189
2190         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2191
2192         * gst/gsttaginterface.c:
2193           Some documentation fixes (#307394 and #307397).
2194
2195 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2196
2197         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2198
2199         * gst/gstvalue.c: (gst_value_intersect_list):
2200           Fix memleak (#309125).
2201
2202 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2203
2204         * docs/manual/advanced-dataaccess.xml:
2205           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2206         * docs/manual/basics-pads.xml:
2207           Add reference for filtered caps to above chapter.
2208
2209 2005-06-30  Wim Taymans  <wim@fluendo.com>
2210
2211         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2212         (gst_bin_change_state):
2213         Probes are gone.
2214         Lame attempt at making the state change function a bit
2215         more readable.
2216
2217 2005-06-30  Wim Taymans  <wim@fluendo.com>
2218
2219         * docs/design/part-clocks.txt:
2220         * docs/design/part-element-sink.txt:
2221         * docs/design/part-events.txt:
2222         * docs/design/part-preroll.txt:
2223         * docs/design/part-states.txt:
2224         Some more tweeks and additions to the docs.
2225
2226 2005-06-30  Wim Taymans  <wim@fluendo.com>
2227
2228         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2229         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2230         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2231         (gst_pad_check_pull_range), (gst_pad_get_range),
2232         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2233         * gst/gstpad.h:
2234         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2235         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2236         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2237         (gst_pad_remove_buffer_probe):
2238         Removed atomic operations, use existing LOCK.
2239         Move exception handling out of main code path.
2240
2241 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2242
2243         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2244         (silly_return_true_function), (gst_pad_class_init),
2245         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2246         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2247         (gst_pad_send_event):
2248           Fix accumulator, add default value by using _emitv() instead
2249           of _emit() for signal emission.
2250
2251 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2252
2253         * docs/manual/advanced-dataaccess.xml:
2254         * examples/manual/Makefile.am:
2255           Add probe example.
2256         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2257           Make work (??).
2258
2259 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2260
2261         * gst/elements/gstfilesink.c: (gst_filesink_render):
2262           Simplify code so that we don't have to handle short
2263           writes and return GST_FLOW_ERROR if an error occured.
2264
2265 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2266
2267         * docs/gst/gstreamer-docs.sgml:
2268           Remove probes more.
2269
2270 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2271
2272         * docs/gst/gstreamer-sections.txt:
2273         * docs/gst/tmpl/gstpad.sgml:
2274         * docs/gst/tmpl/gstprobe.sgml:
2275         * gst/Makefile.am:
2276         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2277         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2278         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2279         (gst_pad_push_event), (gst_pad_send_event):
2280         * gst/gstpad.h:
2281         * gst/gstutils.c: (gst_pad_add_data_probe),
2282         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2283         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2284         (gst_pad_remove_buffer_probe):
2285         * gst/gstutils.h:
2286           Remove old probes, add new g-signal-based probes and some utility
2287           functions.
2288
2289 2005-06-29  Edward Hervey  <edward@fluendo.com>
2290
2291         * gst/gstelementfactory.c:
2292         * gst/gstutils.h:
2293         * gst/gstutils.c:
2294         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2295         the definition to the header file.
2296
2297 2005-06-29  Andy Wingo  <wingo@pobox.com>
2298
2299         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2300         plugins from the source directory.
2301
2302 2005-06-29  Wim Taymans  <wim@fluendo.com>
2303
2304         * docs/gst/tmpl/gstbuffer.sgml:
2305         * docs/gst/tmpl/gstclock.sgml:
2306         Some fixings for blantently wrong text.
2307
2308 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2309
2310         * check/Makefile.am:
2311         * gst/gst.c: (add_path_func), (init_pre):
2312         * gst/gstregistry.c: (gst_registry_add_path):
2313           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2314           only scan the GST_PLUGIN_PATH locations, and not add
2315           system locations
2316
2317 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2318
2319         * docs/gst/gstreamer-sections.txt:
2320         * docs/gst/tmpl/gstbasesrc.sgml:
2321         * gst/gstelement.c:
2322         * gst/gstelement.h:
2323         * gst/gstevent.c:
2324         * gst/gstutils.c:
2325           doc fixes
2326
2327 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2328
2329         * docs/manual/advanced-autoplugging.xml:
2330           Fix autoplugging example.
2331
2332 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2333
2334         * docs/manual/advanced-autoplugging.xml:
2335         * docs/manual/mime-world.fig:
2336           Try to get autoplugging working, fix type detection. Fix text
2337           in hello-world image.
2338
2339 2005-06-29  Wim Taymans  <wim@fluendo.com>
2340
2341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2342         (gst_base_sink_change_state):
2343         Small debug line.
2344
2345         * gst/gstclock.h:
2346         map SIGNAL and BROADCAST to the right function.
2347
2348         * gst/gstobject.h:
2349         Remove redundant braces.
2350
2351         * gst/gstpad.c: (gst_pad_set_caps):
2352         Don't call setcaps function when reseting caps to NULL.
2353
2354         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2355         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2356         (gst_system_clock_id_unschedule):
2357         Use BROADCAST as this is what we do.
2358
2359 2005-06-29  Wim Taymans  <wim@fluendo.com>
2360
2361         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2362         We are actually prerolling before commiting the state
2363         change. 
2364
2365 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2366
2367         * docs/manual/advanced-clocks.xml:
2368         * docs/manual/advanced-interfaces.xml:
2369         * docs/manual/advanced-metadata.xml:
2370         * docs/manual/advanced-position.xml:
2371         * docs/manual/advanced-schedulers.xml:
2372         * docs/manual/advanced-threads.xml:
2373         * docs/manual/appendix-porting.xml:
2374         * docs/manual/basics-bins.xml:
2375         * docs/manual/basics-bus.xml:
2376         * docs/manual/basics-elements.xml:
2377         * docs/manual/basics-helloworld.xml:
2378         * docs/manual/basics-pads.xml:
2379         * docs/manual/highlevel-components.xml:
2380         * docs/manual/manual.xml:
2381         * docs/manual/thread.fig:
2382           Update (until threads/scheduling) Application Development Manual;
2383           remove GstThread, add GstBus, add simple porting checklist, add
2384           documentation for tag writing, clocks, make all examples until this
2385           part compile and run.
2386         * examples/manual/Makefile.am:
2387           Update from changes to Application Development Manual; add bus
2388           example, remove thread example.
2389
2390 2005-06-28  Wim Taymans  <wim@fluendo.com>
2391
2392         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2393         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2394         (gst_bus_source_dispatch):
2395         Add debugging messages.
2396         Make internal methods static.
2397         Handle the case where the bus is flushed in the handler.
2398         
2399         * gst/gstelement.c: (gst_element_get_bus):
2400         Fix refcount in _get_bus();
2401
2402         * gst/gstpipeline.c: (gst_pipeline_change_state),
2403         (gst_pipeline_get_clock_func):
2404         Clock refcounting fixes.
2405         Handle the case where preroll timed out more gracefully.
2406         
2407         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2408         Clean up the internal thread in dispose. This is needed
2409         for subclasses that actually get disposed.
2410         
2411         * gst/schedulers/threadscheduler.c:
2412         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2413         (gst_thread_scheduler_dispose):
2414         Free thread pool in dispose.
2415
2416 2005-06-28  Andy Wingo  <wingo@pobox.com>
2417
2418         * tests/network-clock-utils.scm (debug, print-event): New utils.
2419
2420         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2421         (*packet-loss*): Unified loss probability.
2422         (network-time): Report out-of-band events.
2423
2424         * tests/plot-data: Add support for out-of-band events. Hack it
2425         into this script instead of passing it down the pipe; should fix
2426         this later.
2427
2428 2005-06-28  Wim Taymans  <wim@fluendo.com>
2429
2430         * docs/gst/gstreamer.types:
2431         * docs/gst/tmpl/gstbasesrc.sgml:
2432         * docs/gst/tmpl/gstpad.sgml:
2433         Docs fixes.
2434
2435 2005-06-28  Wim Taymans  <wim@fluendo.com>
2436
2437         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2438         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2439         (gst_proxy_pad_do_fixatecaps):
2440         Correctly proxy the check_pull_range function.
2441
2442 2005-06-28  Andy Wingo  <wingo@pobox.com>
2443
2444         * tests/network-clock.scm: Removed need for slib.
2445         
2446 2005-06-28  Wim Taymans  <wim@fluendo.com>
2447
2448         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2449         (gst_basesink_preroll_queue_flush):
2450         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2451         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2452         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2453         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2454         (gst_proxy_pad_set_property):
2455         * gst/gstpad.c:
2456         * gst/gstpad.h:
2457         * gst/gstqueue.c: (gst_queue_init):
2458         The deprecated pad loop function is removed now.
2459
2460 2005-06-28  Andy Wingo  <wingo@pobox.com>
2461
2462         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2463         New parameters, simulate network packet loss.
2464
2465         * tests/network-clock-utils.scm: Initialize the RNG.
2466
2467 2005-06-28  Wim Taymans  <wim@fluendo.com>
2468
2469         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2470         (gst_basesink_event), (gst_basesink_deactivate):
2471         Flushing the preroll queue always needs to unlock the waiters.
2472
2473 2005-06-28  Edward Hervey  <edward@fluendo.com>
2474
2475         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2476         Wheen a seek was successful on a pipeline, set the stream_time to the
2477         seek offset in order to have a synchronized stream_time.
2478
2479 2005-06-28  Wim Taymans  <wim@fluendo.com>
2480
2481         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2482         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2483         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2484         (gst_proxy_pad_do_fixatecaps):
2485         Call wrapper function instead of just calling the function
2486         pointers. This takes care of any locking and whatmore.
2487
2488 2005-06-28  Wim Taymans  <wim@fluendo.com>
2489
2490         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2491         (gst_pad_pull_range):
2492         * gst/gstpad.h:
2493         CONNECTED -> LINKED.
2494
2495 2005-06-28  Andy Wingo  <wingo@pobox.com>
2496
2497         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2498         source-munging commit!!!
2499
2500         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2501         (gst_object_sink): Take gpointer arguments, not GstObject --
2502         avoids casts. Like GLib.
2503
2504         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2505         activate.
2506
2507 2005-06-27  Andy Wingo  <wingo@pobox.com>
2508
2509         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2510         remaining buffer.
2511
2512         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2513         returns a sorted copy of the trace list.
2514         (gst_alloc_trace_print_live): New API, only prints traces with
2515         live objects. Sort the list.
2516         (gst_alloc_trace_print_all): Sort the list.
2517         (gst_alloc_trace_print): Align columns.
2518
2519         * gst/elements/gstttypefindelement.c:
2520         * gst/elements/gsttee.c:
2521         * gst/base/gstbasesrc.c:
2522         * gst/base/gstbasesink.c:
2523         * gst/base/gstbasetransform.c:
2524         * gst/gstqueue.c: Adapt for pad activation changes.
2525
2526         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2527         sched.
2528         (gst_pipeline_dispose): Drop ref on sched.
2529
2530         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2531         (gst_pad_activate_default): Push mode by default.
2532         (pre_activate_switch, post_activate_switch): New stubs, things to
2533         do before and after switching activation modes on pads.
2534         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2535         the pad's activate function to choose which mode to activate.
2536         Shortcut on deactivation and call the right function directly.
2537         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2538         mode.
2539         (gst_pad_activate_push): New API, same for push mode.
2540         (gst_pad_set_activate_function) 
2541         (gst_pad_set_activatepull_function) 
2542         (gst_pad_set_activatepush_function): Setters for new API.
2543
2544         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2545         Trace all miniobjects.
2546         (gst_mini_object_make_writable): Unref the arg if we copy, like
2547         gst_caps_make_writable.
2548
2549         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2550
2551         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2552         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2553         Adapt for new pad API.
2554
2555         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2556
2557         * gst/gstelement.h:
2558         * gst/gstelement.c (gst_element_iterate_src_pads) 
2559         (gst_element_iterate_sink_pads): New API functions.
2560         
2561         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2562         should fold into gstiterator.c in some form.
2563         (gst_element_pads_activate): Simplified via use of fold and
2564         delegation of decisions to gstpad->activate.
2565
2566         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2567         help in debugging.
2568
2569         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2570         class once in init, like gstmessage. Didn't run into this issue
2571         but it seems correct. Don't initialize a trace, gstminiobject does
2572         that.
2573
2574         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2575         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2576         to the bus.
2577         (assert_live_count): New util function, uses alloc traces to check
2578         cleanup.
2579
2580         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2581         To be modified when unlink drops the internal pad.
2582
2583 2005-06-27  Wim Taymans  <wim@fluendo.com>
2584
2585         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2586         (gst_bin_change_state):
2587         Cleanup the get_state() function a little, make sure it
2588         iterates the same set of elements.
2589         Added stub iterate_state_order().
2590
2591 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2592
2593         * docs/gst/gstreamer-docs.sgml:
2594         * docs/gst/gstreamer-sections.txt:
2595         * docs/gst/gstreamer.types:
2596         * docs/gst/tmpl/gstbasesink.sgml:
2597         * docs/gst/tmpl/gstbasesrc.sgml:
2598         * docs/gst/tmpl/gstbasetransform.sgml:
2599         * docs/gst/tmpl/gstelement.sgml:
2600         * docs/gst/tmpl/gstiterator.sgml:
2601         * gst/base/gstbasesrc.c:
2602         * gst/base/gstbasesrc.h:
2603         * gst/base/gstbasetransform.h:
2604         * gst/gstelement.c:
2605         * gst/gstiterator.h:
2606           adding basetransform and iterator docs
2607
2608 2005-06-27  Andy Wingo  <wingo@pobox.com>
2609
2610         * docs/design/part-activation.txt: Notes on how activation should
2611         work -- not quite implemented yet.
2612
2613 2005-06-25  Wim Taymans  <wim@fluendo.com>
2614
2615         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2616         At least get the chain function correct, needs more
2617         fixing.
2618
2619 2005-06-25  Wim Taymans  <wim@fluendo.com>
2620
2621         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2622         (gst_basesink_handle_object), (gst_basesink_event),
2623         (gst_basesink_do_sync), (gst_basesink_handle_event),
2624         (gst_basesink_change_state):
2625         * gst/gsttask.h:
2626         Right, two problems here: ghostpads don't take locks and
2627         glib _rec_mutex_lock_full() with depth==0 still locks.
2628         Catch illegal locking and g_warn them.
2629
2630 2005-06-25  Wim Taymans  <wim@fluendo.com>
2631
2632         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2633         Have to check for completion now...
2634
2635 2005-06-25  Wim Taymans  <wim@fluendo.com>
2636
2637         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2638         (gst_basesink_handle_object), (gst_basesink_event),
2639         (gst_basesink_do_sync), (gst_basesink_handle_event),
2640         (gst_basesink_change_state):
2641         * gst/gstpad.h:
2642         Unlock STREAM_LOCK whatever the recursion was.
2643
2644 2005-06-25  Wim Taymans  <wim@fluendo.com>
2645
2646         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2647         (gst_basesink_preroll_queue_empty),
2648         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2649         (gst_basesink_event), (gst_basesink_do_sync),
2650         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2651         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2652         (gst_basesink_change_state):
2653         Reworked the base sink, handle event and buffer serialisation
2654         correctly and removed possible deadlock.
2655         Handle EOS correctly.
2656
2657 2005-06-25  Wim Taymans  <wim@fluendo.com>
2658
2659         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2660         (gst_pipeline_change_state):
2661         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2662         Allow elements to post EOS in the state change function.
2663         Fix up -launch, make it exit the poll loop when the
2664         pipeline actually changed state.
2665         Fix up warning parsing in -launch.
2666
2667 2005-06-25  Wim Taymans  <wim@fluendo.com>
2668
2669         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2670         (gst_tee_sink_activate):
2671         Core takes STREAM_LOCK for us now.
2672
2673 2005-06-25  Wim Taymans  <wim@fluendo.com>
2674
2675         * gst/gstelement.c: (gst_element_get_state_func),
2676         (gst_element_set_state):
2677         * gst/gstelement.h:
2678         * gst/gstmessage.c: (gst_message_parse_error),
2679         (gst_message_parse_warning):
2680         Keep track of current target state while performing a state
2681         change so that subclasses can do something interesting.
2682         Fix parsing of warning/error messages when GError is NULL.
2683
2684 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2685
2686         * docs/gst/Makefile.am:
2687         * docs/gst/gstreamer-docs.sgml:
2688         * docs/gst/gstreamer-sections.txt:
2689         * docs/gst/gstreamer.types:
2690         * docs/gst/tmpl/gstbasesink.sgml:
2691         * docs/gst/tmpl/gstbasesrc.sgml:
2692         * docs/gst/tmpl/gstbin.sgml:
2693         * docs/gst/tmpl/gstcompat.sgml:
2694         * docs/gst/tmpl/gstfakesink.sgml:
2695         * docs/gst/tmpl/gstfakesrc.sgml:
2696         * docs/gst/tmpl/gstfilesink.sgml:
2697         * docs/gst/tmpl/gstfilesrc.sgml:
2698         * docs/gst/tmpl/gstindex.sgml:
2699         * docs/manual/appendix-quotes.xml:
2700         * gst/base/gstbasesrc.h:
2701         * gst/elements/gstfakesrc.h:
2702         * gst/gstmessage.h:
2703           start pulling in base classes and elements in our docs
2704
2705 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2706
2707         * docs/gst/Makefile.am:
2708         * docs/libs/Makefile.am:
2709           fixed make distcheck with gtk-doc 1.3
2710
2711 2005-06-23  Wim Taymans  <wim@fluendo.com>
2712
2713         * gst/gstelement.c: (gst_element_get_state_func),
2714         (gst_element_set_state), (gst_element_change_state):
2715         When the state did not change, also report NO_PREROLL
2716         when it matters.
2717
2718 2005-06-23  Wim Taymans  <wim@fluendo.com>
2719
2720         * gst/gstpad.c: (gst_pad_event_default):
2721         * gst/gstqueue.c: (gst_queue_loop):
2722         No unsafe task pausing please.
2723
2724 2005-06-23  Wim Taymans  <wim@fluendo.com>
2725
2726         * gst/schedulers/threadscheduler.c:
2727         (gst_thread_scheduler_task_start),
2728         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2729         Ref the task before pushing it on the threadpool. This
2730         makes sure that we have a ref when the threadfunction is
2731         actually called.
2732
2733 2005-06-23  Andy Wingo  <wingo@pobox.com>
2734
2735         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2736         offset is greater than the file's size.
2737
2738         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2739         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2740         * gst/gstobject.c (gst_object_class_init): Make the class lock
2741         recursive. Wim won't let me drop deep_notify. Decodebin works
2742         again, whoopdy doo.
2743
2744         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2745         internal pad, and hacks accordingly. Doesn't do it on the target
2746         pad because we change its caps. Probably catches all cases of
2747         interest tho.
2748         (gst_ghost_pad_set_property): Connect to notify::caps as
2749         appropritate.
2750
2751         * tests/network-clock.scm (plot-simulation): Pipe data to the
2752         elite python skript.
2753
2754         * tests/network-clock-utils.scm (define-parameter): New macro,
2755         defines a parameter that can be set via the command line.
2756         (set-parameter!, parse-parameter-arguments): Command line args
2757         parser.
2758
2759         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2760         stdin.
2761
2762 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2763
2764         * gst/elements/gsttypefindelement.c:
2765         (gst_type_find_element_handle_event):
2766           Don't restart typefinding on a discont.
2767         * gst/gstelement.c: (gst_element_set_state):
2768           Debug spelling fix.
2769         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2770           Allow changing mode of an active pad.
2771           Debug output fixes.
2772         * gst/registries/gstlibxmlregistry.c: (load_feature):
2773           Don't cast a static pad template to a normal pad template.
2774
2775 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2776
2777         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2778         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2779           remove gst_strtoll completely, since it didn't actually do
2780           anything more than what g_ascii_strtoull already does.
2781           check for range errors when deserializing
2782           do a cast for the unsigned cases; but further fixing needs
2783           a decision on what the interpretation of "(int)" and
2784           deserialization should be for values that fall outside the
2785           type's boundaries (ie, refuse, or interpret as casting)
2786
2787 2005-06-23  Wim Taymans  <wim@fluendo.com>
2788
2789         * check/Makefile.am:
2790         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2791         * docs/design/part-live-source.txt:
2792         * docs/design/part-states.txt:
2793         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2794         (gst_basesrc_set_live), (gst_basesrc_is_live),
2795         (gst_basesrc_get_range), (gst_basesrc_activate),
2796         (gst_basesrc_change_state):
2797         * gst/base/gstbasesrc.h:
2798         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2799         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2800         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2801         * gst/gstelement.c: (gst_element_get_state_func),
2802         (gst_element_set_state):
2803         * gst/gstelement.h:
2804         * gst/gsttypes.h:
2805         * tools/gst-launch.c: (event_loop), (main):
2806         Added support for live sources and other elements that
2807         cannot do preroll.
2808         Updated design docs, added live-source design doc.
2809         Implemented live source functionality in basesrc
2810         Fix error condition in _bin_get_state()
2811         Implement live source handling in -launch.
2812         Added check for live sources.
2813         Fixed case in GstBin where elements were changed state
2814         multiple times.
2815
2816
2817 2005-06-23  Andy Wingo  <wingo@pobox.com>
2818
2819         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2820         borken refcounting.
2821
2822         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2823         gst_caps_replace takes care of this for us.
2824
2825         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2826         gst_pad_set_caps on the target, not just its setcaps() function.
2827
2828         * tests/network-clock.scm: 
2829         * tests/network-clock-utils.scm: A network clock simulator.
2830         Something of an algorithmic testbed before doing something in C.
2831
2832 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2833
2834         * check/Makefile.am:
2835         * check/gst/capslist.h:
2836           copy over from 0.8, and add two with bitmasks specified with
2837           (int) 0xFF...
2838         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2839           add test to parse everything from capslist.h
2840         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2841         (main):
2842           add test for structure deserialization
2843         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2844           add tests for deserialization of strings to int types
2845         * gst/gststructure.c: (gst_structure_nth_field_name):
2846         * gst/gststructure.h:
2847           add a way to get the name of a field referenced by index
2848         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2849           instead of checking if the resulting long long lies between
2850           min and max, we check if the long long would fit into
2851           a number of bytes for the final type.
2852           This fixes cases where a string represents 2^32 - 1, which
2853           when cast to int would be the (valid) -1, but is bigger than
2854           G_MAXINT
2855
2856 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2857
2858         * gst/parse/grammar.y:
2859           add a log line for type deserialization
2860
2861 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2862
2863         * check/gst/gstvalue.c: (START_TEST):
2864         * gst/gstvalue.c: (gst_value_deserialize):
2865           return long long, not int, so gint64 deserialization actually
2866           works.  Is there any flag that makes the compiler check this ?
2867           Fixes #308559
2868
2869 2005-06-22  Wim Taymans  <wim@fluendo.com>
2870
2871         * gst/gstbuffer.h:
2872         Added convenience macros for setting buffers in GValue.
2873
2874 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2875
2876         * check/gst/.cvsignore:
2877         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2878           add a test deserializing int64, and comment part out because
2879           it fails, yay !
2880
2881 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2882
2883         * check/Makefile.am:
2884         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2885         * testsuite/Makefile.am:
2886         * testsuite/caps/Makefile.am:
2887         * testsuite/caps/value_serialize.c:
2888         * testsuite/test_gst_init.c:
2889           move a value_serialize test over
2890
2891 2005-06-20  Wim Taymans  <wim@fluendo.com>
2892
2893         * gst/gstpad.c:
2894         Small doc updates.
2895         
2896         * gst/gstvalue.c: (gst_value_compare_buffer),
2897         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2898         (gst_value_compare_flags), (gst_value_serialize_flags),
2899         (gst_value_deserialize_flags), (_gst_value_initialize):
2900         Fix serialisation of buffers, they are not boxed types anymore
2901
2902 2005-06-20  Wim Taymans  <wim@fluendo.com>
2903
2904         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2905         Testcase to show error in buffer-on-caps serialisation.
2906
2907 2005-06-20  Andy Wingo  <wingo@pobox.com>
2908
2909         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2910         will be adding to later.
2911
2912         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2913         if its socks fill with rocks.
2914         (gst_system_clock_obtain): Set the name on object construction.
2915         Avoid double-checked locking.
2916
2917 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2918
2919         * gst/gsturi.c: (gst_element_make_from_uri):
2920           Fix potential endless loop.
2921
2922 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2923
2924         * check/Makefile.am:
2925           add gsttag
2926         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2927         (main):
2928           move over from testsuite dir and clean up
2929         * configure.ac:
2930         * gst/gsttag.c:
2931         * testsuite/Makefile.am:
2932         * testsuite/tags/.cvsignore:
2933         * testsuite/tags/Makefile.am:
2934         * testsuite/tags/merge.c:
2935           remove testsuite/tags
2936
2937 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2938
2939         * docs/gst/gstreamer-sections.txt:
2940         * docs/gst/tmpl/gstenumtypes.sgml:
2941         * win32/gstenumtypes.c:
2942           clean up documentation build a little
2943
2944 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2945
2946         * check/gstcheck.h:
2947           add macros for checking refcounts on objects and caps
2948         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2949           add some more unit tests
2950         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2951         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2952           fix leaked refcounts (I hope :)) so unittest works
2953         * gst/gstpad.h:
2954           whitespace removal
2955
2956 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2957
2958         * configure.ac: back to HEAD
2959
2960 === release 0.9.1 ===
2961
2962 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2963
2964         * NEWS:
2965         * RELEASE:
2966           updated
2967
2968 2005-06-17  Andy Wingo  <wingo@pobox.com>
2969
2970         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2971         assert; it's always possible that the pad gets deactivated in
2972         between the checks in gstpad.c and the implementation. Rely on
2973         finish_preroll() to return a FLUSHING or similar instead of on the
2974         assert.
2975         
2976         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2977         clock and post an EOS message if we come out of finish_preroll in
2978         the playing state.
2979
2980 2005-06-16  David Schleef  <ds@schleef.org>
2981
2982         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2983         (gst_capsfilter_set_property): Allow NULL as possible value
2984         for filter_caps property, indicating GST_CAPS_ANY.
2985
2986 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2987
2988         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2989           fix debug output
2990         * gst/schedulers/Makefile.am:
2991           use libgst prefix
2992         * gstreamer.spec.in:
2993           fix spec for it
2994
2995 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2996
2997         * gstreamer.spec.in:
2998           clean up
2999
3000 2005-06-08  Andy Wingo  <wingo@pobox.com>
3001
3002         * gst/gstutils.c: RPAD fixes all around.
3003         (gst_element_link_pads): Refcounting fixes.
3004
3005         * tools/gst-inspect.c:
3006         * tools/gst-xmlinspect.c:
3007         * parse/grammar.y:
3008         * gst/base/gsttypefindhelper.c:
3009         * gst/base/gstbasesink.c:
3010         * gst/gstqueue.c: RPAD fixes.
3011
3012         * gst/gstghostpad.h:
3013         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3014         pads. The tricky thing is they provide both source and sink
3015         interfaces, since they proxy the internal pad for the external
3016         pad, and vice versa. Implement with lower-level ProxyPad objects,
3017         with the interior proxy pad as a child of the exterior ghost pad.
3018         Should write a doc on this.
3019         
3020         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3021         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3022         gst_object API.
3023         
3024         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3025         pads are real pads. No ghost pads in this file. Not documenting
3026         the myriad s/RPAD/PAD/ and REALIZE fixes.
3027         (gst_pad_class_init): Add properties for "direction" and
3028         "template". Both are construct-only, so they can't change during
3029         the life of the pad. Fixes properly deriving from GstPad.
3030         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3031         derived objects, just set properties when creating the objects via
3032         g_object_new.
3033         (gst_pad_get_parent): Implement as a function, return NULL if the
3034         parent is not an element.
3035         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3036         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3037         
3038         * gst/gstobject.c (gst_object_class_init): Make name a construct
3039         property. Don't set it in the object init.
3040
3041         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3042         with UNKNOWN direction.
3043         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3044         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3045         (gst_element_remove_pad): Remove ghost-pad special cases.
3046         (gst_element_pads_activate): Remove rpad cruft.
3047
3048         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3049         catch the pad's-parent-not-an-element case.
3050
3051         * gst/gst.h: Include gstghostpad.h.
3052
3053         * gst/gst.c (init_post): No more real, ghost pads.
3054
3055         * gst/Makefile.am: Add gstghostpad.[ch].
3056
3057         * check/Makefile.am:
3058         * check/gst/gstbin.c:
3059         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3060         into a bin creates ghost pads, and that the refcounts are right.
3061         Partly moved from gstbin.c.
3062
3063 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3064
3065         * check/gst-libs/.cvsignore:
3066         * check/gst/.cvsignore:
3067         * check/pipelines/.cvsignore:
3068           ignore more
3069         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3070         (START_TEST), (cleanup_suite), (main):
3071           add some tests related to cleanup after running pipelines
3072
3073 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3074
3075         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3076           add a testsuite for GstBuffer
3077
3078 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3079
3080         * gst/gstminiobject.h:
3081           add defines for accessing the refcount
3082
3083 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3084
3085         * Makefile.am: added support for html unit test coverage reports
3086
3087 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3088
3089         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3090           Free existing caps if the capsfilter changes. Add a FIXME about
3091           setting those caps on the pads.
3092
3093         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3094           Before adding a ghost pad to a parent bin, check that there isn't
3095           already one for the element on the bin. Prevents infinite recursion
3096           when using decodebin in parse pipelines. Andy says he'll rewrite the
3097           way this works anyway, so ignore the hack.
3098
3099 2005-06-02  Andy Wingo  <wingo@pobox.com>
3100
3101         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3102         file size, pass it on to the type find helper.
3103
3104         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3105         segment_start and segment_end properly according to the seek
3106         method. Segment_end is still a bit flaky because offset can be
3107         negative for CUR and END cases, but it takes -1 as an "unset"
3108         value.
3109
3110 2005-06-02  Wim Taymans  <wim@fluendo.com>
3111
3112         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3113         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3114         (gst_basesink_activate):
3115         * gst/base/gstbasesink.h:
3116         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3117         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3118         (gst_pad_query), (gst_pad_start_task):
3119         * gst/gstpad.h:
3120         * gst/gstqueue.c: (gst_queue_bufferalloc),
3121         (gst_queue_handle_sink_event), (gst_queue_chain):
3122         Bufferalloc: return GstFlowReturn to more accuratly report
3123         why allocation failed.
3124
3125 2005-06-02  Wim Taymans  <wim@fluendo.com>
3126
3127         * gst/gstpipeline.c: (gst_pipeline_send_event):
3128         Take snapshot of state without blocking.
3129
3130 2005-06-02  Wim Taymans  <wim@fluendo.com>
3131
3132         * docs/design/part-TODO.txt:
3133         * docs/design/part-caps.txt:
3134         * docs/design/part-clocks.txt:
3135         * docs/design/part-negotiation.txt:
3136         * docs/design/part-preroll.txt:
3137         Small doc updates 
3138
3139 2005-05-30  Wim Taymans  <wim@fluendo.com>
3140
3141         * gst/elements/gstidentity.c: (gst_identity_event),
3142         (gst_identity_transform), (gst_identity_get_property):
3143         Protect last_message property as it is accessed from
3144         multiple threads.
3145
3146 2005-05-30  Wim Taymans  <wim@fluendo.com>
3147
3148         * gst/gstelement.c: (gst_element_init),
3149         (gst_element_pads_activate), (gst_element_change_state):
3150         Slicker pad activation code.
3151
3152 2005-05-30  Wim Taymans  <wim@fluendo.com>
3153
3154         * gst/Makefile.am:
3155         * gst/gstelement.h:
3156         * gst/gstelementfactory.h:
3157         * gst/gsttypes.h:
3158         Move elementfactory methods to separate .h file.
3159
3160 2005-05-30  Wim Taymans  <wim@fluendo.com>
3161
3162         * docs/design/part-overview.txt:
3163         * gst/gstsystemclock.h:
3164         Small typo fixes, doc updates.
3165
3166 2005-05-30  Wim Taymans  <wim@fluendo.com>
3167
3168         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3169         (init_popt_callback):
3170         Remove cpu-opt flag.
3171
3172 2005-05-30  Wim Taymans  <wim@fluendo.com>
3173
3174         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3175         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3176         * gst/gstbuffer.h:
3177         Avoid typechecking in places where not needed.
3178         Added accessor for malloc_data.
3179
3180 2005-05-30  Wim Taymans  <wim@fluendo.com>
3181
3182         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3183         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3184         (gst_pad_configure_sink), (gst_pad_configure_src),
3185         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3186         (gst_pad_start_task):
3187         Propagate errors from _set_caps() in configure_src/sink
3188         functions instead of returning TRUE.
3189         FLUSH events can travel up and downstream
3190
3191
3192 2005-05-30  Wim Taymans  <wim@fluendo.com>
3193
3194         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3195         (gst_basesink_activate):
3196         Handle EOS in preroll.
3197
3198 2005-05-30  Wim Taymans  <wim@fluendo.com>
3199
3200         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3201         (gst_queue_loop), (gst_queue_handle_src_event):
3202         Remove old pieces of code
3203         Flushing the queue in an upstream event is a very bad idea.
3204
3205 2005-05-26  Andy Wingo  <wingo@pobox.com>
3206
3207         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3208         gst_value_set_mini_object so as to add a ref on the object (which
3209         will be removed when the value is unset).
3210
3211         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3212         arg type in ::handoff.
3213
3214         * gst/gstelement.c (gst_element_change_state): Also deactivate
3215         pads in READY->NULL, just in case the element didn't make it to
3216         PAUSED. Wingo tested, Wim approved.
3217
3218 2005-05-26  Wim Taymans  <wim@fluendo.com>
3219
3220         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3221         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3222         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3223         A flushing pad cannot be used to alloc_buffer from.
3224
3225 2005-05-26  Wim Taymans  <wim@fluendo.com>
3226
3227         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3228         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3229         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3230         (gst_bus_create_watch), (gst_bus_add_watch_full):
3231         * gst/gstbus.h:
3232         Implement a real GSource and use g_main_context_wakeup() to
3233         signal new messages instead of the socketpair.
3234
3235 2005-05-25  Wim Taymans  <wim@fluendo.com>
3236
3237         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3238         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3239         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3240         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3241         (gst_pad_send_event), (gst_pad_start_task):
3242         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3243         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3244         (gst_queue_sink_activate), (gst_queue_src_activate),
3245         (gst_queue_change_state):
3246         * gst/gstqueue.h:
3247         Fix state changes for non sinks. We now change sinks, then elements
3248         with unconnected srcpads, then the rest.
3249         More efficient queue unlocking in flush and state changes.
3250         Set the pad activate mode even if it does not have an activate
3251         function.
3252
3253 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3254
3255         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3256           Don't go in pull mode for non-seekable sources.
3257         * gst/elements/gsttypefindelement.h:
3258         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3259         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3260         (free_entry), (stop_typefinding),
3261         (gst_type_find_element_handle_event), (find_peek),
3262         (gst_type_find_element_chain), (do_pull_typefind),
3263         (gst_type_find_element_change_state):
3264           Allow typefinding (w/o seeking) in push-mode, simplified version
3265           of what was in 0.8.
3266         * gst/gstutils.c: (gst_buffer_join):
3267         * gst/gstutils.h:
3268           gst_buffer_join() from 0.8.
3269
3270 2005-05-25  Wim Taymans  <wim@fluendo.com>
3271
3272         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3273         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3274         (gst_pad_send_event), (gst_pad_start_task):
3275         Disable attempt at mode switching until it is figured out.
3276
3277 2005-05-25  Wim Taymans  <wim@fluendo.com>
3278
3279         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3280         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3281         (gst_basesink_finish_preroll), (gst_basesink_chain),
3282         (gst_basesink_loop), (gst_basesink_activate),
3283         (gst_basesink_change_state):
3284         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3285         (gst_basesrc_get_range), (gst_basesrc_loop),
3286         (gst_basesrc_activate):
3287         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3288         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3289         (gst_real_pad_init), (gst_real_pad_set_property),
3290         (gst_real_pad_get_property), (gst_pad_set_active),
3291         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3292         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3293         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3294         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3295         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3296         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3297         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3298         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3299         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3300         (gst_pad_stop_task):
3301         * gst/gstpad.h:
3302         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3303         (gst_queue_loop), (gst_queue_src_activate):
3304         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3305         (gst_task_get_state):
3306         * gst/gsttask.h:
3307         * gst/schedulers/threadscheduler.c:
3308         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3309         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3310         in task function.
3311         Remove ACTIVE pad flag, use FLUSHING everywhere
3312         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3313         functions.
3314         Add locks around IS_FLUSHING when reading.
3315         Take STREAM lock in chain(), get_range() functions so plugins
3316         don't need to take it anymore.
3317         
3318
3319
3320 2005-05-25  Wim Taymans  <wim@fluendo.com>
3321
3322         * tools/gst-launch.c: (event_loop):
3323         Unref message after using its contents instead of
3324         before.
3325
3326 2005-05-24  Wim Taymans  <wim@fluendo.com>
3327
3328         * docs/design/draft-ghostpads.txt:
3329         * docs/design/draft-push-pull.txt:
3330         * docs/design/draft-query.txt:
3331         * docs/design/part-overview.txt:
3332         Docs updates, added general overview doc.
3333
3334 2005-05-21  David Schleef  <ds@schleef.org>
3335
3336         * docs/gst/tmpl/old/GstBin.sgml:
3337         * docs/gst/tmpl/old/GstBuffer.sgml:
3338         * docs/gst/tmpl/old/GstCaps.sgml:
3339         * docs/gst/tmpl/old/GstClock.sgml:
3340         * docs/gst/tmpl/old/GstCompat.sgml:
3341         * docs/gst/tmpl/old/GstData.sgml:
3342         * docs/gst/tmpl/old/GstElement.sgml:
3343         * docs/gst/tmpl/old/GstEvent.sgml:
3344         * docs/gst/tmpl/old/GstIndex.sgml:
3345         * docs/gst/tmpl/old/GstStructure.sgml:
3346         * docs/gst/tmpl/old/GstTag.sgml:
3347         * docs/gst/tmpl/old/cothreads.sgml:
3348         * docs/gst/tmpl/old/cothreads_compat.sgml:
3349         * docs/gst/tmpl/old/gettext.sgml:
3350         * docs/gst/tmpl/old/gobject2gtk.sgml:
3351         * docs/gst/tmpl/old/grammar.tab.sgml:
3352         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3353         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3354         * docs/gst/tmpl/old/gst_private.sgml:
3355         * docs/gst/tmpl/old/gstaggregator.sgml:
3356         * docs/gst/tmpl/old/gstarch.sgml:
3357         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3358         * docs/gst/tmpl/old/gstbufferstore.sgml:
3359         * docs/gst/tmpl/old/gstdata_private.sgml:
3360         * docs/gst/tmpl/old/gstdisksink.sgml:
3361         * docs/gst/tmpl/old/gstdisksrc.sgml:
3362         * docs/gst/tmpl/old/gstelementfactory.sgml:
3363         * docs/gst/tmpl/old/gstextratypes.sgml:
3364         * docs/gst/tmpl/old/gstfakesink.sgml:
3365         * docs/gst/tmpl/old/gstfakesrc.sgml:
3366         * docs/gst/tmpl/old/gstfdsink.sgml:
3367         * docs/gst/tmpl/old/gstfdsrc.sgml:
3368         * docs/gst/tmpl/old/gstfilesink.sgml:
3369         * docs/gst/tmpl/old/gstfilesrc.sgml:
3370         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3371         * docs/gst/tmpl/old/gstidentity.sgml:
3372         * docs/gst/tmpl/old/gstindexfactory.sgml:
3373         * docs/gst/tmpl/old/gstmarshal.sgml:
3374         * docs/gst/tmpl/old/gstmd5sink.sgml:
3375         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3376         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3377         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3378         * docs/gst/tmpl/old/gstpipefilter.sgml:
3379         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3380         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3381         * docs/gst/tmpl/old/gstshaper.sgml:
3382         * docs/gst/tmpl/old/gstspider.sgml:
3383         * docs/gst/tmpl/old/gstspideridentity.sgml:
3384         * docs/gst/tmpl/old/gststatistics.sgml:
3385         * docs/gst/tmpl/old/gsttee.sgml:
3386         * docs/gst/tmpl/old/gsttimecache.sgml:
3387         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3388         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3389         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3390         * docs/gst/tmpl/old/types.sgml:
3391           I didn't intend to add these or check them in.
3392
3393 2005-05-19  David Schleef  <ds@schleef.org>
3394
3395         * configure.ac: Use -no-common everywhere.  In a sane world, it
3396           would be the default in libtool, because without it, you can't
3397           build DLLs on Windows.
3398         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3399         * docs/gst/gstreamer-sections.txt:
3400         * docs/gst/tmpl/gstcpu.sgml:
3401         * docs/gst/tmpl/gstdata.sgml:
3402         * docs/gst/tmpl/gstthread.sgml:
3403
3404 2005-05-19  David Schleef  <ds@schleef.org>
3405
3406         * gst/gstminiobject.c: (gst_value_set_mini_object),
3407         (gst_value_take_mini_object), (gst_value_get_mini_object):
3408         * gst/gstminiobject.h: Add GValue set/get functions.
3409
3410 2005-05-19  Wim Taymans  <wim@fluendo.com>
3411
3412         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3413         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3414         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3415         * gst/gstbuffer.h:
3416         * gst/gstbus.c: (gst_bus_post):
3417         * gst/gstelement.c: (gst_element_get_random_pad):
3418         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3419         Make subbufer unref the parent in finalize.
3420         some more debugging info.
3421
3422
3423 2005-05-19  Wim Taymans  <wim@fluendo.com>
3424
3425         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3426         (gst_basesink_init), (gst_basesink_finalize),
3427         (gst_basesink_activate), (gst_basesink_change_state):
3428         Don't free preroll queue too early.
3429
3430 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3431
3432         * gst/Makefile.am:
3433         * gst/ROADMAP:
3434           Hi, I'm outdated. Please shoot me.
3435
3436 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3437
3438         * gst/gstpipeline.c: (gst_pipeline_send_event):
3439           Do not access variables after they have been deleted.
3440
3441 2005-05-19  Wim Taymans  <wim@fluendo.com>
3442
3443         * tools/gst-inspect.c: (print_plugin_features):
3444         A plugin feature does unfortunatly not use the
3445         object name yet...
3446
3447 2005-05-18  Wim Taymans  <wim@fluendo.com>
3448
3449         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3450         Port _span() functions to new subbuffers.
3451
3452 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3453
3454         * gst/gstbin.c: (gst_bin_add_func):
3455           Fix clock settery in bins when adding kids after the clock has
3456           been selected.
3457
3458 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3459
3460         * gst/elements/gstidentity.c: (gst_identity_class_init):
3461           Workaround until signals support GstMiniObject.
3462
3463 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3464
3465         * gst/gstbuffer.c:
3466         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3467
3468 2005-05-18  Wim Taymans  <wim@fluendo.com>
3469
3470         * gst/base/Makefile.am:
3471         * gst/base/gstadapter.c: (gst_adapter_base_init),
3472         (gst_adapter_class_init), (gst_adapter_init),
3473         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3474         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3475         (gst_adapter_flush), (gst_adapter_available),
3476         (gst_adapter_available_fast):
3477         * gst/base/gstadapter.h:
3478         Ported and added adapter to the base classes.
3479
3480 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3481
3482         * gst/gst.c:
3483         * gst/gstmessage.c:
3484           Make sure the class is reffed/unreffed once before threads can be
3485           used.  Fixes #304551.
3486
3487 2005-05-17  Wim Taymans  <wim@fluendo.com>
3488
3489         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3490         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3491         * gst/gstminiobject.c: (gst_mini_object_get_type),
3492         (gst_mini_object_free):
3493         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3494         (gst_pad_push), (gst_pad_push_event):
3495         * gst/gstqueue.c: (gst_queue_change_state):
3496         Don't queue buffers in basesink when we are flushing.
3497         Unref buffer when flushing in basesink.
3498         Flush queue when going to READY
3499         Unref buffer when _push() returns an error.
3500         Don't free MiniObject instance when refcount is incremented
3501         in _finalize() so that we can recover objects.
3502
3503 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3504
3505         * docs/manual/advanced-schedulers.xml:
3506         * docs/manual/appendix-checklist.xml:
3507         * docs/pwg/advanced-clock.xml:
3508         * docs/pwg/advanced-interfaces.xml:
3509         * docs/pwg/advanced-request.xml:
3510         * docs/pwg/advanced-types.xml:
3511         * docs/pwg/intro-preface.xml:
3512         * examples/plugins/example.c: (gst_example_get_type),
3513         (gst_example_class_init), (gst_example_chain),
3514         (gst_example_set_property), (gst_example_get_property),
3515         (gst_example_change_state), (plugin_init):
3516         * examples/plugins/example.h:
3517           small doc fixes
3518
3519 2005-05-17  Wim Taymans  <wim@fluendo.com>
3520
3521         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3522         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3523         * gst/gstqueue.c: (gst_queue_change_state):
3524         Clear queue when going to READY.
3525         Remove IN_SETCAPS flag too.
3526
3527 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3528
3529         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3530           Remove implicit cast from gboolean to GstElementStateReturn;
3531           make sure we still return failure in paused => ready case if
3532           the parent class fails to change state and our own stop 
3533           vfunc succeeds.
3534
3535 2005-05-17  Wim Taymans  <wim@fluendo.com>
3536
3537         * tools/gst-launch.c: (event_loop):
3538         Message was unreffed too soon.
3539
3540 2005-05-16  Andy Wingo  <wingo@pobox.com>
3541
3542         * gst/gstbin.c (sink_iterator_filter): Err... um...
3543
3544         * check/gst/gstbin.c (test_ghost_pads): New test for the
3545         ghosting-if-elements-not-in-same-bin behavior.
3546
3547 2005-05-16  David Schleef  <ds@schleef.org>
3548
3549         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3550         accessing refcount directly.
3551
3552 2005-05-15  David Schleef  <ds@schleef.org>
3553
3554         * check/Makefile.am: remove GstData checks
3555         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3556         * gst/Makefile.am: add miniobject, remove data
3557         * gst/gst.h: add miniobject, remove data
3558         * gst/gstdata.c: remove
3559         * gst/gstdata.h: remove
3560         * gst/gstdata_private.h: remove
3561         * gst/gsttypes.h: remove GstEvent and GstMessage
3562         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3563         * gst/gstmarshal.list: change BOXED -> OBJECT
3564
3565         Implement GstMiniObject.
3566         * gst/gstminiobject.c:
3567         * gst/gstminiobject.h:
3568
3569         Modify to be subclasses of GstMiniObject.
3570         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3571         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3572         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3573         (gst_subbuffer_get_type), (gst_subbuffer_init),
3574         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3575         (gst_buffer_span):
3576         * gst/gstbuffer.h:
3577         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3578         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3579         (_gst_event_copy), (gst_event_new):
3580         * gst/gstevent.h:
3581         * gst/gstmessage.c: (_gst_message_initialize),
3582         (gst_message_get_type), (gst_message_class_init),
3583         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3584         (gst_message_new), (gst_message_new_error),
3585         (gst_message_new_warning), (gst_message_new_tag),
3586         (gst_message_new_state_changed), (gst_message_new_application):
3587         * gst/gstmessage.h:
3588         * gst/gstprobe.c: (gst_probe_perform),
3589         (gst_probe_dispatcher_dispatch):
3590         * gst/gstprobe.h:
3591         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3592         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3593         (_gst_query_copy), (gst_query_new):
3594
3595         Update elements for GstData -> GstMiniObject changes
3596         * gst/gstquery.h:
3597         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3598         (gst_queue_chain), (gst_queue_loop):
3599         * gst/elements/gstbufferstore.c:
3600         (gst_buffer_store_add_buffer_func),
3601         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3602         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3603         (gst_fakesink_render):
3604         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3605         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3606         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3607         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3608         (gst_filesrc_create_read):
3609         * gst/elements/gstidentity.c: (gst_identity_class_init):
3610         * gst/elements/gsttypefindelement.c:
3611         (gst_type_find_element_src_event), (free_entry_buffers),
3612         (gst_type_find_element_handle_event):
3613         * libs/gst/dataprotocol/dataprotocol.c:
3614         (gst_dp_header_from_buffer):
3615         * libs/gst/dataprotocol/dataprotocol.h:
3616         * libs/gst/dataprotocol/dp-private.h:
3617
3618 2005-05-15  David Schleef  <ds@schleef.org>
3619
3620         * gst/elements/gstelements.c: Don't include headers that were
3621         just removed.
3622
3623 2005-05-15  David Schleef  <ds@schleef.org>
3624
3625         * gst/elements/Makefile.am: Remove some elements that don't
3626         need to be in the core (or even exist at all).
3627         * gst/elements/gstaggregator.c:
3628         * gst/elements/gstaggregator.h:
3629         * gst/elements/gstmd5sink.c:
3630         * gst/elements/gstmd5sink.h:
3631         * gst/elements/gstmultifilesrc.c:
3632         * gst/elements/gstmultifilesrc.h:
3633         * gst/elements/gstpipefilter.c:
3634         * gst/elements/gstpipefilter.h:
3635         * gst/elements/gstshaper.c:
3636         * gst/elements/gstshaper.h:
3637         * gst/elements/gststatistics.c:
3638         * gst/elements/gststatistics.h:
3639         * po/POTFILES.in: Remove above files.
3640
3641 2005-05-14  Andy Wingo  <wingo@pobox.com>
3642
3643         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3644         so as to get the refs right.
3645         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3646         unreffing objects that don't pass the filter.
3647
3648         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3649         gst_element_set_bus.
3650         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3651         normal cases, this will destroy the bus.
3652
3653         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3654         object.
3655
3656         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3657         has no sinks.
3658
3659 2005-05-13  Andy Wingo  <wingo@pobox.com>
3660
3661         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3662         gst_pad_link, call pad_link_maybe_ghosting,
3663         (pad_link_maybe_ghosting): Links pads, making sure that the
3664         elements being linked are in the same bin.
3665         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3666         Helpers for pad_link_maybe_ghosting.
3667
3668 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3669
3670         * configure.ac:
3671           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3672
3673 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3674
3675         * docs/design/part-element-source.txt:
3676           Mention GstPushSrc
3677
3678 2005-05-12  Wim Taymans  <wim@fluendo.com>
3679
3680         * gst/base/gstbasesink.c: (gst_basesink_init),
3681         (gst_basesink_activate):
3682         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3683         (gst_basesrc_is_seekable):
3684         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3685         (bin_element_is_sink), (gst_bin_change_state):
3686         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3687         * gst/gstelement.h:
3688         Identify sinks by their flag to avoid overly complicated
3689         checks (fow now).
3690         Do state changes even for elements not reachable from the
3691         sinks.
3692         BaseSink is a sink now :)
3693         Some more debugging info in the basesrc.
3694
3695
3696 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3697
3698         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3699           Implement _query on a bin, similar to _send_event.
3700
3701 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3702
3703         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3704           Discont event offset format should be GST_FORMAT_BYTES,
3705           not GST_FORMAT_TIME.
3706
3707 2005-05-12  Wim Taymans  <wim@fluendo.com>
3708
3709         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3710         Same fix as Ronald's but without the signal. 
3711
3712 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3713
3714         * gst/gstutils.c: (gst_element_query_position):
3715           No, an element is not a pad.
3716
3717 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3718
3719         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3720         (gst_bin_get_state):
3721           If a child is removed from a bin while we remove the child from
3722           the bin and while we're retrieving its state, signal this to the
3723           get_state function so we abort the wait (instead of waiting for
3724           a timeout) and can immediately re-iterate over all other elements.
3725
3726 2005-05-12  Wim Taymans  <wim@fluendo.com>
3727
3728         * gst/base/Makefile.am:
3729         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3730         (gst_basesrc_start):
3731         * gst/base/gstbasesrc.h:
3732         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3733         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3734         (gst_pushsrc_init), (gst_pushsrc_create):
3735         * gst/base/gstpushsrc.h:
3736         Added is_seekable to BaseSrc
3737         Added simple PushSrc.
3738
3739 2005-05-11  Wim Taymans  <wim@fluendo.com>
3740
3741         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3742         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3743         (gst_element_link_pads), (gst_element_query_position),
3744         (gst_element_query_convert), (intersect_caps_func),
3745         (gst_pad_query_position), (gst_pad_query_convert):
3746         Fix refcounting in utils function.
3747         No point in trying to activate a pad when it's added, it could
3748         be added from the state change function and then we deadlock, the
3749         element has to decide what to do.
3750
3751 2005-05-10  Andy Wingo  <wingo@pobox.com>
3752
3753         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3754         *all* the arguments.
3755
3756         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3757         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3758         lock (according to the docs -- if this is wrong change the docs).
3759
3760         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3761         flush messages in the NULL state.
3762
3763         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3764         message immediately and return.
3765         (gst_bus_set_flushing): New function. If a bus is flushing, it
3766         flushes out any queued messages and immediately unrefs new
3767         messages. This is so when an element goes to NULL, all of the
3768         unhandled messages coming from it can be freed, and their
3769         references to the element dropped. In other words: message source
3770         ref considered harmful :P
3771
3772         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3773         we're finished with it.
3774
3775         * gst/gstmessage.c (gst_message_new_state_changed): 
3776
3777 2005-05-10  Wim Taymans  <wim@fluendo.com>
3778
3779         * gst/gstvalue.c: (gst_value_compare_flags),
3780         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3781         (_gst_value_initialize):
3782         Added flags serialize/deserialize/compare code.
3783
3784 2005-05-09  Andy Wingo  <wingo@pobox.com>
3785
3786         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3787         Intersect the peer's caps with our caps.
3788
3789 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3790
3791         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3792         * gst/elements/gsttypefindelement.c: (find_peek):
3793           Handle negative offsets better. Fixes decodebin.
3794
3795 2005-05-09  Wim Taymans  <wim@fluendo.com>
3796
3797         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3798         (gst_base_transform_event):
3799         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3800         Implement accept_caps.
3801         Fix silly lock/unlock mismatch in base class.
3802
3803 2005-05-09  Wim Taymans  <wim@fluendo.com>
3804
3805         * docs/design/draft-push-pull.txt:
3806         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3807         * gst/elements/gstfilesink.c: (gst_filesink_init),
3808         (gst_filesink_query):
3809         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3810         (gst_type_find_handle_src_query), (find_element_get_length):
3811         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3812         * gst/gstelement.h:
3813         * gst/gstmessage.c:
3814         * gst/gstmessage.h:
3815         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3816         (gst_real_pad_get_caps_unlocked),
3817         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3818         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3819         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3820         (gst_real_pad_dispose), (gst_real_pad_finalize),
3821         (gst_pad_load_and_link), (gst_pad_save_thyself),
3822         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3823         (gst_pad_check_pull_range), (gst_pad_pull_range),
3824         (gst_pad_template_get_type), (gst_pad_template_class_init),
3825         (gst_pad_template_init), (gst_pad_template_dispose),
3826         (name_is_valid), (gst_static_pad_template_get),
3827         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3828         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3829         (gst_pad_get_element_private), (gst_pad_start_task),
3830         (gst_pad_pause_task), (gst_pad_stop_task),
3831         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3832         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3833         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3834         (gst_ghost_pad_new):
3835         * gst/gstpad.h:
3836         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3837         (gst_query_new_position), (gst_query_set_position),
3838         (gst_query_parse_position), (gst_query_new_convert),
3839         (gst_query_set_convert), (gst_query_parse_convert):
3840         * gst/gstquery.h:
3841         * gst/gstqueryutils.c:
3842         * gst/gstqueryutils.h:
3843         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3844         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3845         (gst_queue_handle_src_query):
3846         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3847         (gst_element_query_position), (gst_element_query_convert),
3848         (intersect_caps_func), (gst_pad_query_position),
3849         (gst_pad_query_convert):
3850         * gst/gstutils.h:
3851         * tools/gst-inspect.c: (print_pad_info):
3852         * tools/gst-xmlinspect.c: (print_element_info):
3853         Remove old query functions. Ported old code.
3854         Added position/convert helper functions to gstutils.
3855         Reordered gstpad.c code, grouping relevant things.
3856         Remove gst_message_new(), always need to speficy a specific
3857         message.
3858
3859
3860 2005-05-09  Andy Wingo  <wingo@pobox.com>
3861
3862         * gst/gstiterator.h: Add some includes.
3863
3864         * gst/gstqueryutils.h: Include more headers.
3865
3866         * gst/gstpad.h:
3867         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3868         some uses of gst_pad_query.
3869
3870         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3871         NULL out parameters.
3872         (gst_query_new_position): New proc, allocates a new position
3873         query.
3874
3875         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3876         gstqueryutils.c to the build.
3877
3878         * gst/gststructure.c (gst_structure_set_valist): Implement with
3879         the generic G_VALUE_COLLECT.
3880         
3881 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3882
3883         * gst/Makefile.am: (gst_headers):
3884         Added gstqueryutils.h to the list of headers to install, that was
3885         a 'nachty' move wingo :)
3886
3887 2005-05-06  Andy Wingo  <wingo@pobox.com>
3888
3889         * gst/gstquery.h
3890         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3891         GstData, init a memchunk.
3892         (standard_definitions): Add a few query types, deprecate a few.
3893         (gst_query_get_type): New proc.
3894         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3895         implementation.
3896         (gst_query_new_application, gst_query_get_structure): New public
3897         procs.
3898
3899         * docs/design/draft-query.txt: Removed LINKS from the query types,
3900         because all the rest can be dispatched to other pads -- seemed
3901         ugly to have a query that couldn't be dispatched. internal_links
3902         is fine as a pad method.
3903
3904         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3905         in gstpad.c, but maintain binary compatibility for the moment.
3906         Will fix before 0.9 is out.
3907
3908         * gst/gstqueryutils.c: 
3909         * gst/gstqueryutils.h: New files, implement 3 methods for each
3910         query type: parse_query, parse_response, and set. Probably need an
3911         allocator as well.
3912
3913         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3914
3915         * gst/elements/gstfilesink.c (gst_filesink_query2):
3916         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3917         query_types, and formats methods.
3918
3919         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3920         (gst_pad_set_query2_function): New functions.
3921         (gst_real_pad_init): Set query2_default as the default query2
3922         function. Basically just dispatches to internally linked pads.
3923
3924         Needs review!
3925         
3926         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3927         without using the atomic operations. Only one thread can possibly
3928         be accessing the data at this point. Changed so as to avoid
3929         gst_atomic operations.
3930
3931 2005-05-06  Wim Taymans  <wim@fluendo.com>
3932
3933         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3934         Also set caps if we use the fallback buffer alloc.
3935
3936 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3937
3938         * docs/gst/Makefile.am:
3939         * docs/gst/gstreamer-docs.sgml:
3940         * docs/gst/gstreamer-sections.txt:
3941         * docs/gst/tmpl/gstatomic.sgml:
3942         * docs/gst/tmpl/gstmemchunk.sgml:
3943         * testsuite/elements/struct_i386.h:
3944         * win32/GStreamer.vcproj:
3945         * win32/Makefile:
3946           Purge GstAtomic stuff from docs and win32 makefiles as well
3947
3948 2005-05-06  Wim Taymans  <wim@fluendo.com>
3949
3950         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3951         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3952         * gst/gstpad.c: (gst_pad_peer_get_caps):
3953         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3954         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3955         (gst_queue_src_activate), (gst_queue_change_state):
3956         * gst/gstqueue.h:
3957         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3958         (intersect_caps_func):
3959         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3960         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3961         Some fixes for the peer_get_caps() change.
3962
3963 2005-05-06  Wim Taymans  <wim@fluendo.com>
3964
3965         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3966         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3967         (gst_basesink_activate):
3968         Actually do something with error codes returned from the push
3969         functions.
3970
3971 2005-05-06  Wim Taymans  <wim@fluendo.com>
3972
3973         * docs/design/part-element-sink.txt:
3974         * docs/design/part-element-source.txt:
3975         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3976         (gst_basesink_event), (gst_basesink_activate):
3977         * gst/base/gstbasesink.h:
3978         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3979         (gst_basesrc_activate):
3980         * gst/base/gstbasesrc.h:
3981         * gst/gstelement.c: (gst_element_pads_activate):
3982         Some more documentation.
3983         Fixed scheduling decision in _pads_activate().
3984
3985 2005-05-05  Andy Wingo  <wingo@pobox.com>
3986
3987         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3988         the test suite.
3989
3990 2005-05-05  Wim Taymans  <wim@fluendo.com>
3991
3992         * gst/base/Makefile.am:
3993         * gst/base/gstbasesink.h:
3994         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3995         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3996         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3997         (gst_collectpads_class_init), (gst_collectpads_init),
3998         (gst_collectpads_finalize), (gst_collectpads_new),
3999         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4000         (find_pad), (gst_collectpads_remove_pad),
4001         (gst_collectpads_is_active), (gst_collectpads_collect),
4002         (gst_collectpads_collect_range), (gst_collectpads_start),
4003         (gst_collectpads_stop), (gst_collectpads_peek),
4004         (gst_collectpads_pop), (gst_collectpads_available),
4005         (gst_collectpads_read), (gst_collectpads_flush),
4006         (gst_collectpads_chain):
4007         * gst/base/gstcollectpads.h:
4008         * gst/elements/Makefile.am:
4009         * gst/elements/gstelements.c:
4010         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4011         (gst_fakesink_get_times), (gst_fakesink_event),
4012         (gst_fakesink_preroll), (gst_fakesink_render):
4013         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4014         (gst_filesink_init), (gst_filesink_set_location),
4015         (gst_filesink_open_file), (gst_filesink_close_file),
4016         (gst_filesink_pad_query), (gst_filesink_event),
4017         (gst_filesink_render), (gst_filesink_change_state):
4018         * gst/elements/gstfilesink.h:
4019         Added object to help in making collect pad based elements.
4020         Ported filesink.
4021         Make event function in sink baseclass return gboolean.
4022
4023 2005-05-05  Wim Taymans  <wim@fluendo.com>
4024
4025         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4026         (gst_bin_get_by_name):
4027         * gst/gstbuffer.h:
4028         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4029         (gst_clock_finalize):
4030         * gst/gstdata.c: (gst_data_replace):
4031         * gst/gstdata.h:
4032         * gst/gstelement.c: (gst_element_request_pad),
4033         (gst_element_pads_activate):
4034         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4035         (gst_object_unref):
4036         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4037         (gst_pad_set_checkgetrange_function),
4038         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4039         (gst_pad_check_pull_range), (gst_pad_pull_range),
4040         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4041         (gst_pad_pause_task), (gst_pad_stop_task):
4042         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4043         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4044         Fix name lookup in GstBin.
4045         Added _data_replace() function and _buffer_replace()
4046         Use finalize method to clean up clock.
4047         Fix refcounting on request pads.
4048         Fix pad schedule mode error.
4049         Some more object refcounting debug info,
4050
4051
4052 2005-05-04  Andy Wingo <wingo@pobox.com>
4053
4054         * check/Makefile.am:
4055         * docs/gst/tmpl/gstatomic.sgml:
4056         * docs/gst/tmpl/gstplugin.sgml:
4057         * gst/base/gstbasesink.c: (gst_basesink_activate):
4058         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4059         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4060         (gst_basesrc_query), (gst_basesrc_set_property),
4061         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4062         (gst_basesrc_activate):
4063         * gst/base/gstbasesrc.h:
4064         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4065         (gst_base_transform_src_activate):
4066         * gst/elements/gstelements.c:
4067         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4068         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4069         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4070         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4071         (gst_type_find_element_checkgetrange),
4072         (gst_type_find_element_activate):
4073         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4074         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4075         (gst_caps_load_thyself):
4076         * gst/gstelement.c: (gst_element_pads_activate),
4077         (gst_element_save_thyself), (gst_element_restore_thyself):
4078         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4079         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4080         * gst/gstpad.h:
4081         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4082         (gst_xml_parse_file), (gst_xml_parse_memory),
4083         (gst_xml_get_element), (gst_xml_make_element):
4084         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4085         (_file_index_id_save_xml), (gst_file_index_commit):
4086         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4087         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4088         (load_paths):
4089         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4090         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4091         * tools/gst-complete.c: (main):
4092         * tools/gst-compprep.c: (main):
4093         * tools/gst-inspect.c: (print_element_properties_info):
4094         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4095         * tools/gst-xmlinspect.c: (print_element_properties):
4096         GCC 4 fixen.
4097         
4098 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4099
4100         * gst/gstplugin.c: (gst_plugin_check_module),
4101         (gst_plugin_check_file), (gst_plugin_load_file):
4102             apply patch from #172526 to make register work on MacOSX
4103
4104 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4105
4106         * docs/gst/tmpl/gstconfig.sgml:
4107         * gst/gstconfig.h.in:
4108           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4109         * testsuite/debug/printf_extension.c: (main):
4110           Do not use GST_PTR_FORMAT on pointers to types with
4111           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4112         * testsuite/elements/property.h:
4113           use correct printf format
4114
4115 2005-05-02  Wim Taymans  <wim@fluendo.com>
4116
4117         * docs/design/draft-push-pull.txt:
4118         * docs/design/draft-query.txt:
4119         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4120         (gst_basesrc_start):
4121         Added draft for new query API.
4122         Added draft for better selecting scheduling methods.
4123         Make basesrc ignore length if the subclass does not support
4124         it.
4125
4126 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4127
4128         * gst/Makefile.am:
4129           possible fixes for automake-1.5 - _LIBADD is reserved
4130
4131 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4132
4133         * docs/faq/Makefile.am:
4134         * docs/manual/Makefile.am:
4135         * docs/manuals.mak:
4136         * docs/pwg/Makefile.am:
4137         * gst/Makefile.am:
4138           possible fixes for automake-1.5
4139
4140 2005-04-28  Wim Taymans  <wim@fluendo.com>
4141
4142         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4143         (gst_basesink_pad_getcaps), (gst_basesink_init),
4144         (gst_basesink_do_sync):
4145         * gst/gstclock.c: (gst_clock_entry_new):
4146         * gst/gstevent.c: (gst_event_discont_get_value):
4147         * gst/gstpipeline.c: (pipeline_bus_handler),
4148         (gst_pipeline_change_state):
4149         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4150         Better debugging of clocking info.
4151         Allow NULL values when getting discont values.
4152
4153 2005-04-27  Wim Taymans  <wim@fluendo.com>
4154
4155         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4156         * check/gst/gstpad.c: (gst_pad_suite):
4157         Increase timeout for checks.
4158
4159 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4160
4161         * check/Makefile.am:
4162           fix the broken rule for cleanup.  Apparently this rule is
4163           only needed on FC2, so maybe this warrants further autotool
4164           inspection.
4165
4166 2005-04-26  Wim Taymans  <wim@fluendo.com>
4167
4168         * gst/gsttrashstack.h:
4169         Ooohh. a nasty one! After having a failed pop() from the stack,
4170         it's possible that the stack is empty. In that case, don't
4171         follow the NULL pointer.
4172
4173 2005-04-25  Wim Taymans  <wim@fluendo.com>
4174
4175         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4176         (gst_pad_set_checkgetrange_function),
4177         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4178         (gst_pad_check_pull_range), (gst_pad_pull_range),
4179         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4180         (gst_pad_pause_task), (gst_pad_stop_task):
4181         * gst/gstplugin.c: (gst_plugin_load):
4182         * gst/gstplugin.h:
4183         Remove gst_library_load as it does more harm than good with
4184         the new g_module flags.
4185         Revert bogus caps template check in pad linking, pad caps
4186         are important when linking not the template, which is more
4187         general than the current caps.
4188
4189 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4190
4191         * gst/autoplug/.cvsignore:
4192         * gst/autoplug/Makefile.am:
4193         * gst/autoplug/gstsearchfuncs.c:
4194         * gst/autoplug/gstsearchfuncs.h:
4195         * gst/autoplug/gstspider.c:
4196         * gst/autoplug/gstspider.h:
4197         * gst/autoplug/gstspideridentity.c:
4198         * gst/autoplug/gstspideridentity.h:
4199         * gst/autoplug/spidertest.c:
4200           Die, spider, die.
4201
4202 2005-04-25  Wim Taymans  <wim@fluendo.com>
4203
4204         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4205         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4206         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4207         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4208         * gst/gstpad.h:
4209         Added stubs for unimplemented functions. 
4210
4211 2005-04-24  David Schleef  <ds@schleef.org>
4212
4213         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4214         please fix.
4215
4216 2005-04-24  David Schleef  <ds@schleef.org>
4217
4218         Convert everything from GstAtomicInt to g_atomic_int_*, and
4219         remove gstatomic.
4220         * gst/Makefile.am:
4221         * gst/gstatomic.c:
4222         * gst/gstatomic.h:
4223         * gst/gstatomic_impl.h:
4224         * gst/gstbuffer.c:
4225         * gst/gstcaps.c:
4226         * gst/gstcaps.h:
4227         * gst/gstclock.c:
4228         * gst/gstclock.h:
4229         * gst/gstdata.c:
4230         * gst/gstdata.h:
4231         * gst/gstdata_private.h:
4232         * gst/gstevent.c:
4233         * gst/gstinfo.c:
4234         * gst/gstinfo.h:
4235         * gst/gstmessage.c:
4236         * gst/gstobject.c:
4237         * gst/gstobject.h:
4238         * gst/gststructure.c:
4239         * gst/gststructure.h:
4240         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4241         * gst/gstutils.h:
4242
4243 2005-04-24  David Schleef  <ds@schleef.org>
4244
4245         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4246         make the regressions tests work.  Remove some code that is no
4247         longer true.
4248         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4249         Disable warning for pads without templates.
4250
4251 2005-04-24  David Schleef  <ds@schleef.org>
4252
4253         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4254         functions that handle filtered links.
4255         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4256         removed functions.
4257         * gst/gstutils.c: Fix/remove utility functions that handle
4258         filtered caps.
4259         * gst/gstutils.h:
4260         * gst/gstvalue.c: Add serialization/deserialization of caps
4261         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4262         requires fixing so that the filter caps notation creates
4263         a capsfilter element and sets the filter_caps property.  I
4264         think everyone probably wants to keep the shorthand notation.
4265         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4266         * docs/gst/tmpl/gstpad.sgml:
4267
4268         * gst/elements/gstelements.c: Register capsfilter element.
4269         * gst/Makefile.am: fix spacing
4270         * docs/random/ds/0.9-suggested-changes: random
4271
4272 2005-04-23  David Schleef  <ds@schleef.org>
4273
4274         * gst/elements/Makefile.am:
4275         * gst/elements/gstcapsfilter.c: New element that acts like an
4276         identity, but filters caps.  Will eventually replace filtered
4277         caps in pad linking.
4278         * gst/gstutils.c: (gst_element_create_all_pads): New function
4279         to create all the ALWAYS pads that are registered with an
4280         element class.  This functionality should eventually be
4281         merged in with GstElement initialization.
4282         * gst/gstutils.h:
4283         * testsuite/trigger/README: part of trigger test code that should
4284         have been checked in a long time ago.
4285
4286 2005-04-23  David Schleef  <ds@schleef.org>
4287
4288         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4289         needed with new versions of libtool (nobody will confirm this),
4290         and hard to carry around.
4291         * gst/autoplug/Makefile.am:
4292         * gst/base/Makefile.am:
4293         * gst/elements/Makefile.am:
4294         * gst/indexers/Makefile.am:
4295         * gst/schedulers/Makefile.am:
4296         * libs/gst/bytestream/Makefile.am:
4297         * libs/gst/control/Makefile.am:
4298         * libs/gst/dataprotocol/Makefile.am:
4299         * libs/gst/getbits/Makefile.am:
4300
4301 2005-04-21  Wim Taymans  <wim@fluendo.com>
4302
4303         * docs/design/draft-push-pull.txt:
4304         * docs/design/part-MT-refcounting.txt:
4305         * docs/design/part-TODO.txt:
4306         * docs/design/part-caps.txt:
4307         * docs/design/part-events.txt:
4308         * docs/design/part-gstbus.txt:
4309         * docs/design/part-gstpipeline.txt:
4310         * docs/design/part-messages.txt:
4311         * docs/design/part-push-pull.txt:
4312         * docs/design/part-query.txt:
4313         Some more docs.
4314
4315 2005-04-21  Wim Taymans  <wim@fluendo.com>
4316
4317         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4318         (gst_message_new), (gst_message_new_error),
4319         (gst_message_new_warning), (gst_message_new_tag),
4320         (gst_message_new_state_changed), (gst_message_new_application),
4321         (gst_message_get_structure):
4322         * gst/gstmessage.h:
4323         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4324         (gst_structure_copy_conditional):
4325         Use parent refcount in GstMessage to ensure GstStructure
4326         consistency.
4327         Cleaned up headers a bit.
4328         
4329
4330 2005-04-20  Wim Taymans  <wim@fluendo.com>
4331
4332         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4333         (gst_basesink_pad_getcaps), (gst_basesink_init),
4334         (gst_basesink_chain_unlocked):
4335         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4336         (gst_type_find_helper):
4337         * gst/elements/gsttypefindelement.c:
4338         (gst_type_find_element_have_type), (gst_type_find_element_init),
4339         (stop_typefinding), (gst_type_find_element_handle_event),
4340         (find_suggest), (gst_type_find_element_chain),
4341         (gst_type_find_element_checkgetrange),
4342         (gst_type_find_element_getrange), (do_typefind),
4343         (gst_type_find_element_activate):
4344         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4345         (gst_buffer_default_free), (gst_buffer_default_copy),
4346         (gst_buffer_set_caps):
4347         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4348         (gst_caps_replace):
4349         * gst/gstmessage.c: (gst_message_new),
4350         (gst_message_new_state_changed):
4351         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4352         (gst_pad_set_checkgetrange_function),
4353         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4354         (gst_pad_set_caps), (gst_pad_check_pull_range),
4355         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4356         * gst/gstpad.h:
4357         * gst/gsttypefind.c: (gst_type_find_register):
4358         Make gst_caps_replace() work like other _replace() functions.
4359         Use _caps_replace() where possible.
4360         Make sure _message_new() initialises its field.
4361         Add gst_static_pad_template_get_caps()
4362
4363
4364 2005-04-18  Andy Wingo  <wingo@pobox.com>
4365
4366         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4367         on the peer, not the pad. I think that was a typo. Pass an extra
4368         arg to see if random access is possible. Activate the pads as
4369         PULL_RANGE if possible.
4370
4371         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4372
4373         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4374         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4375         to PROP_....
4376
4377 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4378
4379         * docs/faq/using.xml:
4380           Add note on gstreamer-properties (#154996).
4381
4382 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4383
4384         * docs/random/bbb/optional-properties:
4385           Some analysis on optional properties.
4386
4387 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4388
4389         * docs/gst/tmpl/gstelementfactory.sgml:
4390         * gst/gstelement.h:
4391         * gst/gstelementfactory.c: (gst_element_factory_init),
4392         (gst_element_factory_cleanup), (gst_element_register),
4393         (__gst_element_factory_add_static_pad_template),
4394         (gst_element_factory_get_static_pad_templates),
4395         (gst_element_factory_can_src_caps),
4396         (gst_element_factory_can_sink_caps):
4397         * gst/registries/Makefile.am:
4398         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4399         (gst_xml_registry_class_init), (gst_xml_registry_init),
4400         (gst_xml_registry_new), (gst_xml_registry_set_property),
4401         (gst_xml_registry_get_property), (get_time), (make_dir),
4402         (gst_xml_registry_get_perms_func),
4403         (plugin_times_older_than_recurse), (plugin_times_older_than),
4404         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4405         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4406         (add_to_char_array), (read_string), (read_uint), (read_enum),
4407         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4408         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4409         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4410         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4411         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4412         (gst_xml_registry_rebuild):
4413         * gst/registries/gstlibxmlregistry.h:
4414         * tools/gst-compprep.c: (main):
4415         * tools/gst-inspect.c: (print_pad_templates_info):
4416         * tools/gst-xmlinspect.c: (print_element_info):
4417           Use libxml2 for registry parsing, use staticpadtemplates in
4418           elementfactories. Makes gst_init() +/- 10x faster.
4419
4420 2005-04-12  Wim Taymans  <wim@fluendo.com>
4421
4422         * gst/base/Makefile.am:
4423         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4424         (gst_basesink_pad_getcaps), (gst_basesink_init),
4425         (gst_basesink_event), (gst_basesink_change_state):
4426         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4427         (gst_basesrc_init), (gst_basesrc_query),
4428         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4429         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4430         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4431         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4432         (gst_basesrc_stop), (gst_basesrc_activate),
4433         (gst_basesrc_change_state):
4434         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4435         (helper_find_suggest), (gst_type_find_helper):
4436         * gst/base/gsttypefindhelper.h:
4437         * gst/elements/Makefile.am:
4438         * gst/elements/gstelements.c:
4439         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4440         (gst_fakesink_get_times), (gst_fakesink_event),
4441         (gst_fakesink_preroll), (gst_fakesink_render):
4442         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4443         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4444         (gst_fakesrc_get_property), (gst_fakesrc_create),
4445         (gst_fakesrc_start), (gst_fakesrc_stop):
4446         * gst/elements/gstfakesrc.h:
4447         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4448         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4449         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4450         (gst_filesrc_create_read), (gst_filesrc_create),
4451         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4452         (gst_filesrc_start):
4453         * gst/elements/gsttypefindelement.c:
4454         (gst_type_find_element_have_type), (gst_type_find_element_init),
4455         (start_typefinding), (stop_typefinding), (push_buffer_store),
4456         (gst_type_find_element_handle_event),
4457         (gst_type_find_element_chain),
4458         (gst_type_find_element_checkgetrange),
4459         (gst_type_find_element_getrange), (do_typefind),
4460         (gst_type_find_element_activate),
4461         (gst_type_find_element_change_state):
4462         * gst/elements/gsttypefindelement.h:
4463         * gst/gstpipeline.c: (pipeline_bus_handler):
4464         Added typefind helper.
4465         Small preroll fix in the base sink.
4466         Disable typefind code in basesrc.
4467         Crude port of typefindelement.
4468         Fakesrc cleanups.
4469
4470
4471 2005-04-11  Wim Taymans  <wim@fluendo.com>
4472
4473         * check/gst/gstbus.c: (gstbus_suite):
4474         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4475         * check/gstcheck.h:
4476           Fix up the timeout so that the test does not fail.
4477
4478 2005-04-06  Wim Taymans  <wim@fluendo.com>
4479
4480         * gst/base/README:
4481         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4482         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4483         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4484         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4485         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4486         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4487         (gst_basesrc_stop), (gst_basesrc_activate),
4488         (gst_basesrc_change_state), (basesrc_find_peek),
4489         (basesrc_find_suggest), (gst_basesrc_type_find):
4490         * gst/base/gstbasesrc.h:
4491         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4492         (gst_filesrc_class_init), (gst_filesrc_init),
4493         (gst_filesrc_finalize), (gst_filesrc_set_location),
4494         (gst_filesrc_set_property), (gst_filesrc_get_property),
4495         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4496         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4497         (gst_filesrc_create_read), (gst_filesrc_create),
4498         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4499         * gst/elements/gstfilesrc.h:
4500         * gst/gstelement.c: (gst_element_get_state_func),
4501         (gst_element_lost_state), (gst_element_pads_activate):
4502         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4503         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4504         (gst_pad_pull_range):
4505         * gst/gstpad.h:
4506         More work on the generic source base class, implement seeking,
4507         query.
4508         Make filesrc extend the base source class.
4509         Added gst_pad_set_checkgetrange_function to GstPad.
4510
4511 2005-04-06  Andy Wingo  <wingo@pobox.com>
4512
4513         * pkgconfig/gstreamer-base.pc.in:
4514         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4515
4516         * pkgconfig/Makefile.am:
4517         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4518
4519 2005-04-04  Wim Taymans  <wim@fluendo.com>
4520
4521         * gst/base/Makefile.am:
4522         * gst/base/README:
4523         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4524         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4525         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4526         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4527         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4528         (gst_basesrc_base_init), (gst_basesrc_class_init),
4529         (gst_basesrc_init), (gst_basesrc_get_formats),
4530         (gst_basesrc_get_query_types), (gst_basesrc_query),
4531         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4532         (gst_basesrc_set_property), (gst_basesrc_get_property),
4533         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4534         (gst_basesrc_loop), (gst_basesrc_activate),
4535         (gst_basesrc_change_state):
4536         * gst/base/gstbasesrc.h:
4537         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4538         (gst_fakesrc_class_init), (gst_fakesrc_init),
4539         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4540         (gst_fakesrc_get_property), (gst_fakesrc_create):
4541         * gst/elements/gstfakesrc.h:
4542         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4543         (gst_filesrc_open_file), (gst_filesrc_loop),
4544         (gst_filesrc_activate), (filesrc_find_peek),
4545         (gst_filesrc_type_find):
4546         Made base source class, make fakesrc extend it.
4547         Add comments to basesink class.
4548         Some filesrc cleanup.
4549
4550 2005-03-31  David Schleef  <ds@schleef.org>
4551
4552         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4553         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4554         expected to link against libgstreamer.
4555         * gst/base/Makefile.am: link against libgstreamer
4556         * gst/elements/Makefile.am: same
4557
4558 2005-03-31  Andy Wingo  <wingo@pobox.com>
4559
4560         * tests/instantiate/Makefile.am:
4561         * tests/instantiate/caps.c: Add test to test speed of caps copy
4562         and free.
4563
4564         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4565         GMemChunk to be fair.
4566
4567         * gst/gsttrashstack.h: Remove warning about using the fallback
4568         trash stack implementation, it's still faster than malloc.
4569
4570 2005-03-30  Andy Wingo  <wingo@pobox.com>
4571
4572         * tests/complexity.c: Add a copyright.
4573
4574 2005-03-31  Wim Taymans  <wim@fluendo.com>
4575
4576         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4577         (gst_base_transform_class_init), (gst_base_transform_init),
4578         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4579         (gst_base_transform_get_property),
4580         (gst_base_transform_sink_activate),
4581         (gst_base_transform_src_activate),
4582         (gst_base_transform_change_state):
4583         * gst/base/gstbasetransform.h:
4584         * gst/elements/gstidentity.c: (gst_identity_class_init),
4585         (gst_identity_event), (gst_identity_check_perfect),
4586         (gst_identity_transform), (gst_identity_start),
4587         (gst_identity_stop):
4588         Added start/stop methods to transform base class so subclasses 
4589         don't need to deal with state changes even.
4590
4591 2005-03-31  Wim Taymans  <wim@fluendo.com>
4592
4593         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4594         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4595         * gst/gstevent.h:
4596         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4597         (gst_pad_pull_range):
4598         Added rate to the discont event to prepare for variable speed
4599         and reverse playback.
4600
4601 2005-03-29  David Schleef  <ds@schleef.org>
4602
4603         * configure.ac:
4604         * testsuite/trigger/Makefile.am:
4605         * testsuite/trigger/trigger.c: A little example program to show
4606         how trigger-based elements can work.
4607
4608 2005-03-29  Wim Taymans  <wim@fluendo.com>
4609
4610         * gst/base/Makefile.am:
4611         * gst/base/README:
4612         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4613         (gst_basesink_base_init), (gst_basesink_class_init),
4614         (gst_basesink_pad_getcaps), (gst_basesink_init),
4615         (gst_basesink_activate), (gst_basesink_change_state):
4616         * gst/base/gstbasesink.h:
4617         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4618         (gst_base_transform_base_init), (gst_base_transform_finalize),
4619         (gst_base_transform_class_init), (gst_base_transform_init),
4620         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4621         (gst_base_transform_event), (gst_base_transform_getrange),
4622         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4623         (gst_base_transform_set_property),
4624         (gst_base_transform_get_property),
4625         (gst_base_transform_sink_activate),
4626         (gst_base_transform_src_activate),
4627         (gst_base_transform_change_state):
4628         * gst/base/gstbasetransform.h:
4629         * gst/elements/gstidentity.c: (gst_identity_finalize),
4630         (gst_identity_class_init), (gst_identity_init),
4631         (gst_identity_event), (gst_identity_check_perfect),
4632         (gst_identity_transform), (gst_identity_set_property),
4633         (gst_identity_get_property), (gst_identity_change_state):
4634         * gst/elements/gstidentity.h:
4635         * gst/gstelement.c: (gst_element_get_state_func),
4636         (gst_element_lost_state), (gst_element_pads_activate):
4637         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4638         (gst_pad_check_pull_range), (gst_pad_pull_range):
4639         * gst/gstpad.h:
4640         Simplify pad activation.
4641         Added function to check if pull_range can be performed.
4642         Error out when pulling inactive or flushing pads.
4643         Removed const from refcounted types as it does not make sense.
4644         Simplify pad templates in basesink
4645         Added base class for simple 1-to-1 transforms.
4646         Make identity subclass the base transform.
4647
4648 2005-03-29  Andy Wingo  <wingo@pobox.com>
4649
4650         * docs/libs/gstreamer-libs-overrides.txt: 
4651         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4652         really don't understand what's going on, but like whatever. I want
4653         green buildbot!
4654
4655         * docs/gst/Makefile.am:
4656         * docs/libs/Makefile.am: Dist the overrides files.
4657
4658         * check/Makefile.am (clean-local): Remove .libs directories.
4659
4660         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4661         elements to EXTRA_DIST, so po/ files are happy.
4662
4663         * po/POTFILES.in: Er, remove it here.
4664
4665         * po/POTFILES: Remove gstspider.c.
4666
4667         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4668
4669         * docs/libs/gstreamer-libs-docs.sgml: 
4670         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4671         bytestream.
4672
4673         * tests/complexity.c (main): Set the length of the preroll queue
4674         on the sinks to prevent a lockup.
4675
4676         * libs/gst/dataprotocol/Makefile.am: 
4677         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4678         the same as the one in check/gst-libs/gdp.c.
4679
4680         * po/, docs/gst/: Commit automatic changes to docs and po files.
4681
4682         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4683         the versioned libgstbase.
4684
4685         * check/Makefile.am: Depend on an unversioned gst-register, seems
4686         to make autoconf happier.
4687
4688         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4689
4690 2005-03-28  Wim Taymans  <wim@fluendo.com>
4691
4692         * configure.ac:
4693         * docs/design/part-gstelement.txt:
4694         * docs/design/part-negotiation.txt:
4695         * docs/design/part-preroll.txt:
4696         * docs/design/part-scheduling.txt:
4697         * docs/design/part-states.txt:
4698         * gst/Makefile.am:
4699         * gst/base/Makefile.am:
4700         * gst/base/README:
4701         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4702         (gst_basesink_base_init), (gst_basesink_class_init),
4703         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4704         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4705         (gst_basesink_set_pad_functions),
4706         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4707         (gst_basesink_set_property), (gst_basesink_get_property),
4708         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4709         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4710         (gst_basesink_preroll_queue_push),
4711         (gst_basesink_preroll_queue_empty),
4712         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4713         (gst_basesink_event), (gst_basesink_get_times),
4714         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4715         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4716         (gst_basesink_loop), (gst_basesink_activate),
4717         (gst_basesink_change_state):
4718         * gst/base/gstbasesink.h:
4719         * gst/elements/Makefile.am:
4720         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4721         (gst_fakesink_class_init), (gst_fakesink_init),
4722         (gst_fakesink_set_property), (gst_fakesink_get_property),
4723         (gst_fakesink_get_times), (gst_fakesink_event),
4724         (gst_fakesink_preroll), (gst_fakesink_render),
4725         (gst_fakesink_change_state):
4726         * gst/elements/gstfakesink.h:
4727         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4728         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4729         * gst/gstelement.c: (gst_element_add_pad),
4730         (gst_element_get_state_func), (gst_element_abort_state),
4731         (gst_element_commit_state), (gst_element_lost_state),
4732         (gst_element_set_state), (gst_element_pads_activate):
4733         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4734         * gst/gstpipeline.c: (gst_pipeline_send_event),
4735         (gst_pipeline_change_state):
4736         Added state change code.
4737         Added/updated docs.
4738         Added sink base class, make fakesink extend the base class.
4739         Small cleanups in GstPipeline.
4740
4741 2005-03-26  David Schleef  <ds@schleef.org>
4742
4743         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4744         is broken and should be implemented in a different library.
4745         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4746         * gst/gst.h: remove gstcpu.h
4747         * gst/gstcpu.c: remove
4748         * gst/gstcpu.h: remove
4749         * gst/Makefile.am.future: Remove this file.  It's ancient.
4750
4751 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4752
4753         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4754         (gst_bin_send_event):
4755           Add default event/set_manager handlers. The set_manager handler
4756           takes care that the manager is distributed over kids that were
4757           already in the bin before the manager was set. The event handler
4758           is a utility virtual function that sends the event over all sinks,
4759           so that gst_element_send_event (bin, event); has the expected
4760           behaviour.
4761         * gst/gstpad.c: (gst_pad_event_default):
4762           Re-install default event handling for discontinuities, so that
4763           seeking works without requiring hacks in applications or extra
4764           code in sinks.
4765         * gst/gstpipeline.c: (gst_pipeline_class_init),
4766         (gst_pipeline_send_event):
4767           Half hack, half utility: set a pipeline to PAUSED for seek events,
4768           since that is the only way we can guarantee a/v sync. Means that
4769           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4770           and it "just works".
4771
4772 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4773
4774         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4775           Lock/unlock mismatch.
4776
4777 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4778
4779         * docs/faq/gst-uninstalled:
4780           add gst-plugins-base
4781         * docs/gst/Makefile.am:
4782           don't error out until docs are fixed
4783         * docs/gst/gstreamer.types:
4784           remove thread
4785
4786 2005-03-22  Wim Taymans  <wim@fluendo.com>
4787
4788         * check/Makefile.am:
4789         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4790         * gst/gststructure.c: (gst_structure_set_valist),
4791         (gst_structure_copy_conditional):
4792         Activated more tests.
4793         Added message test.
4794         Added G_TYPE_POINTER to GstStructure.
4795         
4796
4797 2005-03-22  Wim Taymans  <wim@fluendo.com>
4798
4799         * docs/design/part-TODO.txt:
4800         * docs/design/part-events.txt:
4801         * docs/design/part-gstbin.txt:
4802         * docs/design/part-gstbus.txt:
4803         * docs/design/part-gstpipeline.txt:
4804         * docs/design/part-messages.txt:
4805         * gst/gstbus.c:
4806         * gst/gstmessage.c:
4807         Docs updates
4808
4809 2005-03-21  Wim Taymans  <wim@fluendo.com>
4810
4811         * gst/gstbus.c: (gst_bus_post):
4812         Fix copy-and-paste error.
4813
4814 2005-03-21  Wim Taymans  <wim@fluendo.com>
4815
4816         * check/Makefile.am:
4817         * gst/Makefile.am:
4818         * gst/elements/Makefile.am:
4819         * gst/elements/gstelements.c:
4820         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4821         (gst_fakesink_event), (gst_fakesink_chain):
4822         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4823         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4824         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4825         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4826         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4827         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4828         (gst_fakesrc_loop), (gst_fakesrc_activate),
4829         (gst_fakesrc_change_state):
4830         * gst/elements/gstfakesrc.h:
4831         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4832         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4833         (gst_filesrc_open_file), (gst_filesrc_loop),
4834         (gst_filesrc_activate), (gst_filesrc_change_state),
4835         (filesrc_find_peek), (filesrc_find_suggest),
4836         (gst_filesrc_type_find):
4837         * gst/elements/gstidentity.c: (gst_identity_finalize),
4838         (gst_identity_class_init), (gst_identity_init),
4839         (gst_identity_proxy_getcaps), (identity_queue_push),
4840         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4841         (gst_identity_getrange), (gst_identity_chain),
4842         (gst_identity_sink_loop), (gst_identity_src_loop),
4843         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4844         (gst_identity_set_property), (gst_identity_get_property),
4845         (gst_identity_change_state):
4846         * gst/elements/gstidentity.h:
4847         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4848         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4849         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4850         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4851         (gst_tee_sink_activate):
4852         * gst/elements/gsttee.h:
4853         * gst/gst.c: (gst_register_core_elements), (init_post):
4854         * gst/gst.h:
4855         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4856         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4857         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4858         (gst_bin_change_state):
4859         * gst/gstbin.h:
4860         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4861         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4862         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4863         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4864         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4865         (bus_watch_callback), (bus_watch_destroy),
4866         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4867         (poll_timeout), (gst_bus_poll):
4868         * gst/gstbus.h:
4869         * gst/gstcaps.h:
4870         * gst/gstdata.h:
4871         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4872         (gst_element_post_message), (gst_element_message_full),
4873         (gst_element_get_state_func), (gst_element_get_state),
4874         (gst_element_abort_state), (gst_element_commit_state),
4875         (gst_element_lost_state), (gst_element_set_state),
4876         (gst_element_pads_activate), (gst_element_change_state),
4877         (gst_element_dispose), (gst_element_set_manager_func),
4878         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4879         (gst_element_set_manager), (gst_element_get_manager),
4880         (gst_element_set_bus), (gst_element_get_bus),
4881         (gst_element_set_scheduler), (gst_element_get_scheduler):
4882         * gst/gstelement.h:
4883         * gst/gstevent.c: (gst_event_new_segment_seek),
4884         (gst_event_new_flush):
4885         * gst/gstevent.h:
4886         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4887         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4888         (gst_message_new_eos), (gst_message_new_error),
4889         (gst_message_new_warning), (gst_message_new_tag),
4890         (gst_message_new_state_changed), (gst_message_new_application),
4891         (gst_message_get_structure), (gst_message_parse_tag),
4892         (gst_message_parse_state_changed), (gst_message_parse_error),
4893         (gst_message_parse_warning):
4894         * gst/gstmessage.h:
4895         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4896         (gst_real_pad_set_property), (gst_pad_set_active),
4897         (gst_pad_is_active), (gst_pad_set_blocked_async),
4898         (gst_pad_set_blocked), (gst_pad_is_blocked),
4899         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4900         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4901         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4902         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4903         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4904         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4905         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4906         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4907         (gst_pad_set_caps), (gst_pad_configure_sink),
4908         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4909         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4910         (gst_real_pad_dispose), (gst_real_pad_finalize),
4911         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4912         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4913         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4914         * gst/gstpad.h:
4915         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4916         (pipeline_bus_handler), (gst_pipeline_change_state),
4917         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4918         * gst/gstpipeline.h:
4919         * gst/gstprobe.h:
4920         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4921         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4922         (gst_queue_link_src), (gst_queue_bufferalloc),
4923         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4924         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4925         (gst_queue_loop), (gst_queue_handle_src_event),
4926         (gst_queue_handle_src_query), (gst_queue_src_activate),
4927         (gst_queue_change_state):
4928         * gst/gstqueue.h:
4929         * gst/gstscheduler.c: (gst_scheduler_init),
4930         (gst_scheduler_dispose), (gst_scheduler_create_task),
4931         (gst_scheduler_factory_create):
4932         * gst/gstscheduler.h:
4933         * gst/gststructure.c: (gst_structure_get_type),
4934         (gst_structure_copy_conditional):
4935         * gst/gststructure.h:
4936         * gst/gsttaginterface.h:
4937         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4938         (gst_task_init), (gst_task_dispose), (gst_task_create),
4939         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4940         (gst_task_pause):
4941         * gst/gsttask.h:
4942         * gst/gstthread.c:
4943         * gst/gstthread.h:
4944         * gst/gsttypes.h:
4945         * gst/schedulers/Makefile.am:
4946         * gst/schedulers/cothreads_compat.h:
4947         * gst/schedulers/entryscheduler.c:
4948         * gst/schedulers/faircothreads.c:
4949         * gst/schedulers/faircothreads.h:
4950         * gst/schedulers/fairscheduler.c:
4951         * gst/schedulers/gstbasicscheduler.c:
4952         * gst/schedulers/gstoptimalscheduler.c:
4953         * gst/schedulers/gthread-cothreads.h:
4954         * gst/schedulers/threadscheduler.c:
4955         (gst_thread_scheduler_task_get_type),
4956         (gst_thread_scheduler_task_class_init),
4957         (gst_thread_scheduler_task_init),
4958         (gst_thread_scheduler_task_start),
4959         (gst_thread_scheduler_task_stop),
4960         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4961         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4962         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4963         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4964         (plugin_init):
4965         * libs/gst/Makefile.am:
4966         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4967         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4968         (gst_file_pad_parent_set):
4969         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4970         (gst_dp_event_from_packet):
4971         * tests/complexity.c: (main):
4972         * tests/mass_elements.c: (main):
4973         * testsuite/states/locked.c: (message_received), (main):
4974         * testsuite/states/parent.c: (main):
4975         * tools/gst-inspect.c: (print_element_flag_info),
4976         (print_implementation_info), (print_pad_info):
4977         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4978         (main):
4979         * tools/gst-md5sum.c: (event_loop), (main):
4980         * tools/gst-typefind.c: (main):
4981         * tools/gst-xmlinspect.c: (print_element_info):
4982         Next big merge.
4983         Added GstBus for mainloop integration.
4984         Added GstMessage for sending notifications on the bus.
4985         Added GstTask as an abstraction for pipeline entry points.
4986         Removed GstThread.
4987         Removed Schedulers.
4988         Simplified GstQueue for multithreaded core.
4989         Made _link threadsafe, removed old capsnego.
4990         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4991         Added pad blocking functions.
4992         Reworked scheduling functions in GstPad to prepare for
4993         scheduling updates soon.
4994         Moved events out of data stream.
4995         Simplified GstEvent types.
4996         Added return values to push/pull.
4997         Removed clocking from GstElement.
4998         Added prototypes for state change function for next merge.
4999         Removed iterate from bins and state change management.
5000         Fixed some elements, disabled others for now.
5001         Fixed -inspect and -launch.
5002         Added check for GstBus.
5003
5004 2005-03-10  Wim Taymans  <wim@fluendo.com>
5005
5006         * docs/design/part-MT-refcounting.txt:
5007         * docs/design/part-clocks.txt:
5008         * docs/design/part-gstelement.txt:
5009         * docs/design/part-gstobject.txt:
5010         * docs/design/part-standards.txt:
5011         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5012         (gst_bin_remove_func), (gst_bin_remove):
5013         * gst/gstbin.h:
5014         * gst/gstbuffer.c:
5015         * gst/gstcaps.h:
5016         * testsuite/clock/clock1.c: (main):
5017         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5018         (main):
5019         * testsuite/dlopen/loadgst.c: (do_test):
5020         * testsuite/refcounting/bin.c: (add_remove_test1),
5021         (add_remove_test2), (main):
5022         * testsuite/refcounting/element.c: (main):
5023         * testsuite/refcounting/element_pad.c: (main):
5024         * testsuite/refcounting/pad.c: (main):
5025         * tools/gst-launch.c: (sigint_handler_sighandler):
5026         * tools/gst-typefind.c: (main):
5027         Doc updates.
5028         Added doc about clock.
5029         removed gst_bin_iterate_recurse_up(), marked methods
5030         for removal.
5031         Fix more testsuites.
5032
5033 2005-03-09  Wim Taymans  <wim@fluendo.com>
5034
5035         * gst/gstpad.c: (gst_pad_get_direction),
5036         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5037         (gst_pad_collect_valist):
5038         * testsuite/bins/interface.c: (main):
5039         * testsuite/caps/audioscale.c: (test_caps):
5040         * testsuite/caps/caps.c: (test1), (test2), (test3):
5041         * testsuite/caps/deserialize.c: (main):
5042         * testsuite/caps/enumcaps.c: (main):
5043         * testsuite/caps/filtercaps.c: (main):
5044         * testsuite/caps/intersect2.c: (main):
5045         * testsuite/caps/random.c: (main):
5046         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5047         * testsuite/caps/sets.c: (check_caps):
5048         * testsuite/caps/simplify.c: (check_caps), (main):
5049         * testsuite/caps/subtract.c: (check_caps):
5050         Fix _pad_get_direction wrt ghostpads.
5051         Fix caps testsuite.
5052
5053 2005-03-09  Wim Taymans  <wim@fluendo.com>
5054
5055         * check/Makefile.am:
5056         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5057         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5058         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5059         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5060         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5061         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5062         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5063         (bin_element_is_sink), (gst_bin_iterate_sinks),
5064         (gst_bin_iterate_all_by_interface):
5065         * gst/gstbin.h:
5066         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5067         (gst_element_change_state), (gst_element_dispose),
5068         (gst_element_finalize), (gst_element_set_loop_function):
5069         * gst/gstelement.h:
5070         * gst/gstiterator.c: (find_custom_fold_func):
5071         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5072         (gst_pad_collectv), (gst_pad_collect_valist),
5073         (gst_pad_template_new):
5074         * gst/gstpipeline.c: (gst_pipeline_class_init),
5075         (gst_pipeline_dispose), (gst_pipeline_set_property),
5076         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5077         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5078         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5079         * gst/gstutils.h:
5080         * gst/schedulers/entryscheduler.c:
5081         * gst/schedulers/gstbasicscheduler.c:
5082         (gst_basic_scheduler_cothreaded_chain),
5083         (gst_basic_scheduler_chain_add_element):
5084         * testsuite/bins/interface.c: (main):
5085         Added GstBin test.
5086         Added GstSystemClock test.
5087         Implemented clock distribution code in GstBin.
5088         Implemented iterate sinks method for future use.
5089         Rearranged gstelement.h
5090         Fix GstIterator comparison bug.
5091         Moved some code to GstPipeline, mostly clocking related.
5092
5093 2005-03-09  Wim Taymans  <wim@fluendo.com>
5094
5095         * configure.ac:
5096         * gst/gst_private.h:
5097         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5098         (gst_bin_remove_func), (gst_bin_remove),
5099         (gst_bin_get_by_name_recurse_up):
5100         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5101         (gst_clock_id_compare_func), (gst_clock_id_wait),
5102         (gst_clock_id_wait_async), (gst_clock_init),
5103         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5104         * gst/gstelement.h:
5105         * gst/gstinfo.c: (_gst_debug_init):
5106         * gst/gstobject.h:
5107         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5108         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5109         * gst/gstpad.h:
5110         Bump version number, we're now 0.9.0
5111         Add future debugging category.
5112         Fix NULL _unref() in _get_by_name_recurse_up
5113         Rearrange gstpad.h.
5114         Update some docs.
5115
5116 2005-03-08  Wim Taymans  <wim@fluendo.com>
5117
5118         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5119         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5120         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5121         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5122         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5123         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5124         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5125         * gst/elements/gstidentity.c: (gst_identity_class_init):
5126         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5127         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5128         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5129         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5130         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5131         (gst_tee_link):
5132         * gst/gstelement.c: (gst_element_class_init),
5133         (gst_element_base_class_init), (gst_element_init),
5134         (gst_element_get_random_pad), (gst_element_wait_state_change),
5135         (gst_element_change_state), (gst_element_dispose),
5136         (gst_element_finalize), (gst_element_set_loop_function):
5137         * gst/gstelement.h:
5138         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5139         * gst/gstthread.c: (gst_thread_class_init),
5140         (gst_thread_release_children_locks), (gst_thread_change_state):
5141         * gst/schedulers/gstbasicscheduler.c:
5142         (gst_basic_scheduler_loopfunc_wrapper),
5143         (gst_basic_scheduler_chain_wrapper),
5144         (gst_basic_scheduler_src_wrapper),
5145         (gst_basic_scheduler_remove_element):
5146         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5147         Remove threadsafe properties. Fix elements because GObject
5148         complains when installing a property before declaring a
5149         set/get_property handler.
5150         Rearrange gstelement.h file, use STATE macros for state locks.
5151         Free mutexes in the finalize method instead of dispose.
5152
5153 2005-03-08  Wim Taymans  <wim@fluendo.com>
5154
5155         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5156         * gst/gstthread.c: (gst_thread_release_children_locks):
5157         Added parentage check.
5158         Fix build og GstThread again.
5159
5160 2005-03-08  Wim Taymans  <wim@fluendo.com>
5161
5162         * docs/design/part-MT-refcounting.txt:
5163         * docs/design/part-conventions.txt:
5164         * docs/design/part-gstobject.txt:
5165         * docs/design/part-relations.txt:
5166         * docs/design/part-standards.txt:
5167         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5168         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5169         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5170         (gst_bin_iterate_all_by_interface):
5171         * gst/gstbuffer.h:
5172         * gst/gstclock.h:
5173         * gst/gstelement.c: (gst_element_class_init),
5174         (gst_element_change_state), (gst_element_set_loop_function):
5175         * gst/gstelement.h:
5176         * gst/gstiterator.c:
5177         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5178         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5179         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5180         (gst_object_set_parent), (gst_object_unparent),
5181         (gst_object_check_uniqueness):
5182         * gst/gstobject.h:
5183         Docs updates, clean up some headers.
5184
5185 2005-03-07  Wim Taymans  <wim@fluendo.com>
5186
5187         * check/.cvsignore:
5188         * check/Makefile.am:
5189         * check/gst-libs/.cvsignore:
5190         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5191         * check/gst/.cvsignore:
5192         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5193         (START_TEST), (gstbus_suite), (main):
5194         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5195         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5196         (gst_data_suite), (main):
5197         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5198         (add_fold_func), (gstiterator_suite), (main):
5199         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5200         (thread_name_object), (thread_name_object_default),
5201         (gst_object_name_compare), (gst_object_suite), (main):
5202         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5203         (gst_pad_suite), (main):
5204         * check/gstcheck.c: (gst_check_log_message_func),
5205         (gst_check_log_critical_func), (gst_check_init):
5206         * check/gstcheck.h:
5207         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5208         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5209         Added checks.
5210
5211 2005-03-07  Wim Taymans  <wim@fluendo.com>
5212
5213         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5214         (gst_list_iterator_next), (gst_list_iterator_resync),
5215         (gst_list_iterator_free), (gst_iterator_new_list),
5216         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5217         (gst_iterator_free), (gst_iterator_push), (filter_next),
5218         (filter_resync), (filter_uninit), (filter_free),
5219         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5220         (gst_iterator_foreach), (find_custom_fold_func),
5221         (gst_iterator_find_custom):
5222         * gst/gstiterator.h:
5223         Added missing files.
5224
5225 2005-03-07  Wim Taymans  <wim@fluendo.com>
5226
5227         * Makefile.am:
5228         * configure.ac:
5229         * docs/design/part-MT-refcounting.txt:
5230         * docs/design/part-conventions.txt:
5231         * docs/design/part-gstobject.txt:
5232         * docs/design/part-relations.txt:
5233         * examples/mixer/mixer.c: (main):
5234         * examples/thread/thread.c: (eos), (main):
5235         * gst/Makefile.am:
5236         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5237         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5238         (gst_spider_plug_from_srcpad):
5239         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5240         (gst_spider_identity_change_state),
5241         (gst_spider_identity_sink_loop_type_finding):
5242         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5243         * gst/elements/gstidentity.c: (gst_identity_init):
5244         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5245         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5246         * gst/elements/gsttypefindelement.c: (free_entry):
5247         * gst/gst.c:
5248         * gst/gst.h:
5249         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5250         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5251         (gst_bin_set_index), (gst_bin_set_element_sched),
5252         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5253         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5254         (gst_bin_iterate_elements), (iterate_child_recurse),
5255         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5256         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5257         (compare_interface), (gst_bin_get_by_interface),
5258         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5259         * gst/gstbin.h:
5260         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5261         (gst_buffer_default_free), (gst_buffer_default_copy),
5262         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5263         (gst_buffer_create_sub):
5264         * gst/gstbuffer.h:
5265         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5266         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5267         (gst_caps_unref), (gst_static_caps_get),
5268         (gst_caps_remove_and_get_structure), (gst_caps_append),
5269         (gst_caps_append_structure), (gst_caps_remove_structure),
5270         (gst_caps_copy_nth), (gst_caps_set_simple),
5271         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5272         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5273         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5274         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5275         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5276         (gst_caps_structure_figure_out_union),
5277         (gst_caps_switch_structures), (gst_caps_do_simplify),
5278         (gst_caps_replace), (gst_caps_from_string),
5279         (gst_caps_copy_conditional):
5280         * gst/gstcaps.h:
5281         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5282         (_gst_clock_id_free), (gst_clock_id_unref),
5283         (gst_clock_id_compare_func), (gst_clock_id_wait),
5284         (gst_clock_id_wait_async), (gst_clock_class_init),
5285         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5286         (gst_clock_get_time), (gst_clock_set_time_adjust),
5287         (gst_clock_set_property), (gst_clock_get_property):
5288         * gst/gstclock.h:
5289         * gst/gstcompat.h:
5290         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5291         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5292         * gst/gstdata.h:
5293         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5294         (gst_element_requires_clock), (gst_element_provides_clock),
5295         (gst_element_set_clock), (gst_element_clock_wait),
5296         (gst_element_wait), (gst_element_set_time_delay),
5297         (gst_element_is_indexable), (gst_element_add_pad),
5298         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5299         (pad_compare_name), (gst_element_get_static_pad),
5300         (gst_element_request_pad), (gst_element_get_request_pad),
5301         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5302         (gst_element_class_get_pad_template_list),
5303         (gst_element_class_get_pad_template), (gst_element_error_func),
5304         (gst_element_get_random_pad), (gst_element_get_event_masks),
5305         (gst_element_send_event), (gst_element_seek),
5306         (gst_element_get_query_types), (gst_element_query),
5307         (gst_element_get_formats), (gst_element_convert),
5308         (gst_element_is_locked_state), (gst_element_set_locked_state),
5309         (gst_element_sync_state_with_parent), (gst_element_change_state),
5310         (gst_element_finalize), (gst_element_yield),
5311         (gst_element_interrupt), (gst_element_set_scheduler),
5312         (gst_element_get_scheduler), (gst_element_set_loop_function):
5313         * gst/gstelement.h:
5314         * gst/gstevent.h:
5315         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5316         (gst_format_get_by_nick), (gst_format_get_details),
5317         (gst_format_iterate_definitions):
5318         * gst/gstformat.h:
5319         * gst/gstindex.c: (gst_index_gtype_resolver):
5320         * gst/gstinfo.c:
5321         * gst/gstinfo.h:
5322         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5323         (gst_mem_chunk_free):
5324         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5325         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5326         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5327         (gst_object_dispatch_properties_changed),
5328         (gst_object_set_name_default), (gst_object_set_name),
5329         (gst_object_get_name), (gst_object_set_name_prefix),
5330         (gst_object_get_name_prefix), (gst_object_set_parent),
5331         (gst_object_get_parent), (gst_object_unparent),
5332         (gst_object_check_uniqueness), (gst_object_save_thyself),
5333         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5334         (gst_object_set_property), (gst_object_get_property),
5335         (gst_object_get_path_string):
5336         * gst/gstobject.h:
5337         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5338         (gst_real_pad_init), (gst_real_pad_get_property),
5339         (gst_pad_custom_new), (gst_pad_get_direction),
5340         (gst_pad_set_active), (gst_pad_is_active),
5341         (gst_pad_set_event_function), (gst_pad_is_linked),
5342         (gst_pad_link_free), (gst_pad_link_intersect),
5343         (gst_pad_link_fixate), (gst_pad_set_caps),
5344         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5345         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5346         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5347         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5348         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5349         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5350         (gst_pad_realize), (gst_pad_get_allowed_caps),
5351         (gst_real_pad_dispose), (gst_real_pad_finalize),
5352         (gst_pad_collectv), (gst_pad_collect_valist),
5353         (gst_pad_template_dispose), (gst_pad_template_new),
5354         (gst_pad_get_internal_links):
5355         * gst/gstpad.h:
5356         * gst/gstpipeline.c: (gst_pipeline_dispose),
5357         (gst_pipeline_change_state):
5358         * gst/gstpipeline.h:
5359         * gst/gstplugin.c:
5360         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5361         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5362         * gst/gstpluginfeature.h:
5363         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5364         * gst/gstquery.c: (_gst_query_type_initialize),
5365         (gst_query_type_register), (gst_query_type_get_by_nick),
5366         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5367         * gst/gstquery.h:
5368         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5369         * gst/gstscheduler.c: (gst_scheduler_add_element),
5370         (gst_scheduler_factory_create):
5371         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5372         (gst_structure_free), (gst_structure_set_name),
5373         (gst_structure_id_set_value), (gst_structure_set_value),
5374         (gst_structure_set_valist), (gst_structure_remove_field),
5375         (gst_structure_remove_fields),
5376         (gst_structure_remove_fields_valist),
5377         (gst_structure_remove_all_fields), (gst_structure_foreach),
5378         (gst_structure_map_in_place),
5379         (gst_caps_structure_fixate_field_nearest_int),
5380         (gst_caps_structure_fixate_field_nearest_double):
5381         * gst/gststructure.h:
5382         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5383         (gst_system_clock_init), (gst_system_clock_dispose),
5384         (gst_system_clock_async_thread),
5385         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5386         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5387         * gst/gstsystemclock.h:
5388         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5389         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5390         * gst/gsttaginterface.c:
5391         * gst/gstthread.c: (gst_thread_dispose),
5392         (gst_thread_release_children_locks), (gst_thread_change_state),
5393         (gst_thread_main_loop):
5394         * gst/gsttrashstack.h:
5395         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5396         * gst/gsttypes.h:
5397         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5398         (gst_element_request_pad), (gst_element_get_pad_from_template),
5399         (gst_element_request_compatible_pad),
5400         (gst_element_get_compatible_pad_filtered),
5401         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5402         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5403         (gst_element_link_many), (gst_element_link),
5404         (gst_element_link_pads), (gst_element_unlink_pads),
5405         (gst_element_unlink_many), (gst_element_unlink),
5406         (gst_pad_can_link_filtered), (gst_pad_can_link),
5407         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5408         (gst_object_default_error), (gst_bin_add_many),
5409         (gst_bin_remove_many), (gst_element_populate_std_props),
5410         (gst_element_class_install_std_props), (gst_buffer_merge),
5411         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5412         (link_fold_func), (gst_pad_proxy_setcaps):
5413         * gst/gstutils.h:
5414         * gst/gstvalue.c: (gst_value_deserialize_string):
5415         * gst/parse/grammar.y:
5416         * gst/schedulers/gstbasicscheduler.c:
5417         (gst_basic_scheduler_cothreaded_chain),
5418         (gst_basic_scheduler_chain_recursive_add),
5419         (gst_basic_scheduler_pad_link):
5420         * gst/schedulers/gstoptimalscheduler.c:
5421         (get_group_schedule_function),
5422         (gst_opt_scheduler_state_transition),
5423         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5424         * libs/gst/bytestream/bytestream.c:
5425         * libs/gst/dataprotocol/dataprotocol.c:
5426         (gst_dp_header_from_buffer):
5427         * po/nb.po:
5428         * po/ru.po:
5429         * tests/threadstate/threadstate2.c: (eos):
5430         * tools/gst-compprep.c: (main):
5431         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5432         (print_pad_info), (print_children_info):
5433         * tools/gst-launch.c: (idle_func), (main):
5434         * tools/gst-md5sum.c: (idle_func), (main):
5435         * tools/gst-xmlinspect.c: (print_element_info):
5436         First THREADED backport attempt, focusing on adding locks and
5437         making sure the API is threadsafe. Needs more work. More docs
5438         follow this week.
5439
5440 2005-02-24  Andy Wingo  <wingo@pobox.com>
5441
5442         * tests/bench-complexity.scm:
5443         * tests/complexity.gnuplot: New files, good for running complexity
5444         benchmarks.
5445
5446         * tests/Makefile.am:
5447         * tests/complexity.c: New test, sets up N elements, at each level
5448         teeing into M streams per element. Eeeenteresting.
5449
5450         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5451         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5452         running bench-mass_elements.scm.
5453
5454         * tests/bench-mass_elements.scm: New script, runs mass_elements
5455         for various numbers of identities, outputting the results to a
5456         file. Requires guile 1.6. Just for testing.
5457
5458 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5459
5460         * gst/schedulers/fairscheduler.c:
5461           compile with debug disabled
5462
5463 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5464
5465         * configure.ac:
5466           hunting season on 0.9 is now OPEN
5467
5468 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5469
5470         * docs/libs/tmpl/gstcontrol.sgml:
5471         * docs/libs/tmpl/gstdparam.sgml:
5472         * docs/libs/tmpl/gstdplinint.sgml:
5473         * docs/libs/tmpl/gstdpman.sgml:
5474         * docs/libs/tmpl/gstdpsmooth.sgml:
5475         * docs/libs/tmpl/gstunitconvert.sgml:
5476           more docs for the state of dparams
5477
5478 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5479
5480         * gst/gstelementfactory.c: (gst_element_factory_create):
5481         * gst/gstobject.c: (gst_object_init),
5482         (gst_object_set_name_default), (gst_object_set_name):
5483           name objects by default, not in gst_element_factory_create. Allows
5484           using elements created with g_object_new. (fixes #167283)
5485
5486 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5487
5488         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5489           make the time that debugging functions print relative to when
5490           gst_init was called
5491
5492 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5493
5494         * gst/gsttaginterface.c:
5495           Fix inline docs: tag setter vararg functions are NULL-terminated,
5496           GST_TAG_INVALID doesn't exist any more.
5497
5498 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5499
5500         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5501         Allocate the 1 byte more memory that was forgotten!!!!!
5502         fixes memory corruption on 64bit platforms
5503
5504 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5505
5506         * docs/pwg/building-pads.xml:
5507         * docs/pwg/intro-basics.xml:
5508           fixed a few typos, relabeled introductionary list of types
5509         * docs/random/ensonic/dparams.txt:
5510           more notes abut dparam changes
5511         * libs/gst/control/dparam.c: (gst_dparam_attach):
5512         * libs/gst/control/dparammanager.c:
5513         * libs/gst/control/dparammanager.h:
5514           - many comments and notes on dparam implementation
5515           - new dparams are were not initialized to the default value
5516             from param spec
5517
5518 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5519
5520         submitted by: Peter Astakhov
5521
5522         * po/LINGUAS:
5523         * po/ru.po:
5524           adding Russian translation
5525
5526 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5527
5528         * configure.ac:
5529         * docs/gst/Makefile.am:
5530         * docs/libs/Makefile.am:
5531           make sure popt is added to gtk-doc flags.  Fixes #147782.
5532
5533 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5534
5535         * docs/faq/using.xml:
5536           Fix typo in FAQ (artssink => artsdsink)
5537
5538 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5539
5540         * tools/gst-launch.1.in:
5541           Fix typo (#166699).
5542
5543 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5544
5545         * docs/faq/using.xml:
5546           Add -v argument to fakesrc/fakesink gst-launch line,
5547           so that the promised output will actually show up.
5548
5549 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5550
5551         * gst/gstthread.c: (gst_thread_change_state):
5552           Implement state-change error handling (#166073).
5553
5554 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5555
5556         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5557           Release interrupt after handling (#166250).
5558
5559 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5560
5561         * configure.ac:
5562           back to HEAD
5563
5564 === release 0.8.9 ===
5565
5566 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5567
5568         * NEWS:
5569         * RELEASE:
5570         * configure.ac:
5571           releasing 0.8.9, "Like Eating Glass"
5572
5573 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5574
5575         submitted by: Clytie Siddall
5576
5577         * po/vi.po: Added Vietnamese translation
5578
5579 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5580
5581         patch by: Tim Philipp-Müller
5582
5583         * configure.ac:
5584         * gst/gstpad.c:
5585           unref data when probe function returns FALSE.  Fixes #166362
5586
5587 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5588
5589         * gst/gst.c: (gst_init_get_popt_table):
5590           Fix typo (#166269).
5591
5592 2005-02-04  Andy Wingo  <wingo@pobox.com>
5593
5594         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5595         the debugging on whether the caps are compatible.
5596
5597 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5598
5599         * docs/manual/basics-elements.xml:
5600           Fix two typos.
5601
5602 2005-02-02  Wim Taymans  <wim@fluendo.com>
5603
5604         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5605         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5606         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5607         Remove some FIXMEs after analysing and commenting why they
5608         are not issues.
5609
5610 2005-02-02  Wim Taymans  <wim@fluendo.com>
5611
5612         * gst/schedulers/gstoptimalscheduler.c:
5613         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5614         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5615         (get_invalid_call), (chain_invalid_call),
5616         (get_group_schedule_function), (loop_group_schedule_function),
5617         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5618         (gst_opt_scheduler_state_transition),
5619         (gst_opt_scheduler_add_element),
5620         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5621         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5622         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5623         (gst_opt_scheduler_show):
5624         Added lock to protect scheduler data structures.
5625
5626 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5627
5628         * testsuite/threads/threadi.c: (cb_data):
5629           Fix buglet in test.
5630
5631 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5632
5633         * testsuite/threads/Makefile.am:
5634         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5635           On Wim's request, split the test in three separately-compiled
5636           tests that each test a very specific bug. Two of them still fail,
5637           will create bugs for those. threadi.c indicates why they fail.
5638
5639 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5640
5641         * gst/schedulers/gstoptimalscheduler.c:
5642         (get_group_schedule_function):
5643           Try to work with the threading mess that queue_link is.
5644
5645 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5646
5647         * gst/gstbin.c: (gst_bin_remove_func):
5648           Explicitely make an element release locks in a group when being
5649           remove from a bin.
5650         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5651           If there's no scheduler, always return immediately (similar to
5652           gst_element_interrupt).
5653
5654 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5655
5656         * gst/gstbin.c: (gst_bin_child_state_change_func):
5657           Remove a piece of code that could never be reached.
5658         * docs/gst/gstreamer-sections.txt:
5659         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5660         (gst_pad_call_get_function):
5661         * gst/gstpad.h:
5662         * testsuite/pad/Makefile.am:
5663           Fix #150546, enable tests.
5664
5665 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5666
5667         * docs/pwg/advanced-types.xml:
5668           Fix description for buffer-frames=0.
5669         * docs/gst/tmpl/gstbin.sgml:
5670         * gst/gstbin.c: (gst_bin_child_state_change_func),
5671         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5672         * gst/gstbin.h:
5673         * testsuite/threads/Makefile.am:
5674         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5675         (cb_state), (cb_play), (main):
5676           Fix non-recursive state changes to *really* change the state
5677           of the object, and not just call parent_class->state_change.
5678           Fix a lot of lockups caused by this. Fixes #132775. Add test
5679           for the problem. Also enable test to show #142588 (fixed).
5680         * gst/gstthread.c: (gst_thread_change_state),
5681         (gst_thread_child_state_change):
5682           Don't exit the thread if we go to NULL and are inside thread
5683           context. Instead, return control to the main thread context
5684           and exit from there.
5685         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5686           Don't unset virtual functions, since those may still be used.
5687           That's not necessarily correct, but suffices for now.
5688         * configure.ac:
5689         * testsuite/Makefile.am:
5690         * testsuite/pad/Makefile.am:
5691         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5692         (gst_test_sink_base_init), (gst_test_sink_chain),
5693         (gst_test_sink_init), (main):
5694         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5695         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5696         (main):
5697         * testsuite/pad/link.c: (gst_test_element_class_init),
5698         (gst_test_element_base_init), (gst_test_src_get),
5699         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5700         (gst_test_filter_loop), (gst_test_filter_init),
5701         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5702         (cb_error), (main):
5703           Add tests to show #150546. Pass, but should fail (currently
5704           disabled from the testsuite).
5705         * gst/gstscheduler.c: (gst_scheduler_dispose):
5706           Dereference child schedulers on dispose (#94464).
5707         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5708           Fix typo.
5709         * testsuite/threads/thread.c: (main):
5710           Add more debug.
5711
5712 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5713
5714         * gst/gstpad.c: (gst_pad_push):
5715           Oops, revert previous commit, broke testsuite...
5716
5717 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5718
5719         * gst/gstpad.c: (gst_pad_push):
5720           Add check that the pad on which the push is performed is not a
5721           get-based pad (#150546).
5722
5723 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5724
5725         * gst/elements/gsttypefindelement.c:
5726         (gst_type_find_element_handle_event):
5727           Fix buffer pushing if stream EOSes during typefinding.
5728
5729 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5730
5731         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5732
5733         * gst/gstvalue.c: (gst_string_wrap):
5734           Allow NULL-strings as argument (#165365).
5735
5736 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5737
5738         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5739
5740         * gst/schedulers/faircothreads.c:
5741         (gst_fair_scheduler_cothread_queue_show):
5742           Fix build without debug enabled.
5743
5744 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5745
5746         * docs/gst/gstreamer-sections.txt:
5747         * docs/libs/gstreamer-libs-docs.sgml:
5748         * docs/libs/gstreamer-libs-sections.txt:
5749         * docs/libs/tmpl/gstcontrol.sgml:
5750         * docs/libs/tmpl/gstdparam.sgml:
5751         * docs/libs/tmpl/gstdplinint.sgml:
5752         * docs/libs/tmpl/gstdpman.sgml:
5753         * docs/libs/tmpl/gstdpsmooth.sgml:
5754         * docs/libs/tmpl/gstputbits.sgml:
5755         * docs/libs/tmpl/gstunitconvert.sgml:
5756         * libs/gst/control/dparam.c:
5757         * libs/gst/control/dparam.h:
5758         * libs/gst/control/dparammanager.c:
5759         (gst_dpman_add_required_dparam_callback),
5760         (gst_dpman_add_required_dparam_direct),
5761         (gst_dpman_add_required_dparam_array),
5762         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5763         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5764         (gst_dpman_get_manager)
5765           restructured DParam docs
5766
5767 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5768
5769         * gst-element-check.m4:
5770           Only check for gst-inspect if we haven't already
5771           found it in previous element check runs
5772
5773 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5774
5775         * docs/gst/Makefile.am:
5776         * docs/libs/Makefile.am:
5777           fixed install rules to treat style.css as optional
5778
5779 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5780
5781         * docs/gst/Makefile.am:
5782         * docs/libs/Makefile.am:
5783           install style.css along with docs
5784         * docs/gst/tmpl/gstbin.sgml:
5785         * docs/gst/tmpl/gstclock.sgml:
5786         * docs/gst/tmpl/gstdata.sgml:
5787         * docs/gst/tmpl/gstelement.sgml:
5788         * gst/gstbin.h:
5789         * gst/gstelement.c: (gst_element_class_init):
5790         * gst/gstelement.h:
5791           fixing incomplete docs
5792
5793 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5794
5795         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5796           Don't unref seek event twice when fflush() fails
5797           
5798 2005-01-22  David Schleef  <ds@schleef.org>
5799
5800         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5801
5802 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5803
5804         * docs/gst/Makefile.am:
5805         * docs/libs/Makefile.am:
5806           added params for deprecation guards
5807         * gst/gst.c:
5808         * gst/gst.h:
5809         * gst/gsterror.c: (_gst_resource_errors_init),
5810         (_gst_stream_errors_init):
5811         * gst/gsterror.h:
5812           documented some more enums
5813
5814 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5815         * gst/autoplug/gstspideridentity.c:
5816         Cosmetic fix - spider_find_peek should be static
5817         * gst/parse/parse.l:
5818         Applying fix for #164261
5819
5820 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5821
5822         * docs/gst/gstreamer-sections.txt:
5823         * docs/gst/tmpl/gstplugin.sgml:
5824         * docs/libs/gstreamer-libs-sections.txt:
5825         * docs/libs/tmpl/gstcontrol.sgml:
5826         * gst/gstbuffer.h:
5827         * gst/gsttag.h:
5828         * gst/gstvalue.c:
5829           added docs for the TAG defines
5830
5831 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5832
5833         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5834           Only unref entry if there is an entry.
5835
5836 2005-01-17  Wim Taymans  <wim@fluendo.com>
5837
5838         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5839         (remove_from_group), (schedule_group), (normalize_group),
5840         (gst_opt_scheduler_iterate):
5841         Also ref/unref decoupled elements before iterating the
5842         group since they are not added to the list of elements.
5843
5844 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5845
5846         * docs/manual/highlevel-components.xml:
5847           Add subtitle/streamselection as new features to playbin.
5848
5849 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5850
5851         * docs/manual/manual.xml:
5852           Re-enable dataaccess docs (oops).
5853
5854 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5855
5856         * docs/pwg/advanced-types.xml:
5857         * docs/random/mimetypes:
5858           Add documentation on libsndfile types (#163309), by Steve Baker
5859           <steve@stevebaker.org>.
5860         * gst/gstelement.c: (gst_element_release_request_pad):
5861           If an element has no explicit function, just remove the pad.
5862
5863 2005-01-17  Luca Ognibene  <luogni@tin.it>
5864
5865         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5866
5867         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5868           Fix memleak (#163801).
5869
5870 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5871
5872         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5873           I think this is actually more correct...
5874
5875 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5876
5877         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5878           Another workaround for memory access while destroyed in callback.
5879           Please, someone with refcount knowledge, have a look at this.
5880
5881 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5882
5883         * docs/faq/faq.xml:
5884         * docs/faq/legal.xml:
5885           move the legal Q&A here
5886
5887 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5888
5889         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5890         (gst_tee_request_new_pad):
5891           Fix negotiation.
5892
5893 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5894
5895         * docs/random/omega/caps2:
5896         * testsuite/caps/caps_strings:
5897           replace framerate aproximations by their real value
5898           (24000/1001, 30000/1001, 60000/1001)
5899           Partially fixes bug #164049
5900
5901 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5902
5903         * docs/gst/Makefile.am:
5904           don't fail on the stupid GstPoptOption
5905
5906 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5907
5908         * gst/gstpad.h:
5909         * gst/gstprobe.c:
5910           allow probes to work on ghost pads by realizing the pad
5911           probe debugging
5912
5913 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5914
5915         * docs/gst/gstreamer-sections.txt:
5916         * docs/gst/tmpl/gstpad.sgml:
5917         * gst/gstpad.c: (gst_pad_set_active_recursive):
5918         * gst/gstpad.h:
5919           Add gst_pad_set_active_recursive().
5920
5921 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5922
5923         * docs/random/release:
5924           updates
5925         * gst/gst_private.h:
5926         * gst/gstinfo.c:
5927         * gst/gstobject.c:
5928           move deep_notify logging to a new category
5929         * gst/gstprobe.c:
5930         * gst/gstprobe.h:
5931           add stuff so bindings can wrap probes
5932
5933 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5934
5935         * gst/gstplugin.c: (gst_plugin_load):
5936           Fix plugin loading if plugin/lib was already loaded. Fixes
5937           #163383
5938
5939 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5940
5941         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5942
5943         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5944           Protect plugin loading by a mutex so it's threadsafe. Fixes
5945           #163234.
5946
5947 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5948
5949         * gst/gstevent.c: (_gst_event_copy):
5950           Reference source object when copying events, since it'll be
5951           dereferenced on event dereferencing as well.
5952
5953 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5954
5955         * docs/gst/gstreamer-sections.txt:
5956         * docs/gst/tmpl/gstevent.sgml:
5957         * gst/gstevent.c: (gst_event_new_filler_stamped),
5958         (gst_event_filler_get_duration):
5959         * gst/gstevent.h:
5960           Add two new functions for filler events (which are used to
5961           synchronize streams if one of them is not having any data
5962           for a while) without interrupting the actual data-stream.
5963           Basically a no-op.
5964         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5965         (gst_queue_link_sink), (gst_queue_link_src),
5966         (gst_queue_change_state):
5967           Allow for renegotiation while filled. Required for stream
5968           switching while playing.
5969
5970 2005-01-08  Benjamin Otte  <otte@gnome.org>
5971
5972         * gst/gstelement.c: (gst_element_link_many):
5973           fix up g_return_if_fail's
5974         * po/LINGUAS:
5975         * po/de.po:
5976           add German translation, that was somehow not included
5977
5978 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5979
5980         * docs/random/mimetypes:
5981           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5982           do not add them to riff-lib as they are not common
5983
5984 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5985
5986         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5987           Check for existence of probe after performing the probe before
5988           re-accessing it to prevent segfaults caused by removal of the
5989           probe in the callback.
5990
5991 2005-01-05  David Schleef  <ds@schleef.org>
5992
5993         * testsuite/registry/Makefile.am:
5994         * testsuite/registry/gst-print-formats.c:
5995         (print_pad_templates_info), (print_element_list),
5996         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5997         (g_list_uniqify), (get_pad_templates_info),
5998         (get_element_mime_list), (print_mime_list), (main): A little
5999         program that looks through the registry to find elements of
6000         a given type.  Not particularly interesting as a test, except
6001         that there's no other test covering the same area.
6002
6003 2005-01-05  David Schleef  <ds@schleef.org>
6004
6005         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6006         (fault_handler_sigaction), (fault_spin),
6007         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6008         in signal.h-type signal handlers by not calling forbidden functions,
6009         including gst_element_set_state().
6010
6011 2005-01-05  David Schleef  <ds@schleef.org>
6012
6013         * gst/gstvalue.h: Mark _gst_reserved[] as private
6014
6015 2005-01-05  David Schleef  <ds@schleef.org>
6016
6017         * gst/gstvalue.c: Fix doc build problem.
6018
6019 2005-01-05  David Schleef  <ds@schleef.org>
6020
6021         * gst/gstvalue.c: Add some documentation
6022
6023 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6024
6025         * docs/README:
6026           another shell oneliner for empty return value docs
6027         * gst/gstcaps.c:
6028         * gst/gstvalue.c:
6029         * libs/gst/control/dparam.c:
6030           more doc fixes (parameters and return values)
6031
6032 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6033
6034         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6035
6036         * gst/gstregistry.h:
6037         * gst/registries/gstxmlregistry.c:
6038           Fix macro's for Mingw (fixes #162276).
6039
6040 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6041
6042         * docs/README:
6043           quick shell oneliner to find undocumented members
6044         * docs/gst/tmpl/gstplugin.sgml:
6045         * docs/gst/tmpl/gstscheduler.sgml:
6046         * docs/gst/tmpl/gstthread.sgml:
6047           more enumtypes cleanup
6048         * gst/gsterror.h:
6049           activated documentation comments, now someone needs to document
6050           the enums :(
6051
6052 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6053
6054         * docs/manual/manual.xml:
6055           Add dataaccess part (doh!).
6056
6057 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6058
6059         * docs/manual/advanced-autoplugging.xml:
6060           Fix typo (intiate -> initiate).
6061
6062 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6063
6064         * docs/random/bbb/streamselection:
6065           Add some notes on how to handle multi-subtitle/-audio streams.
6066
6067 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6068
6069         * docs/gst/gstreamer-docs.sgml:
6070         * docs/gst/gstreamer-sections.txt:
6071         * docs/gst/tmpl/gstenumtypes.sgml:
6072         * docs/gst/tmpl/gsterror.sgml:
6073         * docs/gst/tmpl/gstevent.sgml:
6074         * docs/gst/tmpl/gstpad.sgml:
6075         * docs/gst/tmpl/gstpadtemplate.sgml:
6076         * docs/gst/tmpl/gstthread.sgml:
6077           removed gstenumtypes section from docs and put all the enums into
6078           their sections
6079
6080 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6081
6082         * gst/gstplugin.c:
6083           document gst_library_load a bit more (riff special case + return
6084           value if already loaded)
6085         * testsuite/bytestream/filepadsink.c:
6086           plugin name is 'gstbytestream', not 'bytestream'
6087
6088 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6089
6090         * docs/random/bbb/subtitles:
6091           Add some first mind rumblings on proper subtitle support.
6092
6093 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6094
6095         * po/ca.po:
6096         * po/sv.po:
6097           updated translations
6098
6099 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6100
6101         * docs/manual/advanced-dataaccess.xml:
6102           Add section on how to use fakesrc/fakesink/identity in your
6103           application, plus section on how to embed plugins. Also mention
6104           probes.
6105         * docs/manual/appendix-checklist.xml:
6106         * docs/manual/appendix-debugging.xml:
6107         * docs/manual/appendix-gnome.xml:
6108         * docs/manual/appendix-integration.xml:
6109           Debug -> checklist, GNOME -> integration, add sections on Linux,
6110           KDE integration and add other things useful for application
6111           development.
6112         * docs/manual/manual.xml:
6113           Remove some fixmes, update some file pointers.
6114         * docs/pwg/appendix-checklist.xml:
6115           Fix typo.
6116         * docs/pwg/building-boiler.xml:
6117           Remove ugly header and add commented fixme.
6118         * docs/pwg/pwg.xml:
6119           Add fixme.
6120         * examples/manual/Makefile.am:
6121           Add example for added docs.
6122
6123 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6124
6125         * configure.ac:
6126           back to HEAD
6127
6128 === release 0.8.8 ===
6129
6130 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6131
6132         * NEWS:
6133         * RELEASE:
6134         * configure.ac:
6135           Releasing 0.8.8, "I'll Take Care Of You"
6136
6137 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6138
6139         * configure.ac:
6140           second prerelease
6141
6142 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6143
6144         patch by: Wim Taymans
6145
6146         * gst/gstbin.c:
6147           Fix for #159852 - make iterate emission threadsafe
6148
6149 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6150
6151         * docs/faq/cvs.xml:
6152           notes about new fdo account request
6153
6154 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6155
6156         * docs/gst/gstreamer-docs.sgml:
6157         * docs/gst/tmpl/gstenumtypes.sgml:
6158         * docs/gst/tmpl/gstplugin.sgml:
6159         * docs/libs/gstreamer-libs-docs.sgml:
6160           Added missing short docs. Added ids for navigation.
6161
6162 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6163
6164         * docs/manual/advanced-autoplugging.xml:
6165         * docs/manual/advanced-schedulers.xml:
6166         * docs/manual/advanced-threads.xml:
6167           Rewrites. Remove cothreads, go a bit into opt specifically,
6168           document threads and their gotchas, and do some technical stuff
6169           on autoplugging plus add some working examples. Fixes #157395.
6170         * examples/manual/Makefile.am:
6171           Add typefind/autoplugger example (one that actually works).
6172           Remove queue example since it's a duplicate of the thread one.
6173
6174 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6175
6176         * gst/gstvalue.c: (gst_value_deserialize_string):
6177           use deprecated g_value_set_string_take_ownership to keep compatible
6178           with glib 2.2
6179
6180 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6181
6182         * gst/gstvalue.c: (gst_value_deserialize_string):
6183           revert last patch, only dom a g_utf8_validate now before accepting
6184           the string - caps parsing strips " from strings so we can't rely on
6185           them
6186         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6187           disable a test that tested the above and comment it
6188
6189 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6190
6191         Patch reviewed by David Schleef  <ds@schleef.org>
6192
6193         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6194         bug #153882)
6195         * win32/gstenumtypes.h: same
6196
6197 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6198
6199         * gst/gstpad.c: (gst_pad_query):
6200           Do query on realized pad, similar to how convert/send_event handle
6201           this. Also makes sense, since this pad belongs to the function to
6202           which this query will be sent. Fixes #158163.
6203
6204 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6205
6206         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6207
6208 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6209
6210         * docs/faq/general.xml: fix pipeline to actually work
6211
6212 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6213
6214         * gst/gstvalue.c: (gst_value_deserialize_string):
6215           check that a simple string that gets deserialized does not contain
6216           invalid characters
6217         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6218           remove a test that tested a wring behaviour
6219
6220 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6221
6222         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6223
6224         * docs/manual/intro-motivation.xml:
6225           Fix typos.
6226
6227 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6228
6229         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6230
6231         * docs/gst/tmpl/gstprobe.sgml:
6232           Fix documentation of probe callback - it is supposed to return
6233           FALSE, not TRUE, to remove data from the stream (#159087).
6234
6235 2004-12-16  Daniel Gazard  <dany42@free.fr>
6236
6237         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6238
6239         * gst/gstelementfactory.c: (gst_element_factory_create):
6240           Fix compile failure if compiling without libxml2 support (#149936).
6241
6242 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6243
6244         * docs/manual/advanced-autoplugging.xml:
6245         * docs/manual/highlevel-components.xml:
6246           Move spider from autoplugging to components. Autoplugging is for
6247           internals, not for solutions. ;-).
6248
6249 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6250
6251         * docs/random/ds/0.9-suggested-changes:
6252           Make note on device/location/uri property names.
6253
6254 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6255
6256         * docs/manual/advanced-autoplugging.xml:
6257         * docs/manual/advanced-clocks.xml:
6258         * docs/manual/advanced-interfaces.xml:
6259         * docs/manual/advanced-metadata.xml:
6260         * docs/manual/advanced-position.xml:
6261         * docs/manual/advanced-schedulers.xml:
6262         * docs/manual/advanced-threads.xml:
6263         * docs/manual/appendix-gnome.xml:
6264         * docs/manual/appendix-programs.xml:
6265         * docs/manual/appendix-quotes.xml:
6266         * docs/manual/autoplugging.xml:
6267         * docs/manual/basics-bins.xml:
6268         * docs/manual/basics-data.xml:
6269         * docs/manual/basics-elements.xml:
6270         * docs/manual/basics-helloworld.xml:
6271         * docs/manual/basics-init.xml:
6272         * docs/manual/basics-pads.xml:
6273         * docs/manual/basics-plugins.xml:
6274         * docs/manual/bins-api.xml:
6275         * docs/manual/bins.xml:
6276         * docs/manual/buffers-api.xml:
6277         * docs/manual/buffers.xml:
6278         * docs/manual/clocks.xml:
6279         * docs/manual/components.xml:
6280         * docs/manual/cothreads.xml:
6281         * docs/manual/debugging.xml:
6282         * docs/manual/dparams-app.xml:
6283         * docs/manual/dynamic.xml:
6284         * docs/manual/elements-api.xml:
6285         * docs/manual/elements.xml:
6286         * docs/manual/factories.xml:
6287         * docs/manual/gnome.xml:
6288         * docs/manual/goals.xml:
6289         * docs/manual/helloworld.xml:
6290         * docs/manual/helloworld2.xml:
6291         * docs/manual/highlevel-components.xml:
6292         * docs/manual/highlevel-xml.xml:
6293         * docs/manual/init-api.xml:
6294         * docs/manual/intro-basics.xml:
6295         * docs/manual/intro-motivation.xml:
6296         * docs/manual/intro-preface.xml:
6297         * docs/manual/intro.xml:
6298         * docs/manual/links-api.xml:
6299         * docs/manual/links.xml:
6300         * docs/manual/manual.xml:
6301         * docs/manual/motivation.xml:
6302         * docs/manual/pads-api.xml:
6303         * docs/manual/pads.xml:
6304         * docs/manual/plugins-api.xml:
6305         * docs/manual/plugins.xml:
6306         * docs/manual/programs.xml:
6307         * docs/manual/queues.xml:
6308         * docs/manual/quotes.xml:
6309         * docs/manual/schedulers.xml:
6310         * docs/manual/states-api.xml:
6311         * docs/manual/states.xml:
6312         * docs/manual/threads.xml:
6313         * docs/manual/typedetection.xml:
6314         * docs/manual/win32.xml:
6315         * docs/manual/xml.xml:
6316           Try 2. This time, include a short preface as a "general
6317           introduction", also add code blocks around all code samples
6318           so they get compiled. We still need a way to tell readers
6319           the filename of the code sample. In some cases, don't show
6320           all code in the documentation, but do include it in the generated
6321           code. This allows for focussing on specific bits in the docs,
6322           while still having a full test application available.
6323         * examples/manual/Makefile.am:
6324           Fix up examples for new ADM. Add several of the new examples that
6325           were either added or were missing from the build system.
6326         * examples/manual/extract.pl:
6327           Allow nameless blocks.
6328
6329 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6330
6331         * docs/manual/elements-api.xml:
6332         * docs/manual/helloworld.xml:
6333         * examples/manual/extract.pl:
6334           fix last example.  Add example of adding code blocks that are not
6335           shown in docbook output.
6336
6337 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6338
6339         * docs/manual/dynamic.xml:
6340         * docs/manual/elements-api.xml:
6341         * docs/manual/gnome.xml:
6342         * docs/manual/helloworld2.xml:
6343         * docs/manual/init-api.xml:
6344         * docs/manual/queues.xml:
6345         * docs/manual/threads.xml:
6346         * docs/manual/xml.xml:
6347         * examples/manual/extract.pl:
6348           Make it possible to extract example code from separate blocks.
6349           Should make Ronald happy.
6350
6351 2004-12-15  Wim Taymans  <wim@fluendo.com>
6352
6353         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6354         (remove_from_group), (group_elements_set_visited),
6355         (normalize_group), (gst_opt_scheduler_iterate):
6356         Fix bug where a flag was not updated on a decoupled entry point 
6357         because we were just checking the group element list and decoupled
6358         elements are not in that list..
6359
6360 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6361
6362         * docs/manual/advanced-autoplugging.xml:
6363         * docs/manual/advanced-clocks.xml:
6364         * docs/manual/advanced-dparams.xml:
6365         * docs/manual/advanced-interfaces.xml:
6366         * docs/manual/advanced-metadata.xml:
6367         * docs/manual/advanced-position.xml:
6368         * docs/manual/advanced-schedulers.xml:
6369         * docs/manual/advanced-threads.xml:
6370         * docs/manual/appendix-debugging.xml:
6371         * docs/manual/appendix-gnome.xml:
6372         * docs/manual/appendix-programs.xml:
6373         * docs/manual/appendix-quotes.xml:
6374         * docs/manual/appendix-win32.xml:
6375         * docs/manual/autoplugging.xml:
6376         * docs/manual/basics-bins.xml:
6377         * docs/manual/basics-data.xml:
6378         * docs/manual/basics-elements.xml:
6379         * docs/manual/basics-helloworld.xml:
6380         * docs/manual/basics-init.xml:
6381         * docs/manual/basics-pads.xml:
6382         * docs/manual/basics-plugins.xml:
6383         * docs/manual/bins-api.xml:
6384         * docs/manual/bins.xml:
6385         * docs/manual/buffers-api.xml:
6386         * docs/manual/buffers.xml:
6387         * docs/manual/clocks.xml:
6388         * docs/manual/components.xml:
6389         * docs/manual/cothreads.xml:
6390         * docs/manual/debugging.xml:
6391         * docs/manual/dparams-app.xml:
6392         * docs/manual/dynamic.xml:
6393         * docs/manual/elements-api.xml:
6394         * docs/manual/elements.xml:
6395         * docs/manual/factories.xml:
6396         * docs/manual/gnome.xml:
6397         * docs/manual/goals.xml:
6398         * docs/manual/helloworld.xml:
6399         * docs/manual/helloworld2.xml:
6400         * docs/manual/highlevel-components.xml:
6401         * docs/manual/highlevel-xml.xml:
6402         * docs/manual/init-api.xml:
6403         * docs/manual/intro-motivation.xml:
6404         * docs/manual/intro-preface.xml:
6405         * docs/manual/intro.xml:
6406         * docs/manual/links-api.xml:
6407         * docs/manual/links.xml:
6408         * docs/manual/manual.xml:
6409         * docs/manual/motivation.xml:
6410         * docs/manual/pads-api.xml:
6411         * docs/manual/pads.xml:
6412         * docs/manual/plugins-api.xml:
6413         * docs/manual/plugins.xml:
6414         * docs/manual/programs.xml:
6415         * docs/manual/queues.xml:
6416         * docs/manual/quotes.xml:
6417         * docs/manual/schedulers.xml:
6418         * docs/manual/states-api.xml:
6419         * docs/manual/states.xml:
6420         * docs/manual/threads.xml:
6421         * docs/manual/typedetection.xml:
6422         * docs/manual/win32.xml:
6423         * docs/manual/xml.xml:
6424           First try at rewriting the ADM. Needs lotsamore work, but some
6425           parts might already be somewhat useful.
6426         * docs/pwg/advanced-interfaces.xml:
6427           Remove properties interface, it never actually existed (except for
6428           on my HD...).
6429
6430 2004-12-13  David Schleef  <ds@schleef.org>
6431
6432         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6433         be NULL (bug #160220).
6434
6435 2004-12-13  David Schleef  <ds@schleef.org>
6436
6437         * configure.ac: remove all mmx stuff, because it's not used.
6438         * docs/random/ds/0.9-suggested-changes: additional notes
6439         * include/Makefile.am: we don't use these anymore
6440         * include/mmx.h: remove
6441         * include/sse.h: remove
6442
6443 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6444
6445         * docs/random/mimetypes:
6446           Add FOURCC code for h264 codec (VSSH)
6447           Add alternate FOURCC codes for h263 related codecs
6448
6449 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6450
6451         * docs/manual/programs.xml:
6452           Added more gst-launch examples.
6453
6454 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6455
6456         * gst/gstqueue.c: (gst_queue_handle_src_query):
6457           Check for availability again.
6458
6459 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6460
6461         * gst/gstcaps.c: (gst_caps_compare_structures):
6462           Simple caps go first. This has the nice side-effect of fixing an
6463           obscure warning.
6464
6465 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6466
6467         * gst/gstversion.h.in:
6468           Protect header.
6469
6470 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6471
6472         * gst/schedulers/gstoptimalscheduler.c:
6473         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6474         (gst_opt_scheduler_get_wrapper):
6475           When we're recursing into a chain run, only run the directly
6476           related group, not all queued ones. This will fix a possible
6477           deadlock in chains with more than two groups.
6478
6479 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6480
6481         * autogen.sh:
6482           remove patch if autopoint fails
6483
6484 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6485
6486         * docs/gst/gstreamer-sections.txt:
6487           Document Thomas' addition, fix build, make Luis the sheriff happy.
6488
6489 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6490
6491         * gst/gstplugin.c:
6492         * gst/gstplugin.h:
6493           add accessor for version field
6494
6495 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6496
6497         submitted by: Luca Ferretti <elle.uca@infinito.it>
6498
6499         * po/LINGUAS:
6500         * po/it.po:
6501           New tranlation added: Italian
6502
6503 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6504
6505         * gst/gstpad.c: (gst_pad_is_negotiated),
6506         (gst_pad_get_negotiated_caps):
6507           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6508           it doesn't actually check the contents), so be sure to hand it
6509           a RealPad else we'll crash.
6510
6511 2004-12-03  Wim Taymans  <wim@fluendo.com>
6512
6513         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6514         (gst_queue_link), (gst_queue_handle_src_query):
6515         Reverted to 1.110 until this makes the testsuite and various
6516         apps work.
6517
6518 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6519
6520         * docs/upload.mak: fix included CVS conflict strings
6521
6522 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6523
6524         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6525
6526         * gst/gstelement.c: (gst_element_error_full):
6527           Use g_error_new_literal because error text may have
6528           percentage signs in it. Fixes #160019.
6529
6530 2004-12-01  Benjamin Otte  <otte@gnome.org>
6531
6532         * gst/elements/gstbufferstore.c:
6533         (gst_buffer_store_add_buffer_func):
6534           don't try to make subbuffers bigger than they can be. (fixes
6535           #159970)
6536
6537 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6538
6539         * docs/gst/gstreamer-sections.txt:
6540         * docs/gst/tmpl/gstvalue.sgml:
6541           Add new function to docs to fix build.
6542
6543 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6544
6545         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6546         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6547         (_gst_pad_default_fixate_foreach):
6548         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6549         * gst/gstvalue.h:
6550           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6551           in some cases (arrays), the fixedness depends on the content.
6552         * gst/gstqueue.c: (gst_queue_handle_src_query):
6553           Check for availability before doing something.
6554
6555 2004-11-29  Wim Taymans  <wim@fluendo.com>
6556
6557         * testsuite/threads/Makefile.am:
6558         * testsuite/threads/signals.c: (gst_test_get_type),
6559         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6560         (gst_test_set_property), (gst_test_get_property),
6561         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6562         (gst_test_do_prop), (run_thread), (main):
6563         Added a bunch of testcases that show threadsafety bugs in glib.
6564
6565 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6566
6567         * docs/manual/programs.xml:
6568           Added a first batch of gst-launch examples, as provided by Ronald
6569           and others from the devel-mlist
6570
6571 2004-11-28  Benjamin Otte  <otte@gnome.org>
6572
6573         * gst/gstelement.c: (gst_element_negotiate_pads):
6574           simplify
6575         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6576         (gst_value_serialize_string), (gst_value_deserialize_string):
6577           add unwrapping of previously wrapped strings. Fix bug in wrapping
6578           while at it.
6579         * testsuite/caps/value_serialize.c: (test1),
6580         (test_string_serialization), (test_string_deserialization), (main):
6581           add tests for string (de)serialization
6582
6583 2004-11-26  Wim Taymans  <wim@fluendo.com>
6584
6585         * testsuite/threads/159566.c: (object_deep_notify), (main):
6586         * testsuite/threads/Makefile.am:
6587         Added testsuite to show bug #159566
6588
6589 2004-11-25  Wim Taymans  <wim@fluendo.com>
6590
6591         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6592         (gst_thread_child_state_change), (gst_thread_main_loop):
6593         Ref the thread object in the GThread mainloop. Break out of the
6594         thread mainloop if it holds the last ref. This properly exits
6595         the threads when disposing the thread from its own context. It
6596         also avoids possible deadlocks in the dispose function.
6597
6598 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6599
6600         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6601         it is necessary to wait.
6602
6603 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6604
6605         * docs/pwg/building-boiler.xml:
6606           Make description somewhat clearer.
6607
6608 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6609
6610         * docs/upload.mak:
6611           Apparently docs changed location on FDO's server.
6612
6613 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6614
6615         * docs/pwg/appendix-checklist.xml:
6616           Add some random notes on things to check when writing an element.
6617           This list can be extended as people see fit.
6618
6619 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6620
6621         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6622         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6623         pad. The queue will now wait until it is empty and forward the new
6624         caps to the source.
6625         * gst/gstbin.c (gst_bin_set_element_sched)
6626         (gst_bin_unset_element_sched): Make sure that all elements and
6627         links are registered and unregistered with the scheduler exactly
6628         once. This elaborates on a fix by Benjamin Otte, but
6629         guarantees that decoupled elements are also registered.
6630
6631 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6632
6633         * docs/manual/quotes.xml:
6634           add a quote
6635         * configure.ac:
6636         * gst/gst.c:
6637         * gst/gstinfo.c:
6638           add LIBDIR and move init message higher up so it's at the start
6639
6640 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6641
6642         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6643         * gstreamer.spec.in: add fair
6644
6645 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6646
6647         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6648         * gst/elements/gstidentity.c: (gst_identity_class_init):
6649           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6650           <teuf@gnome.org> (#157263).
6651         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6652         (gst_type_find_handle_src_query):
6653           Subtract size of internally stored data from position queries.
6654
6655 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6656
6657         * gst/schedulers/fairscheduler.c:
6658         * gst/schedulers/faircothreads.c:
6659         * gst/schedulers/faircothreads.h:
6660         New cothread based scheduler: Fair scheduler.
6661         * gst/schedulers/gthread-cothreads.h: 
6662         Add the standard #if around the whole file.
6663         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6664         compilation of the functions defined in this file. This is
6665         necessary to be able to use this file as a normal header.
6666         * gst/schedulers/Makefile.am: Add compiling support for fair
6667         scheduler.
6668         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6669         scheduler cothreads layer from documentation generation.
6670
6671 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6672
6673         * gst/autoplug/gstspideridentity.c:
6674         (gst_spider_identity_sink_loop_type_finding):
6675           Don't crash if that function is not implemented.
6676
6677 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6678
6679         * docs/pwg/advanced-types.xml:
6680           Another typo.
6681
6682 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6683
6684         * docs/pwg/intro-preface.xml:
6685           Hm, ok, so the brackets weren't really useful...
6686         * docs/pwg/other-ntoone.xml:
6687           Fix embarassing typo.
6688
6689 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6690
6691         * docs/pwg/intro-preface.xml:
6692           Rewrite preface.
6693
6694 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6695
6696         * docs/pwg/advanced-scheduling.xml:
6697         * docs/pwg/advanced-tagging.xml:
6698         * docs/pwg/advanced-types.xml:
6699         * docs/pwg/building-boiler.xml:
6700         * docs/pwg/building-chainfn.xml:
6701         * docs/pwg/building-signals.xml:
6702         * docs/pwg/building-state.xml:
6703         * docs/pwg/building-testapp.xml:
6704         * docs/pwg/intro-basics.xml:
6705         * docs/pwg/other-manager.xml:
6706         * docs/pwg/other-source.xml:
6707           Typo fixes.
6708         * docs/pwg/other-manager.xml:
6709           Add some first content. No example code yet.
6710         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6711           Remove double newlines.
6712
6713 2004-11-04  Wim Taymans  <wim@fluendo.com>
6714
6715         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6716         (remove_from_group), (normalize_group), (group_migrate_connected),
6717         (gst_opt_scheduler_iterate):
6718         * testsuite/schedulers/.cvsignore:
6719         * testsuite/schedulers/Makefile.am:
6720         * testsuite/schedulers/queue_link.c: (main):
6721         Added testcase for scheduler segfault.
6722         Fix scheduler segfault when removing a decoupled
6723         entry point as the last element from a group.
6724
6725 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6726
6727         * gst/gstmarshal.list: add missing marshaller, fixes build
6728
6729 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6730
6731         * docs/random/signal: added notes about using BOXED for GstBuffer
6732         signal marshallers, not POINTER
6733
6734 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6735
6736         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6737         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6738         POINTER=>BOXED changes to marshal GstBuffers
6739
6740 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6741
6742         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6743         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6744
6745 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6746
6747         * docs/gst/gstreamer-sections.txt:
6748         * docs/gst/tmpl/gstcaps.sgml:
6749         * docs/gst/tmpl/gsterror.sgml:
6750         * docs/gst/tmpl/gstinfo.sgml:
6751         * docs/gst/tmpl/gstmacros.sgml:
6752         * docs/gst/tmpl/gstutils.sgml:
6753         * docs/random/ensonic/interfaces.txt:
6754         * gst/gstinfo.h:
6755           added some more docs, removed two obsolete defines
6756
6757 2004-11-02  Kjartan Maraas <as at gnome.org>
6758
6759         reviewed by: Wim Taymans, Ronald Bultje.
6760
6761         * gst/cothreads.c: (cothread_create):
6762         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6763         (gst_bin_child_state_change_func):
6764         * gst/gstbuffer.c: (gst_buffer_span):
6765         * gst/gstelement.c: (gst_element_get_index),
6766         (gst_element_get_event_masks), (gst_element_get_query_types),
6767         (gst_element_get_formats):
6768         * gst/gsterror.c: (_gst_core_errors_init),
6769         (_gst_library_errors_init), (_gst_resource_errors_init),
6770         (_gst_stream_errors_init):
6771         * gst/gstobject.c: (gst_object_default_deep_notify):
6772         * gst/gstpad.c: (gst_pad_get_event_masks),
6773         (gst_pad_get_internal_links_default):
6774         * gst/gstplugin.c: (gst_plugin_register_func),
6775         (gst_plugin_get_module):
6776         * gst/gststructure.c: (gst_structure_get_string),
6777         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6778         (gst_structure_to_abbr):
6779         * gst/gstutils.c: (gst_print_element_args):
6780         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6781         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6782         Aplied part of patch #157127: Cleanup of issues reported by 
6783         sparse.
6784         Also do not try to use cothreads when there is no cothread
6785         context yet.
6786
6787 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6788
6789         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6790         (gst_opt_scheduler_iterate):
6791         Applied patch #154061. Running a pipeline in which an element 
6792         calls GST_ELEMENT_ERROR in the chain function, the opt 
6793         scheduler doesn't unref the chain so it never gets freed.
6794
6795 2004-11-02  Wim Taymans  <wim@fluendo.com>
6796
6797         * gst/gststructure.c: (gst_structure_get_abbrs),
6798         (gst_structure_from_abbr), (gst_structure_to_abbr):
6799         Remove that ugly if-then thing in the code that converts
6800         between strings and types.
6801
6802 2004-11-02  Wim Taymans  <wim@fluendo.com>
6803
6804         * gst/gstscheduler.c: (gst_scheduler_add_element),
6805         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6806         Aplied clock distribution patch, this should fix bug
6807         #148787.
6808
6809 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6810
6811         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6812
6813         * po/LINGUAS:
6814         * po/nb.po:
6815           Added Norwegian Bokmaal translation
6816
6817 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6818
6819         * tools/gst-inspect.c: (print_signal_info):
6820           print signal arguments as pointers if they are
6821
6822 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6823
6824         * docs/pwg/building-boiler.xml:
6825           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6826
6827 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6828
6829         * gst/parse/parse.l:
6830         * testsuite/parse/parse1.c: (main):
6831         Since parse can do 'element name=a:b' make 'a:b.' work as
6832         well. 
6833         Added testcase to verify fix.
6834
6835 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6836
6837         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6838         Use the realpad when printing the direction.
6839         Add extra \n when printing extensions of typefind factories.
6840
6841 2004-10-13  David Schleef  <ds@schleef.org>
6842
6843         * examples/manual/Makefile.am: $< isn't portable in Makefile
6844         rules.
6845
6846 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6847
6848         * docs/gst/tmpl/gstobject.sgml:
6849         * docs/gst/tmpl/gstplugin.sgml:
6850         * docs/gst/tmpl/gstpluginfeature.sgml:
6851         * docs/gst/tmpl/gstregistry.sgml:
6852         * docs/gst/tmpl/gstversion.sgml:
6853         * gst/gstbin.c:
6854           more api documentation
6855         * gst/gstplugin.c: (gst_plugin_register_func),
6856         (gst_plugin_check_file), (gst_plugin_load_file):
6857           better error signaling and logging
6858
6859 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6860
6861         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6862           Subtract current queue contents from position queries.
6863
6864 2004-10-11  Johan Dahlin  <johan@gnome.org>
6865
6866         * gst/gsturi.c (gst_uri_get_location): unescape string
6867         (gst_uri_construct): escape string.
6868
6869 2004-10-11  Benjamin Otte  <otte@gnome.org>
6870
6871         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6872         (gst_pad_try_set_caps_nonfixed):
6873           allow renegotiation of unconnected pads (as inside spider). Simply
6874           return OK if unconnected - mimic try_set_caps there.
6875
6876 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6877
6878         * gst/gstbin.c: (gst_bin_sync_children_state):
6879           Add missing break.
6880
6881 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6882
6883         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6884         Set element to EOS before sending EOS event
6885
6886 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6887
6888         * gst/elements/gsttypefindelement.c:
6889         (gst_type_find_element_handle_event):
6890         Handle EOS events when doing the transition from
6891         typefind to data passing. This should fix the
6892         infinite loops in short files.
6893
6894 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6895
6896         * gst/gstthread.c: (gst_thread_change_state),
6897         (gst_thread_child_state_change):
6898         Make sure no iteration happens while performing
6899         the state change as it could mess up the internal
6900         consistency of the thread state.
6901
6902 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6903
6904         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6905         (gst_thread_change_state), (gst_thread_child_state_change):
6906         Do not try to grab the iterate lock in the state change method
6907         when we are in the same thread as the iterate or else we
6908         could deadlock. Some other cleanups.
6909
6910 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6911
6912         * configure.ac:
6913           bump nano to cvs
6914
6915 === release 0.8.7 ===
6916
6917 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6918
6919         * configure.ac:
6920         * NEWS:
6921         * RELEASE:
6922         * configure.ac:
6923           releasing 0.8.7, "A Cruise"
6924
6925 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6926
6927         * docs/random/mimetypes:
6928         Add an entry for Sony ATRAC3 audio format with mime-type
6929         used by rmdemux et riff-read
6930
6931 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6932
6933         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6934         Push the buffer store instead of clearing it in case that
6935         the stream is not seekable.
6936
6937 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6938
6939         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6940         (gst_thread_main_loop):
6941         Lock the iteration and the state change so that automatic
6942         negotiation and fixation does not happen at the same time
6943         as the in stream negotiation.
6944
6945 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6946
6947         * configure.ac:
6948           bump nano to cvs
6949
6950 === release 0.8.6 ===
6951
6952 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6953
6954         * configure.ac:
6955         * NEWS:
6956         * RELEASE:
6957         * configure.ac:
6958           releasing 0.8.6, "Narc"
6959
6960 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6961
6962         * configure.ac:
6963           prerel bump
6964
6965 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6966
6967         patch by: Steve Lhomme
6968
6969         * gst/elements/gstfakesrc.c:
6970         * gst/elements/gstidentity.c:
6971         * gst/gstthread.c:
6972           Fix for #153881
6973
6974 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6975
6976         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6977         Fix threadsafety of the crc checking function.
6978
6979 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6980
6981         patch by: Ronald Bultje
6982
6983         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6984         (gst_type_find_element_handle_event),
6985         (gst_type_find_element_chain):
6986         * gst/elements/gsttypefindelement.h:
6987          #153657.
6988          Filter out discont event from seekable sources when typefind
6989          asks them to seek.  Fixes typefind with demuxers for
6990          avi, asf and matroska.
6991
6992 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6993
6994         * docs/gst/gstreamer-sections.txt:
6995         * gst/gstcaps.c:
6996         * gst/gstcaps.h:
6997         * gst/gstpad.c:
6998           Revert preferred caps: (#147789)
6999
7000 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7001
7002         * win32/dirent.c:
7003           fix a memory leak
7004
7005 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7006
7007         * configure.ac:
7008           bump for prerelease
7009
7010 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7011
7012         * docs/Makefile.am:
7013         * docs/manual/elements-api.xml:
7014           restructure so that common stuff is shown first
7015         * docs/manual/init-api.xml:
7016           convert to examples
7017         * docs/manual/manual.xml:
7018         * docs/manuals.mak:
7019         * docs/url.entities:
7020           link to API on the website, possibly override later in build
7021         * examples/manual/.cvsignore:
7022           ignore more
7023         * examples/manual/Makefile.am:
7024           add more examples
7025         * examples/manual/extract.pl:
7026           error out on failure
7027
7028 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7029
7030         * docs/gst/tmpl/gstthread.sgml:
7031         * docs/manual/init-api.xml:
7032         * examples/manual/Makefile.am:
7033           convert two code bits to examples
7034
7035 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7036
7037         * gst/gstelement.c: (gst_element_change_state):
7038           Well, actually, I was about to remove this insane assert when
7039           I noticed Wim already did that. A warning is nice so we can
7040           fix actual ugs (using --g-fatal-warnings and backtraces), so
7041           I added that instead.
7042
7043 2004-09-06  Wim Taymans  <wim@fluendo.com>
7044
7045         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7046         (gst_element_threadsafe_properties_post_run),
7047         (gst_element_set_state), (gst_element_change_state):
7048         Added extra refcounting around various places. 
7049
7050 2004-09-06  Wim Taymans  <wim@fluendo.com>
7051
7052         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7053         Fix debug info.
7054
7055 2004-09-06  Wim Taymans  <wim@fluendo.com>
7056
7057         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7058         (remove_from_group):
7059         Some more debug info.
7060
7061 2004-09-03  Wim Taymans  <wim@fluendo.com>
7062
7063         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7064         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7065         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7066         (gst_fakesrc_get), (gst_fakesrc_change_state):
7067         * gst/elements/gstfakesrc.h:
7068         * gst/elements/gstidentity.c: (gst_identity_class_init),
7069         (gst_identity_init), (gst_identity_chain),
7070         (gst_identity_set_property), (gst_identity_get_property),
7071         (gst_identity_change_state):
7072         * gst/elements/gstidentity.h:
7073         Added datarate properties to limit the datarate.
7074
7075 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7076
7077         * gst/autoplug/gstspider.c: (plugin_init):
7078           don't set a rank. We don't want to autoplug by inserting spiders.
7079
7080 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7081
7082         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7083         (gst_spider_identity_plug):
7084           add a template for spider's sink
7085         * gst/gst.c: (gst_register_core_elements):
7086           queue's rank should be NULL, we don't want spider to add it.
7087
7088 2004-08-18  David Schleef  <ds@schleef.org>
7089
7090         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7091         * docs/libs/Makefile.am: same
7092         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7093         * docs/random/ds/0.9-planning: random additions
7094         * docs/random/ds/0.9-suggested-changes: same
7095         * gst/gstxml.h: remove vestigal GstXMLNs definition
7096
7097         Preferred caps: (#147789)
7098         * docs/gst/gstreamer-sections.txt: Add symbols
7099         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7100         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7101         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7102         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7103         (gst_caps_get_preferred), (gst_caps_set_preferred),
7104         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7105         (gst_caps_use_preferred): Handle caps preferences
7106         * gst/gstcaps.h: Add caps preferences
7107         * gst/gstpad.c: (gst_pad_link_get_preferred),
7108         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7109         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7110         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7111         negotiation.
7112
7113 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7114
7115         * gst/autoplug/gstspideridentity.c:
7116         (gst_spider_identity_request_new_pad):
7117         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7118         (gst_aggregator_init):
7119         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7120         (gst_fakesink_init):
7121         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7122         (gst_fakesrc_init):
7123         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7124         (gst_fdsink_init):
7125         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7126         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7127         (gst_filesink_init):
7128         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7129         (gst_filesrc_init):
7130         * gst/elements/gstidentity.c: (gst_identity_base_init),
7131         (gst_identity_init):
7132         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7133         (gst_multifilesrc_init):
7134         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7135         (gst_pipefilter_init):
7136         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7137         (gst_statistics_init):
7138         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7139         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7140           s/gst_pad_new/&_from_template/
7141           register pad templates in the base_init function
7142           add static pad template definitions
7143
7144 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7145
7146         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7147         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7148         * testsuite/refcounting/pad.c: (main):
7149         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7150           s/gst_pad_new/&_from_template/
7151           prepare deprecation of gst_pad_new
7152
7153 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7154
7155         patch by: Luca Ognibene <skaboy81@virgilio.it>
7156
7157         * gst/gstcaps.c:
7158         * gst/gstelement.c:
7159         * gst/gstpad.c:
7160         * gst/gstxml.c:
7161           fix memleaks.  Fixes #150001
7162
7163 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7164
7165         * docs/random/ds/0.9-suggested-changes:
7166           add notes - mostly about pad templates
7167
7168 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7169
7170         * win32/GStreamer.vcproj:
7171           temporary locale files are .gmo not .mo
7172
7173 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7174
7175         * configure.ac: bump nano to cvs
7176
7177 === release 0.8.5 ===
7178
7179 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7180
7181         * configure.ac:
7182           releasing 0.8.5, "Stuttgart"
7183         * NEWS:
7184         * RELEASE:
7185         * configure.ac:
7186         * docs/random/release:
7187           updates for release
7188
7189 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7190
7191         patch by: Wim Taymans (wim@fluendo.com)
7192
7193         * gst/gstbuffer.c:
7194         * gst/gstindex.h:
7195         * libs/gst/dataprotocol/dataprotocol.c:
7196           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7197
7198 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7199
7200         * Makefile.am:
7201         * win32/MANIFEST:
7202           add win32 dir to the build.  Fixes #149981.
7203
7204 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7205
7206         * configure.ac:
7207           bump libtool versioning
7208         * gst/gststructure.c:
7209           mark function as static
7210         * po/af.po:
7211         * po/az.po:
7212         * po/ca.po:
7213         * po/cs.po:
7214         * po/en_GB.po:
7215         * po/fr.po:
7216         * po/nl.po:
7217         * po/sq.po:
7218         * po/sr.po:
7219         * po/sv.po:
7220         * po/tr.po:
7221         * po/uk.po:
7222           translations update
7223         * win32/README.txt:
7224           trademark protection
7225
7226 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7227
7228         * configure.ac:
7229           fix GST_ORIGIN
7230           set GST_PACKAGE to source, and distinguish between release and other
7231         * tools/gst-inspect.c:
7232           print out plugin an element factory is part of so we see this info
7233
7234 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7235
7236         * docs/gst/gstreamer-sections.txt:
7237         * docs/gst/tmpl/gstbuffer.sgml:
7238         * docs/gst/tmpl/gstschedulerfactory.sgml:
7239           reorder docs a little, make GstBuffer's more sensible.
7240         * gst/gstbuffer.h:
7241           API: added GST_BUFFER_FLAG_DELTA_UNIT
7242         * gst/gstscheduler.c:
7243           comment API addition
7244
7245 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7246
7247         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7248           work with non-regular files that can be mmapped (like /dev/zero)
7249         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7250           get rid of typefinds that require a seek when we can't seek instead
7251           of trying them over and over again
7252         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7253           return non-zero failure value when the pipeline was interrupted or
7254           an error occurred
7255
7256 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7257
7258         * win32/config.h:
7259         * win32/GStreamer.vcproj:
7260           compile and install the locales
7261
7262 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7263
7264         * gst/gstvalue.c:
7265           fix a possible memory leak under Windows
7266
7267 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7268
7269         * win32/GStreamer.vcproj:
7270           fix a memory leak that occured under Windows
7271         * win32/gstreamer.def:
7272           add gst_scheduler_register
7273
7274 2004-08-11  Benjamin Otte  <otte@gnome.org>
7275
7276         * docs/gst/gstreamer-sections.txt:
7277         * gst/gstscheduler.c: (gst_scheduler_register):
7278         * gst/gstscheduler.h:
7279           API:
7280           add gst_scheduler_register shortcut similar to gst_element_register
7281         * gst/schedulers/entryscheduler.c: (plugin_init):
7282         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7283         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7284           use it
7285
7286 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7287
7288         * gst/gstvalue.h:
7289           fix a memory leak that occured under Windows
7290
7291 2004-08-10  Colin Walters  <walters@redhat.com>
7292
7293         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7294         Don't use O_EXCL to open temporary registry.  It will prevent
7295         registry creation if a temporary one already exists, which
7296         is unnecessary.
7297
7298 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7299
7300         * docs/gst/gstreamer-sections.txt:
7301         * docs/gst/tmpl/gstvalue.sgml:
7302           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7303
7304 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7305
7306         * win32/gstbytestream.vcproj:
7307         * win32/gstelements.vcproj:
7308         * win32/gstgetbits.vcproj:
7309         * win32/gst-inspect.vcproj:
7310         * win32/gst-launch.vcproj:
7311         * win32/gstoptimalscheduler.vcproj:
7312         * win32/GStreamer.vcproj:
7313         * win32/gst-register.vcproj:
7314         * win32/gstspider.vcproj:
7315           update the include and lib dirs to fit standard libraries as
7316           described in the Win32 manual
7317
7318 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7319
7320         * win32/config.h:
7321         * win32/gstversion.h:
7322           enable NLS again, push the version number for the coming 0.8.5 release
7323
7324 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7325
7326         * gst/gstvalue.h:
7327           export gst_type_XXX for windows DLLs
7328
7329 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7330
7331         * docs/faq/gst-uninstalled:
7332           fix PKG_CONFIG_PATH and PYTHONPATH
7333         * gst/schedulers/Makefile.am:
7334           cleanup
7335         * libs/gst/bytestream/bytestream.c:
7336           remove newline
7337         * po/LINGUAS:
7338         * po/sq.po:
7339           adding Albanian translation (Laurent Dhima)
7340         * po/cs.po:
7341           updated
7342
7343 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7344
7345         * po/ca.po:
7346         * po/sv.po:
7347           updated translations
7348
7349 2004-08-04  Benjamin Otte  <otte@gnome.org>
7350
7351         * tests/mass_elements.c: (main):
7352           allow specifying src and sink element explicitly, so I can test
7353           videotestsrc instead of fakesrc
7354
7355 2004-08-04  Benjamin Otte  <otte@gnome.org>
7356
7357         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7358         (gst_structure_id_empty_new), (gst_structure_empty_new),
7359         (gst_structure_copy):
7360           add gst_structure_id_empty_new_with_size to allow preallocating
7361           value array sizes. Use this in gst_structure_copy to get rid of
7362           reallocs.
7363           don't do quark=>string=>quark when copying structures
7364
7365 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7366
7367         * docs/manual/win32.xml:
7368         * win32/README.txt:
7369           update documentation with the clean version of dependencies
7370
7371 2004-08-03  Benjamin Otte  <otte@gnome.org>
7372
7373         * gst/schedulers/entryscheduler.c:
7374         (gst_entry_scheduler_remove_element):
7375           fix for GST_DISABLE_DEBUG
7376         * tools/gst-launch.c: (print_tag):
7377           fixes for G_DISABLE_ASSERT
7378
7379 2004-08-03  Benjamin Otte  <otte@gnome.org>
7380
7381         * gst/gst.c: (gst_register_core_elements):
7382           fix for G_DISABLE_ASSERT
7383         * gst/gstinfo.c: (__gst_in_valgrind):
7384           add for GST_DISABLE_DEBUG
7385
7386 2004-08-03  Benjamin Otte  <otte@gnome.org>
7387
7388         * gst/parse/parse.l:
7389           fix for G_DISABLE_ASSERT
7390
7391 2004-08-03  Wim Taymans  <wim@fluendo.com>
7392
7393         * gst/gstbin.c: (gst_bin_get_type),
7394         (gst_bin_child_state_change_func):
7395         * gst/gstthread.c: (gst_thread_change_state):
7396         Backported some debug logging from a reverted patch
7397         Don't try to destroy the thread twice. Added some more
7398         debugging in GstThread. Unlock and signal even if we
7399         are in the thread context.
7400
7401 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7402
7403         * po/uk.po:
7404           updated translation
7405
7406 2004-07-30  David Schleef  <ds@schleef.org>
7407
7408         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7409
7410 2004-07-29  David Schleef  <ds@schleef.org>
7411
7412         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7413         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7414
7415 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7416
7417         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7418         (gst_bin_add_func), (gst_bin_remove_func),
7419         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7420         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7421         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7422         (gst_bin_sync_children_state):
7423         * gst/gstbin.h:
7424         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7425         (gst_thread_change_state):
7426         * testsuite/states/Makefile.am:
7427           revert state change patches as agreed so we can rework them
7428           gradually
7429
7430 2004-07-29  Benjamin Otte  <otte@gnome.org>
7431
7432         * libs/gst/control/Makefile.am:
7433           link to libgstreamer (fixes Debian bug 262019, see
7434           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7435
7436 2004-07-29  Wim Taymans  <wim@fluendo.com>
7437
7438         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7439         (check_from_fraction_convert), (transform_test), (main):
7440         Make the test less pedantic about float roundoff errors.
7441
7442 2004-07-29  Benjamin Otte  <otte@gnome.org>
7443
7444         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7445         (gst_filesrc_srcpad_event):
7446           make seek events to before start/after end of file not fail, but
7447           seek to start/end instead
7448         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7449           add more output
7450
7451 2004-07-29  Benjamin Otte  <otte@gnome.org>
7452
7453         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7454           check that caps are fixed
7455         * gst/gstpad.c: (gst_pad_template_new):
7456           don't try to simplify caps, costs too much time on gst_init
7457         * gst/gstplugin.c: (gst_plugin_add_feature):
7458           G_ERROR if features are added twice
7459         * gst/gsttypefind.c: (gst_type_find_register):
7460         * gst/gstelementfactory.c: (gst_element_register):
7461           don't add features twice
7462         * docs/random/ds/0.9-suggested-changes:
7463           add note about possible gst_init optimization
7464
7465 2004-07-28  David Schleef  <ds@schleef.org>
7466
7467         * testsuite/elements/Makefile.am:
7468         * testsuite/elements/struct_i386.h:
7469         * testsuite/elements/struct_size.c: (main):  A little test
7470         to keep distcheck from working if someone changes a structure
7471         size accidentally.
7472
7473 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7474
7475         * docs/libs/Makefile.am:
7476         * docs/libs/gstreamer-libs-docs.sgml:
7477         * docs/libs/gstreamer-libs-sections.txt:
7478         * docs/libs/tmpl/gstbytestream.sgml:
7479         * docs/libs/tmpl/gstcontrol.sgml:
7480         * docs/libs/tmpl/gstdataprotocol.sgml:
7481         * docs/libs/tmpl/gstgetbits.sgml:
7482         * libs/gst/bytestream/Makefile.am:
7483         * libs/gst/bytestream/bytestream.c:
7484         * libs/gst/bytestream/bytestream.h:
7485         * libs/gst/control/Makefile.am:
7486         * libs/gst/dataprotocol/Makefile.am:
7487         * libs/gst/getbits/Makefile.am:
7488         * libs/gst/getbits/getbits.h:
7489           various doc and style fixes, adding bytestream to libs docs.
7490
7491 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7492
7493         * docs/gst/gstreamer-docs.sgml:
7494         * docs/libs/Makefile.am:
7495         * docs/libs/gstreamer-libs-docs.sgml:
7496         * docs/libs/gstreamer-libs-sections.txt:
7497         * libs/gst/control/dparam.c:
7498           more doc fixes.  gst-libs docs now build the same way as gst.
7499
7500 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7501
7502         * configure.ac:
7503         * testsuite/Makefile.am:
7504         * testsuite/bins/Makefile.am:
7505         * testsuite/caps/Makefile.am:
7506         * testsuite/cleanup/Makefile.am:
7507         * testsuite/clock/Makefile.am:
7508         * testsuite/debug/Makefile.am:
7509         * testsuite/dlopen/Makefile.am:
7510         * testsuite/dynparams/Makefile.am:
7511         * testsuite/elements/.cvsignore:
7512         * testsuite/elements/Makefile.am:
7513         * testsuite/enumcaps/Makefile.am:
7514         * testsuite/enumcaps/enumcaps.c:
7515         * testsuite/ghostpads/Makefile.am:
7516         * testsuite/indexers/Makefile.am:
7517         * testsuite/negotiation/Makefile.am:
7518         * testsuite/parse/Makefile.am:
7519         * testsuite/plugin/Makefile.am:
7520         * testsuite/refcounting/Makefile.am:
7521         * testsuite/schedulers/.cvsignore:
7522         * testsuite/states/Makefile.am:
7523         * testsuite/tags/Makefile.am:
7524         * testsuite/threads/Makefile.am:
7525           fold enumcaps into caps dir
7526           clean up Makefile.am's for testsuite
7527
7528 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7529
7530         * docs/gst/Makefile.am:
7531         * docs/libs/Makefile.am:
7532           clean up docs build.  Fixes needless rebuilding of template files.
7533
7534 2004-07-28  Wim Taymans  <wim@fluendo.com>
7535
7536         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7537         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7538         Make sure that a bin state change tries to keep the children
7539         in sync. 
7540         Added debug logging to the thread.
7541
7542 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7543
7544         * win32/GStreamer.vcproj:
7545         * win32/gstreamer.def:
7546           more exports for the plugins
7547
7548 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7549
7550         * win32/gstgetbits.vcproj:
7551         * win32/gstgetbits.def:
7552         * win32/msvc71.sln:
7553           add support for the getbits plugin
7554
7555 2004-07-27  Wim Taymans  <wim@fluendo.com>
7556
7557         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7558         (gst_value_transform_fraction_double), (_gst_value_initialize):
7559         * testsuite/caps/Makefile.am:
7560         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7561         (check_from_fraction_convert), (transform_test), (main):
7562         Added transform functions between double and fraction.
7563         Added testcase to verify transforms
7564
7565 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7566
7567         * win32/GStreamer.vcproj:
7568           rename GStreamer-0.8.lib to libgstreamer.lib
7569
7570 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7571
7572         * win32/gstelements.vcproj:
7573         * win32/gstoptimalscheduler.vcproj:
7574           fixes for the Release build
7575
7576 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7577
7578         * win32/config.h:
7579           update the version number
7580
7581 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7582
7583         * win32/GStreamer.vcproj:
7584           add gstinterface to the build
7585
7586 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7587
7588         * win32/gstreamer.def:
7589           add many definitions needed by plugins,
7590           GST_CAT_DEFAULT only available in the Debug build ?
7591
7592 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7593
7594         * gst/gstelement.c: (gst_element_set_eos_recursive):
7595           various whitespace fixes.
7596           doc fix, fixes #148497
7597
7598 2004-07-25  Benjamin Otte  <otte@gnome.org>
7599
7600         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7601           don't delay links on the sink elements, it causes unnegotiated
7602           links.
7603         * gst/elements/gsttypefindelement.c:
7604         (gst_type_find_element_base_init):
7605           add our padtemplates, we indeed do have some.
7606         * gst/elements/gsttypefindelement.c:
7607         (gst_type_find_element_handle_event),
7608         (gst_type_find_element_chain):
7609           don't push data when typefinding failed.
7610         * gst/gstpad.c: (gst_pad_link_fixate):
7611           check that no fixate function returns empty caps.
7612         * gst/gstpad.c: (gst_pad_push):
7613           check that the link is negotiated before data gets pushed.
7614         * tools/gst-register.c: (main):
7615           don't assert (fixes #148283)
7616
7617 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7618
7619         * docs/gst/gstreamer-sections.txt:
7620         * docs/gst/tmpl/gstconfig.sgml:
7621           add GST_PLUGIN_EXPORT definition
7622
7623 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7624
7625         * gst/gstplugin.h:
7626         * gst/gstconfig.h.in:
7627         * win32/gstconfig.h:
7628         * win32/gstelements.def:
7629         * win32/gstelements.vcproj:
7630         * win32/gstoptimalscheduler.def:
7631         * win32/gstoptimalscheduler.vcproj:
7632         * win32/gstspider.def:
7633         * win32/gstspider.vcproj:
7634           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7635
7636 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7637
7638         * docs/gst/gstreamer-sections.txt:
7639           remove GST_CAT_DEFAULT because the type has changed
7640
7641 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7642
7643         * win32/gstbytestream.vcproj:
7644         * win32/gstelements.vcproj:
7645         * win32/gst-inspect.vcproj:
7646         * win32/gst-launch.vcproj:
7647         * win32/gstoptimalscheduler.vcproj:
7648         * win32/GStreamer.vcproj:
7649         * win32/gst-register.vcproj:
7650         * win32/gstspider.vcproj:
7651         * win32/msvc71.sln:
7652           Copy the files where needed after building, The testsuite will be
7653           built separately
7654
7655 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7656
7657         * win32/config.h:
7658         * win32/README.txt:
7659         * docs/manual/win32.xml:
7660         Fixed the plugin and GStreamer location
7661
7662 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7663
7664         * win32/gstreamer.def:
7665         More exports for the plugins
7666
7667 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7668
7669         * gst/gstinfo.h:
7670         Marc was right, we need to export literally GST_CAT_DEFAULT
7671
7672 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7673
7674         * win32/config.h:
7675         NLS crashes in gettext, disabled until this is solved
7676
7677 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7678
7679         * win32/gst-inspect.vcproj:
7680         * win32/gst-launch.vcproj:
7681         Should use NLS when available
7682
7683 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7684
7685         * gst/registries/gstxmlregistry.c:
7686         removing the file doesn't seem to be a good idea on Linux
7687
7688 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7689
7690         * gst/registries/gstxmlregistry.c:
7691         Remove the registry before renaming the tempfile (needed for Windows)
7692
7693 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7694
7695         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7696         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7697         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7698         * gst/elements/gstmultifilesrc.h:
7699         Added newmedia property so it generates newmedia events between each
7700         file when property is set, as well as fixed eos handling
7701
7702 2004-07-22  David Schleef  <ds@schleef.org>
7703
7704         * gst/gststructure.c: (gst_structure_id_empty_new),
7705         (gst_structure_empty_new):  Set type field correctly.
7706         * gst/gststructure.h: Check type field correctly.
7707         * testsuite/caps/Makefile.am:
7708         * testsuite/caps/structure.c: (test1), (main): Add a very small
7709         test for structures.
7710
7711 2004-07-22  David Schleef  <ds@schleef.org>
7712
7713         * docs/random/ds/0.9-suggested-changes: more comments
7714         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7715
7716 2004-07-22  Benjamin Otte  <otte@gnome.org>
7717
7718         * gst/gstelementfactory.c: (gst_element_register):
7719           set the factory in the class struct, so gst_element_get_factory
7720           actually works
7721         * gst/parse/grammar.y:
7722           set element to playing when it gets unlocked as we can't rely on the
7723           bin state - all elements in the bin state might still be locked in
7724           NULL)
7725
7726 2004-07-22  Benjamin Otte  <otte@gnome.org>
7727
7728         * gst/gstelement.c: (gst_element_set_state_func):
7729           make this a static function
7730
7731 2004-07-22  Wim Taymans  <wim@fluendo.com>
7732
7733         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7734         (gst_opt_scheduler_pad_link):
7735         fix 147894-2 and the group_link problem.
7736
7737 2004-07-22  Wim Taymans  <wim@fluendo.com>
7738
7739         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7740         (handoff_identity), (main):
7741         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7742         (handoff_identity), (main):
7743         * testsuite/schedulers/Makefile.am:
7744         * testsuite/schedulers/group_link.c: (main):
7745         Show bug in scheduler when linking chain and loop based element 
7746         where the chain based element was not yet in a group.
7747
7748 2004-07-21  Benjamin Otte  <otte@gnome.org>
7749
7750         * gst/.cvsignore:
7751         * gst/autoplug/.cvsignore:
7752         * gst/elements/.cvsignore:
7753         * gst/indexers/.cvsignore:
7754         * libs/gst/bytestream/.cvsignore:
7755         * libs/gst/control/.cvsignore:
7756         * libs/gst/getbits/.cvsignore:
7757         * testsuite/states/.cvsignore:
7758         * testsuite/threads/.cvsignore:
7759           keep this up to date, since I seem to be the only one who cares
7760           about not missing files on commits (editor's note: no you don't,
7761           but feel free to change them at the time you add stuff instead
7762           of later on)
7763
7764 2004-07-21  Benjamin Otte  <otte@gnome.org>
7765
7766         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7767         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7768         (gst_bin_child_state_change_func), (set_kid_state_func),
7769         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7770           make state changes work correctly and reentrant (so removing
7771           elements from bins during state changes of bins doesn't cause
7772           segfaults or even wrong states)
7773           add debugging category and debugging output to print children states
7774         * gst/gstbin.c: (gst_bin_dispose): 
7775           add some assertion checks
7776         * gst/gstbin.h:
7777         * gst/gstbin.c: (gst_bin_sync_children_state):
7778           deprecate this function - it just does gst_bin_set_state (bin,
7779           GST_STATE (bin)) 
7780         * testsuite/threads/queue.c: (main):
7781           don't use gst_bin_sync_children_state anymore
7782         * testsuite/states/Makefile.am:
7783         * testsuite/states/bin.c:
7784           test that the state changes of bins work as expected
7785         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7786           some adjustments to change states correctly, too
7787         * gst/gstthread.c: (gst_thread_change_state):
7788           don't enable/disable "threadsafe" properties, they're unused and
7789           cause random segfaults
7790         * testsuite/threads/Makefile.am:
7791           the queue check randomly passes now, ignore it
7792
7793 2004-07-21  Benjamin Otte  <otte@gnome.org>
7794
7795         * gst/gstpad.c:
7796           check if data is NULL before outputting debug info. (fixes #145100)
7797
7798 2004-07-21  Benjamin Otte  <otte@gnome.org>
7799
7800         * gst/schedulers/entryscheduler.c:
7801         (gst_entry_scheduler_loop_wrapper),
7802         (gst_entry_scheduler_chain_wrapper),
7803         (gst_entry_scheduler_get_wrapper):
7804           reset the state when the cothread starts, so we don't get assertion
7805           failures on restarting of cothreads
7806
7807 2004-07-20  Benjamin Otte  <otte@gnome.org>
7808
7809         * gst/gstelement.c: (gst_element_link_pads_filtered):
7810           use correct sinkpad, if only sinkpad is specified, but not srcpad
7811           (fixes #147889)
7812         * gst/gstelement.c: (gst_element_set_state_func),
7813         (gst_element_change_state): ref/unref the element, signal handlers
7814         could get rid of the element otherwise
7815
7816 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7817
7818         * docs/random/ds/0.9-suggested-changes:
7819           Make note about renaming fixed-list to array.
7820         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7821         (_gst_value_initialize):
7822           Add array intersections.
7823         * testsuite/caps/intersect2.c: (main):
7824           Add test for array intersections.
7825
7826 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7827
7828         * configure.ac: back to cvs
7829
7830 === release 0.8.4 ===
7831
7832 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7833
7834         * configure.ac:
7835           releasing 0.8.4, "Paella"
7836           bump libtool versioning
7837
7838 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7839
7840         * po/LINGUAS:
7841         * po/ca.po:
7842           adding Catalan translation (Jordi Mallach)
7843
7844 2004-07-20  Wim Taymans  <wim@fluendo.com>
7845
7846         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7847         (handoff_identity), (main):
7848         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7849         (handoff_identity), (main):
7850         * testsuite/schedulers/Makefile.am:
7851         Added failing testcase for variant of #147894
7852
7853 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7854
7855         patch by: David Moore
7856
7857         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7858         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7859         (group_migrate_connected):
7860         * testsuite/schedulers/Makefile.am:
7861           fix for #142813 (Deadlock in optimal scheduler)
7862
7863 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7864
7865         patch by: Wim Taymans
7866
7867         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7868         (gst_opt_scheduler_schedule_run_queue),
7869         (gst_opt_scheduler_get_wrapper), (get_group),
7870         (group_migrate_connected):
7871         * testsuite/schedulers/Makefile.am:
7872           fix for #147819 (Add some checks in the opt scheduler)
7873
7874 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7875
7876         patch by: Benjamin Otte
7877
7878         * gst/gstelementfactory.c: (__gst_element_details_set):
7879           fix for #147929: running gst-register in non-utf8 locale can cause
7880           invalid registry
7881
7882 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7883
7884         patch by: Wim Taymans
7885
7886         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7887         (group_has_element), (element_get_reachables_func),
7888         (group_migrate_connected):
7889           fix for #147894 (opt scheduler decoupled elements mismanagement)
7890         * testsuite/schedulers/Makefile.am:
7891           testsuite app now passes
7892
7893 2004-07-19  Wim Taymans  <wim@fluendo.com>
7894
7895         * testsuite/schedulers/147819.c: (handoff_identity1),
7896         (handoff_identity2), (main):
7897         * testsuite/schedulers/Makefile.am:
7898         Added testcase for bug 147819
7899
7900 2004-07-19  Wim Taymans  <wim@fluendo.com>
7901
7902         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7903         (handoff_identity), (main):
7904         * testsuite/schedulers/Makefile.am:
7905         Added testcase for bug 147894
7906
7907 2004-07-16  Wim Taymans  <wim@fluendo.com>
7908
7909         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7910         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7911         * testsuite/schedulers/Makefile.am:
7912         Added testsuite for bug 142183 in its two incarnations. Refcount
7913         is not increased for scheduled elements and threadsafe properties
7914         mutexes are not properly unlocked.
7915
7916 2004-07-16  Wim Taymans  <wim@fluendo.com>
7917
7918         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7919         (create_chain), (destroy_chain), (create_group), (destroy_group),
7920         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7921         (group_dec_link), (gst_opt_scheduler_pad_link),
7922         (group_inc_links_for_element), (group_migrate_connected):
7923         Call group_inc_link with the proper src->sink ordering -- 
7924         break this, and we break sort_chain. patch from wingo for bug
7925         147713.
7926         Partially revert patch 1.89. When adding a loop based element to 
7927         the scheduler, the links to other groups are automatically followed
7928         and incremented. This should not happen because the bin will call
7929         pad_link explicitly for those connection, resulting in them counted 
7930         twice. Results in assertion failure on pipeline cleanup.
7931
7932 2004-07-16  Wim Taymans  <wim@fluendo.com>
7933
7934         * testsuite/schedulers/143777-2.c: (main):
7935         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7936         (main):
7937         * testsuite/schedulers/Makefile.am:
7938         Added cleanup code to testcase 143777-2.
7939         Added testcase to show bug 147713, does not really show the
7940         deadlock as I can't figure out how to trigger it, but it does
7941         demonstrate bad ordering in the scheduler.
7942
7943 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7944
7945         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7946           change strndup to g_strndup.  Fixes #147707
7947
7948 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7949
7950         * po/af.po:
7951         * po/az.po:
7952         * po/cs.po:
7953         * po/en_GB.po:
7954         * po/fr.po:
7955         * po/nl.po:
7956         * po/sr.po:
7957         * po/sv.po:
7958         * po/tr.po:
7959         * po/uk.po:
7960           updated translations
7961
7962 2004-07-16  Benjamin Otte  <otte@gnome.org>
7963
7964         * gst/gstvalue.c: (gst_greatest_common_divisor):
7965           use ints and return ints, fractions only use ints, too, so this
7966           avoids accidently casting multiplications to unsigned
7967         (gst_value_lcopy_fraction): it's ints, not uint32
7968         (gst_value_set_fraction): disallow minint, multiplying and negation
7969           are broken with it
7970         (gst_value_fraction_multiply): fix to make large numbers work and get
7971         rid of the assumption that the multiplication of two ints fits an
7972         int64 - dunno if that's true for all systems
7973         * testsuite/caps/Makefile.am:
7974         * testsuite/caps/fraction-multiply-and-zero.c:
7975         (check_multiplication), (check_equal), (zero_test), (main):
7976           add tests for all the stuff above
7977         * testsuite/caps/value_compare.c: (test1):
7978           fix comment
7979         * tests/.cvsignore:
7980         * testsuite/caps/.cvsignore:
7981         * testsuite/debug/.cvsignore:
7982         * testsuite/dlopen/.cvsignore:
7983         * testsuite/states/.cvsignore:
7984           get up to date
7985
7986 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7987
7988         * docs/manual/bins-api.xml:
7989         * docs/manual/factories.xml:
7990         * docs/manual/helloworld.xml:
7991         * docs/manual/links-api.xml: 
7992           fixes for out of date info, incorrect info and grammar
7993
7994 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7995
7996         * docs/manual/pads.xml:
7997         * docs/manual/pads-api.xml: grammar fix
7998
7999 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8000
8001         * docs/manual/pads-api.xml: typo + grammar fix
8002
8003 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8004
8005         * docs/gst/gstreamer-sections.txt:
8006           add new symbols
8007         * docs/gst/tmpl/gstelement.sgml:
8008         * docs/gst/tmpl/gstpad.sgml:
8009         * docs/gst/tmpl/gsttypes.sgml:
8010         * docs/gst/tmpl/gstvalue.sgml:
8011           update docs
8012         * gst/gststructure.c: (gst_structure_set_valist),
8013         (gst_structure_from_abbr), (gst_structure_to_abbr):
8014         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8015         (gst_greatest_common_divisor), (gst_value_init_fraction),
8016         (gst_value_copy_fraction), (gst_value_collect_fraction),
8017         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8018         (gst_value_get_fraction_numerator),
8019         (gst_value_get_fraction_denominator),
8020         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8021         (gst_value_deserialize_fraction),
8022         (gst_value_transform_fraction_string),
8023         (gst_value_transform_string_fraction),
8024         (gst_value_compare_fraction), (_gst_value_initialize):
8025         * gst/gstvalue.h:
8026           adding GstFraction GValue type, get/set, and multiply
8027         * testsuite/caps/Makefile.am:
8028         * testsuite/caps/fraction.c: (test), (main):
8029         * testsuite/caps/string-conversions.c: (main):
8030         * testsuite/caps/value_compare.c: (test1), (main):
8031           add regression tests for GstFraction
8032
8033 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8034         
8035         * docs/manual/init-api.xml: Grammar fix
8036
8037 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8038
8039         * docs/manual/states.xml: Fix inconsistent information
8040
8041 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8042
8043         * gst/gstelement.c: (gst_element_set_state):
8044         * gst/gstpad.c: (gst_pad_try_set_caps):
8045         * gst/gststructure.c:
8046         * gst/gstthread.c: (gst_thread_child_state_change):
8047         * gst/gstvalue.c: (gst_value_compare_double):
8048         * gst/gstvalue.h:
8049         * testsuite/parse/parse1.c: (main):
8050           debugging additions and style cleanups
8051
8052 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8053
8054         * docs/manual/states.xml: Grammar fix
8055
8056 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8057
8058         * docs/manual/pads.xml: Grammar fix
8059
8060 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8061
8062         * docs/manual/elements.xml: Fixed image reference
8063
8064 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8065
8066         * docs/manual/goals.xml: Grammar fix
8067
8068 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8069
8070         * docs/manual/motivation.xml:
8071         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8072
8073 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8074
8075         * docs/manual/motivation.xml: Fix spelling
8076
8077 2004-07-15  Benjamin Otte  <otte@gnome.org>
8078
8079         * gst/gstelement.h: 
8080           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8081           strings.
8082         * gst/gstelement.c (gst_element_class_init):
8083           GError's are boxed, not objects
8084         * gst/gstmarshal.list:
8085           update list for the fixed error signal
8086
8087 2004-07-14  Andy Wingo  <wingo@pobox.com>
8088
8089         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8090         there all along, but the function wasn't. (guile-gstreamer's build
8091         system uses the address of the function -- I wasn't actually
8092         trying to use this.)
8093
8094 2004-07-14  Andy Wingo  <wingo@pobox.com>
8095
8096         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8097         as gst_pad_proxy_pad_link) just link to every other pad when they
8098         are called. In the case where the graph has cycles, this will mean
8099         that a call to try_set_caps will recurse. Allow this recursion
8100         and return OK, while we wait for the first try_set_caps to give a
8101         proper return value.
8102         (gst_pad_link_call_link_functions): Since this function is the
8103         only one to set the NEGOTIATING flag on a pad, if the flag is set
8104         it means that the link functions have indirectly recursed. If this
8105         happens, error out to avoid infinite recursion and an eventual
8106         SEGV.
8107         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8108         (gst_pad_proxy_getcaps): Intersect the result with the template
8109         caps to ensure that the return value is valid.
8110
8111 2004-07-14  Andy Wingo  <wingo@pobox.com>
8112
8113         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8114         one refcount, the calling function is the owner of the buffer.
8115
8116 2004-07-14  Wim Taymans  <wim@fluendo.com>
8117
8118         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8119         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8120         Fix stupid warning when an element is to be migrated but
8121         is already migrated.
8122
8123 2004-07-14  Wim Taymans  <wim@fluendo.com>
8124
8125         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8126         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8127         Make sure that a single non-loop-based element does not 
8128         end up in a group. This fixes the testsuite again.
8129
8130 2004-07-14  Wim Taymans  <wim@fluendo.com>
8131
8132         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8133         (add_to_group), (merge_groups), (schedule_group),
8134         (gst_opt_scheduler_get_wrapper), (group_elements),
8135         (group_dec_link), (gst_opt_scheduler_pad_link),
8136         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8137         (gst_opt_scheduler_iterate):
8138         move isolated groups to a new chain.
8139         Emit a warning instead of segfaulting in some error cases.
8140         Fix a bug where the link count between groups was not calculated 
8141         correctly. Fixes #144510.
8142
8143 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8144         * gst/elements/gstfilesrc.c:
8145           Binary files support under Windows now OK
8146       
8147 2004-07-13  Benjamin Otte  <otte@gnome.org>
8148
8149           compatibility fixes for Solaris 8/gcc 2.95
8150         * configure.ac:
8151           include libintl libs in LDFLAGS
8152         * gstvalue.c (gst_value_deserialize_buffer):
8153           cast isxdigit stuff to int to silence compiler warning
8154
8155 2004-07-12  Benjamin Otte  <otte@gnome.org>
8156
8157         * gst/gsttypes.h:
8158           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8159           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8160           just causes support madness
8161         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8162           make it work without this
8163         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8164         (gst_file_index_commit):
8165           glib IO channels don't want binary mode
8166         * testsuite/bytestream/filepadsink.c: (main):
8167         * testsuite/bytestream/test1.c: (read_param_file):
8168           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8169
8170 2004-07-12  Benjamin Otte  <otte@gnome.org>
8171
8172         * gst/gstelement.c: (gst_element_class_init),
8173         (gst_element_set_state), (gst_element_set_state_func):
8174           virutalize gst_element_set_state, use set_state member in class
8175           struct that was already added in 0.7 for this.
8176         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8177         (gst_bin_change_state):
8178           make gst_bin_foreach works similar to other foreach functions, plug
8179           memleaks in it. Make functions using it work with the new approach.
8180           Document gst_bin_foreach, so it can be exported if we want to
8181         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8182           use virtualized set_state to make set_state on bins set the state of
8183           all its children.
8184
8185 2004-07-12  Benjamin Otte  <otte@gnome.org>
8186
8187         * configure.ac:
8188           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8189           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8190         * gst/gstpad.c: (gst_pad_alloc_buffer):
8191           allow buffer_alloc functions to return NULL and allocate a normal
8192           buffer in that case
8193
8194 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8195         * gst/elements/gstfilesink.c:
8196         * gst/elements/gstfilesrc.c:
8197         * gst/indexers/gstfileindex.c:
8198         * gst/gsttypes.h:
8199         * testsuite/bytestream/filepadsink.c:
8200         * testsuite/bytestream/test1.c:
8201           Handle binary files under Windows
8202
8203 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8204         * docs/manual/win32.xml:
8205         * win32/config.h:
8206         * win32/gst-register.vcproj:
8207         * win32/gstreamer.def:
8208           Update to another gettext public build
8209
8210 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8211         * gst/gstplugin.c:
8212           Fix an impossible C syntax
8213         * win32/config.h:
8214           Disable i18n under Windows for the moment
8215         * win32/gst-register.vcproj:
8216           Use this configuration
8217
8218 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8219         * docs/manual/quotes.xml:
8220           Keep the quotes file alive
8221         * docs/random/ds/0.9-suggested-changes:
8222           Add the suggestion of including a 'rowstride' as part of video
8223           format caps
8224
8225 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8226
8227         * gst/gstelement.c: (gst_element_set_state),
8228         (gst_element_change_state):
8229           d'oh.  Set PENDING state correctly before forcing bin to change.
8230         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8231         (gst_structure_parse_fixed_list):
8232         * gst/schedulers/gstoptimalscheduler.c:
8233         (gst_opt_scheduler_state_transition):
8234         * testsuite/states/parent.c: (main):
8235           remove comment now that it's fixed.
8236
8237 2004-07-11  Benjamin Otte  <otte@gnome.org>
8238
8239         * gst/gstclock.h:
8240           GST_SECOND shouldn't cause a conversion to unsigned.
8241         * testsuite/clock/.cvsignore:
8242         * testsuite/clock/Makefile.am:
8243         * testsuite/clock/signedness.c: (main):
8244           make sure it never will again
8245
8246 2004-07-11  Andy Wingo  <wingo@pobox.com>
8247
8248         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8249         whose state is higher than the bin state, raise the bin state to
8250         ensure that bin state := highest child state.
8251         
8252 2004-07-11  Andy Wingo  <wingo@pobox.com>
8253
8254         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8255         procedure on the children of a bin. Assumes that the procedure can
8256         change the set of children.
8257         (set_kid_state_func): New static function.
8258         (gst_bin_change_state): Use gst_bin_foreach to call
8259         set_kid_state_func. Fixes a bug: if a child had a state-change
8260         handler that removes it from the bin, there would be a segfault.
8261         Hopefully it should also work in the case where the state-change
8262         handler on one child adds or removes other children. In any case,
8263         fixes should go to gst_bin_foreach.
8264
8265 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8266
8267         * gst/gstelement.c: (gst_element_set_state):
8268           compatibility fix for latest plugins release.  Change loop back
8269           to while {}
8270
8271 2004-07-09  Wim Taymans  <wim@fluendo.com>
8272
8273         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8274         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8275         (gst_thread_main_loop):
8276         Since remove is virtual in GstBin we must not assume the 
8277         elements GList to have anothing useful.
8278         Add some more logging to GstThread and be a bit more paranoid
8279         when resetting the scheduler.
8280         Set the state of the bin to NULL before removing the children.
8281
8282 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8283
8284         * testsuite/threads/Makefile.am:
8285         * testsuite/threads/threadg.c:
8286           added test to check if problem when removing all elements from a
8287           GstThread before setting GstThread state to NULL
8288
8289 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8290
8291         * docs/gst/tmpl/gstelement.sgml:
8292         * docs/gst/tmpl/gsttypes.sgml:
8293         * gst/gstbin.c: (gst_bin_change_state):
8294         * gst/gstelement.c: (gst_element_set_state),
8295         (gst_element_change_state):
8296           rework so that for bins we try to set the state on all children
8297           as well even if the bin is in the correct state already.
8298           change while to do so at least one iteration is done.
8299           For regular elements, we fall back to the previous behaviour for
8300           now since we first need a new plugins release.
8301         * testsuite/states/parent.c: (main):
8302           test for this case
8303           Fixes #123774
8304
8305 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8306
8307         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8308         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8309         (gst_queue_release_locks), (gst_queue_change_state),
8310         (gst_queue_set_property):
8311           add proper lock debugging.  Change dispose to finalize, since
8312           we're freeing mutexes and other stuff which should happen only once.
8313
8314 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8315
8316         * docs/gst/tmpl/gstelement.sgml:
8317         * docs/gst/tmpl/gstplugin.sgml:
8318         * docs/gst/tmpl/gsttypes.sgml:
8319         * docs/pwg/building-state.xml:
8320         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8321         * gst/gstelement.c: (gst_element_change_state):
8322         * gst/gstthread.c: (gst_thread_change_state):
8323           catch wrong state changes in element base class.
8324
8325 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8326
8327         * gst/gstinfo.h:
8328           clean up layout a little.
8329
8330 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8331
8332         * configure.ac:
8333         * testsuite/Makefile.am:
8334         * testsuite/states/Makefile.am:
8335         * testsuite/states/parent.c: (main):
8336           re-enable states testsuite dir.  Add test for state changes and
8337           parent behaviour
8338
8339 2004-07-09  Wim Taymans  <wim@fluendo.com>
8340
8341         * gst/schedulers/gstoptimalscheduler.c:
8342         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8343         (element_get_reachables_func), (element_get_reachables),
8344         (debug_element), (rechain_group), (group_migrate_connected),
8345         (gst_opt_scheduler_pad_unlink):
8346         Do not try to migrate decoupled elements to a new group since
8347         they are not added to groups.
8348
8349 2004-07-08  Benjamin Otte  <otte@gnome.org>
8350
8351         * gst/gstelement.c: (gst_element_error_func):
8352           make reentrant (= allow removing elements in error handler)
8353
8354 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8355
8356         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8357         (gst_pad_send_event), (gst_pad_call_chain_function):
8358           events sent to elements below PAUSED cannot be handled, so
8359           don't try to
8360
8361 2004-07-08  Wim Taymans  <wim@fluendo.com>
8362
8363         * gst/schedulers/gstoptimalscheduler.c:
8364         (chain_recursively_migrate_group), (create_group),
8365         (schedule_group), (gst_opt_scheduler_pad_link),
8366         (group_elements_set_visited), (element_get_reachables_func),
8367         (element_get_reachables), (group_can_reach_group), (debug_element),
8368         (rechain_group), (group_migrate_connected),
8369         (gst_opt_scheduler_pad_unlink):
8370         * testsuite/schedulers/Makefile.am:
8371         Implemented group splitting and rechaining.
8372         Fixes 143777 and 143777-2 in the testsuite.
8373
8374 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8375
8376         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8377           extra debugging
8378         * gst/gstevent.h:
8379         * gst/gstinfo.c: (gst_debug_log_default):
8380           print time nicely.  add thread pointer until someone figures out
8381           a completely portable way of getting at thread id's.
8382         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8383         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8384         (gst_pad_call_chain_function):
8385           extra debugging
8386         * gst/schedulers/gstoptimalscheduler.c:
8387         (get_group_schedule_function), (loop_group_schedule_function),
8388         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8389         (pad_clear_queued), (gst_opt_scheduler_iterate):
8390           rename BUFPEN and friends to DATAPEN since that's what they are.
8391
8392 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8393
8394         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8395         * gst/gstbuffer.h:
8396         * gst/gstpad.c:
8397           cleanups and debugging
8398
8399 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8400
8401         * configure.ac:
8402         * gst/gstvalue.c: (gst_value_compare_enum),
8403         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8404         (gst_value_can_compare), (gst_value_compare):
8405         * testsuite/Makefile.am:
8406         * testsuite/enumcaps/Makefile.am:
8407         * testsuite/enumcaps/enumcaps.c:
8408           Fix enum serialization, deserialization, comparison in caps, add
8409           a test to ensure that this continues working in the future.
8410
8411 2004-07-06  David Schleef  <ds@schleef.org>
8412
8413         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8414         Fix memleak.
8415
8416 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8417
8418         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8419         * gst/gstplugin.h:
8420         * gst/registries/gstxmlregistry.c:
8421         (plugin_times_older_than_recurse), (plugin_times_older_than),
8422         (gst_xml_registry_parse_padtemplate):
8423           only rebuild registry when actual plugins have a newer time than
8424           the registry.  Fixes #145520
8425
8426 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8427
8428         * docs/manual/manual.xml:
8429         * docs/manual/win32.xml:
8430           add chapter on win32 building.  fixes #142422
8431
8432 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8433
8434         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8435
8436         * gst/autoplug/gstspider.c: (gst_spider_init),
8437         (gst_spider_dispose):
8438           fix spider memleaks.  fixes #137863
8439
8440 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8441
8442         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8443
8444         * gst/schedulers/gstoptimalscheduler.c:
8445         (gst_opt_scheduler_pad_unlink):
8446           fix SIGBUS error, fixes #145338
8447
8448 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8449
8450         * gst/gstobject.c: (gst_object_replace):
8451         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8452         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8453           clean up clock lifecycle.  Fixes #109831
8454
8455 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8456
8457         * po/LINGUAS:
8458         * po/cs.po:
8459           added Czech translation (Miloslav Trmac)
8460
8461 2004-07-04  David Schleef  <ds@schleef.org>
8462
8463         * tools/Makefile.am:
8464         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8465
8466 2004-07-04  David Schleef  <ds@schleef.org>
8467
8468         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8469
8470 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8471
8472         * gst/gstbin.c: (gst_bin_restore_thyself):
8473           chain to parent restore so the bins get restored correctly
8474           in the editor
8475
8476 2004-07-03  David Schleef  <ds@schleef.org>
8477
8478         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8479         Actually do something in these functions, like before the big
8480         caps change.  (bug #145137)
8481
8482 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8483
8484         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8485         (gst_element_get_compatible_pad_filtered):
8486         * gst/gstthread.c: (gst_thread_main_loop):
8487           more debugging
8488
8489 2004-07-02  David Schleef  <ds@schleef.org>
8490
8491         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8492         * gst/gstobject.h:
8493         * gst/gstparse.h:
8494         * gst/gsttrace.h:
8495         * gst/gstxml.h:
8496
8497 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8498
8499         * gst/gstpad.c: (gst_pad_check_schedulers),
8500         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8501         (gst_pad_link_prepare):
8502           revert until testsuite is fixed
8503
8504 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8505
8506         * testsuite/Makefile.am:
8507         * testsuite/caps/filtercaps.c: (main):
8508         * testsuite/clock/clock1.c: (main):
8509         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8510           fix some more tests
8511
8512 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8513
8514         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8515         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8516         * testsuite/cleanup/cleanup4.c: (main):
8517           fix testsuite
8518
8519 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8520
8521         * libs/gst/control/control.c:
8522         * libs/gst/control/dparam.c:
8523         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8524         * libs/gst/control/dparammanager.c:
8525         * libs/gst/control/dparammanager.h:
8526         * testsuite/dynparams/Makefile.am:
8527         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8528         (gst_dptest_change_state), (gst_dptest_chain), (main):
8529           fix testcase for dparams
8530           add debugging category
8531
8532 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8533
8534         * testsuite/Rules:
8535           change path
8536
8537 2004-07-02  Benjamin Otte  <otte@gnome.org>
8538
8539         * tests/.cvsignore:
8540         * tests/Makefile.am:
8541         * tests/mass_elements.c: (gst_get_current_time), (main):
8542           add simple benchmark to test various speeds of fakesrc ! identity !
8543           identity ! ... ! fakesink.
8544           Usage: mass_elements [num_identities] [num_buffers]
8545           If not specified they default to 1000.
8546
8547 2004-07-02  Benjamin Otte  <otte@gnome.org>
8548
8549         * gst/gstpad.c: (gst_pad_check_schedulers),
8550         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8551         (gst_pad_link_prepare):
8552           check that pads that get linked belong to the same manager. The old
8553           code allowed linking elements before putting them into bins, so it
8554           worked to link them and then put them in different threads, which
8555           lead to weird behaviour.
8556           Since this effectively disallows linking elements before putting
8557           them in a bin, some applications might not work after this and error
8558           out. If these applications are too critical, we might need to revert
8559           that patch. Please test this before the next release...
8560
8561 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8562
8563         * gst/gstpad.c: (gst_pad_get_caps):
8564           throw an error if the getcaps function does not return a subset of
8565           the template caps.
8566         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8567           make disconts without position info an error in debugging
8568         * tests/spidey_bench.c: (handoff), (main):
8569           don't count first try when averaging
8570
8571 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8572
8573         * gst/gstplugin.c: (gst_plugin_load_file):
8574           figure out problem with dynamic test
8575
8576 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8577
8578         * docs/gst/Makefile.am:
8579           fix docs build
8580
8581 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8582
8583         * po/POTFILES.in:
8584         * po/af.po:
8585         * po/az.po:
8586         * po/en_GB.po:
8587         * po/fr.po:
8588         * po/nl.po:
8589         * po/sr.po:
8590         * po/sv.po:
8591         * po/tr.po:
8592         * po/uk.po:
8593         * tools/gst-register.c: (plugin_added_func), (main):
8594           i18n-ize -register, fix plural
8595
8596 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8597
8598         * gst/elements/gstidentity.c: (gst_identity_class_init),
8599         (gst_identity_init), (gst_identity_chain),
8600         (gst_identity_set_property), (gst_identity_get_property):
8601         * gst/elements/gstidentity.h:
8602           check for perfect stream
8603
8604 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8605
8606         * gst/elements/gstidentity.c: (gst_identity_chain):
8607           print offset_end
8608
8609 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8610
8611         * docs/gst/Makefile.am:
8612         * docs/gst/gstreamer-docs.sgml:
8613           doc fixes
8614
8615 2004-06-24  David Schleef  <ds@schleef.org>
8616
8617         * autogen.sh:  Remove call to env, since the buildbot isn't
8618         broken anymore.
8619
8620 2004-06-24  Wim Taymans  <wim@fluendo.com>
8621
8622         * gst/elements/Makefile.am:
8623         * gst/elements/gstelements.c:
8624         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8625         (gst_multifdsink_class_init), (gst_multifdsink_init),
8626         (gst_multifdsink_add), (gst_multifdsink_remove),
8627         (gst_multifdsink_clear), (gst_multifdsink_chain),
8628         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8629         * gst/elements/gstmultifdsink.h:
8630         Added an element that writes to multiple filedescriptors at once.
8631
8632 2004-06-24  Benjamin Otte  <otte@gnome.org>
8633
8634         * gst/parse/grammar.y:
8635           don't try to link elements before they have been added to bins
8636
8637 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8638
8639         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8640         (gst_file_pad_get_length):
8641         * libs/gst/bytestream/filepad.h:
8642           add 2 new functions
8643
8644 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8645
8646         * docs/gst/gstreamer-sections.txt:
8647         remove from docs, the define that Benjamin removed from gstelement.h
8648
8649 2004-06-22  Benjamin Otte  <otte@gnome.org>
8650
8651         * gst/gstelement.h:
8652           remove define that referenced a nonexisting GstElement struct member
8653
8654 2004-06-20  Benjamin Otte  <otte@gnome.org>
8655
8656         * gst/gstdata.c: (gst_data_is_writable):
8657           whoops, return values were wrong, so writable data was marked as
8658           non-writable and vice versa. (fixes #143953, spotted by Francis
8659           Labonte)
8660           Shows how rarely we need to copy data ;)
8661
8662 2004-06-20  Benjamin Otte  <otte@gnome.org>
8663
8664         * testsuite/schedulers/.cvsignore:
8665         * testsuite/schedulers/Makefile.am:
8666         * testsuite/schedulers/143777-2.c: (main):
8667           add test for opt breakage in bug #143777
8668
8669 2004-06-20  Benjamin Otte  <otte@gnome.org>
8670
8671         * gst/gstpad.c: (gst_pad_call_chain_function):
8672           check for if we were unlinked while inside the chainfunction (fixes
8673           entrygthread having issues with #143777)
8674         * testsuite/schedulers/143777.c: (main):
8675         * testsuite/schedulers/Makefile.am:
8676           add a test for that fix
8677
8678 2004-06-20  Benjamin Otte  <otte@gnome.org>
8679
8680         * gst/gstvalue.c: (gst_value_set_int_range):
8681           test that start is smaller then end
8682         * libs/gst/bytestream/Makefile.am:
8683         * libs/gst/bytestream/filepad.c: 
8684         * libs/gst/bytestream/filepad.h:
8685           add GstFilePad - a pad that behaves like a FILE*
8686         * testsuite/bytestream/.cvsignore:
8687         * testsuite/bytestream/Makefile.am:
8688         * testsuite/bytestream/filepadsink.c: 
8689           test for the GstFilePad
8690
8691 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8692
8693         * gst/elements/gstidentity.c: (gst_identity_class_init),
8694         (gst_identity_init), (gst_identity_set_clock),
8695         (gst_identity_chain), (gst_identity_set_property),
8696         (gst_identity_get_property):
8697         * gst/elements/gstidentity.h:
8698         * gst/gstclock.c: (gst_clock_id_wait):
8699           add a "sync" property to sync to the clock
8700
8701 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8702
8703         * gst/gstelementfactory.c: (gst_element_factory_create):
8704           make the freakin "elementfactory bla has no type" message more
8705           useful. So we actually can do something when someone shows up
8706           complaining about it.
8707
8708 2004-06-15  Johan Dahlin  <johan@gnome.org>
8709
8710         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8711         found. This matches the old behavior better. Thanks to Thomas for
8712         pointing out.
8713
8714 2004-06-14  David Schleef  <ds@schleef.org>
8715
8716         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8717         -fomit-frame-pointer.  Appears to generate correct code in
8718         other cases as well.
8719
8720 2004-06-14  Johan Dahlin  <johan@gnome.org>
8721
8722         * tools/gst-inspect.c (main): Add two new command line options: -a
8723         to print all elements and -n to print the name on each line. Also
8724         fix some error reporting.
8725         (main): Simplify, remove -n and always print names if -a is specified
8726
8727 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8728
8729         * win32/gstconfig.h:
8730         * win32/GSTreamer.vcproj:
8731         * win32/Makefile:
8732         * gst/gstconfig.h.in:
8733         * gst/gst.h:
8734         * gst/gstbin.h:
8735         * gst/gstelement.h:
8736         * gst/gstevent.h:
8737         * gst/gstobject.h:
8738         * gst/gstpad.h:
8739         * docs/gst/gstreamer-sections.txt:
8740         * docs/gst/tmpl/gstconfig.sgml:
8741           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8742
8743 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8744         * docs/gst/gstreamer-sections.txt:
8745         * docs/gst/tmpl/gstconfig.sgml:
8746         Add the GSTREAMER_EXPORT macro to the docs
8747
8748 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8749
8750         * tools/gst-compprep.c: (handle_xmlerror), (main):
8751         Add a check for the version that introduced SetStructuredError to fix
8752         the build on FC1
8753
8754 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8755
8756         * win32/msvc71.sln:
8757         * win32/testsuite/:
8758           prepare to compile the testsuite with MSVC
8759
8760 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8761
8762         * docs/manual/win32.xml:
8763           attempt to transform the Win32 README into an XML doc
8764
8765 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8766
8767         * gst/gst.c:
8768         * gst/gstbin.*:
8769         * gst/config.h.in:
8770         * gst/gstelement.*:
8771         * gst/gstevent.h:
8772         * gst/gstobject.*:
8773         * gst/gstpad.h:
8774         * tools/gst-register.c:
8775         * win32/gstreamer.def:
8776           extern symbols are now exported for the Windows DLL
8777
8778 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8779
8780         * gst/gstinfo.h:
8781           fix a problem to enable/disable DEBUG under MSVC
8782
8783 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8784
8785         * win32/:
8786           enable more debug code in DEBUG build
8787
8788 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8789
8790         * win32/config.h:
8791         * gst/gst-i18n-app.h:
8792           enable NLS under Windows
8793
8794 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8795         * tools/gst-compprep.c: (handle_xmlerror), (main):
8796           Make an error that baffled me a bit clearer
8797
8798 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8799
8800         * gst/gstqueue.c:
8801           don't use g_queue_get_length () because it's 2.4, use ->length
8802
8803 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8804
8805         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8806
8807         * tools/gst-inspect.c: (print_signal_info):
8808           don't free random data twice. (fixes #144185)
8809
8810 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8811
8812         * gst/gstqueue.c:
8813         * gst/gstqueue.h:
8814           fix removing from the wrong queue on event timeout
8815           fix disposing of the event queue by casting correctly
8816           add mutexes for handling the event queue
8817           someone was sleeping when fixing queue last time around :)
8818
8819 2004-06-10  Johan Dahlin  <johan@gnome.org>
8820
8821         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8822         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8823
8824 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8825
8826         * docs/random/gdp:
8827         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8828         * libs/gst/dataprotocol/dataprotocol.c:
8829         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8830         (gst_dp_buffer_from_header):
8831         * libs/gst/dataprotocol/dataprotocol.h:
8832         * libs/gst/dataprotocol/dp-private.h:
8833           rev version to 0.1, add buffer flags and copy them
8834
8835 2004-06-09  Johan Dahlin  <johan@gnome.org>
8836
8837         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8838         the flags from the buffer we're copying.
8839
8840 2004-06-09  Wim Taymans  <wim@fluendo.com>
8841
8842         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8843         * gst/elements/gstidentity.c: (gst_identity_init),
8844         (gst_identity_chain):
8845         Print more buffer info in fakesink.
8846         Make identity output similar to fakesink.
8847
8848 2004-06-07  Daniel Gazard  <dany42@free.fr>
8849
8850         reviewed by Benjamin Otte  <otte@gnome.org>
8851
8852         * configure.ac:
8853           fix cross compiling not working. (fixes #143741)
8854
8855 2004-06-07  Benjamin Otte  <otte@gnome.org>
8856
8857         * gst/gstelement.c: (gst_element_set_time_delay):
8858           add failure check
8859         * gst/gstinfo.h:
8860           put brackets around macro arguments of GST_TIME_ARGS, add note to
8861           move it to correct header in 0.9
8862
8863 2004-06-07  Benjamin Otte  <otte@gnome.org>
8864
8865         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8866         (gst_file_index_load), (_file_index_id_save_entries),
8867         (gst_file_index_commit), (gst_file_index_add_association),
8868         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8869         (gst_file_index_plugin_init):
8870           make debugging use a default category
8871
8872 2004-06-06  David Moore  <dcm@acm.org>
8873
8874         reviewed by Benjamin Otte  <otte@gnome.org>
8875
8876         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8877         (gst_fdsrc_change_state):
8878           reset offset counter when going READY => PAUSED. (fixes #142903)
8879
8880 2004-06-06  ed@catmur.co.uk
8881
8882         reviewed by Benjamin Otte  <otte@gnome.org>
8883
8884         * gst/registries/gstxmlregistry.c:
8885         (gst_xml_registry_rebuild_recurse):
8886           don't rely on g_dir_open to figure out if a file is a directory, use
8887           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8888           directories. (fixes #142850)
8889
8890 2004-06-06  Benjamin Otte  <otte@gnome.org>
8891
8892         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8893           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8894         * libs/gst/bytestream/adapter.c:
8895         * libs/gst/bytestream/adapter.h:
8896           fix copyright in header and typo in debugging category name
8897
8898 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8899
8900         * configure.ac:
8901           bump nano to cvs
8902
8903 === release 0.8.3 ===
8904
8905 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8906
8907         * configure.ac:
8908           update libtool versioning
8909           do a new release
8910         * docs/gst/tmpl/gstelement.sgml:
8911         * docs/gst/tmpl/gsttypes.sgml:
8912         * gst/gstinfo.c: (_gst_debug_init):
8913           put back GST_CAT_DATAFLOW to fix API breakage
8914
8915 2004-06-04  David Schleef  <ds@schleef.org>
8916
8917         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8918
8919 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8920
8921         * configure.ac:
8922           bump nano to cvs
8923
8924 === release 0.8.2 ===
8925
8926 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8927
8928         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8929           check GST_DEBUG environment variable which is parsed the same way
8930           as --gst-debug=
8931
8932 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8933
8934         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8935                             gstmd5sink.c gstshaper.c gsttee.c
8936                             gsttypefindelement.c
8937         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8938
8939           - removing trailing commas at end of enums
8940             it is correct C99 code but C90 compilers would complain
8941             (AIX, Forte, ...)
8942             ('should' fix #143290, at least partially)
8943
8944 2004-05-27  Wim Taymans  <wim@fluendo.com>
8945
8946         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8947         (chain_group_set_enabled), (create_group), (add_to_group),
8948         (merge_groups), (setup_group_scheduler), (group_elements),
8949         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8950         Don't try to follow the pad connections with other groups
8951         when a loop based element is added to the scheduler because
8952         the bin will inform the scheduler about the pad links a little
8953         later.
8954
8955 2004-05-27  Wim Taymans  <wim@fluendo.com>
8956
8957         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8958         (remove_from_chain), (chain_group_set_enabled),
8959         (setup_group_scheduler), (group_element_set_enabled),
8960         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8961         (gst_opt_scheduler_show):
8962         Elements without a group can do a state change as well, just wait
8963         with the setup of the scheduling function when it is added to a
8964         chain.
8965
8966 2004-05-27  Wim Taymans  <wim@fluendo.com>
8967
8968         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8969         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8970         (merge_groups), (setup_group_scheduler),
8971         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8972         (gst_opt_scheduler_show):
8973         Fixes to maintain internal consistency of the scheduler data
8974         structures. 
8975          - adding an enabled group to a chain should increment the
8976            number of enabled elements in that chain.
8977          - removing an enabled group from a chain could disable the
8978            chain.
8979          - removing a disabled group from a chain could enable the
8980            chain.
8981          - add g_assert when internal inconsistency is detected.
8982          - adding an element to a group could increase the number of
8983            links this group has with other groups.
8984          - merging two groups also merges the chains.
8985          - also show group links in the _show method.
8986            
8987
8988 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8989
8990         * gst/gstcaps.c: (gst_caps_structure_simplify):
8991           don't print error messages when there is no error
8992         * gst/gstvalue.c: (gst_value_compare_int_range):
8993           compare the second value, too
8994         * testsuite/caps/Makefile.am:
8995         * testsuite/caps/random.c: (assert_on_error), (main):
8996           add tests to make sure the two things above are checked for
8997
8998 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8999
9000         * configure.ac:
9001         * libs/gst/dataprotocol/Makefile.am:
9002         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9003         * libs/gst/dataprotocol/dataprotocol.h:
9004           wrap header in GST_ENABLE_NEW.  make code use it
9005
9006 2004-05-23  Johan Dahlin  <johan@gnome.org>
9007
9008         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9009         so verbose and print GstElement signal names all the time.
9010
9011 2004-05-22  David Schleef  <ds@schleef.org>
9012
9013         * gst/registries/gstxmlregistry.c:
9014         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9015         (bug #142957)
9016
9017 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9018
9019         * configure.ac:
9020           scrub cflags for glib2 so gcc doesn't complain when glib is in
9021           /usr/local
9022
9023 2004-05-21  Johan Dahlin  <johan@gnome.org>
9024
9025         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9026         __GNUC__, patch from Brian Cameron, fixes bug #142804
9027
9028 2004-05-20  David Schleef  <ds@schleef.org>
9029
9030         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9031         comparison code.  (bug #142819)
9032
9033 2004-05-20  Wim Taymans  <wim@fluendo.com>
9034
9035         * gst/gstbuffer.c: (gst_buffer_default_copy):
9036         * gst/gstbuffer.h:
9037         Added Comment to a flag.
9038         copy relevant flags in _buffer_copy.
9039
9040 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9041
9042         reviewed by: Wim Taymans <wim at fluendo dot com>
9043
9044         * gst/gstbuffer.h:
9045           add GST_BUFFER_IN_CAPS buffer flag
9046         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9047         (gst_structure_parse_any_list), (gst_structure_parse_list),
9048         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9049         * gst/gstvalue.c: (gst_value_serialize_any_list),
9050         (gst_value_transform_any_list_string),
9051         (gst_value_list_prepend_value), (gst_value_list_append_value),
9052         (gst_value_list_get_size), (gst_value_list_get_value),
9053         (gst_value_transform_list_string),
9054         (gst_value_transform_fixed_list_string),
9055         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9056         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9057         (_gst_value_initialize):
9058         * gst/gstvalue.h:
9059           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9060           < , > as a format.
9061         * testsuite/caps/string-conversions.c: (main):
9062           add regression tests for < >
9063
9064 2004-05-20  Johan Dahlin  <johan@gnome.org>
9065
9066         * docs/gst/Makefile.am (all-local): Re-add
9067
9068 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9069
9070         * docs/gst/Makefile.am:
9071         * docs/gst/gstreamer-docs.sgml:
9072         * docs/libs/Makefile.am:
9073         * docs/libs/gstreamer-libs-docs.sgml:
9074           fix distcheck issues
9075
9076 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9077
9078         * libs/gst/dataprotocol/Makefile.am:
9079           add to autotest
9080
9081 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9082
9083         * libs/gst/dataprotocol/Makefile.am:
9084         * libs/gst/dataprotocol/dataprotocol.c:
9085         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9086         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9087         * libs/gst/dataprotocol/dp-private.h:
9088           use GST macros to read/write fixed length ints
9089           add some more asserts
9090
9091 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9092
9093         * docs/libs/gstreamer-libs-docs.sgml:
9094         * docs/libs/gstreamer-libs-sections.txt:
9095           remove idct and putbits
9096         * configure.ac:
9097         * docs/libs/tmpl/gstdataprotocol.sgml:
9098         * libs/gst/Makefile.am:
9099         * libs/gst/dataprotocol/Makefile.am:
9100         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9101         (buffer_test), (caps_test), (event_test), (main):
9102         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9103         (gst_dp_dump_byte_array), (gst_dp_init),
9104         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9105         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9106         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9107         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9108         (gst_dp_validate_header), (gst_dp_validate_payload),
9109         (gst_dp_validate_packet), (plugin_init):
9110         * libs/gst/dataprotocol/dataprotocol.h:
9111         * libs/gst/dataprotocol/dp-private.h:
9112           add dataprotocol
9113
9114 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9115
9116         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9117           fix int variable deserialization and add a helper so we can actually
9118           debug this.
9119
9120 2004-05-18  David Schleef  <ds@schleef.org>
9121
9122         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9123           argv[0].  Calling yourself is probably not the best way to
9124           construct a test like this, btw.
9125
9126 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9127
9128         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9129           don't claim to be more intelligent than a scheduler when the
9130           scheduler claims the pipeline is stopped
9131         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9132         (safe_cothread_destroy),
9133         (gst_entry_scheduler_remove_all_cothreads),
9134         (gst_entry_scheduler_reset), (_remove_cothread),
9135         (gst_entry_scheduler_state_transition):
9136           hold off cothread destruction if we're not in main cothread
9137         * configure.ac:
9138         * testsuite/Makefile.am:
9139           add new test dir
9140         * testsuite/schedulers/.cvsignore:
9141         * testsuite/schedulers/Makefile.am:
9142           add tests
9143         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9144           check relinking and adding/removing elements from a running pipeline
9145         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9146           check unlinking in a running pipeline
9147         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9148           check unreffing a running pipeline
9149         * testsuite/schedulers/useless_iteration.c: (main):
9150           check iterating a pipeline that contains running threads works
9151
9152 2004-05-18  David Schleef  <ds@schleef.org>
9153
9154         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9155           is false.
9156
9157 2004-05-18  Wim Taymans  <wim@fluendo.com>
9158
9159         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9160         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9161         Fixed an error introduced with patch for 1.63. When setting
9162         a get based element as the entry point in a group, make sure
9163         to mark the group as GET based.
9164
9165 2004-05-18  Wim Taymans  <wim@fluendo.com>
9166
9167         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9168         (setup_group_scheduler), (loop_group_schedule_function),
9169         (gst_opt_scheduler_pad_link):
9170         Added some more debug info and fixed a bug where the group
9171         type was set to LOOP but it was in fact unknown.
9172
9173 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9174
9175         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9176           make resetting scheduler work twice in a row
9177
9178 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9179
9180         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9181         (CREATE_USERIALIZATION), (_gst_value_initialize),
9182         (gst_value_compare_float), (gst_value_serialize_float),
9183         (gst_value_deserialize_float), (gst_value_compare_enum),
9184         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9185           add serialization and comparison functions for long, int64, enum and
9186           float values
9187         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9188           use best serialization function in type hierarchy instead of only a
9189           matching one. This is required for enums to work.
9190         * gst/parse/grammar.y:
9191           use gst_caps_deserialize
9192         * testsuite/parse/Makefile.am:
9193           parse1 now works
9194         * testsuite/parse/parse1.c: (main):
9195           remove aggregator check, aggregator is broken, this test works now
9196           but fails because of bug #138012
9197         * testsuite/parse/parse2.c: (main):
9198           s/xvideosink/xvimagesink - this test looks a lot like we should
9199           disable it
9200
9201 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9202
9203         * gst/gstelement.c: (gst_element_class_init):
9204           whoops, store the signal id correctly
9205         * gst/schedulers/gstbasicscheduler.c:
9206         (gst_basic_scheduler_chain_wrapper):
9207           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9208           chain function isn't linked
9209
9210 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9211         * configure.ac:
9212         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9213         support until we decide where the flags should be used
9214         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9215         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9216         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9217         Output refused caps in the debug info
9218
9219 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9220
9221         * gst/elements/gstidentity.c: (gst_identity_chain):
9222           add duration debug
9223         * gst/gstinfo.c: (gst_debug_log_default):
9224           add timestamp
9225
9226 2004-05-13  Benjamin Otte  <otte@gnome.org>
9227
9228         * gst/gstpipeline.c: (gst_pipeline_dispose),
9229         (gst_pipeline_change_state):
9230           call gst_scheduler_reset on dispose (fixes #141416)
9231
9232 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9233
9234         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9235           compute mapsize correctly
9236         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9237           use correct datatypes when calling a varargs function
9238         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9239           push a DISCONT event as first thing
9240         * gst/gst_private.h:
9241         * gst/gstinfo.c: (_gst_debug_init):
9242           remove GST_DATAFLOW debugging category
9243         * gst/gstbin.c: (gst_bin_iterate):
9244           use GST_SCHEDULING category
9245         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9246         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9247         (gst_pad_call_get_function):
9248           add GST_DATAFLOW to easily track flow of buffers or events.
9249         * gst/gstqueue.c: (gst_queue_get_type),
9250         (gst_queue_handle_pending_events), (gst_queue_chain),
9251         (gst_queue_get), (gst_queue_handle_src_event):
9252           use own static debugging category GST_DATAFLOW for dataflow,
9253           use DEBUG category for showing which path events go, use LOG
9254           category for buffers.
9255
9256 2004-05-10  David Schleef  <ds@schleef.org>
9257
9258         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9259
9260 2004-05-10  David Schleef  <ds@schleef.org>
9261
9262         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9263         symbols, because otherwise we don't know what they are.  Thanks,
9264         the GStreamer team.
9265         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9266
9267 2004-05-10  David Schleef  <ds@schleef.org>
9268
9269         (from Steve Lhomme)
9270         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9271         are deleted.  Fix.
9272         * win32/Makefile.inspect:
9273         * win32/Makefile.launch:
9274         * win32/Makefile.register:
9275
9276 2004-05-10  David Schleef  <ds@schleef.org>
9277
9278         * gst/gstinfo.h: Add missing inline function.
9279         * gst/gsttrace.c: add include
9280         * gst/parse/grammar.y: remove unused code
9281         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9282         more portable.
9283         * tools/gst-register.c: wrap unistd.h
9284         
9285         More additions/fixes from Steve for the MSVC build.
9286         * win32/GStreamer.vcproj:
9287         * win32/Makefile:
9288         * win32/Makefile.inspect:
9289         * win32/Makefile.launch:
9290         * win32/Makefile.register:
9291         * win32/README.txt:
9292         * win32/gst-inspect.vcproj:
9293         * win32/gst-launch.vcproj:
9294         * win32/gst-register.vcproj:
9295         * win32/gstbytestream.def:
9296         * win32/gstbytestream.vcproj:
9297         * win32/gstconfig.h:
9298         * win32/gstelements.def:
9299         * win32/gstelements.vcproj:
9300         * win32/gstenumtypes.c:
9301         * win32/gstenumtypes.h:
9302         * win32/gstoptimalscheduler.def:
9303         * win32/gstoptimalscheduler.vcproj:
9304         * win32/gstreamer.def:
9305         * win32/gstspider.def:
9306         * win32/gstspider.vcproj:
9307         * win32/gstversion.h:
9308         * win32/msvc71.sln:
9309
9310 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9311
9312         * gst/gstelement.c: (gst_element_class_init),
9313         (gst_element_no_more_pads):
9314         * gst/gstelement.h:
9315           add gst_element_no_more_pads and the "no-more-pads" signal
9316
9317 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9318
9319         * gst/gstregistry.c: (gst_registry_add_plugin):
9320           refuse to add plugins when a plugin with same name is already
9321           registered. Fixes a bunch of "How to remove plugins?" issues.
9322           May lead to other problems though, let's test
9323
9324 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9325
9326         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9327         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9328         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9329
9330 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9331
9332         * tests/Makefile.am: fix am16 issue
9333
9334 2004-05-09  Benjamin Otte  <otte@gnome.org>
9335
9336         * libs/gst/bytestream/Makefile.am:
9337           we should indeed add .c files to makefiles or they won't be built
9338           (d'oh)
9339
9340 2004-05-08  Benjamin Otte  <otte@gnome.org>
9341
9342         * gst/gstpad.c: (gst_pad_proxy_fixate):
9343           really reduce the set of caps
9344
9345 2004-05-08  Benjamin Otte  <otte@gnome.org>
9346
9347         * tests/Makefile.am:
9348         * tests/spidey_bench.c: (handoff), (main):
9349           add benchmark to test how long spider needs to create a pipeline
9350
9351 2004-05-08  Benjamin Otte  <otte@gnome.org>
9352
9353         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9354           mark links as unengaged when unnegotiating instead of deactivating.
9355           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9356
9357 2004-05-08  Benjamin Otte  <otte@gnome.org>
9358
9359         * docs/manual/helloworld.xml:
9360           s/audiosink/osssink (patch by Patrick Guimond)
9361
9362 2004-05-07  David Schleef  <ds@schleef.org>
9363
9364         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9365         since it contains important stuff.
9366
9367 2004-05-07  David Schleef  <ds@schleef.org>
9368
9369         * testsuite/caps/caps.c: (test3), (main): A check for appending
9370         ANY caps.
9371
9372 2004-05-07  David Schleef  <ds@schleef.org>
9373
9374         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9375         which may contain commas.  Fixes detection of -Wa,-mregnames
9376
9377 2004-05-06  David Schleef  <ds@schleef.org>
9378
9379         Changes to handle compilers that don't have variadic macro
9380         support.  In particular, glib headers define some inlines
9381         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9382         builds.
9383         * gst/Makefile.am:
9384         * gst/cothreads.c:
9385         * gst/elements/gstfdsink.c:
9386         * gst/elements/gstfdsrc.c:
9387         * gst/elements/gstfilesink.c:
9388         * gst/elements/gstfilesrc.c:
9389         * gst/gst_private.h:
9390         * gst/gstatomic.c:
9391         * gst/gstcaps.c: (gst_caps_append):
9392         * gst/gstcpu.c: (gst_cpuid_i386):
9393         * gst/gstelement.c:
9394         * gst/gsterror.c:
9395         * gst/gstfilter.c:
9396         * gst/gstinfo.h:
9397         * gst/gstprobe.c:
9398         * gst/gstquery.c:
9399         * gst/gstregistry.c:
9400         * gst/gststructure.c:
9401         * gst/gsttaginterface.c:
9402         * gst/gsttrace.c: (gst_trace_new):
9403         * gst/gsttrashstack.c:
9404         * gst/gsturi.c:
9405         * gst/gstvalue.c:
9406         * gst/parse/grammar.y:
9407         * gst/parse/parse.l:
9408         * tools/gst-inspect.c: (main):
9409         * tools/gst-launch.c: (main):
9410         * tools/gst-xmlinspect.c: (PUT_STRING):
9411
9412 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9413
9414         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9415         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9416         * gst/elements/gstfilesrc.h:
9417           send NEW_MEDIA events correctly
9418         * gst/elements/gsttypefindelement.c: (start_typefinding),
9419         (gst_type_find_element_handle_event):
9420           restart typefinding when we get a NEW_MEDIA event
9421         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9422         (gst_bin_dispose):
9423           don't die when someone removes elements in callbacks
9424         * gst/gstelement.c: (gst_element_change_state):
9425           improve debugging
9426         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9427           we need a NEW_MEDIA event to engage a link
9428         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9429           don't g_print debugging stuff
9430         * testsuite/caps/simplify.c: (check_caps):
9431
9432 2004-05-04  Benjamin Otte  <otte@gnome.org>
9433
9434         * gst/parse/grammar.y:
9435           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9436
9437 2004-05-04  Benjamin Otte  <otte@gnome.org>
9438
9439         * testsuite/caps/renegotiate.c: (main):
9440           improve output in error case
9441
9442 2004-05-04  Benjamin Otte  <otte@gnome.org>
9443
9444         * gst/parse/grammar.y:
9445           fix assert to not trigger when there's no error argument
9446         * gst/parse/parse.l:
9447           fix definition of caps to allow more than two structures
9448         * testsuite/caps/Makefile.am:
9449         * testsuite/caps/renegotiate.c: (main):
9450           it's sinesrc and works in that case
9451
9452 2004-05-04  Wim Taymans  <wim@fluendo.com>
9453
9454         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9455         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9456         when removing an element from a group, we always need to
9457         decrement the link count that this group had with other 
9458         groups through the element.
9459         added an extra assert to catch inconsistencies when decrementing
9460         the link count.
9461
9462 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9463
9464         * configure.ac:
9465         * docs/gst/Makefile.am:
9466         * docs/gst/gstreamer-sections.txt:
9467         * docs/gst/tmpl/gstcompat.sgml:
9468         * examples/appreader/Makefile.am:
9469         * examples/cutter/Makefile.am:
9470         * examples/events/Makefile.am:
9471         * examples/helloworld/Makefile.am:
9472         * examples/helloworld2/Makefile.am:
9473         * examples/launch/Makefile.am:
9474         * examples/manual/Makefile.am:
9475         * examples/mixer/Makefile.am:
9476         * examples/pingpong/Makefile.am:
9477         * examples/plugins/Makefile.am:
9478         * examples/queue/Makefile.am:
9479         * examples/queue2/Makefile.am:
9480         * examples/queue3/Makefile.am:
9481         * examples/queue4/Makefile.am:
9482         * examples/retag/Makefile.am:
9483         * examples/thread/Makefile.am:
9484         * examples/typefind/Makefile.am:
9485         * examples/xml/Makefile.am:
9486         * gst/Makefile.am:
9487         * gst/autoplug/Makefile.am:
9488         * gst/elements/Makefile.am:
9489         * gst/gstcompat.h:
9490         * gst/indexers/Makefile.am:
9491         * gst/parse/Makefile.am:
9492         * gst/registries/Makefile.am:
9493         * gst/schedulers/Makefile.am:
9494         * libs/gst/bytestream/Makefile.am:
9495         * libs/gst/control/Makefile.am:
9496         * libs/gst/getbits/Makefile.am:
9497         * po/af.po:
9498         * po/az.po:
9499         * po/en_GB.po:
9500         * po/fr.po:
9501         * po/nl.po:
9502         * po/sr.po:
9503         * po/sv.po:
9504         * po/tr.po:
9505         * po/uk.po:
9506         * tests/Makefile.am:
9507         * tests/bufspeed/Makefile.am:
9508         * tests/instantiate/Makefile.am:
9509         * tests/memchunk/Makefile.am:
9510         * tests/muxing/Makefile.am:
9511         * tests/negotiation/Makefile.am:
9512         * tests/probes/Makefile.am:
9513         * tests/sched/Makefile.am:
9514         * tests/seeking/Makefile.am:
9515         * tests/threadstate/Makefile.am:
9516         * testsuite/caps/Makefile.am:
9517         * testsuite/cleanup/Makefile.am:
9518         * testsuite/dlopen/Makefile.am:
9519         * testsuite/dynparams/Makefile.am:
9520         * testsuite/plugin/Makefile.am:
9521         * testsuite/states/Makefile.am:
9522         * tools/Makefile.am:
9523           reorganize compile/link flags to be consistent
9524           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9525
9526 2004-05-04  David Schleef  <ds@schleef.org>
9527
9528         The "once more, with feeling" check-in.
9529         * testsuite/caps/Makefile.am: dist caps_strings
9530         * testsuite/caps/renegotiate.c: (main): This test triggers a
9531           segfault in the core.  Marking as failing.
9532
9533 2004-05-03  David Schleef  <ds@schleef.org>
9534
9535         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9536           by the build bots.
9537         * testsuite/caps/renegotiate.c: (main): Same.
9538
9539 2004-05-03  David Schleef  <ds@schleef.org>
9540
9541         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9542
9543 2004-05-03  David Schleef  <ds@schleef.org>
9544
9545         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9546           variable to find our source file.
9547
9548 2004-05-03  David Schleef  <ds@schleef.org>
9549
9550         * configure.ac:  Link plugins with libgstreamer and dependent
9551           libraries
9552         * testsuite/caps/Makefile.am:
9553         * testsuite/caps/caps_strings:
9554         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9555           through a file of caps strings and test each one
9556
9557 2004-05-04  Benjamin Otte  <otte@gnome.org>
9558
9559         * libs/gst/bytestream/Makefile.am:
9560         * libs/gst/bytestream/adapter.c: 
9561         * libs/gst/bytestream/adapter.h:
9562           add GstAdapter, similar to bytestream, but doesn't require ugly event
9563           handling or uglier loopbased elements
9564
9565 2004-05-03  David Schleef  <ds@schleef.org>
9566
9567         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9568         * testsuite/caps/erathostenes.c:
9569         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9570
9571 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9572
9573         * docs/pwg/pwg.xml:
9574           remove hardcoded stylesheet path (duh)
9575         * docs/random/release:
9576         * docs/gst/gstreamer-sections.txt:
9577         * gst/Makefile.am:
9578         * gst/gst.h:
9579         * gst/gst_private.h:
9580         * gst/gstcaps.c:
9581         * gst/gstevent.c:
9582         * gst/gstformat.c:
9583         * gst/gstinfo.c:
9584         * gst/gstinfo.h:
9585         * gst/gstinterface.c:
9586         * gst/gstmemchunk.c:
9587         * gst/gstprobe.c:
9588         * gst/gstquery.c:
9589         * gst/gstregistry.c:
9590         * gst/gstregistrypool.c:
9591         * gst/gststructure.c:
9592         * gst/gsttaginterface.c:
9593         * gst/gstthread.c:
9594         * gst/gsttrace.c:
9595         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9596         * gst/gsturi.c:
9597         * gst/gstvalue.c:
9598           deprecate gst_info; remove gstlog.h
9599    
9600
9601 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9602
9603         * Makefile.am:
9604         * po/en_GB.po:
9605         * po/sv.po:
9606         * po/uk.po:
9607           updated translations
9608
9609 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9610
9611         * gst/gstbin.c: (gst_bin_dispose):
9612           better debugging
9613
9614 2004-05-03  Johan Dahlin  <johan@gnome.org>
9615
9616         * gst/schedulers/gstoptimalscheduler.c
9617         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9618         really is a GstElement. Avoids critical when running gst-launch -v
9619         and a oggdemux/decoding pipeline.
9620
9621 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9622
9623         * docs/gst/tmpl/gstpipeline.sgml :
9624         * docs/manual/elements-api.xml :
9625                 doc fix by Patrick Guimond (Protector) from devel ML
9626                 reviewed by ronald
9627
9628 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9629
9630         * docs/gst/Makefile.am :
9631         * docs/libs/Makefile.am :
9632                 apply a patch from Arwed v. Merkatz so that gtk-doc
9633                 generated docs install (same for .devhelp file)
9634                 (fixes part 1 of #138836)
9635
9636 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9637
9638         * docs/faq/dependencies.xml: typo
9639         * docs/faq/getting.xml :
9640             - fix download URL for new gstreamer site
9641             - hide sf.net download page as latest version aren't there
9642             - fix apt URLs
9643             - fill "get via CVS" paragraph (link to dev page on the site)
9644         * docs/faq/general.xml:
9645             hide status tables as they no more exists
9646             change case on plugins license file to reflect reality
9647         * docs/faq/troubleshooting.xml:
9648             remove the wiki question/answer as there is no more wiki
9649
9650 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9651
9652         * gst/gsterror.h:
9653           include the headers needed for declarations used in this header
9654
9655 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9656
9657         * docs/random/uraeus/gstreamer_and_midi.txt :
9658           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9659           (fixes #132288)
9660
9661 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9662
9663         reviewed by Benjamin Otte  <otte@gnome.org>
9664
9665         * gst/schedulers/gthread-cothreads.h:
9666           free allocated data for main cothread, too when destroying context
9667           (fixes #141417)
9668
9669 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9670
9671         * docs/manual/goals.xml : remove duplicated paragraph at end 
9672         of doc page (fixes #141448)
9673
9674 2004-04-29  David Schleef  <ds@schleef.org>
9675
9676         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9677         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9678
9679 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9680
9681         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9682           fix property
9683         * gst/gstcaps.c:
9684           fix doc string
9685         * po/POTFILES.in:
9686           rename typefind source file
9687
9688 2004-04-28  David Schleef  <ds@schleef.org>
9689
9690         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9691         * win32/GStreamer.vcproj:
9692         * win32/Makefile:
9693         * win32/config.h:
9694         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9695         (_trewinddir), (_ttelldir), (_tseekdir):
9696         * win32/dirent.h:
9697         * win32/gst-inspect.vcproj:
9698         * win32/gst-launch.vcproj:
9699         * win32/gst-register.vcproj:
9700         * win32/gstbytestream.vcproj:
9701         * win32/gstelements.vcproj:
9702         * win32/gstoptimalscheduler.vcproj:
9703         * win32/gstspider.vcproj:
9704         * win32/gtchar.h:
9705         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9706         * win32/mman.h:
9707         * win32/mman.inl:
9708         * win32/msvc71.sln:
9709
9710 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9711
9712         * gst/gst.c: (init_post):
9713         * gst/gstinfo.c:
9714           remove useless _gst_progname stuff
9715         * tools/gst-inspect.c: (print_field), (print_caps):
9716           improve caps output
9717
9718 2004-04-28  David Schleef  <ds@schleef.org>
9719
9720         Disable parsing of a lot of files that aren't part of the
9721         exported API.  Move corresponding template files to old/,
9722         waiting for removal when they don't contain anything
9723         interesting.
9724         * docs/gst/Makefile.am:
9725         * docs/gst/gstreamer-sections.txt:
9726         * docs/gst/tmpl/cothreads.sgml:
9727         * docs/gst/tmpl/cothreads_compat.sgml:
9728         * docs/gst/tmpl/gettext.sgml:
9729         * docs/gst/tmpl/gobject2gtk.sgml:
9730         * docs/gst/tmpl/grammar.tab.sgml:
9731         * docs/gst/tmpl/gst-i18n-app.sgml:
9732         * docs/gst/tmpl/gst-i18n-lib.sgml:
9733         * docs/gst/tmpl/gst_private.sgml:
9734         * docs/gst/tmpl/gstaggregator.sgml:
9735         * docs/gst/tmpl/gstarch.sgml:
9736         * docs/gst/tmpl/gstatomic_impl.sgml:
9737         * docs/gst/tmpl/gstbufferstore.sgml:
9738         * docs/gst/tmpl/gstdata_private.sgml:
9739         * docs/gst/tmpl/gstdisksink.sgml:
9740         * docs/gst/tmpl/gstdisksrc.sgml:
9741         * docs/gst/tmpl/gstelementfactory.sgml:
9742         * docs/gst/tmpl/gstextratypes.sgml:
9743         * docs/gst/tmpl/gstfakesink.sgml:
9744         * docs/gst/tmpl/gstfakesrc.sgml:
9745         * docs/gst/tmpl/gstfdsink.sgml:
9746         * docs/gst/tmpl/gstfdsrc.sgml:
9747         * docs/gst/tmpl/gstfilesink.sgml:
9748         * docs/gst/tmpl/gstfilesrc.sgml:
9749         * docs/gst/tmpl/gsthttpsrc.sgml:
9750         * docs/gst/tmpl/gstidentity.sgml:
9751         * docs/gst/tmpl/gstindexfactory.sgml:
9752         * docs/gst/tmpl/gstmarshal.sgml:
9753         * docs/gst/tmpl/gstmd5sink.sgml:
9754         * docs/gst/tmpl/gstmultidisksrc.sgml:
9755         * docs/gst/tmpl/gstmultifilesrc.sgml:
9756         * docs/gst/tmpl/gstpadtemplate.sgml:
9757         * docs/gst/tmpl/gstpipefilter.sgml:
9758         * docs/gst/tmpl/gstschedulerfactory.sgml:
9759         * docs/gst/tmpl/gstsearchfuncs.sgml:
9760         * docs/gst/tmpl/gstshaper.sgml:
9761         * docs/gst/tmpl/gstspider.sgml:
9762         * docs/gst/tmpl/gstspideridentity.sgml:
9763         * docs/gst/tmpl/gststatistics.sgml:
9764         * docs/gst/tmpl/gsttee.sgml:
9765         * docs/gst/tmpl/gsttimecache.sgml:
9766         * docs/gst/tmpl/gsttypefind.sgml:
9767         * docs/gst/tmpl/gsttypefindfactory.sgml:
9768         * docs/gst/tmpl/gstxmlregistry.sgml:
9769         * docs/gst/tmpl/gthread-cothreads.sgml:
9770         * docs/gst/tmpl/old/cothreads.sgml:
9771         * docs/gst/tmpl/old/cothreads_compat.sgml:
9772         * docs/gst/tmpl/old/gettext.sgml:
9773         * docs/gst/tmpl/old/gobject2gtk.sgml:
9774         * docs/gst/tmpl/old/grammar.tab.sgml:
9775         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9776         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9777         * docs/gst/tmpl/old/gst_private.sgml:
9778         * docs/gst/tmpl/old/gstaggregator.sgml:
9779         * docs/gst/tmpl/old/gstarch.sgml:
9780         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9781         * docs/gst/tmpl/old/gstbufferstore.sgml:
9782         * docs/gst/tmpl/old/gstdata_private.sgml:
9783         * docs/gst/tmpl/old/gstdisksink.sgml:
9784         * docs/gst/tmpl/old/gstdisksrc.sgml:
9785         * docs/gst/tmpl/old/gstelementfactory.sgml:
9786         * docs/gst/tmpl/old/gstextratypes.sgml:
9787         * docs/gst/tmpl/old/gstfakesink.sgml:
9788         * docs/gst/tmpl/old/gstfakesrc.sgml:
9789         * docs/gst/tmpl/old/gstfdsink.sgml:
9790         * docs/gst/tmpl/old/gstfdsrc.sgml:
9791         * docs/gst/tmpl/old/gstfilesink.sgml:
9792         * docs/gst/tmpl/old/gstfilesrc.sgml:
9793         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9794         * docs/gst/tmpl/old/gstidentity.sgml:
9795         * docs/gst/tmpl/old/gstindexfactory.sgml:
9796         * docs/gst/tmpl/old/gstmarshal.sgml:
9797         * docs/gst/tmpl/old/gstmd5sink.sgml:
9798         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9799         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9800         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9801         * docs/gst/tmpl/old/gstpipefilter.sgml:
9802         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9803         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9804         * docs/gst/tmpl/old/gstshaper.sgml:
9805         * docs/gst/tmpl/old/gstspider.sgml:
9806         * docs/gst/tmpl/old/gstspideridentity.sgml:
9807         * docs/gst/tmpl/old/gststatistics.sgml:
9808         * docs/gst/tmpl/old/gsttee.sgml:
9809         * docs/gst/tmpl/old/gsttimecache.sgml:
9810         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9811         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9812         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9813         * docs/gst/tmpl/old/types.sgml:
9814         * docs/gst/tmpl/types.sgml:
9815
9816         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9817         gtkdoc-scan doesn't like files with the same name in different
9818         directories.
9819         * gst/elements/Makefile.am:
9820         * gst/elements/gstelements.c:
9821         * gst/elements/gsttypefind.c: 
9822         * gst/elements/gsttypefind.h:
9823         * gst/elements/gsttypefindelement.c:
9824         * gst/elements/gsttypefindelement.h:
9825
9826 2004-04-28  David Schleef  <ds@schleef.org>
9827
9828         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9829         patch (bug #141317):
9830         * gst/gst-i18n-lib.h: Allow disabling gettext.
9831         * gst/gstatomic_impl.h: disable warning when it's dumb.
9832         * gst/gstclock.c: fix include
9833         * gst/gstcompat.h: fix variadic macro
9834         * gst/gstinfo.c: fix include
9835         * gst/gstmacros.h: add defines for inlines on MSVC
9836         * gst/gstplugin.c: fix includes
9837         * gst/gstregistry.c: fix includes
9838         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9839         * gst/gstsystemclock.c: fix include
9840         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9841         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9842         * gst/registries/gstxmlregistry.c:
9843         (gst_xml_registry_parse_element_factory): fix use of non-portable
9844         functions
9845         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9846         * libs/gst/control/dparammanager.h: same
9847
9848 2004-04-28  David Schleef  <ds@schleef.org>
9849
9850         Move a bunch of unused files to old/ with names that are
9851         not case-insensitive-unique.  These files still contain some
9852         useful information that needs to be merged into gstbin.sgml,
9853         etc., so they shouldn't be deleted yet.
9854         * docs/gst/tmpl/GstBin.sgml:
9855         * docs/gst/tmpl/GstBuffer.sgml:
9856         * docs/gst/tmpl/GstCaps.sgml:
9857         * docs/gst/tmpl/GstClock.sgml:
9858         * docs/gst/tmpl/GstCompat.sgml:
9859         * docs/gst/tmpl/GstData.sgml:
9860         * docs/gst/tmpl/GstElement.sgml:
9861         * docs/gst/tmpl/GstEvent.sgml:
9862         * docs/gst/tmpl/GstIndex.sgml:
9863         * docs/gst/tmpl/GstStructure.sgml:
9864         * docs/gst/tmpl/GstTag.sgml:
9865         * docs/gst/tmpl/old/GstBin.sgml:
9866         * docs/gst/tmpl/old/GstBuffer.sgml:
9867         * docs/gst/tmpl/old/GstCaps.sgml:
9868         * docs/gst/tmpl/old/GstClock.sgml:
9869         * docs/gst/tmpl/old/GstCompat.sgml:
9870         * docs/gst/tmpl/old/GstData.sgml:
9871         * docs/gst/tmpl/old/GstElement.sgml:
9872         * docs/gst/tmpl/old/GstEvent.sgml:
9873         * docs/gst/tmpl/old/GstIndex.sgml:
9874         * docs/gst/tmpl/old/GstStructure.sgml:
9875         * docs/gst/tmpl/old/GstTag.sgml:
9876
9877 2004-04-28  David Schleef  <ds@schleef.org>
9878
9879         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9880         (gst_caps_append), (gst_caps_append_structure),
9881         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9882         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9883         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9884         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9885         (gst_caps_intersect), (gst_caps_normalize),
9886         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9887         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9888         * gst/gstcaps.h: use GST_IS_CAPS().
9889
9890 2004-04-26  David Schleef  <ds@schleef.org>
9891
9892         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9893         assembly.  gcc doesn't handle it correctly. (bug #141083)
9894         * gst/gsttrashstack.h: same
9895
9896 2004-04-25  Benjamin Otte  <otte@gnome.org>
9897
9898         * gst/gstelement.c: (gst_element_change_state):
9899           fix assertion to do an int comparison
9900
9901 2004-04-25  Benjamin Otte  <otte@gnome.org>
9902
9903         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9904           better debugging output on error
9905
9906 2004-04-25  Benjamin Otte  <otte@gnome.org>
9907
9908         * gst/gstcaps.c: (gst_caps_subtract):
9909           fix memleak
9910
9911 2004-04-23  Benjamin Otte  <otte@gnome.org>
9912
9913         * gst/gstvalue.c: (gst_value_compare_buffer),
9914         (_gst_value_initialize):
9915           add comparison function for buffers
9916
9917 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9918
9919         * docs/pwg/pwg.xml:
9920           Just found out that this so-called "ima-wav" format is really
9921           just "dvi adpcm" (according to the MS WAV documentation). So
9922           renaming it. We didn't use it yet anyway.
9923
9924 2004-04-23  Benjamin Otte  <otte@gnome.org>
9925
9926         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9927           call gst_caps_is_subset
9928
9929 2004-04-23  Benjamin Otte  <otte@gnome.org>
9930
9931         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9932         (gst_caps_is_subset):
9933           add documentation
9934
9935 2004-04-23  Benjamin Otte  <otte@gnome.org>
9936           
9937         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9938         (gst_caps_structure_subtract), (gst_caps_subtract),
9939         (gst_caps_structure_figure_out_union),
9940         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9941           fix simplifying and subtracting not working correctly with optional
9942           properties
9943           solve assorted problems that make it now simplify ebven more
9944         * docs/gst/tmpl/gstcaps.sgml:
9945         * gst/gstcaps.h:
9946           make gst_caps_do_simplify return a bool to indicate if it simplified
9947         * testsuite/caps/simplify.c: (main):
9948           add more checks. The tests is quite a bit useless right now because
9949           the core is heavily simplifying itself.
9950         * testsuite/caps/caps.h:
9951           fix caps to contain all optional properties
9952
9953 2004-04-22  Benjamin Otte  <otte@gnome.org>
9954
9955         * docs/gst/tmpl/gstcaps.sgml:
9956         * docs/gst/tmpl/gstfilesrc.sgml:
9957         * docs/gst/tmpl/gststructure.sgml:
9958         * docs/gst/tmpl/gstvalue.sgml:
9959           update for recent API changes
9960         * gst/gstcaps.c: (gst_caps_do_simplify):
9961           fix to stop trying with a freed structure
9962         * gst/gstpad.c: (gst_pad_link_fixate):
9963           simplify caps
9964         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9965           remove C++ comment
9966         * gst/gstpad.h:
9967           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9968         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9969         (gst_structure_to_string):
9970           keep the correct type when using lists of ranges
9971         * gst/gstvalue.c: (gst_value_list_prepend_value),
9972         (gst_value_list_append_value):
9973           copy the value before adding to the list (d'oh)
9974         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9975         (gst_value_subtract_int_range_int_range):
9976           handle overflows correctly
9977         * gst/gstvalue.c: (gst_value_subtract_from_list):
9978           fix memleak
9979         * testsuite/caps/caps.h:
9980           add a caps that caused segfaults
9981
9982 2004-04-22  Benjamin Otte  <otte@gnome.org>
9983
9984         * testsuite/refcounting/pad.c: (main):
9985           fix test
9986
9987 2004-04-22  Benjamin Otte  <otte@gnome.org>
9988
9989         * gst/gstcaps.c: (gst_caps_subtract):
9990           allow subtracting ANY and EMPTY from ANY caps
9991
9992 2004-04-22  Benjamin Otte  <otte@gnome.org>
9993
9994         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9995         (gst_caps_union):
9996           only simplify in functions that create new caps. Simplifying in
9997           gst_caps_append breaks tests.
9998
9999 2004-04-22  Benjamin Otte  <otte@gnome.org>
10000
10001         * gst/gstcaps.c: (gst_caps_structure_simplify):
10002           unset GValue after use
10003         * gst/gstcaps.c: (gst_caps_append), 
10004         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10005           use gst_caps_simplify (reduces registry size by 30%)
10006         * gst/gstpad.c: (gst_pad_template_new):
10007           don't allow NULL caps
10008
10009 2004-04-22  Benjamin Otte  <otte@gnome.org>
10010
10011         * docs/gst/gstreamer-sections.txt:
10012           add gst_caps_do_simplify
10013         * gst/gstcaps.c:
10014           add documentation for gst_caps_do_simplify
10015         * gst/gstvalue.h:
10016           fix typo in gst_value_register_subtract_func declaration for gst-doc
10017
10018 2004-04-22  Benjamin Otte  <otte@gnome.org>
10019
10020         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10021           fix bug when converting from empty string.
10022         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10023         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10024           use gst_caps_new_empty to allocate a new caps. Only that function
10025           allocates memory for caps now.
10026         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10027         (gst_caps_remove_structure):
10028           add ability to remove one structure (but not to header yet)
10029         * gst/gstcaps.c: (gst_caps_compare_structures),
10030         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10031         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10032         * gst/gstcaps.h:
10033           add gst_caps_do_simplify that tries to simplify a caps in place.
10034           Deprecate old gst_caps_simplify function.
10035         * testsuite/caps/caps.h:
10036           add caps.h containing a common set of caps to test against.
10037         * testsuite/caps/sets.c: (check_caps), (main):
10038           use it.
10039         * testsuite/caps/.cvsignore:
10040         * testsuite/caps/Makefile.am:
10041         * testsuite/caps/simplify.c: (check_caps), (main):
10042           add test to check correctness and efficency of caps simplification.
10043
10044 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10045
10046         reviewed by Benjamin Otte  <otte@gnome.org>
10047
10048         * gst/gstparse.c: (_gst_parse_escape):
10049           Free the GString used in _gst_parse_escape()
10050
10051 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10052
10053         * gst/gstpad.c: (gst_pad_link_negotiate):
10054           refuse to link if the link is not possible
10055         * configure.ac:
10056         * testsuite/Makefile.am:
10057         * testsuite/negotiation/.cvsignore:
10058         * testsuite/negotiation/Makefile.am:
10059         * testsuite/negotiation/pad_link.c: (main):
10060           add test that checks the above behaviour
10061
10062 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10063
10064         * docs/gst/gstreamer-sections.txt:
10065           add newly added API
10066
10067 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10068
10069         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10070         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10071         (gst_filesrc_open_file), (gst_filesrc_close_file),
10072         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10073         * gst/elements/gstfilesrc.h:
10074           add support for non-regular files (#140734)
10075
10076 2004-04-21  Benjamin Otte  <otte@gnome.org>
10077
10078         * gst/gstpad.c: (gst_pad_link_fixate):
10079           add sophisticated error checking code to see if fixation functions
10080           did their fixation right
10081
10082 2004-04-21  Benjamin Otte  <otte@gnome.org>
10083
10084         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10085           check for ANY caps before appending/unioning
10086         * gst/gstcaps.c: (gst_caps_is_subset),
10087         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10088         (gst_caps_structure_subtract), (gst_caps_subtract):
10089         * gst/gstcaps.h:
10090           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10091           the API. deprecate gst_caps_is_equal_fixed
10092         * gst/gstpad.c: (gst_pad_try_set_caps):
10093         * gst/gstqueue.c: (gst_queue_link):
10094           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10095         * gst/gststructure.c: (gst_structure_get_name_id):
10096         * gst/gststructure.h:
10097           add function gst_structure_get_name_id
10098         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10099         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10100         (gst_value_subtract_int_range_int_range),
10101         (gst_value_subtract_double_double_range),
10102         (gst_value_subtract_double_range_double),
10103         (gst_value_subtract_double_range_double_range),
10104         (gst_value_subtract_from_list), (gst_value_subtract_list),
10105         (gst_value_can_intersect), (gst_value_subtract),
10106         (gst_value_can_subtract), (gst_value_register_subtract_func),
10107         (_gst_value_initialize):
10108         * gst/gstvalue.h:
10109           add support for subtracting values from each other. Note that
10110           subtracting means subtracting as in set theory. Required for caps
10111           stuff above.
10112         * testsuite/caps/.cvsignore:
10113         * testsuite/caps/Makefile.am:
10114         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10115         * testsuite/caps/sets.c: (check_caps), (main):
10116         * testsuite/caps/subtract.c: (check_caps), (main):
10117           add tests for subtraction and equality code.
10118
10119 2004-04-20  David Schleef  <ds@schleef.org>
10120
10121         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10122         * gst/indexers/Makefile.am:
10123         * gst/schedulers/Makefile.am:
10124         * libs/gst/bytestream/Makefile.am:
10125         * libs/gst/control/Makefile.am:
10126         * libs/gst/getbits/Makefile.am:
10127
10128 2004-04-20  David Schleef  <ds@schleef.org>
10129
10130         * common/as-libtool.mak: Fine-tune DLL building.
10131         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10132         (like gst-plugins)
10133         * examples/plugins/Makefile.am: remove plugindir
10134         * gst/autoplug/Makefile.am: DLL building fixes
10135         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10136         Windows.
10137         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10138         * gst/indexers/Makefile.am: DLL building fixes
10139         * gst/schedulers/Makefile.am: DLL building fixes.
10140         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10141         * libs/gst/control/Makefile.am: same
10142         * libs/gst/getbits/Makefile.am: same
10143         * testsuite/Makefile.am: New dlopen directory
10144         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10145         when dlopened.
10146         * testsuite/dlopen/dlopen_gst.c: (main): same
10147         * testsuite/dlopen/loadgst.c: (do_test): same
10148
10149 2004-04-20  David Schleef  <ds@schleef.org>
10150
10151         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10152         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10153
10154 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10155
10156         * gst/gstelement.c: (gst_element_wait),
10157         (gst_element_set_time_delay), (gst_element_change_state):
10158           Use GST_TIME_*
10159
10160 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10161
10162         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10163         (gst_spider_identity_plug):
10164           improve debugging messages
10165         * gst/gstbin.c: (gst_bin_remove_func):
10166           make sure the state_change function is only called with simple state
10167           transitions
10168
10169 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10170
10171         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10172         (gst_fakesink_set_property), (gst_fakesink_chain):
10173         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10174         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10175         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10176         * gst/elements/gstidentity.c: (gst_identity_chain),
10177         (gst_identity_set_property):
10178         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10179         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10180           add warnings to _set_property for unknown arguments
10181           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10182
10183 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10184
10185         * Makefile.am:
10186         * docs/manuals.mak:
10187           add .po file download snippet
10188           fix a bug in the doc makefile
10189
10190 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10191
10192         * Makefile.am:
10193         * po/LINGUAS:
10194         * po/en_GB.po:
10195           Added en_GB translation (Gareth Owen)
10196
10197 2004-04-20  Johan Dahlin  <johan@gnome.org>
10198
10199         * gst/gstpad.c (_invent_event): Clean up
10200
10201 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10202
10203         * testsuite/caps/filtercaps.c: (main):
10204           fix test to test things correctly (caps are complicated)
10205
10206 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10207
10208         * testsuite/caps/Makefile.am:
10209         * testsuite/caps/filtercaps.c: (main):
10210           add test (that doesn't work right now, but should)
10211
10212 2004-04-19  David Schleef  <ds@schleef.org>
10213
10214         * configure.ac: Add test for allowing unaligned access.  Add define
10215         to put in gstconfig.h.
10216         * docs/gst/gstreamer-sections.txt: New symbols
10217         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10218         * docs/gst/tmpl/gstfilesrc.sgml:
10219         * docs/gst/tmpl/gstparse.sgml:
10220         * docs/gst/tmpl/gsttypes.sgml:
10221         * docs/gst/tmpl/gstutils.sgml:
10222         * docs/gst/tmpl/gstvalue.sgml:
10223         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10224         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10225         on most !i386/!powerpc architectures.  From Daniel Gazard
10226         <daniel.gazard@free.fr>.  (bug #140156)
10227         * po/af.po: Check in changes made by gettext.
10228         * po/az.po:
10229         * po/fr.po:
10230         * po/nl.po:
10231         * po/sr.po:
10232         * po/sv.po:
10233
10234 2004-04-20  Benjamin Otte  <otte@gnome.org>
10235
10236         * gst/schedulers/entryscheduler.c: 
10237         (gst_entry_scheduler_yield):
10238           refuse to yield when decoupled elements insist on doing that.
10239           At least it's better than crashing
10240
10241 2004-04-19  David Schleef  <ds@schleef.org>
10242
10243         * docs/libs/Makefile.am: Change sinclude to include
10244         * docs/gst/Makefile.am: same
10245         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10246
10247 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10248
10249         * po/LINGUAS:
10250         * po/uk.po:
10251           Added Ukrainian translation (Maxim V. Dziumanenko)
10252
10253 2004-04-19  Johan Dahlin  <johan@gnome.org>
10254
10255         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10256         checking here, do it before calling the function.
10257         Clean up, use for loops instead of while loops while iterating
10258         over lists.
10259
10260         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10261         in debug message.
10262         (gst_spider_create_and_plug): Improve debug message.
10263         General: Replace while loops which iterates over GLists with for
10264         loops. Which are much cleaner, improves readability, especially
10265         for gst_spider_identity_plug
10266
10267         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10268         fixes bug 140477
10269
10270 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10271
10272         * po/LINGUAS:
10273         * po/tr.po:
10274           Added Turkish translation (Baris Cicek)
10275
10276 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10277
10278         * docs/faq/troubleshooting.xml:
10279           Mention gst-register in the FAQ (fixes 139045).
10280
10281 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10282
10283         * docs/gst/gstreamer-sections.txt:
10284
10285 2004-04-17  Benjamin Otte  <otte@gnome.org>
10286
10287         * gst/gstelement.c: (gst_element_dispose):
10288           simplify
10289         * gst/gstpad.c: (gst_pad_call_chain_function):
10290           don't create loads of events due to bad macro usage
10291
10292 2004-04-16  David Schleef  <ds@schleef.org>
10293
10294         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10295         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10296         * gst/gstvalue.c: (gst_value_serialize_buffer),
10297         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10298         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10299         to indicate types that are fixed wrt caps or not.  Switching to
10300         this function fixes (bug #140298).
10301         * gst/gstvalue.h:
10302
10303 2004-04-16  David Schleef  <ds@schleef.org>
10304
10305         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10306         for GST_UNALIGNED_ACESS, since we essentially know which archs
10307         are ok.
10308
10309 2004-04-17  Benjamin Otte  <otte@gnome.org>
10310
10311         * docs/gst/Makefile.am:
10312           ignore gst/parse directory when building docs (fixes #140205)
10313
10314 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10315
10316         * testsuite/refcounting/mem.c: (vmsize):
10317           do error checking
10318
10319 2004-04-16  Johan Dahlin  <johan@gnome.org>
10320
10321         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10322         and gst_pad_call_get_function.
10323
10324 2004-04-15  David Schleef  <ds@schleef.org>
10325
10326         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10327         checks if we can access unaligned memory.
10328         * configure.ac: Use it.
10329
10330 2004-04-16  Benjamin Otte  <otte@gnome.org>
10331
10332         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10333         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10334         * gst/elements/gstfilesrc.h:
10335           s/seek_happened/need_discont/ and require discont before sending any
10336           data
10337
10338 2004-04-15  David Schleef  <ds@schleef.org>
10339
10340         * gst/gstvalue.c: (gst_value_serialize_buffer),
10341         (gst_value_deserialize_buffer), (_gst_value_initialize):
10342         Register these types as fundamental types. (bug #140015)
10343
10344 2004-04-16  Benjamin Otte  <otte@gnome.org>
10345
10346         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10347         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10348         (gst_pad_pull):
10349           implement enforcing discont events before buffers are passed. This
10350           allows state changes of only some elements and later correctly going
10351           on where they left off (or in short: you can now set audio sinks to
10352           NULL to release the device when the pipeline is paused)
10353         * gst/gstpad.c: (gst_pad_call_chain_function),
10354         (gst_pad_call_get_function):
10355         * gst/gstpad.h:
10356           add gst_pad_call_chain_function and gst_pad_call_get_function for
10357           scheduler interaction. They are required because of the changes
10358           above.
10359         * gst/schedulers/entryscheduler.c: (get_buffer),
10360         (gst_entry_scheduler_chain_wrapper),
10361         (gst_entry_scheduler_get_wrapper),
10362         (gst_entry_scheduler_state_transition),
10363         (gst_entry_scheduler_pad_link):
10364         * gst/schedulers/gstbasicscheduler.c:
10365         (gst_basic_scheduler_chain_wrapper),
10366         (gst_basic_scheduler_src_wrapper),
10367         (gst_basic_scheduler_chainhandler_proxy),
10368         (gst_basic_scheduler_gethandler_proxy),
10369         (gst_basic_scheduler_cothreaded_chain),
10370         (gst_basic_scheduler_chain_elements):
10371         * gst/schedulers/gstoptimalscheduler.c:
10372         (get_group_schedule_function), (pad_clear_queued),
10373         (gst_opt_scheduler_pad_link):
10374           use the new functions instead of calling get/chain-functions
10375           directly.
10376
10377 2004-04-15  David Schleef  <ds@schleef.org>
10378
10379         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10380         * docs/gst/tmpl/gstinfo.sgml: same
10381         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10382         gtk-doc put here.
10383         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10384         * examples/queue/queue.c: (main):  We iterate pipelines, not
10385         bins.  (bug #139996)
10386
10387 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10388
10389         * docs/pwg/advanced-types.xml:
10390           Add MS RLE support. Also document Qt RLE although I have no sample
10391           files for that yet. And document an extra property for ADPCM.
10392
10393 2004-04-15  David Schleef  <ds@schleef.org>
10394
10395         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10396         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10397         Windows.
10398
10399 2004-04-15  David Schleef  <ds@schleef.org>
10400
10401         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10402         symbol names to not conflict with new gstinfo.h symbols.
10403         * gst/gstinfo.h: Add inline functions for all those crazy
10404         compilers that don't know how to handle variadic macros (MSVC).
10405
10406 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10407
10408         * configure.ac: bump nano to 1
10409
10410 === release 0.8.1 ===
10411
10412 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10413
10414         * NEWS:
10415         * RELEASE:
10416         * configure.ac:
10417           releasing 0.8.1, "Snow Brigade"
10418
10419 2004-04-14  David Schleef  <ds@schleef.org>
10420
10421         * testsuite/Makefile.am: define tests_ignore
10422         * testsuite/Rules: Added new tests_ignore, which get compiled,
10423         but not run (generally because they're inconsistent or have
10424         heisenbugs).  Now we can ensure all the .c files compile in
10425         testsuite/.
10426         * testsuite/bins/Makefile.am: define tests_ignore
10427         * testsuite/bytestream/Makefile.am:
10428         * testsuite/caps/Makefile.am:
10429         * testsuite/clock/Makefile.am:
10430         * testsuite/debug/Makefile.am:
10431         * testsuite/debug/global.c: (gst_debug_log_one),
10432         (gst_debug_log_two): Fix compilation problem.
10433         * testsuite/dynparams/Makefile.am:
10434         * testsuite/elements/Makefile.am:
10435         * testsuite/ghostpads/Makefile.am:
10436         * testsuite/indexers/Makefile.am:
10437         * testsuite/parse/Makefile.am:
10438         * testsuite/plugin/Makefile.am:
10439         * testsuite/refcounting/Makefile.am:
10440         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10441         results, because it's not calculated correctly.
10442         * testsuite/refcounting/pad.c: (main): same
10443         * testsuite/states/Makefile.am:
10444         * testsuite/tags/Makefile.am:
10445         * testsuite/threads/Makefile.am:
10446
10447 2004-04-14  David Schleef  <ds@schleef.org>
10448
10449         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10450         generating bad code around the cpu detection asm code.
10451
10452 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10453
10454         * tools/gst-inspect.c: (print_element_info):
10455           print numeric version of rank as well, since we added some - 1
10456           rank values to elements
10457
10458 2004-04-13  David Schleef  <ds@schleef.org>
10459
10460         * configure.ac:  Disable various code when compiling for MinGW.
10461         * gst/elements/Makefile.am:
10462         * gst/elements/gstelements.c:
10463         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10464         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10465         * gst/registries/gstxmlregistry.c: (make_dir):
10466
10467 2004-04-13  David Schleef  <ds@schleef.org>
10468
10469         * gst/Makefile.am:
10470         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10471         assembly.
10472         * gst/gstcpuid_i386.s: remove
10473
10474 2004-04-13  David Schleef  <ds@schleef.org>
10475
10476         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10477         seems to think it needs to be done.
10478         * docs/gst/tmpl/gstfakesink.sgml:
10479         * docs/gst/tmpl/gstfakesrc.sgml:
10480         * docs/gst/tmpl/gstfdsink.sgml:
10481         * docs/gst/tmpl/gstfdsrc.sgml:
10482         * docs/gst/tmpl/gstfilesink.sgml:
10483         * docs/gst/tmpl/gstfilesrc.sgml:
10484         * docs/gst/tmpl/gstidentity.sgml:
10485         * docs/gst/tmpl/gstmd5sink.sgml:
10486         * docs/gst/tmpl/gstmultifilesrc.sgml:
10487         * docs/gst/tmpl/gstpipefilter.sgml:
10488         * docs/gst/tmpl/gstshaper.sgml:
10489         * docs/gst/tmpl/gstspider.sgml:
10490         * docs/gst/tmpl/gstspideridentity.sgml:
10491         * docs/gst/tmpl/gststatistics.sgml:
10492         * docs/gst/tmpl/gsttee.sgml:
10493         * docs/gst/tmpl/gsttypefind.sgml:
10494         * docs/gst/tmpl/gstutils.sgml:
10495
10496 2004-04-13  David Schleef  <ds@schleef.org>
10497
10498         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10499         and to build DLLs on Windows.
10500         * gst/Makefile.am:
10501         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10502         (gst_filesrc_open_file):
10503         * gst/schedulers/Makefile.am:
10504
10505 2004-04-13  David Schleef  <ds@schleef.org>
10506
10507         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10508         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10509         fixating lists.
10510
10511 2004-04-12  David Schleef  <ds@schleef.org>
10512
10513         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10514         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10515         to using it.
10516         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10517         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10518         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10519         * gst/gststructure.c: (gst_structure_set_valist),
10520         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10521         support for buffers.
10522         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10523         intended to be const.
10524         * gst/gsttag.h: same
10525         * gst/gstvalue.c: (gst_value_serialize_buffer),
10526         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10527         to (de)serialize buffers.
10528         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10529         * testsuite/caps/string-conversions.c: (main):
10530         * testsuite/caps/value_serialize.c: add new test
10531
10532 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10533
10534         * docs/pwg/advanced-types.xml:
10535           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10536
10537 2004-04-11  Benjamin Otte  <otte@gnome.org>
10538
10539         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10540           rename categories to basic_*
10541         * gst/schedulers/gstbasicscheduler.c: 
10542         (gst_basic_scheduler_chain_wrapper),
10543         (gst_basic_scheduler_chainhandler_proxy),
10544         (gst_basic_scheduler_gethandler_proxy),
10545         (gst_basic_scheduler_eventhandler_proxy):
10546           debugging category fixes - put common stuff in log category
10547         * gst/schedulers/gstbasicscheduler.c: 
10548         (gst_basic_scheduler_chain_elements):
10549           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10550           active and linking two active chains
10551
10552 2004-04-10  Benjamin Otte  <otte@gnome.org>
10553
10554         * docs/pwg/intro-preface.xml:
10555           fix dead links and remove reference to Wiki
10556
10557 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10558
10559         * gst/schedulers/gstbasicscheduler.c:
10560           make sure we can switch back to the main function if we're still in
10561           the main function (supposed to fix #139617)
10562         * gst/schedulers/gthread-cothreads.h:
10563           don't throw an error when switching to the same cothread
10564
10565 2004-04-09  Benjamin Otte  <otte@gnome.org>
10566
10567         * gst/gstbin.c: (gst_bin_get_type):
10568         * gst/gstclock.c: (gst_clock_get_type):
10569         * gst/gstindex.c: (gst_index_get_type):
10570         * gst/gstobject.c: (gst_object_get_type),
10571         (gst_signal_object_get_type):
10572         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10573         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10574         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10575         * gst/gstqueue.c: (gst_queue_get_type):
10576         * gst/gstregistry.c: (gst_registry_get_type):
10577         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10578         * gst/gstthread.c: (gst_thread_get_type):
10579           don't use memchunks for these objects, use malloc instead
10580
10581 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10582
10583         * docs/gst/.cvsignore:
10584         * docs/gst/Makefile.am:
10585         * docs/gst/gstreamer-sections.txt:
10586         * docs/gst/tmpl/gstaggregator.sgml:
10587         * docs/gst/tmpl/gstbuffer.sgml:
10588         * docs/gst/tmpl/gstclock.sgml:
10589         * docs/gst/tmpl/gstelement.sgml:
10590         * docs/gst/tmpl/gstfakesink.sgml:
10591         * docs/gst/tmpl/gstfakesrc.sgml:
10592         * docs/gst/tmpl/gstfdsink.sgml:
10593         * docs/gst/tmpl/gstfdsrc.sgml:
10594         * docs/gst/tmpl/gstfilesink.sgml:
10595         * docs/gst/tmpl/gstfilesrc.sgml:
10596         * docs/gst/tmpl/gstidentity.sgml:
10597         * docs/gst/tmpl/gstindex.sgml:
10598         * docs/gst/tmpl/gstinfo.sgml:
10599         * docs/gst/tmpl/gstmd5sink.sgml:
10600         * docs/gst/tmpl/gstmultifilesrc.sgml:
10601         * docs/gst/tmpl/gstpad.sgml:
10602         * docs/gst/tmpl/gstpipefilter.sgml:
10603         * docs/gst/tmpl/gstpipeline.sgml:
10604         * docs/gst/tmpl/gstpluginfeature.sgml:
10605         * docs/gst/tmpl/gstqueue.sgml:
10606         * docs/gst/tmpl/gstregistry.sgml:
10607         * docs/gst/tmpl/gstscheduler.sgml:
10608         * docs/gst/tmpl/gstshaper.sgml:
10609         * docs/gst/tmpl/gstspider.sgml:
10610         * docs/gst/tmpl/gstspideridentity.sgml:
10611         * docs/gst/tmpl/gststatistics.sgml:
10612         * docs/gst/tmpl/gstsystemclock.sgml:
10613         * docs/gst/tmpl/gsttee.sgml:
10614         * docs/gst/tmpl/gstthread.sgml:
10615         * docs/gst/tmpl/gsttypefind.sgml:
10616         * docs/gst/tmpl/gstutils.sgml:
10617           further doc build fixes
10618
10619 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10620
10621         * docs/gst/Makefile.am:
10622           make docs exit on scanning problems
10623           fix nonsrcdir build issues
10624         * docs/gst/gstreamer-sections.txt:
10625           adding stuff from -unused
10626         * gst/gstqueue.h:
10627           create GstQueueSize
10628         * gst/schedulers/cothreads_compat.h:
10629           fix cothread warnings
10630
10631 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10632
10633         * docs/gst/gstreamer-sections.txt:
10634           remove defines deprecated by Benjamin
10635
10636 2004-04-07  Benjamin Otte  <otte@gnome.org>
10637
10638         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10639           when the buffer is complete, don't check if other buffers are needed
10640         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10641           check that the offset is >0 so we don't try to read before the
10642           beginning of the file
10643         * gst/gstpad.c: (gst_pad_set_pad_template):
10644           sink the template, so we don't end up with 130k pad templates
10645
10646 2004-04-06  Benjamin Otte  <otte@gnome.org>
10647
10648         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10649           don't ref the element, adding already reffed it. And we didn't unref
10650           it later anyway... (huge memleak when you used many spider elements)
10651         * gst/gstelement.c: (gst_element_base_class_finalize):
10652         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10653         (gst_element_register):
10654         * gst/gsturi.c: (gst_element_make_from_uri):
10655           use gst_object_(un)ref instead of g_object(un)ref
10656
10657 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10658
10659         * gst/gstbuffer.h:
10660           remove macro that wouldn't work anymore because struct member has
10661           been removed.
10662         * gst/schedulers/entryscheduler.c: (schedule_forward):
10663           fix segfault for unconnected pads
10664         
10665 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10666
10667         reviewed by David Schleef <ds@schleef.org>
10668
10669         * gst/gstinfo.h:
10670           *_FORMAT modifiers should require putting a % in front of them for
10671           consistency reasons.
10672
10673 2004-04-05  Colin Walters  <walters@redhat.com>
10674
10675         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10676         space.
10677
10678 2004-04-05  Benjamin Otte  <otte@gnome.org>
10679
10680         * configure.ac:
10681         * gst/Makefile.am:
10682         * gst/gst_private.h:
10683         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10684           add support for detecting if GStreamer runs inside valgrind.
10685           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10686           print a big message in valgrind that GStreamer has detected it's
10687           running inside and might now use different code.
10688         * gst/gstmemchunk.c: (populate), (free_area),
10689         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10690         (gst_mem_chunk_free):
10691           flag memchunks for valgrind, so it can detect leaking of chunks.
10692           This allows detecting leaks of GstBuffer and GstEvent correctly
10693           inside valgrind.
10694
10695 2004-04-05  David Schleef  <ds@schleef.org>
10696
10697         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10698           jensgr@gmx.net (Jens Granseuer)
10699
10700 2004-04-05  David Schleef  <ds@schleef.org>
10701
10702         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10703         (gst_buffer_default_free), (gst_buffer_default_copy),
10704         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10705         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10706         structures in one place.
10707
10708 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10709
10710         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10711           (GST_TIME_FORMAT, GST_TIME_ARGS)
10712
10713 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10714
10715         * testsuite/elements/Makefile.am:
10716           disable test until it stops breaking make distcheck
10717
10718 2004-04-05  Johan Dahlin  <johan@gnome.org>
10719
10720         * po/sv.po: Updated translation
10721
10722 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10723
10724         * gst/gstplugin.c: (gst_plugin_load_file):
10725           fix segfault for when original plugin was loaded statically
10726
10727 2004-04-05  Benjamin Otte  <otte@gnome.org>
10728
10729         * testsuite/debug/category.c: (main):
10730         * testsuite/debug/commandline.c: (main):
10731         * testsuite/debug/output.c: (main):
10732           fix tests to work again with debugging enabled
10733
10734 2004-04-05  Benjamin Otte  <otte@gnome.org>
10735
10736         * gst/schedulers/gstbasicscheduler.c:
10737         (gst_basic_scheduler_pad_link):
10738           fix to work with recent scheduling changes
10739
10740 2004-04-05  Benjamin Otte  <otte@gnome.org>
10741
10742         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10743         prepareChangeLog doesn't work when cvs indents):
10744           don't throw an error when no element can be scheduled, there's too
10745           many weird reasons why it doesn't work. Return STOPPED instead.
10746           decoupled elemts' schedulability doesn't depend on bufpens.
10747
10748 2004-04-04  Benjamin Otte  <otte@gnome.org>
10749
10750         * gst/schedulers/gstbasicscheduler.c:
10751         (gst_basic_scheduler_pad_select):
10752           fix uninitialized variable warnings
10753
10754 2004-04-04  Benjamin Otte  <otte@gnome.org>
10755
10756         * gst/gstpad.c: (gst_pad_collect_valist):
10757           fix uninitialized variable warning
10758         * gst/schedulers/entryscheduler.c: (schedule_forward):
10759           fix shadowed variable
10760
10761 2004-04-04  Benjamin Otte  <otte@gnome.org>
10762
10763         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10764         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10765         (gst_pad_select):
10766         * gst/gstpad.h:
10767         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10768         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10769         * gst/gstscheduler.h:
10770           implement gst_pad_collect as replacement for gst_pad_select.
10771           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10772           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10773           new pad_select, lock and unlock calls.
10774         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10775         * gst/cothreads.h:
10776         * gst/schedulers/cothreads_compat.h:
10777         * gst/schedulers/gthread-cothreads.h:
10778           remove unused cothread_lock and cothread_unlock calls
10779         * gst/schedulers/entryscheduler.c:
10780         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10781         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10782         (gst_entry_scheduler_pad_select):
10783           update to new API
10784         * gst/schedulers/gstbasicscheduler.c:
10785         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10786         (gst_basic_scheduler_pad_select):
10787           remove useless lock and unlock calls, update pad_select to new API
10788           (untested)
10789         * gst/schedulers/gstoptimalscheduler.c:
10790         (gst_opt_scheduler_class_init):
10791           remove useless select, lock and unlock function calls
10792         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10793           use gst_pad_collect instead of gst_pad_select
10794
10795 2004-04-04  Benjamin Otte  <otte@gnome.org>
10796
10797         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10798         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10799         (schedule_next_element), (print_entry):
10800           add can_schedule_pad to handle element states.
10801           add schedule_forward to select the correct entry to schedule next
10802
10803 2004-04-03  Benjamin Otte  <otte@gnome.org>
10804
10805         * gst/schedulers/entryscheduler.c: 
10806           remove unused variable, fix error inside Rb, fix compile warning in
10807           unreachable code
10808
10809 2004-04-03  Benjamin Otte  <otte@gnome.org>
10810
10811         * gst/schedulers/entryscheduler.c:
10812           completely revamp the inner workings, so it's a lot easier to
10813           understand and extend
10814
10815 2004-04-03  Andy Wingo  <wingo@pobox.com>
10816
10817         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10818         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10819         This allows better introspection of pipeline topology.
10820         (add_to_chain): Don't do trickery to put loop elements first;
10821         rather, queue a chain sort by marking the chain as dirty.
10822         (remove_from_chain): Mark the chain dirty.
10823         (sort_chain): New function. Sorts the group list so that terminal
10824         sinks are first. This means elements on the sink side will be
10825         preferentially sscheduled before elements on the src side of the
10826         pipeline.
10827         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10828         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10829         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10830         (group_inc_link): Change argument and variable names to match the
10831         new link structure member names (src and sink).
10832         (group_dec_link): Add some description
10833
10834 2004-04-03  Benjamin Otte  <otte@gnome.org>
10835
10836         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10837         * gst/gstinfo.h:
10838         * testsuite/debug/category.c: (main):
10839         * testsuite/debug/commandline.c: (main):
10840         * testsuite/debug/output.c: (main):
10841         * testsuite/debug/printf_extension.c: (main):
10842           fix to successfully build and test with --disable-gst-debug
10843           configure switch (fixes #138705)
10844
10845 2004-04-03  Benjamin Otte  <otte@gnome.org>
10846
10847         * docs/pwg/building-boiler.xml:
10848           add cvs login line and s/anonymous/anoncvs/
10849
10850 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10851
10852         reviewed by Benjamin Otte  <otte@gnome.org>
10853
10854         * gst/gststructure.c: (gst_structure_free):
10855           memleak fix: free fields array (partial fix for #134839)
10856
10857 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10858
10859         * docs/random/ds/0.9-suggested-changes:
10860           Add a note to change handoff use in fakesrc to be usable in
10861           a more generic way (fakesrc should be renamed to appsrc or so).
10862         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10863           Change signal type to scope, so we can fill the buffer in the
10864           handoff handler (that's the whole use of this signal...).
10865
10866 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10867
10868         * docs/pwg/other-ntoone.xml:
10869           Document muxers and n-to-1 elements.
10870
10871 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10872
10873         * gst/registries/gstxmlregistry.c
10874         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10875         determine if a file is a G_MODULE. The old one discards paths
10876         containing "so" somewhere in the middle. My home directory is
10877         called "soto". Go figure...
10878
10879 2004-03-31  David Schleef  <ds@schleef.org>
10880
10881         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10882         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10883         * gst/gstbuffer.h:
10884
10885 2004-03-31  David Schleef  <ds@schleef.org>
10886
10887         * gst/gstvalue.c: (gst_value_union_int_int_range),
10888         (gst_value_union_int_range_int_range), (gst_value_can_union),
10889         (gst_value_union), (_gst_value_initialize):  Add some union
10890         implementations.  We didn't have any previously.
10891         * testsuite/caps/Makefile.am:
10892         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10893         (gst_audioscale_getcaps), (test_caps), (main): A little test
10894         that is the same as the caps manipulation in audioscale.
10895
10896 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10897
10898         * docs/faq/general.xml:
10899           add entry about "does gst support format X?"
10900
10901 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10902
10903         * gst/gstthread.c:
10904           fix docs
10905         * gst/gstutils.h:
10906           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10907
10908 2004-03-30  Benjamin Otte  <otte@gnome.org>
10909
10910         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10911           set the offset of the buffer to the requested offset
10912         * gst/elements/gsttypefind.c: (stop_typefinding):
10913           revert patch 1.18 (which I unfortunately don't know the reason for).
10914           This is needed to allow downstream elements to seek. Otherwise
10915           typefind might overwrite a previous seek by downstream elements.
10916           This lead to errors with id3tag and typefind on some mp3s.
10917         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10918         (gst_entry_scheduler_iterate):
10919           be more verbose when debugging
10920
10921 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10922
10923         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10924           make sure we don't get NULL strings
10925
10926 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10927
10928         * gst/gstcaps.c:
10929         * gst/gstelement.c:
10930         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10931         * gst/gstindex.c: (gst_index_resolver_get_type),
10932         (gst_index_get_type), (gst_index_factory_get_type):
10933         * gst/gstinfo.c:
10934         * gst/gstpad.c:
10935         * gst/gstplugin.c:
10936         * gst/gsturi.c: (gst_uri_handler_get_type):
10937         * gst/gstvalue.c:
10938           first batch of documentation fixes
10939
10940 2004-03-29  David Schleef  <ds@schleef.org>
10941
10942         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10943         * docs/gst/gstreamer-docs.sgml:  More hacking
10944         * docs/gst/gstreamer-sections.txt:
10945         * docs/gst/tmpl/cothreads_compat.sgml:
10946         * docs/gst/tmpl/gstcaps.sgml:
10947         * docs/gst/tmpl/gstclock.sgml:
10948         * docs/gst/tmpl/gstelement.sgml:
10949         * docs/gst/tmpl/gstevent.sgml:
10950         * docs/gst/tmpl/gstpad.sgml:
10951         * docs/gst/tmpl/gstutils.sgml:
10952         * docs/gst/tmpl/gstxml.sgml:
10953         * docs/gst/tmpl/gthread-cothreads.sgml:
10954         * docs/random/ds/0.9-suggested-changes:
10955         * gst/elements/gstfakesink.h: doc fixes
10956         * gst/elements/gstfakesrc.h: doc fixes
10957         * gst/gstcaps.c: doc fixes
10958         * gst/gstcaps.h: doc fixes
10959         * gst/gstelement.c: doc fixes
10960         * gst/gstelement.h: doc fixes
10961         * gst/gstindex.c: doc fixes
10962         * gst/gstinfo.c: doc fixes
10963         * gst/gstpad.c: doc fixes
10964         * gst/gstpad.h: doc fixes
10965         * gst/gstplugin.c: doc fixes
10966         * gst/gsttypefind.h: doc fixes
10967         * gst/gsturi.c: doc fixes
10968         * gst/gstvalue.c: doc fixes
10969
10970 2004-03-29  Colin Walters  <walters@redhat.com>
10971
10972         * gst/registries/gstxmlregistry.c (get_time)
10973         (plugin_times_older_than_recurse):
10974         Use the result of stat to determine whether a path is a file,
10975         so we don't attempt to opendir() files.
10976
10977 2004-03-29  Benjamin Otte  <otte@gnome.org>
10978
10979         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10980           print caps in debugging output when setting caps failed
10981         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10982         (schedule_next_element), (get_buffer), (run_chainhandler),
10983         (element_may_start), (gst_entry_scheduler_chain_handler),
10984         (gst_entry_scheduler_get_handler),
10985         (gst_entry_scheduler_state_transition),
10986         (gst_entry_scheduler_pad_link):
10987           make this scheduler a testcase for mandatory
10988           discont-before-first-buffer which is needed if we want to allow apps
10989           to release the sound device.
10990           add SCHED_ASSERT macro to print scheduler state before an assertion
10991           triggers.
10992
10993 2004-03-29  Benjamin Otte  <otte@gnome.org>
10994
10995         * COPYING:
10996           replace by LGPL (former COPYING.LIB). The core is completely
10997           licensed LGPL.
10998         * COPYING.LIB:
10999           remove
11000
11001 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11002
11003         * po/af.po:
11004         * po/sv.po:
11005           updated Afrikaans and Swedish
11006
11007 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11008
11009         * po/LINGUAS:
11010         * po/az.po:
11011           adding Azerbaijani (Mətin Əmirov)
11012
11013 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11014
11015         * gst/gstelement.h: 
11016         * gst/gstelement.c (gst_element_set_time_delay): New function for
11017         setting element time taking into account a hardware buffering
11018         delay.
11019         (gst_element_set_time): Now just an invocation of
11020         gst_element_set_time_delay.
11021         * gst/gstclock.h: 
11022         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11023         allowing to set event times in the future.
11024         (gst_clock_get_event_time): Now just an invocation of
11025         gst_clock_get_event_time_delay.
11026
11027 2004-03-28  Benjamin Otte  <otte@gnome.org>
11028
11029         * gst/gstbin.c: (gst_bin_set_element_sched),
11030         (gst_bin_unset_element_sched):
11031           don't add decoupled elements to schedulers - otherwise it's
11032           impossible to control if a link to a decoupled element was already
11033           removed from a scheduler or not.
11034         * gst/schedulers/cothreads_compat.h:
11035         * gst/schedulers/gthread-cothreads.h:
11036           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11037           is no "unused" warning.
11038         * gst/schedulers/Makefile.am:
11039         * gst/schedulers/entryscheduler.c:
11040           add new scheduler, based on ideas from talking to David and Martin.
11041           It's supposed to be small and correct. Currently it's also slow (but
11042           it's not noticable)
11043         * examples/retag/retag.c: (main):
11044         * testsuite/bytestream/test1.c: (main):
11045           fix missing NULLs at end of variadic functions
11046         * testsuite/elements/.cvsignore:
11047           update
11048
11049 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11050
11051         * gst/gstevent.h:
11052         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11053
11054 2004-03-25  David Schleef  <ds@schleef.org>
11055
11056         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11057         * docs/gst/tmpl/gstaggregator.sgml:
11058         * docs/gst/tmpl/gstautoplugfactory.sgml:
11059         * docs/gst/tmpl/gstbin.sgml:
11060         * docs/gst/tmpl/gstbuffer.sgml:
11061         * docs/gst/tmpl/gstbufferstore.sgml:
11062         * docs/gst/tmpl/gstfakesink.sgml:
11063         * docs/gst/tmpl/gstfakesrc.sgml:
11064         * docs/gst/tmpl/gstmd5sink.sgml:
11065         * docs/gst/tmpl/gstreamer-unused.sgml:
11066         * docs/gst/tmpl/gstsearchfuncs.sgml:
11067         * docs/gst/tmpl/gstshaper.sgml:
11068         * docs/gst/tmpl/gstspider.sgml:
11069         * docs/gst/tmpl/gsttee.sgml:
11070         * docs/gst/tmpl/gstutils.sgml:
11071         * docs/gst/tmpl/gstvalue.sgml:
11072         * docs/gst/tmpl/gstxml.sgml:
11073         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11074         and we don't support it.
11075         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11076         (gst_use_threads), (gst_has_threads): same
11077         * gst/gstthreaddummy.c: same
11078         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11079         * gst/autoplug/gstspider.h: same
11080         * gst/elements/gstaggregator.h: Remove bogus function from header
11081         * gst/elements/gstfakesink.h: same
11082         * gst/elements/gstfakesrc.h: same
11083         * gst/elements/gstmd5sink.h: same
11084         * gst/elements/gstshaper.h: same
11085         * gst/elements/gsttee.h: same
11086         * gst/gstbin.c: doc fixes
11087         * gst/gstbin.h: Remove unused definition.
11088         * gst/gstbuffer.c: doc fixes
11089         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11090         * gst/gstfilter.c: doc fixes
11091         * gst/gsttag.c: doc fixes
11092         * gst/gstvalue.c: doc fixes
11093
11094 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11095
11096         * docs/pwg/advanced-types.xml:
11097           Document typefinding.
11098         * docs/pwg/other-oneton.xml:
11099           Document one-to-n elements, demuxers and parsers.
11100
11101 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11102
11103         reviewed by: David Schleef  <ds@schleef.org>
11104
11105         * configure.ac: Check bison version (bug #127838)
11106
11107 2004-03-25  David Schleef  <ds@schleef.org>
11108
11109         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11110         * docs/gst/gstreamer-sections.txt:
11111         * docs/gst/tmpl/gstautoplug.sgml:
11112         * docs/gst/tmpl/gststaticautoplug.sgml:
11113         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11114         * docs/gst/tmpl/gstutils.sgml:
11115         * docs/gst/tmpl/gstxml.sgml:
11116
11117 2004-03-24  David Schleef  <ds@schleef.org>
11118
11119         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11120         manual being such complete crap, that I decided to do major
11121         hacking of it.  This checkin replaces any fine tuning that
11122         may have been done previously, with the benefit of actually
11123         being complete for much of the API that was changed since
11124         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11125         * docs/gst/gstreamer-sections.txt:
11126         * docs/gst/tmpl/GstBin.sgml:
11127         * docs/gst/tmpl/GstBuffer.sgml:
11128         * docs/gst/tmpl/GstCaps.sgml:
11129         * docs/gst/tmpl/GstClock.sgml:
11130         * docs/gst/tmpl/GstCompat.sgml:
11131         * docs/gst/tmpl/GstData.sgml:
11132         * docs/gst/tmpl/GstElement.sgml:
11133         * docs/gst/tmpl/GstEvent.sgml:
11134         * docs/gst/tmpl/GstIndex.sgml:
11135         * docs/gst/tmpl/GstStructure.sgml:
11136         * docs/gst/tmpl/GstTag.sgml:
11137         * docs/gst/tmpl/cothreads.sgml:
11138         * docs/gst/tmpl/cothreads_compat.sgml:
11139         * docs/gst/tmpl/gettext.sgml:
11140         * docs/gst/tmpl/grammar.tab.sgml:
11141         * docs/gst/tmpl/gst-i18n-app.sgml:
11142         * docs/gst/tmpl/gst-i18n-lib.sgml:
11143         * docs/gst/tmpl/gst.sgml:
11144         * docs/gst/tmpl/gst_private.sgml:
11145         * docs/gst/tmpl/gstaggregator.sgml:
11146         * docs/gst/tmpl/gstarch.sgml:
11147         * docs/gst/tmpl/gstatomic.sgml:
11148         * docs/gst/tmpl/gstatomic_impl.sgml:
11149         * docs/gst/tmpl/gstbin.sgml:
11150         * docs/gst/tmpl/gstbuffer.sgml:
11151         * docs/gst/tmpl/gstbufferstore.sgml:
11152         * docs/gst/tmpl/gstcaps.sgml:
11153         * docs/gst/tmpl/gstclock.sgml:
11154         * docs/gst/tmpl/gstcompat.sgml:
11155         * docs/gst/tmpl/gstconfig.sgml:
11156         * docs/gst/tmpl/gstcpu.sgml:
11157         * docs/gst/tmpl/gstdata.sgml:
11158         * docs/gst/tmpl/gstdata_private.sgml:
11159         * docs/gst/tmpl/gstelement.sgml:
11160         * docs/gst/tmpl/gstenumtypes.sgml:
11161         * docs/gst/tmpl/gsterror.sgml:
11162         * docs/gst/tmpl/gstevent.sgml:
11163         * docs/gst/tmpl/gstfakesink.sgml:
11164         * docs/gst/tmpl/gstfakesrc.sgml:
11165         * docs/gst/tmpl/gstfilesink.sgml:
11166         * docs/gst/tmpl/gstfilter.sgml:
11167         * docs/gst/tmpl/gstindex.sgml:
11168         * docs/gst/tmpl/gstinfo.sgml:
11169         * docs/gst/tmpl/gstinterface.sgml:
11170         * docs/gst/tmpl/gstlog.sgml:
11171         * docs/gst/tmpl/gstmacros.sgml:
11172         * docs/gst/tmpl/gstmarshal.sgml:
11173         * docs/gst/tmpl/gstmd5sink.sgml:
11174         * docs/gst/tmpl/gstmultifilesrc.sgml:
11175         * docs/gst/tmpl/gstobject.sgml:
11176         * docs/gst/tmpl/gstpad.sgml:
11177         * docs/gst/tmpl/gstparse.sgml:
11178         * docs/gst/tmpl/gstpipeline.sgml:
11179         * docs/gst/tmpl/gstplugin.sgml:
11180         * docs/gst/tmpl/gstpluginfeature.sgml:
11181         * docs/gst/tmpl/gstqueue.sgml:
11182         * docs/gst/tmpl/gstreamer-unused.sgml:
11183         * docs/gst/tmpl/gstregistry.sgml:
11184         * docs/gst/tmpl/gstregistrypool.sgml:
11185         * docs/gst/tmpl/gstscheduler.sgml:
11186         * docs/gst/tmpl/gstsearchfuncs.sgml:
11187         * docs/gst/tmpl/gstshaper.sgml:
11188         * docs/gst/tmpl/gstspider.sgml:
11189         * docs/gst/tmpl/gstspideridentity.sgml:
11190         * docs/gst/tmpl/gststructure.sgml:
11191         * docs/gst/tmpl/gstsystemclock.sgml:
11192         * docs/gst/tmpl/gsttag.sgml:
11193         * docs/gst/tmpl/gsttaginterface.sgml:
11194         * docs/gst/tmpl/gsttee.sgml:
11195         * docs/gst/tmpl/gstthread.sgml:
11196         * docs/gst/tmpl/gsttrace.sgml:
11197         * docs/gst/tmpl/gsttrashstack.sgml:
11198         * docs/gst/tmpl/gsttypefind.sgml:
11199         * docs/gst/tmpl/gsttypes.sgml:
11200         * docs/gst/tmpl/gsturi.sgml:
11201         * docs/gst/tmpl/gsturitype.sgml:
11202         * docs/gst/tmpl/gstutils.sgml:
11203         * docs/gst/tmpl/gstvalue.sgml:
11204         * docs/gst/tmpl/gstversion.sgml:
11205         * docs/gst/tmpl/gstxml.sgml:
11206         * docs/gst/tmpl/gstxmlregistry.sgml:
11207         * docs/gst/tmpl/gthread-cothreads.sgml:
11208         * docs/gst/tmpl/types.sgml:
11209
11210 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11211
11212         * docs/pwg/other-sink.xml:
11213         * docs/pwg/other-source.xml:
11214           Documentation on how to write source and sink elements. Other
11215           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11216           manager, autoplugger) are all still pending.
11217
11218 2004-03-25  Benjamin Otte  <otte@gnome.org>
11219
11220         * testsuite/elements/Makefile.am:
11221         * testsuite/elements/gst-compprep-check:
11222           add check to make sure gst-compprep works
11223         * testsuite/elements/gst-inspect-check.in:
11224           improve initialization output
11225         * testsuite/Makefile.am:
11226         * testsuite/gst-inspect-check:
11227           remove old file
11228
11229 2004-03-24  David Schleef  <ds@schleef.org>
11230
11231         * testsuite/elements/Makefile.am:
11232         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11233         to the testsuite.
11234
11235 2004-03-24  Benjamin Otte  <otte@gnome.org>
11236
11237         * libs/gst/control/dparam.c: (gst_dparam_attach),
11238         (gst_dparam_detach):
11239         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11240           fix lvalue casts for real
11241
11242 2004-03-24  Benjamin Otte  <otte@gnome.org>
11243
11244         * gst/schedulers/gstbasicscheduler.c:
11245         (gst_basic_scheduler_src_wrapper):
11246         * gst/schedulers/gstoptimalscheduler.c:
11247         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11248         (pad_clear_queued), (gst_opt_scheduler_add_element),
11249         (gst_opt_scheduler_remove_element):
11250           fix GStreamer to not have issues with lvalue casts anymore (fixes
11251           #136841)
11252
11253 2004-03-24  Benjamin Otte  <otte@gnome.org>
11254
11255         * gst/gstelement.c:
11256           add documentation about a gobject quirk where the object hasn't the
11257           correct class pointer set on initialization
11258         * gst/schedulers/gstbasicscheduler.c:
11259         (gst_basic_scheduler_src_wrapper):
11260           make sure to not run into an infinite loop
11261
11262 2004-03-22  Benjamin Otte  <otte@gnome.org>
11263
11264         * gst/gstutils.c: (gst_util_dump_mem):
11265         * gst/gstutils.h:
11266           first argument of gst_util_dump_mem should be const
11267
11268 2004-03-22  Johan Dahlin  <johan@gnome.org>
11269
11270         * gst/gstvalue.h: Clean up a little bit.
11271
11272 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11273
11274         reviewed by Benjamin Otte  <otte@gnome.org>
11275
11276         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11277         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11278         (gst_aggregator_class_init), (gst_aggregator_init):
11279         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11280         (gst_filesrc_dispose), (gst_filesrc_set_location):
11281         * gst/elements/gstidentity.c: (gst_identity_finalize),
11282         (gst_identity_class_init), (gst_identity_chain):
11283         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11284         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11285         (gst_statistics_class_init):
11286         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11287         (gst_tee_get_property):
11288           clean up used memory in this elements correctly on teardown (closes
11289           #137279)
11290
11291 2004-03-20  Colin Walters  <walters@redhat.com>
11292
11293         * gst/registries/gstxmlregistry.c:
11294         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11295         registry saving atomic.
11296
11297 2004-03-20  Colin Walters  <walters@redhat.com>
11298
11299         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11300         Just use
11301         access() instead of actually creating and deleting files.
11302
11303 2004-03-18  David Schleef  <ds@schleef.org>
11304
11305         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11306         (bug #137625)
11307
11308 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11309
11310         * po/sv.po: updated translation (Christian Rose)
11311
11312 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11313
11314         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11315         (gst_filesink_get_query_types), (_do_init),
11316         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11317           return FALSE silently
11318         * po/af.po: updated translation (Petri Jooste)
11319
11320 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11321
11322         * Makefile.am:
11323         * configure.ac:
11324           dist common properly
11325         * po/af.po:
11326         * po/fr.po:
11327         * po/nl.po:
11328         * po/sr.po:
11329         * po/sv.po:
11330           refreshing translations
11331
11332 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11333
11334         * po/LINGUAS:
11335         * po/sv.po:
11336         * po/af.po:
11337           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11338
11339 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11340
11341         * Makefile.am: use common/release.mak
11342
11343 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11344
11345         * docs/faq/gst-uninstalled:
11346           adding gst-monkeysaudio to the list of possible plugin dirs
11347
11348 2004-03-16  David Schleef  <ds@schleef.org>
11349
11350         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11351         (gst_init_check_with_popt_table):  Fix some gettext strings to
11352         make them easier to translate.  Required making the strings
11353         non-const.
11354
11355 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11356
11357         * configure.ac: bump nano to 1
11358
11359 === release 0.8.0 ===
11360
11361 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11362
11363         * configure.ac: release 0.8.0, "Executive Slacks"
11364
11365 2004-03-16  Johan Dahlin  <johan@gnome.org>
11366
11367         * gst/schedulers/gstoptimalscheduler.c
11368         (gst_opt_scheduler_pad_unlink): Remove double ;,
11369         spotted by Scott Wheeler
11370
11371 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11372
11373         * configure.ac: bump libtool version
11374
11375 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11376
11377         * gst/gstcaps.h:
11378         * gst/gststructure.h:
11379           add reserved padding
11380
11381 2004-03-15  Benjamin Otte  <otte@gnome.org>
11382
11383         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11384           set the first parameter for select call correctly.
11385           (fixes #137230)
11386
11387 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11388
11389         * *.c,*.h: don't mix tabs and spaces
11390
11391 2004-03-15  Johan Dahlin  <johan@gnome.org>
11392
11393         * gst/schedulers/gstoptimalscheduler.c
11394         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11395         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11396
11397         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11398         
11399 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11400
11401         * testsuite/Rules:
11402           fix gst-register rules
11403
11404 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11405
11406         * testsuite/Rules:
11407           use versioned gst-register
11408
11409 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11410
11411         * docs/libs/gstreamer-libs-sections.txt:
11412           remove </SUBSECTION>
11413         * gst/gstplugin.c:
11414         * gst/gstregistry.c: (gst_registry_add_plugin):
11415         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11416         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11417           add debugging and fix some comment blocks
11418
11419 2004-03-15  Johan Dahlin  <johan@gnome.org>
11420
11421         * *.h: Revert indent changes.
11422         
11423 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11424
11425         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11426           g_error_free the g_error
11427         * tools/gst-feedback-m.m:
11428           check for other versions of gstreamer
11429         * tools/gst-indent:
11430           use sh, not bash
11431
11432 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11433
11434         * tools/gst-register.c: do not spill paths when registries are not
11435           writable, until we fix the "user running gst-register" case.
11436
11437 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11438
11439         * *.c, *.h: commit of gst-indent run on core
11440
11441 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11442
11443         * tools/gst-indent:
11444         * tools/Makefile.am:
11445           add our indentation style as a script
11446
11447 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11448
11449         * po/sr.po:
11450         * po/LINGUAS:
11451           added Serbian translation
11452
11453 2004-03-13  Benjamin Otte  <otte@gnome.org>
11454
11455         * gst/gstelement.c:
11456           add documentation note about gst_element_found_tags_for_pad not
11457           being usable in getfunctions. (see #137042)
11458
11459 2004-03-12  David Schleef  <ds@schleef.org>
11460
11461         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11462         change API right now!  Readd gst_caps_is_simple() macro.
11463         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11464         uninitialized variable.  I'd bet this caused crashes.
11465         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11466
11467 2004-03-12  Johan Dahlin  <johan@gnome.org>
11468
11469         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11470         * gst/gstcaps.h: Clean up
11471
11472         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11473         _gst_caps_initalize()
11474
11475         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11476         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11477
11478         * gst/gststructure.c (gst_structure_get_type): Ditto
11479
11480         * gst/gststructure.h: Ditto
11481         
11482 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11483
11484         * gst/gstqueue.c: (gst_queue_init):
11485           Reset default max. values in queues. Reason is simply to avoid
11486           braindead use. If you want wider values, use the properties. The
11487           default is supposed to always work. Wider values would make this
11488           beast a memory hog by default (250 full-PAL RGB32 video frames?
11489           That's 440 MB! No thank you).
11490
11491 2004-03-10  David Schleef  <ds@schleef.org>
11492
11493         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11494         were found.  (bug #136793)
11495
11496 2004-03-10  Johan Dahlin  <johan@gnome.org>
11497
11498         * gst/schedulers/gstoptimalscheduler.c
11499         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11500         links to elements within the same group, so we can finally remove
11501         that annoying warning. Refactor the code a little bit
11502         (group_dec_links_for_element): Split out
11503
11504 2004-03-09  David Schleef  <ds@schleef.org>
11505
11506         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11507         (bug #134863)
11508
11509 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11510
11511         * configure.ac: first bug fix due to major/minor bump
11512
11513 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11514
11515         * configure.ac: bump nano to 1
11516
11517 === release 0.7.6 ===
11518
11519 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11520
11521         * NEWS:
11522         * RELEASE:
11523         * configure.ac:
11524           releasing 0.7.6, "Almost"
11525         * po/fr.po:
11526         * po/nl.po:
11527         * tools/Makefile.am:
11528         * tools/gst-feedback-m.m:
11529           unversioned source
11530
11531 2004-03-09  Johan Dahlin  <johan@gnome.org>
11532
11533         Reviewed by: Thomas Vander Stichele
11534
11535         * gst/gstelement.c (gst_element_class_init): register second
11536         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11537         language bindings can (de)marshall correctly.
11538
11539         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11540
11541         * gst/gsterror.c (gst_g_error_get_type): New function
11542
11543         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11544         with VOID:OBJECT,OBJECT,STRING 
11545
11546 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11547
11548         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11549         Free a leaked g_timer on early returns.
11550
11551 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11552
11553         * docs/pwg/advanced-types.xml:
11554           Add cinepak description.
11555
11556 2004-03-07  David Schleef  <ds@schleef.org>
11557
11558         * docs/random/mimetypes:  Added cinepak description
11559
11560 2004-03-07  Andy Wingo  <wingo@pobox.com>
11561
11562         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11563
11564         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11565         there are no links to other groups when a group is destroyed.
11566         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11567         removed from a group, make sure the link count to elements linked
11568         to other pads is appropriately decremented. This really fixes
11569         #135672.
11570
11571         The 1.60->1.61 patch has been reapplied in light of this fix.
11572
11573         * gst/gstelement.c (gst_element_dispose): Really protect against
11574         multiple invocations this time.
11575
11576 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11577
11578         * docs/gst/gstreamer-sections.txt:
11579         * docs/gst/tmpl/gsttag.sgml:
11580           remove some deprecated functions, document some existing ones
11581         * gst/gsttag.c: (gst_tag_get_flag):
11582         * gst/gsttag.h:
11583           add accessor function
11584
11585 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11586
11587         * docs/gst/gstreamer-sections.txt:
11588         * docs/gst/tmpl/gsttag.sgml:
11589         * docs/gst/tmpl/gstxml.sgml:
11590         * gst/gsttag.c: (gst_tag_get_flag):
11591         * gst/gsttag.h:
11592
11593 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11594
11595         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11596         leak
11597
11598 2004-03-05  David Schleef  <ds@schleef.org>
11599
11600         * REQUIREMENTS: Add bison and flex.
11601         * configure.ac: Fix comment about bison.
11602         * docs/random/ds/0.9-suggested-changes: yer ma
11603         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11604
11605 2004-03-05  Benjamin Otte  <otte@gnome.org>
11606
11607         * gst/gstelement.c: (gst_element_error_full):
11608           revert recent recursive state changing commit - messing with other
11609           elements' states is evil and should be done by apps only.
11610
11611 2004-03-05  Benjamin Otte  <otte@gnome.org>
11612
11613         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11614           check for empty intersection instead of NULL caps
11615         (gst_element_get_compatible_pad_filtered):
11616           remove old workaround that is only a bug nowadays
11617
11618 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11619
11620         * gst/gstelement.c: (gst_element_error_full):
11621           make elements try to recursively change state to PAUSED on all
11622           parents after an error to suppress ensuing warnings
11623         * gst/parse/grammar.y:
11624           make it check if it was able to sync the state, and throw an error
11625           if not, so stuff like
11626           oggdemux ! vorbisdec ! osssink gets caught
11627
11628 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11629
11630         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11631           it contains lib64; use AS_AC_EXPAND to handle it properly
11632
11633 2004-03-05  David Schleef  <ds@schleef.org>
11634
11635         * gst/gstcpuid_i386.s:  Remove unused code
11636         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11637         (gst_getbits_newbuf): Remove MMX code
11638         * libs/gst/getbits/getbits.h: Remove MMX code
11639
11640 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11641
11642         * debian/.cvsignore:
11643         * debian/README.Debian:
11644         * debian/changelog:
11645         * debian/control:
11646         * debian/control.in:
11647         * debian/copyright:
11648         * debian/gstreamer-core-libs-dev.files:
11649         * debian/gstreamer-core-libs.files:
11650         * debian/gstreamer-core.files:
11651         * debian/gstreamer-core.postinst:
11652         * debian/gstreamer-core.postrm:
11653         * debian/gstreamer-doc.files:
11654         * debian/gstreamer-doc.links:
11655         * debian/gstreamer-doc.lintian:
11656         * debian/gstreamer-runtime.files:
11657         * debian/gstreamer-runtime.manpages:
11658         * debian/gstreamer-runtime.postinst:
11659         * debian/gstreamer-runtime.postrm:
11660         * debian/gstreamer-tools.files:
11661         * debian/gstreamer-tools.manpages:
11662         * debian/libgstreamer-dev.files:
11663         * debian/libgstreamer0.4.1.files:
11664         * debian/libgstreamerVERSION.files:
11665         * debian/rules:
11666         Debian package info not maintained here.
11667
11668 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11669
11670         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11671         * gst/gstbin.c: (gst_bin_class_init):
11672         * gst/gstelement.c: (gst_element_class_init):
11673         * gst/gstindex.c: (gst_index_class_init):
11674         * gst/gstobject.c: (gst_object_class_init),
11675         (gst_signal_object_class_init):
11676         * gst/gstpad.c: (gst_pad_template_class_init):
11677         * gst/gstregistry.c: (gst_registry_class_init):
11678         * gst/gsturi.c: (gst_uri_handler_base_init):
11679         * gst/gstxml.c: (gst_xml_class_init):
11680         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11681         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11682           make all signal names use dashes instead of underscore
11683
11684 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11685
11686         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11687
11688 2004-03-03  Benjamin Otte  <otte@gnome.org>
11689
11690         * gst/schedulers/gstoptimalscheduler.c:
11691           revert last commit by Andy Wingo. It causes segfaults on unreffing
11692           in Rhythmbox. (see bug #135672)
11693
11694 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11695
11696         * po/fr.po: fix typo
11697
11698 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11699
11700         * tools/gst-inspect.c: (main): 
11701         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11702
11703 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11704
11705         * configure.ac:
11706           get GLIB_ONLY and POPT flags for the nonversioned binaries
11707         * tools/Makefile.am:
11708           use them
11709
11710 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11711
11712         * gst/gst.c: (init_post):
11713           change so that GST_REGISTRY now is where the global registry gets
11714           saved, since that is where plugins now get attached to first, and
11715           spilled over to the user registry.  Note that in the case of using
11716           GST_REGISTRY env var, we don't want to affect any real registries
11717           beyond the one given by this var, and thus we don't set a user
11718           registry to spill to.  So make sure GST_REGISTRY is writable.
11719
11720 2004-03-01  David Schleef  <ds@schleef.org>
11721
11722         * AUTHORS:  Added some names.  Add yourself if you're missing.
11723
11724 2004-03-01  David Schleef  <ds@schleef.org>
11725
11726         * MAINTAINERS: Add
11727
11728 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11729
11730         * configure.ac:
11731           remove whitespace
11732         * docs/gst/tmpl/gstbuffer.sgml:
11733         * docs/gst/tmpl/gstdata.sgml:
11734         * docs/gst/tmpl/gstreamer-unused.sgml:
11735         * docs/gst/tmpl/gstxml.sgml:
11736           doc update
11737         * docs/manuals.mak:
11738           add a FIXME
11739         * docs/pwg/intro-preface.xml:
11740         * docs/pwg/pwg.xml:
11741           remove GNOME
11742         * gst/gst.c: (init_post):
11743           try GST_PLUGIN_PATH paths for the _global_registry first
11744         * gst/gstelement.h:
11745           add the error message as well, otherwise (null) debug info doesn't
11746           make much sense
11747         * tools/gst-register.c: (main):
11748           spill paths to next registry if this registry is not writable
11749         * po/fr.po:
11750         * po/nl.po:
11751           translation updates
11752
11753 2004-03-01  Johan Dahlin  <johan@gnome.org>
11754
11755         * gst/gstbuffer.c (_gst_buffer_initialize): 
11756         * gst/gstdata.c (gst_data_get_type): 
11757         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11758         instead of ref, since some applications that uses GBoxed
11759         routines depends on a function that actually returns a copy.
11760
11761 2004-02-27  Benjamin Otte  <otte@gnome.org>
11762
11763         * gst/gstbuffer.h:
11764           remove gst_buffer_free, use gst_data_unref
11765         * gst/gstdata.c: (gst_data_get_type):
11766           use refcounting in GstData GBoxed registration
11767         * gst/gstdata.h:
11768           remove gst_data_free, use gst_data_unref
11769
11770 2004-02-27  Johan Dahlin  <johan@gnome.org>
11771
11772         * gst/gstdata.c (gst_data_get_type): New function, register
11773         GstData as a GBoxed type.
11774
11775         * gst/gstdata.h (GST_TYPE_DATA): New macro
11776
11777 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11778
11779         * Makefile.am:
11780         * gstreamer.spec.in:
11781           put back RELEASE
11782         * gst/Makefile.am:
11783           clean up non-disting of built files
11784         * testsuite/debug/commandline.c:
11785           test fix for option rename
11786
11787 2004-02-26  David Schleef  <ds@schleef.org>
11788
11789         * configure.ac:  We don't really need glib-2.3.  Also remove
11790         some unneeded checks for library functions.
11791         * gst/Makefile.am:  Instead, we need to not dist files created
11792         by glib-genmarshal.
11793
11794 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11795
11796         * configure.ac:
11797           bump glib required version to 2.3.0 for g_value_takes_boxed
11798
11799  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11800
11801         * common/m4/gst-docs.m4
11802         change flavour text from enable to disable as enable is our default
11803         closes bug Bug 135304
11804
11805 === release 0.7.5 ===
11806  
11807  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11808  
11809         * NEWS:
11810           instate NEWS file
11811         * Makefile.am:
11812         * gstreamer.spec.in:
11813         * RELEASE:
11814           put back release
11815         * configure.ac:
11816         * docs/random/release:
11817           more updates
11818
11819 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11820
11821         * gst/gsttag.c: (_gst_tag_initialize):
11822         * po/fr.po:
11823         * po/nl.po:
11824           remove hyphen from codec tags
11825
11826 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11827
11828         * gst/parse/Makefile.am:
11829           fix dependency so that a make from a clean build works the first
11830           time
11831
11832 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11833
11834         * docs/random/release:
11835           update release strategy
11836         * po/fr.po:
11837           auto-update po file
11838         * po/nl.po:
11839           update dutch translation
11840
11841 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11842
11843         * docs/manual/debugging.xml:
11844         fix manual for new debugging system
11845
11846 2004-02-25  Andy Wingo  <wingo@pobox.com>
11847
11848         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11849         gst_pad_link_prepare. Please email the list with specific reasons
11850         for reverting.
11851
11852 2004-02-24  Andy Wingo  <wingo@pobox.com>
11853
11854         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11855         invocations.
11856
11857         * gst/schedulers/gstoptimalscheduler.c:
11858         I added a mess of prototypes at the top of the file by way of
11859         documentation. Some of the operations on chains and groups were
11860         re-organized.
11861
11862         (create_group): Added a type argument so if the group is enabled,
11863         the setup_group_scheduler knows what to do.
11864         (group_elements): Added a type argument here, too, to be passed on
11865         to create_group.
11866         (group_element_set_enabled): If an unlinked PLAYING element is
11867         added to a bin, we have to create a new group to hold the element,
11868         and this function will be called before the group is added to the
11869         chain. Thus we have a valid case for group->chain==NULL. Instead
11870         of calling chain_group_set_enabled, just set the flag on the group
11871         (the chain's status will be set when the group is added to it).
11872         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11873         Setup the group scheduler when the group is enabled, not
11874         specifically when an element goes PAUSED->PLAYING. This means
11875         PLAYING elements can be added, linked, and scheduled into a
11876         PLAYING pipeline, as was intended.
11877         (add_to_group): Don't ref the group twice. I don't know when this
11878         double-ref got in here. Removing it has the potential to cause
11879         segfaults if other parts of the scheduler are buggy. If you find
11880         that the scheduler is segfaulting for you, put in an extra ref
11881         here and see if that hacks over the underlying issue. Of course,
11882         then find out what code is unreffing a group it doesn't own...
11883         (create_group): Make the extra refcount floating, and remove it
11884         after adding the element. This means that...
11885         (unref_group): Destroy when the refcount reaches 0, not 1, like
11886         every other refcounted object in the known universe.
11887         (remove_from_group): When a group becomes empty, set it to be not
11888         active, and remove it from its chain. Don't unref it again,
11889         there's no floating reference any more.
11890         (destroy_group): We have to remove the group from the chain in
11891         remove_from_group (rather than here) to break refcounting cycles
11892         (the chain always has a ref on the group). So assert that
11893         group->chain==NULL.
11894         (ref_group_by_count): Removed, it was commented out anyway.
11895         (merge_chains): Use the remove_from_chain and add_to_chain
11896         primitives to do the reparenting, instead of rolling our own
11897         implementation.
11898         (add_to_chain): The first non-disabled group in the chain's group
11899         list will be the entry point for the chain. Because buffers can
11900         accumulate in loop elements' peer bufpens, we preferentially
11901         schedule loop groups before get groups to avoid unnecessary
11902         execution of get-based groups when the bufpens are already full.
11903         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11904         (get_group_schedule_function): Ditto.
11905         (loop_group_schedule_function): Ditto.
11906         (gst_opt_scheduler_loop_wrapper): Ditto.
11907         (gst_opt_scheduler_iterate): Ditto.
11908
11909         I understand the opt scheduler now, yippee!
11910
11911         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11912         (gst_pad_get_name, gst_pad_set_chain_function) 
11913         (gst_pad_set_get_function, gst_pad_set_event_function) 
11914         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11915         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11916         (gst_pad_set_query_function, gst_pad_get_query_types) 
11917         (gst_pad_get_query_types_default) 
11918         (gst_pad_set_internal_link_function) 
11919         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11920         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11921         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11922         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11923         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11924         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11925         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11926         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11927         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11928         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11929         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11930         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11931         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11932         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11933         argument checks, and some doc fixes.
11934
11935         (gst_pad_custom_new_from_template): Um, does anyone
11936         use these functions? Actually make a custom pad instead of a
11937         normal one.
11938         (gst_pad_try_set_caps): Transpose some checks.
11939         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11940         the pad is in negotiation.
11941         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11942         
11943         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11944
11945         * gst/gstelement.h: 
11946         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11947         on the list.
11948
11949 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11950
11951         * gst/gstbin.c: (gst_bin_add):
11952           add error for not being able to add elements
11953
11954 2004-02-22  Julien MOUTTE <julien@moutte.net>
11955
11956         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11957         audio-codec and video-codec.
11958
11959 2004-02-22  Benjamin Otte  <otte@gnome.org>
11960
11961         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11962
11963         * autogen.sh:
11964           replace test -e with test -x for mkinstalldirs to be more portable.
11965           (fixes #134816)
11966
11967 2004-02-22  Benjamin Otte  <otte@gnome.org>
11968
11969         * gst/gstpad.c:
11970           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11971           too noisy
11972         * gst/gsttag.c: (_gst_tag_initialize):
11973         * gst/gsttag.h:
11974           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11975         * libs/gst/control/dparam.c: (gst_dparam_attach):
11976         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11977           check that types for attached dparams match
11978
11979 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11980
11981         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11982         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11983         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11984           fix errors
11985
11986 2004-02-20  Andy Wingo  <wingo@pobox.com>
11987
11988         * gst/gstbin.c:
11989         * gst/gstbuffer.c:
11990         * gst/gstplugin.c:
11991         * gst/registries/gstxmlregistry.c: 
11992         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11993
11994         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11995         (gst_element_add_pad): DEBUG->INFO, some fixes.
11996         (gst_element_get_compatible_pad_template): Just see if the
11997         templates' caps intersect, not if one is a strict subset of the
11998         other. This conforms more to what gst_pad_link_intersect() does.
11999         (gst_element_class_add_pad_template): Don't memcpy the pad
12000         template, just ref it.
12001         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12002
12003         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12004         (gst_pad_link_filtered): Debug changes.
12005         (gst_pad_link_prepare): New function, consolidated from
12006         can_link_filtered and link_filtered.
12007
12008         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12009         look more like that of the functions in gstelement.c
12010
12011         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12012         object, and return the empty string if object is NULL.
12013
12014         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12015         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12016         LOG, not DEBUG. We still get flex info on debug.
12017
12018         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12019         debug string more verbose.
12020         (plugin_times_older_than): DEBUG->LOG.
12021
12022 2004-02-20  Julien MOUTTE <julien@moutte.net>
12023
12024         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12025         will emit found_tag for each stream they demux with the codec.
12026
12027 2004-02-20  Benjamin Otte  <otte@gnome.org>
12028
12029         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12030           copy navigation event correctly. Check freeing tag lists. 
12031         * gst/gstthread.c: (gst_thread_change_state):
12032           don't abort() on state changing mess - it might happen because of
12033           bugs.
12034         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12035           use boxed functions
12036         * gst/gstvalue.h:
12037           fix GST_VALUE_HOLDS_CAPS
12038
12039 2004-02-19  David Schleef  <ds@schleef.org>
12040
12041         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12042         and use it for GST_FUNCTION.  (bug #134750)
12043
12044 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12045
12046         * po/fr.po:
12047         * po/nl.po:
12048           updating translations
12049
12050 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12051
12052         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12053
12054 2004-02-18  kost@imn.htwk-leipzig.de
12055
12056         reviewed by: David Schleef  <ds@schleef.org>
12057
12058         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12059         for libgstcontrol.
12060
12061 2004-02-18  David Schleef  <ds@schleef.org>
12062
12063         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12064         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12065         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12066         * tools/gst-inspect.c: (print_element_info): Support dumping of
12067         double dparam information.
12068
12069 2004-02-17  David Schleef  <ds@schleef.org>
12070
12071         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12072         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12073         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12074         Use GST_TYPE_CAPS in signal prototype.
12075         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12076         Convert GST_TYPE_CAPS to boxed.
12077         * gst/gstelement.c: (gst_element_class_init):
12078         Use GST_TYPE_TAG_LIST in signal prototype.
12079         * gst/gstindex.c: (gst_index_class_init):
12080         * gst/gstindex.h:
12081         Add GST_TYPE_INDEX_ENTRY type.
12082         * gst/gstmarshal.list:
12083         Add necessary marshal types.
12084         * gst/gstpad.c: (gst_real_pad_class_init),
12085         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12086         (gst_pad_recover_caps_error):
12087         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12088         * gst/gststructure.c: (_gst_structure_initialize),
12089         (gst_structure_copy), (_gst_structure_copy_conditional):
12090         * gst/gststructure.h:
12091         Convert GST_TYPE_STRUCTURE to boxed.
12092         * gst/gsttag.c: (gst_tag_list_get_type):
12093         * gst/gsttag.h:
12094         Add GST_TYPE_TAG_LIST type.
12095
12096 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12097
12098         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12099         to what we agreed with david.
12100         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12101
12102 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12103
12104         * po/nl.po: update translation
12105
12106 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12107
12108         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12109           throw an error if spider is trying to play a mime type there is
12110           no decoder for
12111         * po/POTFILES.in:
12112           add gst/autoplug/gstspider.c for translation
12113
12114 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12115
12116         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12117         silently when the pad is negotiating.
12118
12119 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12120
12121         * docs/faq/Makefile.am:
12122           add script to run gstreamer uninstalled 
12123         * docs/faq/faq.xml:
12124         * docs/faq/developing.xml:
12125         * docs/faq/gst-uninstalled:
12126           extract script to run gstreamer uninstalled
12127         * docs/manuals.mak:
12128           add EXTRA_SOURCES variable for Makefile.am's to set to
12129           use additional SOURCE files for the doc build
12130
12131 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12132
12133         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12134
12135 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12136
12137         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12138         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12139         an error was thrown by osssink. Basically a state change failure for
12140         an element in a different scheduling group was considered as
12141         successful, which means that caps nego was going on and weird stuff
12142         happened. Like I wrote in the comment there, if someone wants to
12143         revert that please drop me a mail explaining why because I really see
12144         no point in keeping that broken behaviour there.
12145         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12146         be empty, we then return NULL which will trigger a nice error when 
12147         pulling from the pad.
12148
12149 2004-02-13  David Schleef  <ds@schleef.org>
12150
12151         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12152         (gst_dparam_get_property), (gst_dparam_set_property),
12153         (gst_dparam_do_update_default):
12154         * libs/gst/control/dparam.h:
12155         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12156         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12157         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12158         (gst_dpsmooth_do_update_double):
12159         * libs/gst/control/dparam_smooth.h:
12160         * libs/gst/control/dparammanager.c:
12161         (gst_dpman_inline_direct_update):
12162         Add support for double dparams.
12163
12164 2004-02-13  David Schleef  <ds@schleef.org>
12165
12166         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12167         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12168
12169 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12170
12171         reviewed by: David Schleef  <ds@schleef.org>
12172
12173         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12174         (gst_fdsrc_init), (gst_fdsrc_set_property),
12175         (gst_fdsrc_get_property), (gst_fdsrc_get):
12176         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12177         and sends an EOS event if file descriptor reading times out.
12178
12179 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12180
12181         * configure.ac:
12182           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12183
12184 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12185
12186         * configure.ac: pass required libxml version as argument
12187         (bug reported by Christophe Fergeau)
12188
12189 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12190   
12191         * docs/gst/gstreamer-docs.sgml:
12192         * docs/gst/tmpl/gstxml.sgml:
12193         * docs/libs/gstreamer-libs-docs.sgml:
12194           version API docs
12195
12196 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12197
12198         * gst/gstinfo.c:
12199         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12200         (gst_registry_pool_feature_filter):
12201         * gst/gstthread.c: (gst_thread_class_init):
12202         * gst/gstvalue.c:
12203           add includes exposed by building without libxml
12204         * gst/indexers/Makefile.am:
12205           do not build fileindex when LOADSAVE disabled; we should have
12206           a better libxml check later since fileindex depends on xml, not
12207           LOADSAVE or REGISTRY
12208         * libs/gst/control/Makefile.am:
12209           link with m
12210         * tools/Makefile.am:
12211           fix wrong source code for gst-xmlinspect
12212
12213 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12214
12215         * configure.ac:
12216           fix gcov help output
12217           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12218         * docs/random/release:
12219           some updated releasing notes
12220         * gstreamer.spec.in:
12221           more updates
12222
12223 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12224
12225         * docs/faq/faq.xml:
12226         * docs/manual/manual.xml:
12227         * docs/pwg/pwg.xml:
12228         * docs/pwg/titlepage.xml:
12229           put version in documentation
12230
12231 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12232
12233         * tools/Makefile.am: fix man page installation
12234
12235 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12236
12237         * configure.ac:
12238           don't check for libxml when load/save and registry disabled (#105844)
12239         * gstreamer.spec.in:
12240           sync with fedora candidate spec
12241
12242 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12243
12244         * po/fr.po:
12245         * po/nl.po:
12246           replace multidisksrc with multifilesrc
12247
12248 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12249
12250         * po/POTFILES.in:
12251           update to multidisksrc => multifilesrc file renaming (#134145)
12252
12253 2004-02-11  David Schleef  <ds@schleef.org>
12254
12255         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12256         * docs/gst/tmpl/gstpadtemplate.sgml: same
12257         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12258         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12259         fixing dance.
12260         * gst/gstutils.c: Remove disabled code that uses GstProps.
12261         * gst/registries/gstxmlregistry.h: same
12262         * docs/random/ds/0.9-suggested-changes: random notes
12263
12264 2004-02-11  kost@imn.htwk-leipzig.de
12265
12266         reviewed by: David Schleef  <ds@schleef.org>
12267
12268         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12269         initialisation of clock (bug #134128)
12270
12271 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12272
12273         * configure.ac:
12274         * gst/elements/Makefile.am:
12275         * gst/elements/gstelements.c:
12276         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12277         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12278         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12279         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12280         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12281         * gst/elements/gstmultifilesrc.h:
12282           rename multidisksrc to multifilesrc (part of #122200)
12283
12284 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12285
12286         * docs/manuals.mak:
12287           fix automake complaints
12288         * gst-element-check.m4:
12289           fix unquotedness
12290
12291 2004-02-11  David Schleef  <ds@schleef.org>
12292
12293         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12294         * gst/gstatomic_impl.h: Disable sparc implementation.
12295
12296 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12297
12298         * gst-element-check.m4:
12299           fix underquoted macros as reported by automake 1.8.x (#133800)
12300         * configure.ac:
12301           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12302           by autopoint (fixes #132996)
12303
12304 2004-02-10  Andy Wingo  <wingo@pobox.com>
12305
12306         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12307         way to do inheritance.
12308         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12309         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12310         Routine docs.
12311         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12312         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12313         doc.
12314         (gst_pad_unlink, gst_pad_is_linked): Docs.
12315         (gst_pad_renegotiate): A brief description of capsnego.
12316         (gst_pad_try_set_caps): Document.
12317         (gst_pad_try_set_caps_nonfixed): Document.
12318         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12319         (gst_pad_set_parent): Deprecated (although not out of the API).
12320         (gst_pad_get_parent): Deprecated, although many plugins use this.
12321         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12322         are private and will go away in 0.9.
12323         (gst_pad_perform_negotiate): Doc.
12324         (gst_pad_link_unnegotiate): I think this is meant to be static.
12325         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12326         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12327         (gst_pad_get_peer): Doc updates.
12328         (gst_pad_caps_change_notify): Doc.
12329         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12330         (gst_ghost_pad_new): Doc fixes.
12331
12332         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12333         (gst_object_check_uniqueness): 
12334
12335         * gst/gstelement.c (gst_element_add_pad) 
12336         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12337         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12338         (gst_element_get_static_pad, gst_element_get_pad_list) 
12339         (gst_element_class_get_pad_template_list) 
12340         (gst_element_class_get_pad_template): Work on the docs.
12341         (gst_element_get_pad_template_list): Uses the class method.
12342         (gst_element_get_compatible_pad_template): Docs, and consolidate
12343         some test conditions. 
12344         (gst_element_get_pad_from_template): New static function.
12345         (gst_element_request_compatible_pad): Docs, and work with
12346         non-request compatible templates. 
12347         (gst_element_get_compatible_pad_filtered): Docs and remove
12348         redundant checks.
12349         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12350         (gst_element_link_filtered, gst_element_link_many) 
12351         (gst_element_link, gst_element_link_pads) 
12352         (gst_element_unlink_many): Docs.
12353
12354 2004-02-05  Andy Wingo  <wingo@pobox.com>
12355
12356         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12357         s/pointer/boxed/.
12358
12359         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12360
12361         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12362         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12363         with the type=GST_TYPE_CAPS. This allows language bindings to know
12364         what kind of data they're dealing with.
12365
12366         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12367         to NULL when g_value_init is called. GstCaps, which rolls its own
12368         type implementation, now does the same instead of allocating empty
12369         caps.
12370         (_gst_caps_initialize, _gst_caps_collect_value,
12371         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12372         table methods. This allows G_VALUE_COLLECT to work.
12373
12374 2004-02-05  Andy Wingo  <wingo@pobox.com>
12375
12376         * configure.ac:
12377         * testsuite/Makefile.am (SUBDIRS): 
12378         * testsuite/ghostpads/Makefile.am: 
12379         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12380
12381         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12382         These two routines are the only ones that set
12383         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12384         pad template. They should be made static, depending on ABI needs.
12385         (gst_real_pad_dispose): Handle the case of ghost pads without a
12386         parent. Assert after dealing with ghost pads that the ghost pad
12387         list is empty.
12388         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12389         set after creation.
12390         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12391         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12392         functions. set_property will call add_ghost_pad/remove_ghost_pad
12393         as appropriate.
12394         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12395
12396         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12397         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12398         (gst_element_remove_pad): Handle ghost pads as well.
12399         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12400         depending on API-stability needs).
12401
12402 2004-02-05  Andy Wingo  <wingo@pobox.com>
12403
12404         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12405         of course they're const
12406
12407 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12408
12409         * tools/Makefile.am:
12410         * tools/gst-feedback:
12411         * tools/gst-feedback-0.7:
12412           make gst-feedback versioned too for consistency
12413
12414 2004-02-11  David Schleef  <ds@schleef.org>
12415
12416         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12417         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12418
12419 2004-02-10  Julien MOUTTE <julien@moutte.net>
12420
12421         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12422         the structure does not contain a valid tag list. Adding a safety check
12423         to remove a noisy warning in that case.
12424
12425 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12426
12427         * gst/gst.c: fix name to be in line with others
12428
12429 2004-02-09  Julien MOUTTE <julien@moutte.net>
12430
12431         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12432         not shout that loud when len is 0. Just return 0 silently.
12433
12434 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12435
12436         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12437         because data_unref has one and I prefer the debug to be symetric.
12438         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12439         were refed when added to the queue and unrefed only once when the queue
12440         was flushed. Now the flush handler unref the buffers two times : first
12441         unref for the ref added when pushing in the queue's tail and second
12442         unref to destroy the flushed buffer.
12443
12444 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12445
12446         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12447
12448 2004-02-06  David Schleef  <ds@schleef.org>
12449
12450         * docs/random/ds/0.9-suggested-changes: Random ramblings
12451         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12452         to int before printing.
12453         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12454         * gst/parse/parse.l: same.  See bug #129600
12455
12456 2004-02-06  David Schleef  <ds@schleef.org>
12457
12458         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12459         (gst_index_add_entry), (gst_index_add_associationv),
12460         (gst_index_add_association): Add gst_index_add_associationv()
12461         and clean up gst_index_add_association(). #127133
12462
12463 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12464
12465         * autogen.sh: check out common with right tag if CVS/Tag exists
12466
12467 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12468
12469         * testsuite/ghostpads/ghostpads.c: (main):
12470           fix testsuite from segfaulting
12471
12472 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12473
12474         * Makefile.am: add release target
12475         * configure.ac: bump nano to 1
12476         * docs/random/release:
12477
12478 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12479
12480         * gst/gstcaps.h:
12481         * gst/gstelement.c: (gst_element_base_class_init),
12482         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12483         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12484         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12485         (gst_real_pad_dispose):
12486         * gst/gststructure.c: (gst_structure_free),
12487         (gst_structure_from_string):
12488           put reverted patch back in
12489         * gst/gstelement.c: (gst_element_remove_pad):
12490           free explicit caps if they're set
12491         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12492           copy the structure when fixating
12493
12494 2004-02-05  David Schleef  <ds@schleef.org>
12495
12496         * gst/gstmarshal.list:
12497         * gst/gstpad.c: (gst_real_pad_class_init),
12498         (_gst_real_pad_fixate_accumulator):
12499         Revert POINTER->BOXED change in signal marshaller.
12500
12501 === release 0.7.4 ===
12502                                                                                 
12503 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12504                                                                                 
12505         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12506         * configure.ac: changed for release
12507
12508 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12509
12510         * gstreamer.spec.in:
12511           bump required version of gtk-doc
12512
12513 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12514
12515         * gst/gstcaps.h:
12516         * gst/gstelement.c: (gst_element_base_class_init),
12517         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12518         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12519         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12520         (gst_real_pad_dispose):
12521         * gst/gststructure.c: (gst_structure_free),
12522         (gst_structure_from_string):
12523           revert patch that breaks applications, reapply after release
12524           to get this fixed properly
12525
12526 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12527
12528         * gst/gsttag.c: (_gst_tag_initialize):
12529         * gst/gsttag.h:
12530           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12531
12532 2004-02-04  David Schleef  <ds@schleef.org>
12533
12534         Fix some memleaks:
12535         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12536         (gst_spider_plug_from_srcpad):
12537         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12538
12539 2004-02-04  David Schleef  <ds@schleef.org>
12540
12541         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12542         a GstRealPad before accessing its structure members.
12543
12544 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12545
12546         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12547         (gst_clock_get_speed):
12548         * gst/gstclock.h:
12549           reset padding, remove unused fields
12550
12551 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12552
12553         * gst/autoplug/gstspideridentity.c:
12554         (gst_spider_identity_sink_loop_type_finding):
12555           use get_allowed_caps, not get_caps (fixes #132519)
12556         * gst/elements/gsttypefind.c: (stop_typefinding):
12557           use correct order when sending buffers and seeking
12558
12559 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12560
12561         * configure.ac:
12562         * gst/gstelement.h:
12563         * gst/gstpad.h:
12564         * gst/gstqueue.h:
12565           upgrade libtool CURRENT, reset padding
12566
12567 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12568
12569         * configure.ac:
12570           bump to prerelease
12571           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12572
12573 2004-02-04  David Schleef  <ds@schleef.org>
12574
12575         * docs/random/ds/0.9-suggested-changes: random notes
12576         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12577         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12578         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12579         expansion.
12580         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12581         (gst_filesink_get_query_types): same
12582         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12583         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12584         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12585         to use new GST_PTR_FORMAT.
12586         * gst/gstelement.h: deprecate function factory macros
12587         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12588         These are our last variadic macros that can't be replaced with
12589         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12590         attempting to deprecate gst_element_clock_wait().
12591         * gst/gstevent.h: same
12592         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12593         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12594         * gst/gstpad.h: deprecate function factory macros similar to above.
12595
12596 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12597
12598         * configure.ac:
12599         * tools/Makefile.am:
12600         * tools/gst-run.c: (popt_callback), (hash_print_key),
12601         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12602         (get_candidates), (main):
12603           add new source file to generate non-versioned wrapper binaries
12604           for our tools.
12605
12606 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12607
12608         * gst/gstevent.c: (_gst_event_free):
12609           actually break; inside the switch statement
12610         * gst/parse/grammar.y:
12611           fix memleak where GValues weren't unset
12612
12613 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12614
12615         * gst/gststructure.c: (gst_structure_from_string):
12616           fix huge memleak
12617         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12618         (new_entry), (gst_type_find_element_chain):
12619         * gst/gstelement.c: (gst_element_base_class_init),
12620         (gst_element_class_set_details):
12621         * gst/gstpad.c: (gst_pad_can_link_filtered):
12622           fix smaller memleaks
12623         * gst/gstpad.c: (gst_real_pad_dispose):
12624           check that explicit caps are gone
12625         * gst/gststructure.c: (gst_structure_free):
12626           actually free the structure
12627         * gst/gstelement.c: (gst_element_clear_pad_caps):
12628           unset explicit caps
12629
12630 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12631
12632         * tools/Makefile.am:
12633           use AM_CFLAGS since all the CFLAGS are the same
12634           use AM_LDFAGS
12635
12636 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12637
12638         * docs/manual/gnome.xml:
12639           expand example a little
12640         * gst/gst.c: (gst_init_with_popt_table),
12641         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12642           make sure popt option displays are done with right textdomain
12643           use GstPoptOption type
12644         * gst/gst.h:
12645           create GstPoptOption type
12646
12647 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12648
12649         * gst/gsterror.c: (_gst_stream_errors_init):
12650         * gst/gsterror.h:
12651           adding error type for no codec
12652         * po/POTFILES.in:
12653           add gst-inspect
12654         * po/nl.po:
12655           update dutch translation
12656         * tools/gst-inspect.c: (print_element_list), (main):
12657           do proper internationalization
12658         * tools/gst-launch.c: (idle_func):
12659           remove commented out function call
12660
12661 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12662
12663         * docs/README:
12664           add some error fixing notes
12665         * docs/gst/gstreamer-sections.txt:
12666           remove double entries
12667         * docs/gst/tmpl/gstbin.sgml:
12668         * docs/gst/tmpl/gstclock.sgml:
12669           remove override
12670         * docs/gst/tmpl/gstelement.sgml:
12671         * docs/gst/tmpl/gstindex.sgml:
12672         * docs/gst/tmpl/gstobject.sgml:
12673         * docs/gst/tmpl/gstpadtemplate.sgml:
12674         * docs/gst/tmpl/gstreamer-unused.sgml:
12675         * docs/gst/tmpl/gsttag.sgml:
12676         * docs/gst/tmpl/gstthread.sgml:
12677         * docs/gst/tmpl/gstxml.sgml:
12678         * gst/gsttag.h:
12679           sync header prototypes with c decls
12680         * gst/gsttaginterface.c:
12681           fix doc headers
12682
12683 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12684
12685         * gst/parse/Makefile.am:
12686         * gst/gstobject.h:
12687           get rid of gstmarshal.h dependency. It's not needed.
12688         * gst/gst.h:
12689         * gst/elements/gstfakesink.c:
12690         * gst/elements/gstfakesrc.c:
12691         * gst/elements/gstidentity.c:
12692         * gst/gstbin.c:
12693         * gst/gstelement.c:
12694         * gst/gstindex.c:
12695         * gst/gstobject.c:
12696         * gst/gstpad.c:
12697         * gst/gstthread.c:
12698         * gst/gstxml.c:
12699         * libs/gst/control/dparam.c:
12700         * libs/gst/control/dparammanager.c:
12701           include gstmarshal.h.
12702         Fixes #132045
12703
12704 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12705
12706         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12707         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12708         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12709         * gst/elements/gstfilesrc.h:
12710           don't ref the filesrc when creating mmaped buffers. Don't keep a
12711           list of not-yet-destroyed buffers.
12712         * gst/gstbuffer.h:
12713           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12714
12715 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12716
12717         * gst/gst.c: (init_pre):
12718           remove textdomain
12719
12720 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12721
12722         * docs/pwg/advanced-events.xml:
12723         * docs/pwg/advanced-scheduling.xml:
12724         * docs/pwg/intro-basics.xml:
12725         * docs/pwg/other-manager.xml:
12726         * docs/pwg/other-nton.xml:
12727         * docs/pwg/other-ntoone.xml:
12728         * docs/pwg/other-oneton.xml:
12729         * docs/pwg/pwg.xml:
12730           All sort of documentation... Forgot what. Point is that I want this
12731           in before I leave. The 'other-*' will be the last section and will
12732           explain issues specific to these type of elements.
12733
12734 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12735
12736         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12737         (gst_filesrc_get_read):
12738           set all the values on buffers that we can
12739
12740 2004-02-02  David Schleef  <ds@schleef.org>
12741
12742         Change usage of isblah() to g_ascii_isblah() to be more locale
12743         independent.  (#133076)
12744         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12745         * gst/gstutils.c:
12746         * gst/parse/parse.l:
12747
12748 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12749
12750         reviewed by: David Schleef  <ds@schleef.org>
12751
12752         Fix memory leaks:
12753         * gst/gstcaps.c: (gst_caps_to_string):
12754         * gst/registries/gstxmlregistry.c:
12755         (gst_xml_registry_add_path_list_func),
12756         (gst_xml_registry_parse_padtemplate):
12757
12758 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12759
12760         * gst/gstelement.c: (gst_element_default_error):
12761           suffix error messages with period
12762
12763 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12764
12765         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12766         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12767         * gst/gsterror.c: (gst_error_get_message):
12768           Suffix with dots
12769         * po/fr.po:
12770         * po/nl.po:
12771           Update translation files
12772
12773 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12774
12775         * gst/autoplug/gstspideridentity.c:
12776         (gst_spider_identity_sink_loop_type_finding):
12777         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12778         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12779         (gst_filesink_close_file), (gst_filesink_handle_event),
12780         (gst_filesink_chain):
12781         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12782         (gst_filesrc_get_read), (gst_filesrc_open_file):
12783         * gst/elements/gstidentity.c: (gst_identity_chain):
12784         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12785         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12786         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12787         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12788         * gst/gsterror.c: (_gst_core_errors_init),
12789         (_gst_library_errors_init), (_gst_resource_errors_init),
12790         (_gst_stream_errors_init), (gst_error_get_message):
12791         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12792         (gst_pad_recover_caps_error), (gst_pad_pull):
12793         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12794         * gst/schedulers/gstbasicscheduler.c:
12795         (gst_basic_scheduler_chainhandler_proxy),
12796         (gst_basic_scheduler_gethandler_proxy),
12797         (gst_basic_scheduler_cothreaded_chain):
12798           Suffix error messages with period.
12799           Use (NULL) instead of NULL
12800
12801 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12802
12803         * docs/gst/tmpl/gstelement.sgml:
12804         * docs/gst/tmpl/gstxml.sgml:
12805         * gst/gstelement.c: (gst_element_error_full):
12806           add element path to error
12807
12808 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12809
12810         * docs/random/mimetypes:
12811           update raw int/float info
12812         * gst/gsttag.c: (_gst_tag_initialize):
12813         * gst/gsttag.h:
12814           add GST_TAG_ENCODER
12815
12816 2004-01-30  David Schleef  <ds@schleef.org>
12817
12818         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12819           missing (#132991)
12820
12821 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12822
12823         reviewed by Benjamin Otte 
12824           parts of the patch submitted in bug #113913
12825
12826         * configure.ac:
12827           use AC_C_INLINE. Use = instead of == with test
12828         * examples/plugins/example.c:
12829         * gst/autoplug/gstspideridentity.c:
12830         * gst/elements/gstfdsrc.c:
12831         * gst/elements/gstfilesrc.c:
12832         * gst/elements/gstidentity.c:
12833         * gst/elements/gstmultidisksrc.c:
12834         * gst/elements/gststatistics.c:
12835         * gst/gstelement.c:
12836         * gst/gstobject.c:
12837         * gst/gstpad.c:
12838         * gst/gstpipeline.c:
12839         * gst/gstthread.c:
12840           don't end enums with a comma
12841         * gst/gstindex.c: (gst_index_compare_func):
12842           do explicit casting to gint
12843         * gst/gsttrace.c: (gst_trace_text_flush):
12844           #define strsize as a macro
12845
12846 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12847
12848         * docs/README:
12849         * docs/gst/gstreamer-docs.sgml:
12850         * docs/gst/gstreamer-sections.txt:
12851         * docs/gst/tmpl/gstelement.sgml:
12852         * docs/gst/tmpl/gsterror.sgml:
12853         * docs/gst/tmpl/gstinterface.sgml:
12854         * docs/gst/tmpl/gstreamer-unused.sgml:
12855         * docs/gst/tmpl/gststructure.sgml:
12856         * docs/gst/tmpl/gsttag.sgml:
12857         * docs/gst/tmpl/gsttaginterface.sgml:
12858         * docs/gst/tmpl/gstvalue.sgml:
12859         make sure all API ends up in the built docs
12860         * gst/gstinterface.c:
12861         * gst/gststructure.c: (gst_structure_id_set_value),
12862         (gst_structure_set_value), (gst_structure_id_get_value):
12863         * gst/gststructure.h:
12864         * gst/gstvalue.h:
12865         sync .h with .c declarations
12866
12867 2004-01-30  Julien Moutte  <julien@moutte.net>
12868
12869         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12870         Ronald will fix riffread.
12871
12872 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12873
12874         * docs/pwg/advanced-interfaces.xml:
12875           Added tuner interface docs.
12876
12877 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12878
12879         * docs/random/mimetypes:
12880           correct Theora information
12881         * gst/gstelement.h:
12882           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12883
12884 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12885
12886         * gst/gstelement.c: (gst_element_error_full):
12887         * gst/gstelement.h:
12888           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12889
12890 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12891
12892         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12893         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12894         again and even before DISCONT.
12895         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12896         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12897         bytestream so that it's not stopping to fill the bytestream if events
12898         different than EOS or DISCONT are received. Instead it process them so
12899         that they go downstream.
12900
12901 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12902
12903         * docs/gst/tmpl/gstelement.sgml:
12904         * docs/gst/tmpl/gstreamer-unused.sgml:
12905         * docs/gst/tmpl/gstxml.sgml:
12906         * gst/autoplug/gstspideridentity.c:
12907         (gst_spider_identity_sink_loop_type_finding):
12908         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12909         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12910         (gst_filesink_close_file), (gst_filesink_handle_event),
12911         (gst_filesink_chain):
12912         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12913         (gst_filesrc_get_read), (gst_filesrc_open_file):
12914         * gst/elements/gstidentity.c: (gst_identity_chain):
12915         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12916         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12917         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12918         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12919         * gst/gstelement.h:
12920         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12921         (gst_pad_recover_caps_error), (gst_pad_pull):
12922         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12923         * gst/schedulers/gstbasicscheduler.c:
12924         (gst_basic_scheduler_chainhandler_proxy),
12925         (gst_basic_scheduler_gethandler_proxy),
12926         (gst_basic_scheduler_cothreaded_chain):
12927           gst_element_error -> GST_ELEMENT_ERROR
12928
12929 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12930
12931         * docs/Makefile.am:
12932         * docs/gst/tmpl/gstelement.sgml:
12933         * docs/gst/tmpl/gstxml.sgml:
12934         * docs/manuals.mak:
12935         * docs/pwg/advanced-request.xml:
12936         * docs/pwg/advanced-scheduling.xml:
12937         * docs/pwg/advanced-tagging.xml:
12938           fix non-validating docbook using CDATA
12939           make sure make check-local gets run first to check if it validates
12940
12941 2004-01-29  Julien MOUTTE <julien@moutte.net>
12942
12943         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12944         handling (up and downstream).
12945         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12946         my_filter thing.
12947
12948 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12949
12950         * docs/pwg/advanced-tagging.xml:
12951           Add docs about tag writing.
12952
12953 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12954
12955         * docs/pwg/advanced-tagging.xml:
12956           Add a part about tag reading and application signalling... Tag
12957           writing still needs to be documented.
12958         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12959           We can set file locations in READY, too.
12960
12961 2004-01-29  Julien MOUTTE <julien@moutte.net>
12962
12963         * docs/random/ds/element-checklist: Adding some notes about src
12964         events.
12965
12966 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12967
12968         * docs/random/mimetypes:
12969           Update docs to point to correct elements for various mimetypes, and
12970           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12971           <stephane.loeuillet@tiscali.fr>.
12972
12973 2004-01-28  David Schleef  <ds@schleef.org>
12974
12975         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12976
12977 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12978
12979         * docs/random/mimetypes:
12980           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12981           undefined"
12982         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12983           make it only work in NULL.
12984         * gst/gstcaps.c:
12985           don't posion NULL caps
12986         * gst/gstelement.c: (gst_element_set_time):
12987           add debugging statement
12988         * gst/gstelement.c: (gst_element_emit_found_tag),
12989         (gst_element_found_tag_func), (gst_element_found_tags):
12990         * gst/gstelement.h:
12991           These functions take const taglists
12992         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12993           fix memleak
12994         * gst/gstpad.c: (gst_pad_event_default):
12995           make more effort on handling discont and clocks, g_warn if everything
12996           fails
12997         * gst/gststructure.c: (gst_structure_remove_fields),
12998         (gst_structure_remove_fields_valist):
12999         * gst/gststructure.h:
13000           add gst_structure_remove_fields(_valist)
13001         * gst/gsttag.c:
13002           fix doc glitch
13003
13004 2004-01-28  David Schleef  <ds@schleef.org>
13005
13006         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13007         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13008         Fix memory leakage of gst_caps_to_string().
13009
13010         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13011         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13012         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13013         (gst_spider_identity_sink_loop_type_finding):
13014         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13015         (find_suggest):
13016         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13017         (gst_pad_set_explicit_caps):
13018         * gst/parse/grammar.y:
13019
13020 2004-01-28  David Schleef  <ds@schleef.org>
13021
13022         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13023         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13024         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13025         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13026         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13027         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13028         (gst_debug_log_default), (_gst_info_printf_extension),
13029         (_gst_info_printf_extension_arginfo):  Add printf extension.
13030         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13031         * gst/gststructure.c: (gst_structure_to_string),
13032         (_gst_structure_parse_value): Use gst_value_deserialize() and
13033         remove old code.
13034         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13035         (gst_value_deserialize_boolean), (gst_strtoi),
13036         (gst_value_deserialize_int), (gst_value_deserialize_double),
13037         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13038         a bunch of deserialize functions and gst_value_deserialize.
13039         * gst/gstvalue.h: er, _de_serialize, not unserialize
13040         * testsuite/caps/string-conversions.c: (main): We don't currently
13041         handle (float) in caps, so convert these to (double).
13042         * testsuite/debug/Makefile.am: Add new test for the printf extension
13043         * testsuite/debug/printf_extension.c: (main): same
13044
13045 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13046
13047         * docs/random/company/time:
13048           Add some docs about clocking and time
13049
13050 2004-01-28  Julien MOUTTE <julien@moutte.net>
13051
13052         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13053
13054 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13055
13056         * docs/pwg/advanced-clock.xml:
13057         * docs/pwg/advanced-dparams.xml:
13058         * docs/pwg/advanced-events.xml:
13059         * docs/pwg/advanced-interfaces.xml:
13060         * docs/pwg/advanced-midi.xml:
13061         * docs/pwg/advanced-request.xml:
13062         * docs/pwg/advanced-scheduling.xml:
13063         * docs/pwg/advanced-tagging.xml:
13064         * docs/pwg/advanced-types.xml:
13065         * docs/pwg/appendix-checklist.xml:
13066         * docs/pwg/building-boiler.xml:
13067         * docs/pwg/building-chainfn.xml:
13068         * docs/pwg/building-filterfactory.xml:
13069         * docs/pwg/building-pads.xml:
13070         * docs/pwg/building-props.xml:
13071         * docs/pwg/building-signals.xml:
13072         * docs/pwg/building-state.xml:
13073         * docs/pwg/building-testapp.xml:
13074         * docs/pwg/intro-basics.xml:
13075         * docs/pwg/intro-preface.xml:
13076         * docs/pwg/other-autoplugger.xml:
13077         * docs/pwg/other-sink.xml:
13078         * docs/pwg/other-source.xml:
13079         * docs/pwg/titlepage.xml:
13080           fix up id's
13081
13082 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13083
13084         * docs/95NonPath:
13085         * docs/HACKING:
13086         * docs/README:
13087         * docs/building-the-docs-on-debian:
13088           collect relevant bits of doc info
13089
13090 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13091
13092         * docs/pwg/advanced_tagging.xml:
13093           Half-assed commit so Thomas can re-arrange document IDs here to be
13094           consistent, too.
13095
13096 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13097
13098         * docs/manual/autoplugging.xml:
13099         * docs/manual/bins-api.xml:
13100         * docs/manual/bins.xml:
13101         * docs/manual/buffers-api.xml:
13102         * docs/manual/buffers.xml:
13103         * docs/manual/clocks.xml:
13104         * docs/manual/components.xml:
13105         * docs/manual/cothreads.xml:
13106         * docs/manual/debugging.xml:
13107         * docs/manual/dparams-app.xml:
13108         * docs/manual/dynamic.xml:
13109         * docs/manual/elements-api.xml:
13110         * docs/manual/elements.xml:
13111         * docs/manual/factories.xml:
13112         * docs/manual/gnome.xml:
13113         * docs/manual/goals.xml:
13114         * docs/manual/helloworld.xml:
13115         * docs/manual/helloworld2.xml:
13116         * docs/manual/init-api.xml:
13117         * docs/manual/intro.xml:
13118         * docs/manual/links-api.xml:
13119         * docs/manual/links.xml:
13120         * docs/manual/manual.xml:
13121         * docs/manual/motivation.xml:
13122         * docs/manual/pads-api.xml:
13123         * docs/manual/pads.xml:
13124         * docs/manual/plugins-api.xml:
13125         * docs/manual/plugins.xml:
13126         * docs/manual/programs.xml:
13127         * docs/manual/queues.xml:
13128         * docs/manual/quotes.xml:
13129         * docs/manual/schedulers.xml:
13130         * docs/manual/states-api.xml:
13131         * docs/manual/states.xml:
13132         * docs/manual/threads.xml:
13133         * docs/manual/typedetection.xml:
13134         * docs/manual/xml.xml:
13135           use chapter, part, section or misc as id starts for all bits
13136
13137 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13138
13139         * docs/gst/gstreamer-sections.txt:
13140           Fix up TITLE of the sections
13141
13142 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13143
13144         * docs/pwg/advanced_interfaces.xml:
13145           Add documentation on propertyprobing.
13146         * docs/pwg/advanced_events.xml:
13147         * docs/pwg/advanced_tagging.xml:
13148         * docs/pwg/building_boiler.xml:
13149         * docs/pwg/building_filterfactory.xml:
13150         * docs/pwg/pwg.xml:
13151           Move filterfactory and tagging into their own chapter, add a chapter
13152           on events. all these are empty placeholders that will be filled in
13153           some day.
13154
13155 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13156
13157         * docs/pwg/advanced_interfaces.xml:
13158           Docs for mixer interface. Also a check for website uploading.
13159
13160 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13161
13162         * docs/HACKING:
13163         * docs/Makefile.am:
13164         * docs/faq/Makefile.am:
13165         * docs/gst/Makefile.am:
13166         * docs/gst/tmpl/gstelement.sgml:
13167         * docs/gst/tmpl/gstplugin.sgml:
13168         * docs/gst/tmpl/gstreamer-unused.sgml:
13169         * docs/libs/Makefile.am:
13170         * docs/manual/Makefile.am:
13171         * docs/manuals.mak:
13172         * docs/pwg/Makefile.am:
13173         * docs/upload.mak:
13174           Separate out upload target and make it similar for
13175           both docbook and gtk-doc docs
13176
13177 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13178
13179         * docs/manuals.mak:
13180           Fix upload target to work with freedesktop
13181
13182 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13183
13184         * docs/pwg/advanced_types.xml:
13185           Add notes on creating your own types.
13186         * docs/pwg/building_boiler.xml:
13187         * docs/pwg/building_pads.xml:
13188         * docs/pwg/building_state.xml:
13189           Add some stuff about how to retrieve values from structures, how
13190           that relates to types and change layout slightly again to be almost
13191           perfect.
13192
13193 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13194
13195         * docs/pwg/advanced_dparams.xml:
13196         * docs/pwg/advanced_scheduling.xml:
13197           Change index layout slightly.
13198
13199 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13200
13201         * docs/pwg/advanced_clock.xml:
13202         * docs/pwg/advanced_interfaces.xml:
13203         * docs/pwg/advanced_midi.xml:
13204           General placeholders for now.
13205         * docs/pwg/advanced_request.xml:
13206           Explanation about sometimes and request pads.
13207         * docs/pwg/advanced_scheduling.xml:
13208           Concept of bytestream, loopfunctions and schedulers.
13209         * docs/pwg/building_boiler.xml:
13210           Add something about plugin-init.
13211
13212 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13213
13214         * docs/pwg/building_pads.xml:
13215           Fix broken docbook
13216
13217 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13218
13219         * docs/pwg/advanced_interfaces.xml:
13220         * docs/pwg/pwg.xml:
13221           Add as a placeholder for future filling-in.
13222         * docs/pwg/basics_autoplugging.xml:
13223         * docs/pwg/basics_buffers.xml:
13224         * docs/pwg/basics_elements.xml:
13225         * docs/pwg/basics_events.xml:
13226         * docs/pwg/basics_plugins.xml:
13227         * docs/pwg/basics_types.xml:
13228           Remove, because unused (this is all in intro_basics.xml).
13229         * docs/pwg/building_signals.xml:
13230           Short intro to signals + reference to GObject docs - we really
13231           shouldn't go into these sort of things to deply because we don't
13232           use them that extensively anyway.
13233         * docs/pwg/building_state.xml:
13234           Explanation of states. Benjamin, please check.
13235         * docs/pwg/building_testapp.xml:
13236           Put everything in one page - putting only a few lines of content
13237           per page doesn't really make sense.
13238
13239           Time to get into the advanced topics. ;).
13240
13241 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13242
13243         * docs/pwg/advanced_types.xml:
13244           Finish documenting the current state of mimetypes.
13245         * docs/pwg/building_boiler.xml:
13246         * docs/pwg/building_chainfn.xml:
13247         * docs/pwg/building_pads.xml:
13248         * docs/pwg/building_props.xml:
13249         * docs/pwg/building_testapp.xml:
13250           Start documenting the "how to build a simple audio filter" part
13251           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13252           states and (maybe?) a short introduction to capsnego in the chapter
13253           on pads (building_pads.xml). Capsnego should probably be explained
13254           fully in advanced_capsnego.xml or so.
13255
13256 2004-01-26  David Schleef  <ds@schleef.org>
13257
13258         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13259         * gst/gstpad.h: Add new function to allow element to (somewhat)
13260         specify non-fixed caps on a pad.
13261         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13262         that I added a few weeks ago.
13263
13264 2004-01-26  David Schleef  <ds@schleef.org>
13265
13266         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13267           making try_set_caps() work with non-fixed caps.
13268
13269 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13270
13271         * docs/pwg/advanced_types.xml:
13272         * docs/pwg/intro_basics.xml:
13273         * docs/pwg/intro_preface.xml:
13274         * docs/pwg/pwg.xml:
13275         * docs/pwg/titlepage.xml:
13276           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13277           in here (docs/random/mimetypes), and will from there on work on both
13278           updating outdated parts and adding missing parts.
13279           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13280
13281 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13282
13283         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13284           policy is set
13285
13286 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13287
13288         * gst/gstelement.h:
13289           remove gst_element_factory_get_version. It doesn't exist anymore.
13290         * gst/gstplugin.c:
13291         * gst/gstplugin.h:
13292           remove gst_plugin_set_name and change gst_plugin_get_longname to
13293           gst_plugin_get_description to match code.
13294         * gst/gsterror.h:
13295           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13296         * gst/gstpad.c: (gst_pad_try_set_caps):
13297           make it work with nonfixed caps.
13298           Note that even in the nonfixed case the link function of the pad
13299           that tries to set caps isn't called.
13300
13301 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13302
13303         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13304           fix bug where buffer was not assembled correctly
13305         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13306           silence by default
13307         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13308           only seek if there's no more buffers that could work without seeking
13309
13310 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13311
13312         * gst/gsttag.c: (_gst_tag_initialize):
13313         * gst/gsttag.h:
13314           Add application tag (for encoding/muxing app).
13315
13316 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13317
13318         * autogen.sh:
13319           make autopoint force, and libtoolize not copy
13320         * common/m4/as-docbook.m4:
13321           added docbook xml catalog setup check
13322         * common/m4/gst-doc.m4:
13323           use docbook check
13324
13325 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13326
13327         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13328         * gst/gsttag.h:
13329           add GstTagFlag
13330
13331 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13332
13333         * docs/gst/gstreamer-sections.txt:
13334         * docs/gst/tmpl/gst.sgml:
13335         * docs/gst/tmpl/gstbuffer.sgml:
13336         * docs/gst/tmpl/gstclock.sgml:
13337         * docs/gst/tmpl/gstelement.sgml:
13338         * docs/gst/tmpl/gstreamer-unused.sgml:
13339         * docs/gst/tmpl/gstxml.sgml:
13340           sync latest API changes to docs
13341
13342 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13343
13344         * gst/gstpluginfeature.c:
13345           fix doc snippet
13346         * tools/gst-inspect.c: (print_element_list):
13347           fix output of typefind
13348           add GPL header
13349         * tools/gst-launch.c:
13350           add GPL header
13351
13352 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13353
13354         * gst/elements/Makefile.am:
13355         * gst/elements/gstelements.c:
13356         * gst/elements/gsttypefindelement.c:
13357         * gst/elements/gsttypefindelement.h:
13358         * po/POTFILES.in:
13359         * po/fr.po:
13360         * po/nl.po:
13361           renamed gsttypefindelement to gsttypefind, conserving CVS history
13362
13363 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13364
13365         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13366         * gst/gsttag.h:
13367           add some tags used in ogg as well
13368           fix _ in replaygain tags
13369
13370 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13371
13372         * gst/gsterror.h:
13373           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13374
13375 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13376
13377         * gst/gstelement.c: (gst_element_error_full):
13378         * gst/gstelement.h:
13379           change _extended to _full
13380
13381 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13382
13383         reviewed by: <delete if not using a buddy>
13384
13385         * docs/gst/tmpl/gst.sgml:
13386         * docs/gst/tmpl/gstbuffer.sgml:
13387         * docs/gst/tmpl/gstclock.sgml:
13388         * docs/gst/tmpl/gstelement.sgml:
13389         * docs/gst/tmpl/gstreamer-unused.sgml:
13390         * docs/gst/tmpl/gstxml.sgml:
13391         * gst/gstelement.c: (gst_element_error_full):
13392         * gst/gstelement.h:
13393
13394 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13395
13396         * gst/gstelement.h: fix _gst_element_error_printf prototype
13397
13398 2004-01-20  David Schleef  <ds@schleef.org>
13399
13400         * gst/gststructure.c: (gst_structure_to_string):
13401         Convert function to use gst_value_serialize().
13402         * gst/gstvalue.c: (gst_value_serialize_list),
13403         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13404         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13405         (gst_value_serialize_int), (gst_value_serialize_double),
13406         (gst_string_wrap), (gst_value_serialize_string),
13407         (gst_value_serialize), (gst_value_deserialize):
13408         * gst/gstvalue.h:
13409         Add implementations for serialize.
13410
13411 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13412
13413         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13414         we want to keep that one in the future or change xvidenc.c to use 
13415         another error.
13416
13417 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13418
13419         * gst/gstelement.c: (_gst_element_error_printf):
13420         * gst/gstelement.h:
13421           privatise function
13422
13423 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13424
13425         * docs/random/error:
13426           doc explaining error system
13427         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13428           cleanup
13429
13430 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13431
13432         * gst/gst-i18n-app.h:
13433         * gst/gst-i18n-lib.h:
13434           remove inclusion of config.h
13435         * po/POTFILES.in:
13436         * po/nl.po:
13437           add gst/gstelement.c
13438
13439 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13440
13441         * po/nl.po: updated Dutch translation
13442
13443 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13444
13445         * gst/gsterror.c: (_gst_core_errors_init),
13446         (_gst_library_errors_init), (_gst_resource_errors_init),
13447         (_gst_stream_errors_init):
13448         remove ending punctuation dots
13449
13450 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13451
13452         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13453         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13454         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13455         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13456         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13457         use GST_ERROR_SYSTEM
13458
13459 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13460
13461         * gst/gstelement.c: (gst_element_error_printf),
13462         (gst_element_error_extended):
13463         * gst/gstelement.h:
13464           add a helper printf function so we can have NULL values passed.
13465
13466 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13467
13468         * gst/gstelement.h:
13469           add G_STMT macros to gst_element_error, which isn't strictly
13470           necessary but people tell me to anyway.
13471
13472 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13473
13474         * gst/Makefile.am:
13475         * gst/autoplug/gstspideridentity.c:
13476         (gst_spider_identity_sink_loop_type_finding):
13477         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13478         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13479         (gst_filesink_close_file), (gst_filesink_handle_event),
13480         (gst_filesink_chain):
13481         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13482         (gst_filesrc_map_region), (gst_filesrc_get_read),
13483         (gst_filesrc_open_file):
13484         * gst/elements/gstidentity.c: (gst_identity_chain):
13485         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13486         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13487         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13488         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13489         * gst/gst.h:
13490         * gst/gst_private.h:
13491         * gst/gstelement.c: (gst_element_class_init),
13492         (gst_element_default_error), (gst_element_error_func),
13493         (gst_element_error_extended):
13494         * gst/gstelement.h:
13495         * gst/gsterror.c: (_gst_core_errors_init),
13496         (_gst_library_errors_init), (_gst_resource_errors_init),
13497         (_gst_stream_errors_init), (gst_error_get_message):
13498         * gst/gsterror.h:
13499         * gst/gstinfo.c: (_gst_debug_init):
13500         * gst/gstmarshal.list:
13501         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13502         (gst_pad_recover_caps_error), (gst_pad_pull):
13503         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13504         * gst/schedulers/gstbasicscheduler.c:
13505         (gst_basic_scheduler_chainhandler_proxy),
13506         (gst_basic_scheduler_gethandler_proxy),
13507         (gst_basic_scheduler_cothreaded_chain):
13508         * po/POTFILES.in:
13509         * po/fr.po:
13510         * po/nl.po:
13511           change error signal
13512           add error categories
13513
13514 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13515
13516         * gst/gsttag.c: (_gst_tag_initialize):
13517         * gst/gsttag.h:
13518         Add replaygain tag
13519
13520 2004-01-18  Colin Walters  <walters@verbum.org>
13521
13522         * examples/retag/retag.c: Call gst_init before processing
13523         program args.  Add g_assert to _link_many call.
13524
13525 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13526
13527         * gst/gstpad.c: (gst_pad_alloc_buffer):
13528           Return a newly allocated buffer when the pad has no peer.
13529
13530 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13531
13532         * gst/gstclock.c: (gst_clock_get_time):
13533           make it compile with gcc 2.95 again.
13534           Patch by Scott Wheeler
13535
13536 2004-01-15  David Schleef  <ds@schleef.org>
13537
13538         * gst/gstcaps.h:
13539         Added gst_caps_is_simple() macro.
13540         * testsuite/caps/caps.c: (test1):
13541         * testsuite/caps/intersect2.c: (main):
13542         * testsuite/caps/intersection.c: (main):
13543         Fixes to make 'make check' work again after removing
13544         gst_caps_is_chained().
13545
13546 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13547
13548         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13549         and additions to the MIDI document.
13550
13551 2004-01-15  David Schleef  <ds@schleef.org>
13552
13553         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13554         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13555         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13556
13557 2004-01-15  David Schleef  <ds@schleef.org>
13558
13559         * gst/gstqueue.c:
13560         * gst/gstqueue.h:
13561         Fix the spelling of "treshold" and make min_threshold actually
13562         affect the queue.
13563
13564 2004-01-15  David Schleef  <ds@schleef.org>
13565
13566         * gst/gstcaps.c:
13567         Add lots of documentation.
13568         * gst/gstcaps.h:
13569         Deprecate a few functions.
13570         * gst/gstpad.c:
13571         Removed use of deprecated functions.
13572
13573 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13574
13575         * gst/gstpad.c: (gst_pad_is_linked):
13576         * gst/gstpad.h:
13577           implement gst_pad_is_linked
13578         * gst/gstelement.h:
13579           reserve space for initiate_state_change
13580
13581 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13582
13583         * gst/autoplug/gstspideridentity.c:
13584         (gst_spider_identity_sink_loop_type_finding):
13585           break infinite loop by just returning instead of looping
13586         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13587           set event time difference correctly. Set it to 1 second instead
13588           of 100ms to be more tolerant
13589         * gst/gstelement.c: (gst_element_set_time):
13590           add debugging output
13591
13592 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13593
13594         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13595           query if buffers are inside the pool, ignore events
13596
13597 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13598
13599         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13600         (gst_clock_set_speed), (gst_clock_set_active),
13601         (gst_clock_is_active), (gst_clock_reset),
13602         (gst_clock_handle_discont):
13603         * gst/gstclock.h:
13604           deprecate old interface and disable functions that aren't in use
13605           anymore.
13606         * gst/gstelement.h:
13607         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13608         (gst_element_set_time), (gst_element_adjust_time):
13609           add concept of "element time" and functions to get/set this time.
13610         * gst/gstelement.c: (gst_element_change_state):
13611           update element time correctly.
13612         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13613           This is a debug message, not a g_critical.
13614         * gst/gstpad.c: (gst_pad_event_default):
13615           handle discontinuous events right with element time.
13616         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13617           update to clocking fixes.
13618           set clocks on elements in READY=>PAUSED. The old behaviour caused
13619           a wrong element time on the first element that started playing.
13620         * gst/schedulers/gstbasicscheduler.c:
13621         (gst_basic_scheduler_class_init):
13622         * gst/schedulers/gstoptimalscheduler.c:
13623         (gst_opt_scheduler_class_init):
13624           remove code that just implements the default behaviour.
13625         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13626           update to use new clocking functions
13627         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13628         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13629           update to test new element time.
13630         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13631           use _get_allowed_caps instead of _get_caps. This catches filtered
13632           caps correctly.
13633         * testsuite/debug/commandline.c:
13634           update for new GST_DEBUG syntax.
13635         * testsuite/threads/Makefile.am:
13636           disable a test that only works sometimes.
13637
13638 2004-01-13  Julien MOUTTE <julien@moutte.net>
13639
13640         * po/LINGUAS: Adding fr.
13641         * po/fr.po: Adding french translation.
13642
13643 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13644
13645         * gst/parse/grammar.y:
13646         * po/POTFILES.in:
13647         * po/nl.po:
13648         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13649           translate parsing error messages
13650
13651 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13652
13653         * po/POTFILES.in: adding gst-launch
13654         * po/nl.po: updated translation, all 99 strings translated
13655         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13656         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13657           fix strings for translation
13658
13659 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13660
13661         * gst/gst.c:
13662           - capitalize beginnings of popt options
13663           - fix strings for translation
13664           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13665
13666 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13667
13668         * po/README: add some notes on how to update translations
13669
13670 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13671
13672         * ABOUT-NLS: removed, is autogenerated from autopoint
13673         * autogen.sh: add autopoint stuff
13674         * configure.ac: fix up gettext stuff
13675         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13676         * gst/elements/gsttypefindelement.c: add header include
13677         * gst/gettext.h: add header, copy from system-installed header
13678         * gst/gst-i18n-app.h: to be included by each app having translations
13679         * gst/gst-i18n-lib.h: to be included by each lib having translations
13680         * gst/gst.c: (init_pre): fix up gettext calls
13681         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13682         * po/LINGUAS: the new way to specify translations present
13683         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13684         * po/Makevars: the variables filled in for GStreamer
13685         * po/POTFILES.in: added new files with translations
13686         * po/de.po: has new strings
13687         * po/nl.po: readded, has new strings
13688
13689 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13690
13691         * gst/gsttag.c: fix some strings marked for translation
13692
13693 2004-01-13  Iain <iain@prettypeople.org>
13694
13695         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13696         group when we add an element to it, cos we unref it when we remove one
13697
13698 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13699
13700         * testsuite/debug/commandline.c: (debug_not_reached):
13701         * testsuite/debug/output.c: (check_message):
13702           fix testsuite
13703
13704 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13705
13706         * examples/cutter/.cvsignore:
13707         * examples/helloworld/.cvsignore:
13708         * examples/launch/.cvsignore:
13709         * examples/manual/.cvsignore:
13710         * examples/mixer/.cvsignore:
13711         * examples/pingpong/.cvsignore:
13712         * examples/plugins/.cvsignore:
13713         * examples/queue/.cvsignore:
13714         * examples/queue2/.cvsignore:
13715         * examples/queue3/.cvsignore:
13716         * examples/queue4/.cvsignore:
13717         * examples/retag/.cvsignore:
13718         * examples/thread/.cvsignore:
13719         * examples/typefind/.cvsignore:
13720         * examples/xml/.cvsignore:
13721         * gst/.cvsignore:
13722         * gst/autoplug/.cvsignore:
13723         * gst/elements/.cvsignore:
13724         * gst/indexers/.cvsignore:
13725         * gst/parse/.cvsignore:
13726         * gst/registries/.cvsignore:
13727         * gst/schedulers/.cvsignore:
13728         * libs/gst/bytestream/.cvsignore:
13729         * libs/gst/control/.cvsignore:
13730         * libs/gst/getbits/.cvsignore:
13731         * tests/.cvsignore:
13732         * tests/bufspeed/.cvsignore:
13733         * tests/instantiate/.cvsignore:
13734         * tests/memchunk/.cvsignore:
13735         * tests/muxing/.cvsignore:
13736         * tests/sched/.cvsignore:
13737         * tests/seeking/.cvsignore:
13738         * tests/threadstate/.cvsignore:
13739         * testsuite/.cvsignore:
13740         * testsuite/caps/.cvsignore:
13741         * testsuite/cleanup/.cvsignore:
13742         * testsuite/dynparams/.cvsignore:
13743         * testsuite/plugin/.cvsignore:
13744         * tools/.cvsignore:
13745           update - this is huge, because it includes *.bb, *.bbg and *.da files
13746           which are generated for gcov.
13747
13748 2004-01-11  David Schleef  <ds@schleef.org>
13749
13750         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13751         a function to parse integers in ways that strto[u]l() does not.
13752
13753 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13754
13755         * tools/gst-inspect.c: (print_caps):
13756           improve output of caps a bit
13757
13758 2004-01-11  David Schleef  <ds@schleef.org>
13759
13760         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13761         inherit correct flags (READONLY and DONTKEEP).
13762
13763 2004-01-11  David Schleef  <ds@schleef.org>
13764
13765         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13766         (gst_filesrc_map_region):
13767         * gst/gstbuffer.c: (_gst_buffer_initialize),
13768         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13769         (gst_buffer_new), (gst_buffer_create_sub),
13770         (gst_buffer_is_span_fast), (gst_buffer_span):
13771         * gst/gstbuffer.h:
13772         Change GstBuffer private structure element names. (all files)
13773         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13774         (gst_queue_link):
13775         * gst/gstqueue.h:
13776         Implement getcaps/pad_link functions that handle the case where
13777         there are data in the queue.
13778
13779 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13780
13781         * gst/elements/gstbufferstore.c:
13782           initialize debugging structure correctly
13783         * gst/elements/gsttee.c: (gst_tee_set_property):
13784           g_object_notify when property was changed
13785         * gst/elements/gsttypefindelement.c:
13786         (gst_type_find_element_change_state):
13787           clear caps correctly
13788
13789 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13790
13791         * gst/gstqueue.c: (gst_queue_init):
13792           Use better defaults for when a queue should block. This
13793           gets rid of jerky playback for quite a few files.
13794           It takes more memory.
13795
13796 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13797
13798         (gst_xml_registry_parse_padtemplate):
13799           make critical message slightly more useful
13800
13801 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13802
13803         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13804         (gst_debug_message_get), (gst_debug_log_default):
13805         * gst/gstinfo.h:
13806           Change gst_debug_log(_valist) to take a const format string.
13807           Change prototype of log function and functions using those to 
13808           take a GstDebugMessage instead of a string that requires using
13809           gst_debug_message_get.
13810
13811 2004-01-08  David Schleef  <ds@schleef.org>
13812
13813         * Makefile.am:
13814         * configure.ac:
13815         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13816         and -ftest-coverage, which allows gcov to show information about
13817         testsuite coverage.
13818
13819 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13820
13821         * gst/gstutils.h:
13822           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13823           GST_PARENT_CALL_WITH_DEFAULT
13824         * gst/elements/gstaggregator.c: 
13825         * gst/elements/gstbufferstore.c: 
13826         * gst/elements/gstfakesink.c: 
13827         * gst/elements/gstfakesrc.c: 
13828         * gst/elements/gstfdsink.c: 
13829         * gst/elements/gstfdsrc.c: 
13830         * gst/elements/gstfilesink.c: 
13831         * gst/elements/gstfilesrc.c: 
13832         * gst/elements/gstidentity.c: 
13833         * gst/elements/gstmd5sink.c: 
13834         * gst/elements/gstmultidisksrc.c:
13835         * gst/elements/gstpipefilter.c: 
13836         * gst/elements/gstshaper.c:
13837         * gst/elements/gststatistics.c:
13838         * gst/elements/gsttee.c:
13839         * gst/elements/gsttypefindelement.c:
13840           use them.
13841
13842 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13843
13844         * docs/gst/gstreamer-docs.sgml: remove props
13845         * docs/gst/gstreamer-sections.txt: remove props
13846         * docs/gst/tmpl/gst.sgml:
13847         * docs/gst/tmpl/gstbin.sgml:
13848         * docs/gst/tmpl/gstbuffer.sgml:
13849         * docs/gst/tmpl/gstcaps.sgml:
13850         * docs/gst/tmpl/gstclock.sgml:
13851         * docs/gst/tmpl/gstelement.sgml:
13852         * docs/gst/tmpl/gstindex.sgml:
13853         * docs/gst/tmpl/gstobject.sgml:
13854         * docs/gst/tmpl/gstpad.sgml:
13855         * docs/gst/tmpl/gstpadtemplate.sgml:
13856         * docs/gst/tmpl/gstreamer-unused.sgml:
13857         * docs/gst/tmpl/gstthread.sgml:
13858         * docs/gst/tmpl/gstxml.sgml:
13859           sync with code reorganization
13860
13861 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13862
13863         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13864         Make the 'Could not find compatible pad' message more informative.
13865
13866 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13867                                                                                 
13868         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13869           Fix for if we pass NULL as property to location.
13870         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13871         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13872           Fix for instantiate-test (see below).
13873         * gst/gststructure.c: (_gst_structure_parse_value):
13874           Fix compile error on gcc-2.96.
13875         * configure.ac:
13876         * tests/Makefile.am:
13877         * tests/instantiate/Makefile.am:
13878         * tests/instantiate/create.c: (create_all_elements), (main):
13879           Add a test that instantiates all elements. This makes it easy to
13880           track dead code for old API/design (like setting event functions
13881           on sink pads and so on).
13882
13883 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13884
13885         * gst/gstcaps.c: (gst_caps_append_structure):
13886           Move the poisoning to allow a NULL structure
13887         * gst/gstevent.c: (_gst_event_free):
13888           When freeing a navigation event, free the structure
13889           also
13890
13891 2004-01-04  David Schleef  <ds@schleef.org>
13892
13893         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13894         Remove usage of gst_pad_proxy_fixate.
13895         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13896         (gst_caps_split_one), (gst_caps_replace):
13897         Add poisoning code.
13898         * gst/gstmarshal.list:
13899         Add pointer__pointer for fixate signal
13900         * gst/gstpad.c: (gst_real_pad_class_init),
13901         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13902         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13903         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13904         Add poisoning code. Add fixate signal on RealPad. Change
13905         set_explicit_caps() to take const GstCaps, like try_set_caps().
13906         * gst/gstpad.h:
13907         * testsuite/caps/Makefile.am:
13908         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13909
13910 2004-01-03  David Schleef  <ds@schleef.org>
13911
13912         * gst/elements/gsttypefindelement.c:
13913         (gst_type_find_element_have_type), (gst_type_find_element_init):
13914         Use gst_pad_use_explicit_caps for src pad.
13915         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13916         before using it.
13917
13918 2004-01-03  David Schleef  <ds@schleef.org>
13919
13920         * gst/gstelement.c: (gst_element_link_pads_filtered),
13921         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13922         that linking was successful.
13923         * gst/gstpad.c: (gst_pad_link_free),
13924         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13925         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13926         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13927         GstPadLinkReturn correctly between functions, and don't fail
13928         when DELAYED is used (DELAYED is very important).  Better
13929         cleanup on unlinking and unnegotiation.  Should fix some spider
13930         bugs.
13931
13932 2004-01-02  David Schleef  <ds@schleef.org>
13933
13934         * gst/gstelement.c: (gst_element_class_init),
13935         (gst_element_base_class_init): ->padtemplates should be cleared
13936         in base_init, since we need to have a fresh list for every
13937         class.  (Alternately, we chould copy the list and share the
13938         actual pad templates (not the list), but that would require
13939         changing every plugin to move pad template registration from
13940         base_init to class_init.)
13941
13942 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13943
13944         * gst/gstelement.c: (gst_element_class_add_pad_template):
13945           Refuse registering a pad template if another pad template
13946           with the same name already exists (#114715).
13947
13948 2004-01-02  David Schleef  <ds@schleef.org>
13949
13950         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13951         (gst_caps_is_equal_fixed): Add new function.
13952         * gst/gstcaps.h: ditto.
13953         * gst/gstpad.c: (gst_real_pad_class_init),
13954         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13955         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13956         check new caps against existing caps -- if they're the same, return
13957         OK without renegotiating.  caps-nego-failed signal fixed so that
13958         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13959         to save an extra caps copy.  Don't complete negotiation if a pad
13960         link function returns DELAYED.
13961
13962 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13963
13964         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13965           Fix wrong g_return_if_fail
13966
13967 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13968
13969         * gst/gstbin.c: (gst_bin_class_init):
13970         Change the marshalling of element_added/element_removed
13971         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13972         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13973
13974 2004-01-01  David Schleef  <ds@schleef.org>
13975
13976         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13977         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13978         (gst_pad_use_explicit_caps):
13979         * gst/gstpad.h:
13980         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13981         to use an internal getcaps and link fuction so that negotiation
13982         always results in the explicitly set caps.
13983         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13984         are particularly useful for decoders.
13985
13986 2003-12-31  David Schleef  <ds@schleef.org>
13987
13988         * gst/elements/gstidentity.c: (gst_identity_class_init),
13989         (gst_identity_init), (gst_identity_chain),
13990         (gst_identity_set_property), (gst_identity_get_property):
13991         * gst/elements/gstidentity.h:
13992         * gst/gstqueue.c: (gst_queue_init):
13993           Negotiation fixes.
13994
13995 2003-12-31  David Schleef  <ds@schleef.org>
13996
13997         * gst/gstcaps.c: (gst_caps_intersect),
13998         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13999           Implement gst_caps_normalize().
14000         * testsuite/caps/normalisation.c: (main):
14001           Add an additional test
14002
14003 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14004
14005         * gst/gstqueue.c: (gst_queue_init):
14006           use gst_pad_proxy_getcaps()
14007
14008 2003-12-31  David Schleef  <ds@schleef.org>
14009
14010         * gst/elements/gstshaper.c: (gst_shaper_link):
14011         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14012         * gst/gstqueue.c: (gst_queue_link):
14013           Negotiation fixes.
14014
14015 2003-12-31  David Schleef  <ds@schleef.org>
14016
14017         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14018         * gst/gstpad.h: Add functions that are useful as default pad
14019         link and fixate functions for elements.
14020
14021 2003-12-30  David Schleef  <ds@schleef.org>
14022
14023         * gst/gstpad.c: (gst_pad_link_try):
14024           Fix segfault when attempting to return to old caps
14025
14026 2003-12-29  David Schleef  <ds@schleef.org>
14027
14028         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14029         (gst_caps_structure_simplify), (gst_caps_simplify):
14030         * gst/gstcaps.h:
14031           Add simplify function
14032         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14033         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14034         * gst/gstpad.h:
14035           Copy over srcnotify, sinknotify when calling old pad_link
14036           functions.  Add new is_negotiated() function.
14037         * gst/gststructure.c: (gst_structure_copy):
14038           Fix an incredibly stupid bug that should have been noticed
14039           weeks ago.  _copy() returned the argument, not the new copy.
14040
14041 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14042
14043         * gst/gstcaps.c: (gst_caps_append):
14044           add sanity checks
14045         * gst/gstcaps.h: (gst_caps_debug):
14046           remove, it doesn't exist anymore.
14047         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14048         (gst_element_threadsafe_properties_post_run):
14049           make debugging messages not clutter up THREAD debug category
14050         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14051         (gst_element_change_state):
14052           update to new caps API
14053         * gst/gstinterface.c: (gst_implements_interface_cast):
14054           don't put vital code in g_return_if_fail
14055         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14056         (gst_pad_link_filtered):
14057           add pst_pad_try_link and use it.
14058         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14059           implement correctly, deprecate first one.
14060         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14061           add and implement.
14062         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14063           implement.
14064         (gst_pad_get_negotiated_caps):
14065           add and implement. Make GST_PAD_CAPS call this function.
14066         (gst_pad_get_caps):
14067           remove unneeded check..
14068         (gst_pad_recover_caps_error):
14069           disable, always return FALSE.
14070         (gst_real_pad_dispose):
14071           don't free caps and appfilter anymore, they're unused.
14072         * gst/gstpad.h:
14073           Reflect changes mentioned above.
14074         * gst/gstsystemclock.c: (gst_system_clock_wait):
14075           Make 'clock is way behind' a debugging message.
14076         * gst/gstthread.c: (gst_thread_change_state):
14077           Fix debugging message
14078
14079 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14080
14081         * gst/gstinfo.h:
14082           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14083         * docs/gst/tmpl/gstreamer-unused.sgml:
14084           removed all traces of cvs conflicts
14085
14086 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14087
14088         * configure.ac:
14089         * gst/schedulers/cothreads_compat.h:
14090         * libs/Makefile.am:
14091           remove last instances of wingo cothread usage
14092
14093 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14094
14095         * gst/gstplugin.c:
14096         * gst/gstversion.h.in:
14097         * gst/parse/grammar.y:
14098           change comment block from /** to /* when not gtk-doc comments
14099
14100 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14101
14102         * gst/gst.c: whitespace and doc style fixes
14103
14104 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14105
14106         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14107
14108 2003-12-24  Colin Walters  <walters@verbum.org>
14109
14110         * gst/elements/gsttypefindelement.c:
14111           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14112           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14113           Don't double-free caps.
14114
14115 2003-12-23  David Schleef  <ds@schleef.org>
14116
14117         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14118           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14119           Many little fixes and additions of debug statements to
14120           get rhythmbox working.
14121
14122 2003-12-23  Colin Walters  <walters@verbum.org>
14123
14124         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14125         Use GST_PAD_LINK_SUCCESSFUL.
14126
14127 2003-12-23  David Schleef  <ds@schleef.org>
14128
14129         * gst/elements/gstaggregator.c:
14130         * gst/elements/gsttee.c:
14131           Use gst_pad_proxy_getcaps().
14132         * gst/gstpad.c:
14133         * gst/gstpad.h:
14134           Add gst_pad_proxy_getcaps(), which filter elements can use
14135           as a generic getcaps implementation.
14136           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14137           was advertised.
14138
14139 2003-12-23  David Schleef  <ds@schleef.org>
14140
14141         * gst/gstpad.c:
14142           Rearrange/rewrite much of the pad negotiation code, since it
14143           resembled pasta.  This actually changes the way some
14144           negotiation works, since the previous code was inconsistent
14145           depending on how it was invoked.  Add (internal) structure
14146           GstPadLink, which is used to hold some information (more in
14147           the future) about the link between two pads.  Fixes a number
14148           of bugs, including random lossage of filter caps when the
14149           initial negotiation is delayed.  A few functions are still
14150           unimplemented.
14151         * gst/gstpad.h:
14152           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14153           these when testing GstPadLinkReturn values instead of comparing
14154           directly.
14155
14156 2003-12-23  David Schleef  <ds@schleef.org>
14157
14158         * gst/gstvalue.c: 
14159         * gst/gstvalue.h:
14160           Rearrange lots of code.  Change registration of compare function
14161           into registration of compare/serialize/deserialize functions.
14162           Doesn't include implementation of gst_value_[de]serialize(),
14163           but that should be easy.
14164
14165 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14166
14167         * docs/gst/gstreamer-sections.txt:
14168         * docs/gst/tmpl/gstprops.sgml: removed
14169         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14170           David removed props and caps code, so let's remove their docs as well.
14171           Removed all no longer existing symbols from gstreamer-sections.txt
14172           
14173 2003-12-22  Colin Walters  <walters@verbum.org>
14174
14175         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14176           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14177           of tags directly.
14178
14179 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14180
14181         * gst/elements/gstelements.c:
14182           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14183         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14184           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14185           gst_caps (peer).
14186
14187 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14188
14189         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14190         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14191         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14192         (gst_spider_identity_sink_loop_type_finding):
14193         * gst/autoplug/gstspideridentity.h:
14194           Fix autoplugging in spider element, so it works with new caps.
14195           This was mainly caused by identifying empty caps incorrectly.
14196
14197 2003-12-22  David Schleef  <ds@schleef.org>
14198
14199         * gststructure.c, gstvalue.c, gstvalue.h: Add
14200           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14201           using g_value_copy()
14202
14203 2003-12-21  David Schleef  <ds@schleef.org>
14204
14205         * many, many files: Merge CAPS branch.  This includes:
14206           - implemention of GstValue and several GstValue types
14207           - implemention of GstStructure
14208           - entire rewrite of GstCaps
14209           - removal of GstProps
14210           - many changes to GstPad to compensate for new caps paradigm
14211           - removal of GstBufferpool
14212         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14213         gstvalue.h, gst/gstcaps[2]*.[ch]:
14214           - rename gstcaps2.[ch] to gstcaps.[ch]
14215
14216 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14217
14218         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14219         (gst_queue_chain), (gst_queue_handle_src_event):
14220           implement timeout for sending events. Workaround for if the
14221           pipeline on this queue is not passing any data.
14222
14223 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14224                                                                                 
14225         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14226         * moved CVS to freedesktop.org