check/Makefile.am: don't valgrind the controller test - it's leaking - Stefan, HELP
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * check/Makefile.am:
4           don't valgrind the controller test - it's leaking - Stefan, HELP
5         * gst/check/gstcheck.c: (gst_check_message_error),
6         (gst_check_chain_func), (gst_check_setup_element),
7         (gst_check_teardown_element), (gst_check_setup_src_pad),
8         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9         (gst_check_teardown_sink_pad):
10         * gst/check/gstcheck.h:
11           add a bunch of methods to set up elements, and src and sink pads
12         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
13         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14         (GST_START_TEST):
15           use them
16         * gst/gstmessage.c:
17         * gst/gsttag.h:
18           whitespace/doc fixes
19
20 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21
22         * gst/gstelement.h:
23           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
24           be handled by the application and not always printed as well
25
26 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
27
28         * check/Makefile.am:
29           set GST_TOOLS_DIR
30         * gst/check/gstcheck.c: (gst_check_message_error):
31         * gst/check/gstcheck.h:
32           add a fail_unless_equals_int
33           add fail_unless for error messages
34
35 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
36
37         * check/Makefile.am:
38         * check/gst.supp:
39         * common/Makefile.am:
40         * common/check.mak:
41         * common/gst.supp:
42           factor out some of the common stuff so we can use it
43
44 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
45
46         * check/Makefile.am:
47         * check/gst/gstiterator.c: (GST_START_TEST):
48         * check/gst/gstsystemclock.c: (GST_START_TEST),
49         (gst_systemclock_suite):
50         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
51         * gst/gstclock.c:
52           valgrind more tests
53
54 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
55
56         * check/elements/.cvsignore:
57         * check/elements/gstfakesrc.c:
58           rename to name of element
59         * check/elements/identity.c: (chain_func), (event_func),
60         (setup_identity), (cleanup_identity), (GST_START_TEST),
61         (identity_suite), (main):
62           add a test for identity
63         * check/Makefile.am:
64         * pkgconfig/Makefile.am:
65         * pkgconfig/gstreamer-check.pc.in:
66         * pkgconfig/gstreamer-check-uninstalled.pc.in:
67         * gst/check:
68         * gst/Makefile.am:
69         * configure.ac:
70           move the check stuff to a library that gets installed
71         * check/gst-libs/controller.c: (GST_START_TEST):
72         * check/gst-libs/gdp.c:
73         * check/gst/gst.c: (GST_START_TEST):
74         * check/gst/gstbin.c:
75         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
76         * check/gst/gstbus.c:
77         * check/gst/gstcaps.c: (GST_START_TEST):
78         * check/gst/gstelement.c:
79         * check/gst/gstghostpad.c:
80         * check/gst/gstiterator.c:
81         * check/gst/gstmessage.c:
82         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
83         * check/gst/gstobject.c:
84         * check/gst/gstpad.c: (GST_START_TEST):
85         * check/gst/gststructure.c: (GST_START_TEST):
86         * check/gst/gstsystemclock.c: (GST_START_TEST),
87         (gst_systemclock_suite):
88         * check/gst/gsttag.c: (gst_tag_suite):
89         * check/gst/gstvalue.c:
90         * check/pipelines/cleanup.c:
91         * check/pipelines/simple_launch_lines.c:
92         * check/states/sinks.c:
93           change include statement
94
95         * docs/gst/gstreamer-sections.txt:
96         * docs/gst/tmpl/gstpad.sgml:
97           document more pad stuff
98         * gst/gstminiobject.c: (gst_mini_object_ref),
99         (gst_mini_object_unref):
100           debug refcounting
101
102 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
103
104         * docs/gst/tmpl/gst.sgml:
105         * gst/gst.c:
106           eliminate another tmpl file, fix spelling in the long-description
107
108 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
109
110         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
111         (test_event), (timediff), (gstevents_suite):
112           Should fix build on 64-bit arch's
113
114 2005-08-18  Andy Wingo  <wingo@pobox.com>
115
116         Make sure that when a pipeline goes to PLAYING, that data has
117         actually hit the sink.
118
119         * check/states/sinks.c (test_sink): A sink that doesn't get any
120         data shouldn't return SUCCESS for going to either PLAYING or
121         PAUSED. Test also the return values on the way back down.
122
123         * gst/gstelement.c (gst_element_set_state): When changing the
124         state of an element currently changing state asynchronously, go to
125         lost-state after commiting the pending state. Makes future calls
126         to get_state continue to return ASYNC.
127
128         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
129         ASYNC when going to PLAYING if we still don't have preroll, as can
130         happen with live sources.
131
132 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
133
134         * docs/pwg/advanced-types.xml:
135           Hack long paragraph into 2 chunks as a workaround for buggy
136           jadetex version in sid and breezy that loops infinitely and
137           eats all RAM.
138
139 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
140
141         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
142         (test_event), (timediff), (gstevents_suite):
143           Provide more error margin in clock measurements to allow for 
144           g_get_current_time inaccuracies.
145
146 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
147
148         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
149         (test_event), (timediff), (gstevents_suite):
150            Fix error message output so I might be able to tell why the
151            test works here but fails on the build farm.
152
153 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
154
155         * check/Makefile.am:
156         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
157         (test_event), (timediff), (gstevents_suite), (main):
158           I wrote a test!
159
160         * docs/design/part-seeking.txt:
161           Spelling correction
162
163         * docs/gst/tmpl/gstevent.sgml:
164         * docs/gst/tmpl/gstfakesrc.sgml:
165           Docs updates.
166
167         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
168           Treat a buffer-without-newsegment the same as a receiving 
169           a newsegment not in time format, and disable syncing to the clock
170           with a warning.
171
172         * gst/gstbus.c: (gst_bus_set_sync_handler):
173           Assert if anyone tries to replace the existing sync_handler for bus, 
174           as only the owner should be setting it.
175
176         * gst/gstevent.h:
177           Have a fixed set of custom event enums with events identified by
178           their structure name (as in 0.8), rather than a free-for-all
179           allowing collisions between enum values from different plugins.
180
181         * gst/gstpad.c: (gst_pad_class_init):
182           Docs change.
183           
184         * gst/gstqueue.c: (gst_queue_handle_sink_event):
185           Handle out-of-band downstream events from the sending thread.
186
187 2005-08-17  Andy Wingo  <wingo@pobox.com>
188
189         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
190         play-timeout==0 to mean no timeout at all. In that case, don't
191         bother with a get_state or a warning, just return directly, even
192         if it's ASYNC.
193
194         * gst/base/gstbasetransform.c: Debug changes.
195
196         * gst/gstutils.h:
197         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
198         ensure bins post state change messages. A bit of a hack but I can't
199         think of a way to avoid it.
200
201         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
202
203 2005-08-16  Andy Wingo  <wingo@pobox.com>
204
205         * gst/base/gstadapter.h:
206         * gst/base/gstadapter.c (gst_adapter_take): New function, like
207         peek() but you own the data. Not terribly efficient atm.
208
209 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
210
211         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
212         (gst_element_found_tags):
213         * gst/gstutils.h:
214           Add two utility functions for tag handling.
215
216 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
217
218         * docs/manual/advanced-dataaccess.xml:
219         * docs/manual/basics-helloworld.xml:
220           Fix docs to use _bin_add() before _link(), which fixes the examples
221           with recent core versions (reported by Madhan Raj M
222           <raj_madan@rediffmail.com>, #313199).
223
224 2005-08-16  Wim Taymans  <wim@fluendo.com>
225
226         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
227         Added subtract checks.
228
229         * docs/design/part-events.txt:
230         Some more docs about newsegment
231
232         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
233         Fix FIXME
234
235         * gst/gstcaps.c: (gst_caps_to_string):
236         Add comments, cleanups.
237         
238         * gst/gstelement.c: (gst_element_save_thyself):
239         cleanups
240         
241         * gst/gstvalue.c: (gst_value_collect_int_range),
242         (gst_string_unwrap), (gst_value_union_int_int_range),
243         (gst_value_union_int_range_int_range),
244         (gst_value_intersect_int_int_range),
245         (gst_value_intersect_int_range_int_range),
246         (gst_value_intersect_double_double_range),
247         (gst_value_intersect_double_range_double_range),
248         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
249         (gst_value_subtract_int_range_int),
250         (gst_value_subtract_double_range_double),
251         (gst_value_subtract_double_range_double_range),
252         (gst_value_subtract_from_list), (gst_value_subtract_list),
253         (gst_value_can_compare), (gst_value_compare_fraction):
254         Cleanups, add comments, remove unneeded asserts.
255
256 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
257
258         * tools/gst-launch.c: (event_loop):
259           don't convert NULL structures to strings
260
261 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
262
263         * docs/gst/gstreamer-sections.txt:
264           made some defines private
265         * docs/gst/tmpl/gstconfig.sgml:
266         * docs/gst/tmpl/gstqueue.sgml:
267         * docs/gst/tmpl/gsttaglist.sgml:
268         * docs/gst/tmpl/gsttypes.sgml:
269         * docs/gst/tmpl/gstutils.sgml:
270         * docs/pwg/appendix-porting.xml:
271         * gst/base/gstbasesink.h:
272         * gst/base/gstbasesrc.c:
273         * gst/base/gstbasesrc.h:
274         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
275         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
276         * gst/gstelement.c: (gst_element_class_init):
277         * gst/gstpad.c: (gst_pad_class_init):
278         * gst/gstqueue.c: (gst_queue_class_init):
279         * gst/gstxml.c: (gst_xml_class_init):
280           documented all undocumented signal inline
281         * libs/gst/controller/gst-controller.h:
282           added padding
283
284 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
285
286         * docs/pwg/appendix-porting.xml:
287           Document _set_link_function -> _set_setcaps_function.
288
289 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
290
291         * check/Makefile.am:
292           add a .check target for running the check
293         * check/gst-libs/controller.c: (GST_START_TEST):
294           cosmetic fixups
295         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
296           complete checks for gstbuffer; would be nice if I could get the
297           gcov stuff to work so I can see if I actually completed gstbuffer.c
298         * check/gstcheck.h:
299           add ASSERT_BUFFER_REFCOUNT
300
301 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
302
303         * docs/gst/gstreamer-sections.txt:
304         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
305         * gst/gsttag.h:
306           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
307           spew out a warning if a tag that is already registered
308           is re-registered, unless it is re-registered with a 
309           different type (#308438).
310
311 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
312
313         * docs/pwg/appendix-porting.xml:
314         * docs/pwg/building-state.xml:
315           Add some paragraphs about state changes in 0.9 to the PWG
316           and the porting guide, in particular about the new meaning
317           of GST_STATE_PAUSED and how to write state change functions
318           with concurrent access by multiple threads in mind.
319
320 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
321
322         * docs/gst/gstreamer-docs.sgml:
323         * docs/libs/gstreamer-libs-docs.sgml:
324           added deprecation and since indexes
325         * libs/gst/controller/gst-controller.c:
326         * libs/gst/controller/gst-helper.c:
327           added since tags
328
329
330 2005-08-11  Wim Taymans  <wim@fluendo.com>
331
332         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
333         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
334         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
335         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
336         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
337         (gst_ghost_pad_set_target):
338         Actually implement (re)setting the target on a ghostpad
339         as described in the docs.
340
341 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
342
343         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
344           Check whether GST_DEBUG_NO_COLOR environment variable is
345           set and disable coloured debug output if that is the case.
346
347 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
348
349         * gst/base/gsttypefindhelper.c: (helper_find_peek),
350         (gst_type_find_helper):
351           The memory returned by gst_type_find_peek() needs to
352           stay valid until the end of a typefind function, and
353           typefind functions may keep results from different 
354           offsets around, so we can't just unref the buffer from
355           the previous _peek(), but have to save all buffers 
356           returned by _peek() until typefinding is done and only
357           free them then.
358
359 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
360
361         * docs/gst/gstreamer-sections.txt:
362         * gst/gstutils.h:
363           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
364
365 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
366
367         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
368           Fix a pretty good memleak.
369
370 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
371
372         * gst/gstiterator.h:
373           Fix wrong include and 'make distcheck'.
374
375 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
376
377         * gst/gstbin.c: (bin_bus_handler):
378           Use gst_element_post_message() instead.
379
380 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
381
382         * gst/base/gstadapter.h:
383         * gst/base/gstbasesink.h:
384         * gst/base/gstbasesrc.h:
385         * gst/base/gstbasetransform.h:
386         * gst/base/gstcollectpads.h:
387         * gst/base/gstpushsrc.h:
388         * gst/gstiterator.h:
389           Add padding to our base elements' class and instance structs and
390           to GstIterator (you will need to rebuild all plugins and apps!)
391
392 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
393
394         * gst/gstbin.c: (bin_bus_handler):
395           Make default message forwarding from child->bus to bin->bus
396           threadsafe and make it not emit warnings if the parent has no bus.
397
398 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
399
400         * gst/gstelement.c: (activate_pads):
401           On paused->ready, set pad->caps to NULL, as is the documented
402           behaviour in this state change. Fixes playback of series of
403           media files when visualization is enabled in Totem.
404
405 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
406
407         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
408           Allow NULL as filter-caps (which means "any").
409
410 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
411
412         * docs/libs/gstreamer-libs-sections.txt:
413         * libs/gst/controller/gst-controller.c:
414         * libs/gst/controller/gst-controller.h:
415         * libs/gst/controller/gst-helper.c:
416           adding more entries to the docs and fix small doc-bugs
417
418 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
419
420         * docs/gst/gstreamer-docs.sgml:
421         * docs/gst/gstreamer-sections.txt:
422         * docs/gst/gstreamer.types:
423         * docs/gst/tmpl/gstbasesink.sgml:
424         * docs/gst/tmpl/gstbasesrc.sgml:
425         * docs/gst/tmpl/gstbasetransform.sgml:
426         * docs/gst/tmpl/gstfakesrc.sgml:
427         * gst/base/gstcollectpads.c:
428         * gst/base/gstcollectpads.h:
429         * libs/gst/controller/gst-controller.c:
430         * libs/gst/controller/gst-controller.h:
431         * libs/gst/controller/gst-helper.c:
432         * libs/gst/controller/gst-interpolation.c:
433         * libs/gst/controller/lib.c:
434           added long/short desc for controller docs
435           added collectpads base class docs
436           added correct includes to base-class docs
437
438 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
439
440         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
441         (gst_test_mono_source_set_property),
442         (gst_test_mono_source_class_init), (GST_START_TEST),
443         (gst_controller_suite):
444         * docs/gst/gstreamer-docs.sgml:
445         * docs/gst/gstreamer-sections.txt:
446         * docs/gst/gstreamer.types:
447         * docs/libs/gstreamer-libs-docs.sgml:
448         * docs/libs/gstreamer-libs-sections.txt:
449         * gst/base/gstadapter.c:
450         * libs/gst/controller/gst-controller.c:
451         (gst_controlled_property_new), (gst_controlled_property_free),
452         (gst_controller_new_valist),
453         (gst_controller_remove_properties_valist),
454         (gst_controller_sink_values), (_gst_controller_finalize):
455         * libs/gst/controller/gst-controller.h:
456         * libs/gst/controller/gst-helper.c:
457         (gst_object_control_properties), (gst_object_uncontrol_properties),
458         (gst_object_get_controller), (gst_object_set_controller),
459         (gst_object_sink_values), (gst_object_get_value_arrays),
460         (gst_object_get_value_array):
461           more tests (and fixes) for the controller
462           more docs for the controller
463           integrated companies docs for the adapter 
464
465 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
466
467         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
468         (GST_START_TEST), (fakesrc_suite):
469           add tests for sizetype
470
471 2005-08-04  Andy Wingo  <wingo@pobox.com>
472
473         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
474         fixes buffer_alloc proxying among other things.
475
476         * gst/base/gstbasetransform.c:
477         * gst/base/gstbasetransform.h:
478         Revert patch to gstbasetransform from 7-28 removing
479         delay_configure.
480
481         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
482         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
483         Semantics changed, should return not the size of the output buffer
484         but the byte size of a buffer with a given caps.
485
486         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
487         debug object.
488         (gst_base_transform_configure_caps): Don't set out_size here: (in,
489         out) are not the pad caps until setcaps finishes.
490         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
491         not-in-place case as well. Deal with changing from in-place to
492         not-in-place within calling pad_alloc_buffer. Still a bit
493         concerned about the overhead here...
494
495 2005-08-03  Andy Wingo  <wingo@pobox.com>
496
497         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
498         fixating is an error.
499
500 2005-08-04  Edward Hervey  <edward@fluendo.com>
501
502         * gst/base/gstadapter.h: 
503         Added gst_adapter_get_type() to the header
504
505 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
506
507         * check/Makefile.am:
508         * check/gst-libs/controller.c:
509         * libs/gst/controller/gst-controller.c:
510         (gst_controller_new_valist):
511           added check test suite for the controller
512         * gst/base/gstpushsrc.c:
513           fixed a doc typo
514
515 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
516
517         * docs/gst/Makefile.am:
518         * docs/gst/gstreamer-docs.sgml:
519         * docs/gst/gstreamer-sections.txt:
520         * docs/gst/gstreamer.types:
521         * docs/gst/tmpl/gstfakesrc.sgml:
522         * gst/base/README:
523         * gst/base/gstbasesink.c:
524         * gst/base/gstbasesink.h:
525         * gst/base/gstbasesrc.c:
526         * gst/base/gstbasesrc.h:
527         * gst/base/gstbasetransform.c:
528         * gst/base/gstpushsrc.c:
529         * gst/base/gstpushsrc.h:
530           add short/long description docs to base classes
531           add pushsrc to the docs
532           remove consolidated doc fragments
533
534 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
535
536         * configure.ac:
537         * docs/libs/Makefile.am:
538         * docs/libs/gstreamer-libs-docs.sgml:
539         * docs/libs/gstreamer-libs-sections.txt:
540         * docs/libs/gstreamer-libs.types:
541         * examples/Makefile.am:
542         * examples/controller/.cvsignore:
543         * examples/controller/Makefile.am:
544         * examples/controller/audio-example.c: (main):
545         * libs/gst/Makefile.am:
546         * libs/gst/controller/.cvsignore:
547         * libs/gst/controller/Makefile.am:
548         * libs/gst/controller/gst-controller.c:
549         (on_object_controlled_property_changed), (gst_timed_value_compare),
550         (gst_timed_value_find),
551         (gst_controlled_property_set_interpolation_mode),
552         (gst_controlled_property_new), (gst_controlled_property_free),
553         (gst_controller_find_controlled_property),
554         (gst_controller_new_valist), (gst_controller_new),
555         (gst_controller_remove_properties_valist),
556         (gst_controller_remove_properties), (gst_controller_set),
557         (gst_controller_set_from_list), (gst_controller_unset),
558         (gst_controller_get), (gst_controller_get_all),
559         (gst_controller_sink_values), (gst_controller_get_value_arrays),
560         (gst_controller_get_value_array),
561         (gst_controller_set_interpolation_mode),
562         (_gst_controller_finalize), (_gst_controller_init),
563         (_gst_controller_class_init), (gst_controller_get_type):
564         * libs/gst/controller/gst-controller.h:
565         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
566         (g_object_uncontrol_properties), (g_object_get_controller),
567         (g_object_set_controller), (g_object_sink_values),
568         (g_object_get_value_arrays), (g_object_get_value_array):
569         * libs/gst/controller/gst-interpolation.c:
570         (gst_controlled_property_find_timed_value_node),
571         (interpolate_none_get), (interpolate_trigger_get),
572         (interpolate_trigger_get_value_array):
573         * libs/gst/controller/lib.c: (gst_controller_init):
574         * pkgconfig/Makefile.am:
575         * pkgconfig/gstreamer-control-uninstalled.pc.in:
576         * pkgconfig/gstreamer-control.pc.in:
577         * testsuite/Makefile.am:
578         * testsuite/controller/.cvsignore:
579         * testsuite/controller/Makefile.am:
580         * testsuite/controller/interpolator.c: (main):
581           added controller code
582           removed dparam pc files
583
584 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
585         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
586         (gst_collectpads_stop):
587           Broadcast the condition when shutting down, to make sure we wake all
588           threads up. Shut down pads on finalize, for safety.
589
590 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
591         * gst/base/gstbasetransform.c: (gst_base_transform_init),
592         (gst_base_transform_handle_buffer),
593         (gst_base_transform_change_state):
594           Handle PAUSED->READY->PAUSED transition after negotiation
595           occurred already.
596         * gst/gstmessage.c: (gst_message_init):
597           Extra piece of debug for new messages.
598
599 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
600
601         * configure.ac:
602         * docs/gst/tmpl/gstbasesrc.sgml:
603         * docs/gst/tmpl/gstelement.sgml:
604         * docs/gst/tmpl/gstevent.sgml:
605         * docs/gst/tmpl/gstfakesrc.sgml:
606         * docs/gst/tmpl/gstformat.sgml:
607         * docs/gst/tmpl/gstghostpad.sgml:
608         * docs/gst/tmpl/gstpad.sgml:
609         * docs/gst/tmpl/gstquery.sgml:
610         * docs/gst/tmpl/gststructure.sgml:
611         * docs/gst/tmpl/gsttaglist.sgml:
612         * docs/gst/tmpl/gstvalue.sgml:
613         * docs/libs/gstreamer-libs-docs.sgml:
614         * docs/libs/gstreamer-libs-sections.txt:
615         * docs/libs/gstreamer-libs.types:
616         * libs/gst/Makefile.am:
617         * libs/gst/control/.cvsignore:
618         * libs/gst/control/Makefile.am:
619         * libs/gst/control/control.c:
620         * libs/gst/control/control.h:
621         * libs/gst/control/dparam.c:
622         * libs/gst/control/dparam.h:
623         * libs/gst/control/dparam_smooth.c:
624         * libs/gst/control/dparam_smooth.h:
625         * libs/gst/control/dparamcommon.h:
626         * libs/gst/control/dparammanager.c:
627         * libs/gst/control/dparammanager.h:
628         * libs/gst/control/dplinearinterp.c:
629         * libs/gst/control/dplinearinterp.h:
630         * libs/gst/control/unitconvert.c:
631         * libs/gst/control/unitconvert.h:
632         * testsuite/Makefile.am:
633         * testsuite/dynparams/.cvsignore:
634         * testsuite/dynparams/Makefile.am:
635         * testsuite/dynparams/dparamstest.c:
636         * tools/Makefile.am:
637         * tools/gst-inspect.c: (print_element_info), (main):
638         * tools/gst-xmlinspect.c: (print_element_info), (main):
639           deactivate and remove dparams (libgstcontrol)
640
641 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
642
643         * gst/elements/gsttypefindelement.c:
644         (gst_type_find_element_have_type), (gst_type_find_element_init),
645         (stop_typefinding), (gst_type_find_element_handle_event),
646         (gst_type_find_element_chain), (gst_type_find_element_getrange):
647         * gst/elements/gsttypefindelement.h:
648           Set caps on all outgoing buffers, not just the first one.
649
650 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
651
652         * gst/elements/gsttypefindelement.c:
653         (gst_type_find_element_have_type),
654         (gst_type_find_element_check_set_buffer_caps),
655         (gst_type_find_element_init), (stop_typefinding),
656         (gst_type_find_element_handle_event),
657         (gst_type_find_element_chain), (gst_type_find_element_getrange):
658         * gst/elements/gsttypefindelement.h:
659           Set caps on first outgoing buffer when we've found the type.
660
661 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
662
663         * docs/gst/gstreamer-docs.sgml:
664         * docs/gst/gstreamer-sections.txt:
665         * docs/gst/tmpl/gstscheduler.sgml:
666         * docs/gst/tmpl/gstschedulerfactory.sgml:
667           Remove some old cruft from docs.
668
669 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
670
671         * gst/gstpad.h:
672           Fix inline docs for GstPadLinkReturn.
673           
674         * gst/gststructure.c: (gst_structure_has_name):
675         * gst/gststructure.h:
676         * docs/gst/gstreamer-sections.txt:
677           New API: gst_structure_has_name().
678
679 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
680
681         * configure.ac:
682           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
683           and _LARGEFILE_SOURCE in config.h as required. Do not 
684           export those flags in our .pc files any longer (#142209).
685
686           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
687
688         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
689         (gst_file_sink_do_seek), (gst_file_sink_event),
690         (gst_file_sink_get_current_offset), (gst_file_sink_render):
691           Redo seek/tell calls with large file support in mind; add some
692           debugging messages; add log message that tells us when large
693           file support is unavailable or not enabled for some reason.
694
695         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
696           Add log message that tells us when large file support 
697           is unavailable or not enabled for some reason.
698
699 2005-07-29  Wim Taymans  <wim@fluendo.com>
700
701         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
702         Added test for removing an element with ghostpad from a bin.
703         Fixed test as current implementation does the right thing.
704
705         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
706         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
707         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
708         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
709         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
710         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
711         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
712         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
713         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
714         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
715         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
716         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
717         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
718         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
719         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
720         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
721         * gst/gstghostpad.h:
722         Clean up ghostpads, remove properties for internal stuff.
723         Make threadsafe.
724         Fix refcounting.
725         Prepare for switching targets, not all use cases work yet.
726
727 2005-07-29  Wim Taymans  <wim@fluendo.com>
728
729         * docs/design/part-gstghostpad.txt:
730         Small update.
731
732         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
733         (gst_bin_remove_func):
734         Unlinking pads while holding the bin LOCK is not a good
735         idea.
736
737         * gst/gstpad.c: (gst_pad_class_init),
738         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
739         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
740         No prob setting template after creating the pad.
741
742 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
743
744         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
745         (gst_bus_peek), (gst_bus_source_dispatch),
746         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
747         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
748           gst_bus_poll may be called from other threads. Handle
749           this nicely by not making poll_data disappear off the
750           stack once gst_bus_poll returns.
751           gst_bus_peek now increments the refcount on the returned
752           message.
753
754 2005-07-29  Wim Taymans  <wim@fluendo.com>
755
756         * docs/design/part-gstghostpad.txt:
757         Overview of current GhostPad datastructures and use
758         cases for changing the target.
759
760 2005-07-28  Wim Taymans  <wim@fluendo.com>
761
762         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
763         Added checks for hierarchy consistency whan adding linked
764         elements to bins.
765
766         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
767         Added check to test element scheduling without bin/pipeline.
768
769         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
770         First add elements to bin, then link.
771         
772         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
773         (gst_bin_remove_func):
774         Unlink pads from elements added/removed from bin to maintain
775         hierarchy consistency.
776
777 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
778
779         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
780         (gst_base_transform_handle_buffer):
781         * gst/base/gstbasetransform.h:
782           Remove broken delay_configure (fixes renegotiation of software
783           scaling pipelines); remove some leftover printf()s.
784
785 2005-07-28  Wim Taymans  <wim@fluendo.com>
786
787         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
788         Added some more tests for wrong hierarchy
789
790         * docs/design/part-overview.txt:
791         Some updates.
792
793         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
794         Cleanups.
795
796         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
797         (gst_element_dispose):
798         Some more cleanups.
799
800         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
801         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
802         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
803         (gst_pad_set_caps), (gst_pad_send_event):
804         Check for correct hierarchy when linking pads. Moving to
805         strict requirement for ghostpads when linking elements in
806         different bins.
807
808         * gst/gstpad.h:
809         Clean ups. Added WRONG_HIERARCHY return value.
810
811 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
812
813         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
814           Better debug if no transform is possible.
815
816 2005-07-27  Wim Taymans  <wim@fluendo.com>
817
818         * docs/random/wtay/network-transp:
819         Some old doc I had.
820
821 2005-07-27  Wim Taymans  <wim@fluendo.com>
822
823         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
824         (gst_dp_event_from_packet):
825         Fix serialization of seek events.
826
827 2005-07-27  Wim Taymans  <wim@fluendo.com>
828
829         * check/gst-libs/gdp.c: (GST_START_TEST):
830         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
831         Fix compilation and fix event serialization.
832
833 2005-07-27  Wim Taymans  <wim@fluendo.com>
834
835         * CHANGES-0.9:
836         * docs/design/part-TODO.txt:
837         * docs/design/part-events.txt:
838         Some docs updates
839
840         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
841         (gst_base_sink_event), (gst_base_sink_do_sync),
842         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
843         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
844         (gst_base_src_do_seek), (gst_base_src_event_handler),
845         (gst_base_src_loop):
846         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
847         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
848         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
849         (gst_base_transform_event), (gst_base_transform_handle_buffer),
850         (gst_base_transform_set_passthrough),
851         (gst_base_transform_is_passthrough):
852         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
853         * gst/elements/gstfilesink.c: (gst_file_sink_event):
854         Event updates.
855
856         * gst/gstbuffer.h:
857         Use faster casts.
858
859         * gst/gstelement.c: (gst_element_seek):
860         * gst/gstelement.h:
861         Update gst_element_seek.
862
863         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
864         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
865         (gst_event_new_flush_start), (gst_event_new_flush_stop),
866         (gst_event_new_eos), (gst_event_new_newsegment),
867         (gst_event_parse_newsegment), (gst_event_new_tag),
868         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
869         (gst_event_parse_qos), (gst_event_new_seek),
870         (gst_event_parse_seek), (gst_event_new_navigation):
871         * gst/gstevent.h:
872         Make GstEvent use GstStructure. Add parsing code, make sure the
873         API is sufficiently generic.
874         Mark possible directions of events and serialization.
875
876         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
877         (_gst_message_copy), (gst_message_new_segment_start),
878         (gst_message_new_segment_done), (gst_message_new_custom),
879         (gst_message_parse_segment_start),
880         (gst_message_parse_segment_done):
881         Small cleanups.
882
883         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
884         (gst_pad_set_caps), (gst_pad_send_event):
885         Update for new events. 
886         Catch events sent in wrong directions.
887
888         * gst/gstqueue.c: (gst_queue_link_src),
889         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
890         (gst_queue_handle_src_query):
891         Event updates.
892
893         * gst/gsttag.c:
894         * gst/gsttag.h:
895         Remove event code from this file.
896
897         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
898         (gst_dp_event_from_packet):
899         Event updates.
900
901 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
902
903         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
904         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
905         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
906           Make debugging actually useful.
907
908 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
909
910         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
911         (gst_pad_fixate_caps):
912           Implement default fixation once again, so that gst_pad_fixate()
913           actually does anything at all. This probably needs to be some
914           sort of a last resort, and use profile-based fixation first, but
915           since that doesn't exist yet, this is the best we have. Fixes
916           visualization in Totem.
917
918 2005-07-22  Wim Taymans  <wim@fluendo.com>
919
920         * docs/design/part-events.txt:
921         Small update.
922
923         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
924         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
925         (gst_base_sink_activate_pull):
926         Some more comments.
927
928         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
929         (gst_fake_src_create):
930         Fix handoff marshall.
931
932         * gst/elements/gstidentity.c: (gst_identity_class_init),
933         (gst_identity_transform_ip):
934         We're a real inplace element.
935
936         * gst/gstbus.c: (gst_bus_post):
937         Added some comments.
938
939         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
940         * tests/muxing/case1.c: (main):
941         * tests/sched/dynamic-pipeline.c: (main):
942         * tests/sched/interrupt1.c: (main):
943         * tests/sched/interrupt2.c: (main):
944         * tests/sched/interrupt3.c: (main):
945         * tests/sched/runxml.c: (main):
946         * tests/sched/sched-stress.c: (main):
947         * tests/seeking/seeking1.c: (event_received), (main):
948         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
949         (main):
950         * tests/threadstate/threadstate3.c: (main):
951         * tests/threadstate/threadstate4.c: (main):
952         * tests/threadstate/threadstate5.c: (main):
953         Fix the tests.
954
955 2005-07-21  Wim Taymans  <wim@fluendo.com>
956
957         * docs/design/part-seeking.txt:
958         Some small additions.
959
960         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
961         (gst_base_sink_get_times), (gst_base_sink_do_sync),
962         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
963         * gst/base/gstbasesink.h:
964         discont values are gint64, handle the math correctly.
965
966         * gst/base/gstbasesrc.c: (gst_base_src_loop):
967         Make the basesrc report error if the source pad is not linked.
968
969         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
970         (gst_queue_loop), (gst_queue_handle_src_query),
971         (gst_queue_src_activate_push):
972         Make queue collect data even if the srcpad is not linked.
973         Start pushing out data as soon as it is linked.
974
975         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
976         * gst/gstutils.h:
977         Added gst_flow_get_name() to ease error reporting.
978
979 2005-07-20  Wim Taymans  <wim@fluendo.com>
980
981         * gst/gstmessage.c: (gst_message_new_segment_start),
982         (gst_message_new_segment_done), (gst_message_parse_segment_start),
983         (gst_message_parse_segment_done):
984         * gst/gstmessage.h:
985         Added a bunch of messages for advanced seeking.
986
987         * gst/parse/grammar.y:
988         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
989         (gst_dpman_state_changed):
990         Fix some new-pad -> pad-added signals
991
992 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
993
994         * docs/manual/appendix-porting.xml:
995         * docs/pwg/appendix-porting.xml:
996           Document new-pad/state-change signal renames and the FixedList
997           type rename.
998
999 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1000
1001         * docs/manual/advanced-autoplugging.xml:
1002         * docs/manual/basics-helloworld.xml:
1003         * docs/manual/basics-pads.xml:
1004         * docs/random/ds/0.9-suggested-changes:
1005         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1006         * gst/gstelement.h:
1007         * gst/gstevent.h:
1008         * gst/gstformat.h:
1009         * gst/gstquery.h:
1010         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1011         (gst_structure_parse_array), (gst_structure_parse_value):
1012         * gst/gstvalue.c: (gst_type_is_fixed),
1013         (gst_value_list_prepend_value), (gst_value_list_append_value),
1014         (gst_value_list_get_size), (gst_value_list_get_value),
1015         (gst_value_transform_array_string), (gst_value_serialize_array),
1016         (gst_value_deserialize_array), (gst_value_intersect_array),
1017         (gst_value_is_fixed), (_gst_value_initialize):
1018         * gst/gstvalue.h:
1019           GstElement::new-pad -> pad-added, GstElement::state-change ->
1020           state-changed, GstValueFixedList -> GstValueArray, add format and
1021           flags as their own arguments in gst_element_seek() (should improve
1022           "bindeability"), remove function generators since they don't work
1023           under a whole bunch of compilers (they were deprecated already
1024           anyway).
1025
1026 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1027
1028         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1029         (_gst_debug_register_funcptr):
1030         * gst/gstinfo.h:
1031           Fix illegal cast on some platforms (#309253).
1032
1033 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1034
1035         * gst/gstmessage.c: (gst_message_new_custom):
1036         * gst/gstmessage.h:
1037           Add _new_custom, make _new_application a macro to _new_custom.
1038
1039 2005-07-20  Wim Taymans  <wim@fluendo.com>
1040
1041         * gst/base/gstbasesrc.c: (gst_base_src_init),
1042         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1043         * gst/base/gstbasesrc.h:
1044         Add a gboolean to decide when to push out a discont.
1045
1046         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1047         (gst_queue_loop), (gst_queue_handle_src_query),
1048         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1049         (gst_queue_set_property), (gst_queue_get_property):
1050         Some cleanups.
1051
1052         * tests/threadstate/threadstate1.c: (main):
1053         Make a thread test compile and run... very silly..
1054
1055
1056 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1057
1058         * docs/manual/appendix-porting.xml:
1059           Mention removal of libgstgconf-0.9.la and existence of gconf
1060           elements.
1061
1062 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1063
1064         * docs/pwg/advanced-clock.xml:
1065         * docs/pwg/appendix-porting.xml:
1066         * docs/pwg/intro-preface.xml:
1067         * docs/pwg/other-base.xml:
1068         * docs/pwg/other-manager.xml:
1069         * docs/pwg/other-nton.xml:
1070         * docs/pwg/other-ntoone.xml:
1071         * docs/pwg/other-oneton.xml:
1072         * docs/pwg/pwg.xml:
1073           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1074           demuxer), remove n-to-n (was never written), fix some code examples
1075           and links and update the porting section to include all this.
1076
1077 2005-07-19  Wim Taymans  <wim@fluendo.com>
1078
1079         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1080         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1081         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1082         (gst_queue_src_activate_push), (gst_queue_change_state),
1083         (gst_queue_get_property):
1084         * gst/gstqueue.h:
1085         Propagate GstFlowReturn more intelligently upstream and output
1086         an ERROR/EOS when streaming stopped due to fatal error.
1087
1088 2005-07-19  Wim Taymans  <wim@fluendo.com>
1089
1090         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1091         Don't block forever for the state change to complete, the
1092         pipeline already did with a sensible timeout.
1093
1094 2005-07-19  Wim Taymans  <wim@fluendo.com>
1095
1096         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1097         Make sure we never call the create function is we
1098         got deactivated.
1099
1100 2005-07-19  Andy Wingo  <wingo@pobox.com>
1101
1102         * gst/parse/parse.l: Attempt to solve bug #172815.
1103
1104 2005-07-19  Wim Taymans  <wim@fluendo.com>
1105
1106         * docs/design/part-clocks.txt:
1107         * docs/design/part-events.txt:
1108         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1109         Small docs updates.
1110         Only update the seeking values when we are not
1111         busy streaming.
1112
1113 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1114
1115         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1116           Oops, ignore the result of gst_pad_push_event here.
1117
1118 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1119
1120         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1121         (gst_base_src_activate_push):
1122           Send discont event from the loop function, as pads
1123           aren't activated yet in the activate_push handler.
1124
1125         * gst/gstbin.c: (bin_bus_handler):
1126           Don't leak element name.
1127
1128 2005-07-18  Andy Wingo  <wingo@pobox.com>
1129
1130         * configure.ac: Use AS_LIBTOOL_TAGS.
1131
1132 2005-07-18  Wim Taymans  <wim@fluendo.com>
1133
1134         * docs/gst/gstreamer.types:
1135         Remove deleted types.
1136
1137 2005-07-18  Wim Taymans  <wim@fluendo.com>
1138
1139         * check/elements/gstfakesrc.c: (GST_START_TEST):
1140         * configure.ac:
1141         * gst/Makefile.am:
1142         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1143         (init_popt_callback):
1144         * gst/gst.h:
1145         * gst/gst_private.h:
1146         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1147         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1148         * gst/gstbin.h:
1149         * gst/gstbus.h:
1150         * gst/gstconfig.h.in:
1151         * gst/gstelement.c: (gst_element_class_init),
1152         (gst_element_set_base_time), (gst_element_get_base_time),
1153         (iterator_fold_with_resync), (gst_element_change_state),
1154         (gst_element_dispose), (gst_element_get_bus):
1155         * gst/gstelement.h:
1156         * gst/gstelementfactory.h:
1157         * gst/gsterror.c: (_gst_core_errors_init):
1158         * gst/gsterror.h:
1159         * gst/gstevent.h:
1160         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1161         * gst/gstindex.c:
1162         * gst/gstinfo.c: (_gst_debug_init):
1163         * gst/gstmessage.c: (_gst_message_copy):
1164         * gst/gstmessage.h:
1165         * gst/gstminiobject.h:
1166         * gst/gstobject.c:
1167         * gst/gstobject.h:
1168         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1169         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1170         * gst/gstpad.h:
1171         * gst/gstparse.h:
1172         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1173         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1174         (gst_pipeline_get_last_stream_time):
1175         * gst/gstpipeline.h:
1176         * gst/gstpluginfeature.h:
1177         * gst/gstquery.h:
1178         * gst/gstscheduler.c:
1179         * gst/gstscheduler.h:
1180         * gst/gststructure.h:
1181         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1182         (gst_task_finalize), (gst_task_func), (gst_task_create),
1183         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1184         (gst_task_stop), (gst_task_pause):
1185         * gst/gsttask.h:
1186         * gst/gsttypefind.h:
1187         * gst/gsttypes.h:
1188         * gst/registries/gstlibxmlregistry.c: (load_feature),
1189         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1190         * gst/registries/gstxmlregistry.c:
1191         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1192         * gst/schedulers/threadscheduler.c:
1193         * libs/gst/control/dparammanager.h:
1194         * tools/gst-inspect.c: (print_element_list),
1195         (print_plugin_features), (print_element_features):
1196         * tools/gst-xmlinspect.c: (print_element_list),
1197         (print_plugin_info), (main):
1198         Removed plugable schedulers.
1199         Removed Scheduler/Manager from elements.
1200         Removed gsttypes.h, rearranged includes.
1201         Removed dependency pad<->element, element<>pipeline, and
1202         various others,  fix includes.
1203         implement gst_pad_get_parent() with gst_object_get_parent()
1204         Make GstTask sefcontained.
1205         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1206         timeout.
1207         Fix endless loop in iterator_fold_with_resync.
1208
1209
1210 2005-07-18  Wim Taymans  <wim@fluendo.com>
1211
1212         * gst/Makefile.am:
1213         * gst/gstarch.h:
1214         Remove old file.
1215
1216 2005-07-18  Wim Taymans  <wim@fluendo.com>
1217
1218         * gst/Makefile.am:
1219         No more cothreads.h
1220
1221 2005-07-18  Wim Taymans  <wim@fluendo.com>
1222
1223         * gst/cothreads.c:
1224         * gst/cothreads.h:
1225         Let's remove these.
1226
1227 2005-07-18  Wim Taymans  <wim@fluendo.com>
1228
1229         * docs/design/part-dynamic.txt:
1230         * docs/design/part-events.txt:
1231         * docs/design/part-seeking.txt:
1232         Some more docs in the works.
1233
1234         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1235         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1236         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1237         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1238         (gst_base_transform_handle_buffer),
1239         (gst_base_transform_sink_activate_push),
1240         (gst_base_transform_src_activate_pull),
1241         (gst_base_transform_set_passthrough),
1242         (gst_base_transform_is_passthrough):
1243         Refcounting fixes.
1244
1245         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1246         Cleanups.
1247
1248         * gst/gstevent.c: (gst_event_finalize):
1249         Set SRC to NULL.
1250
1251         * gst/gstutils.c: (gst_element_unlink),
1252         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1253         (gst_pad_proxy_setcaps):
1254         * gst/gstutils.h:
1255         Add _get_parent_element() to get a pads parent as an element.
1256
1257 2005-07-18  Wim Taymans  <wim@fluendo.com>
1258
1259         * check/gst/gstbin.c: (GST_START_TEST):
1260         Remove bogus test.
1261
1262 2005-07-18  Wim Taymans  <wim@fluendo.com>
1263
1264         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1265         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1266         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1267         (gst_base_sink_event), (gst_base_sink_do_sync),
1268         (gst_base_sink_chain), (gst_base_sink_loop),
1269         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1270         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1271         Refcounting fixes.
1272         Fix logic for returning ASYNC when not prerolled.
1273
1274 2005-07-18  Wim Taymans  <wim@fluendo.com>
1275
1276         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1277         Fix nasty refcount bug.
1278
1279 2005-07-16 Philippe Khalaf <burger@speedy.org>
1280         * gst/elements/gstfdsrc.c:
1281         * gst/elements/gstfdsrc.h:
1282         * gst/elements/gstelements.c:
1283         * gst/elements/Makefile.am:
1284         Ported fdsrc to 0.9.
1285
1286 2005-07-16  Wim Taymans  <wim@fluendo.com>
1287
1288         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1289         (gst_base_sink_do_sync):
1290         Fix compile error.
1291
1292 2005-07-16  Wim Taymans  <wim@fluendo.com>
1293
1294         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1295         (gst_base_sink_event), (gst_base_sink_get_times),
1296         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1297         * gst/base/gstbasesink.h:
1298         Store and use discont values when syncing buffers as described
1299         in design docs.
1300         
1301         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1302         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1303         (gst_base_src_activate_push):
1304         Push discont event when starting.
1305
1306         * gst/elements/gstidentity.c: (gst_identity_transform):
1307         Small cleanups.
1308
1309         * gst/gstbin.c: (gst_bin_change_state):
1310         Small cleanups in base_time  distribution.
1311
1312         * gst/gstelement.c: (gst_element_set_base_time),
1313         (gst_element_get_base_time), (gst_element_change_state):
1314         * gst/gstelement.h:
1315         Added methods for the base_time of the element.
1316         Some MT fixes.
1317
1318         * gst/gstpipeline.c: (gst_pipeline_send_event),
1319         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1320         (gst_pipeline_get_last_stream_time):
1321         * gst/gstpipeline.h:
1322         MT fixes.
1323         Handle seeking as described in design doc, remove stream_time
1324         hack.
1325         Cleanups clock and stream_time selection code. Added accessors
1326         for the stream_time.
1327         
1328
1329 2005-07-16  Andy Wingo  <wingo@pobox.com>
1330
1331         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1332         (#305291).
1333
1334 2005-07-16  Wim Taymans  <wim@fluendo.com>
1335
1336         * check/gst/gstbin.c: (GST_START_TEST):
1337         Make elements silent as the deep_notify refs the
1338         parent, which might make the test fail.
1339
1340         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1341         Don't hold the lock for too long.
1342
1343 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1344
1345         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1346           Don't unref the caps we passed to gst_caps_make_writable() after
1347           passing them. gst_caps_make_writable() will do that for us.
1348
1349 2005-07-15  Andy Wingo  <wingo@pobox.com>
1350
1351         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1352         (#157311).
1353
1354         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1355         own marshalling function for the handoff signal. Properly type the
1356         buffer as a buffer. Fixes some warnings. Should do a more general
1357         solution.
1358         (gst_identity_class_init): Plug into the right marshaller.
1359
1360 2005-07-15  Wim Taymans  <wim@fluendo.com>
1361
1362         * docs/design/part-TODO.txt:
1363         * docs/design/part-clocks.txt:
1364         * docs/design/part-element-sink.txt:
1365         * docs/design/part-events.txt:
1366         * docs/design/part-gstpipeline.txt:
1367         Updated docs, mostly DISCONT related.
1368
1369 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1370
1371         * docs/pwg/building-pads.xml:
1372           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1373
1374 2005-07-15  Andy Wingo  <wingo@pobox.com>
1375
1376         * tools/gst-typefind.c: Update, add copyright block.
1377
1378         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1379         Normalize and truncate caps before fixation.
1380
1381         * gst/gstcaps.h:
1382         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1383         discards all but the first structure from its argument.
1384
1385 2005-07-15  Wim Taymans  <wim@fluendo.com>
1386
1387         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1388         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1389         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1390         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1391         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1392         (gst_base_transform_chain), (gst_base_transform_change_state),
1393         (gst_base_transform_set_passthrough),
1394         (gst_base_transform_is_passthrough):
1395         * gst/base/gstbasetransform.h:
1396         Make passthrough work using the bufferpools.
1397         Changed API a bit, subclasses have to write into a buffer
1398         provided by the base class.
1399         More debug info in nego functions.
1400         
1401         * gst/elements/gstidentity.c: (gst_identity_init),
1402         (gst_identity_transform):
1403         Port to new base class.
1404
1405 2005-07-15  Wim Taymans  <wim@fluendo.com>
1406
1407         * gst/gstmessage.c: (gst_message_new_state_changed):
1408         * tools/gst-launch.c: (event_loop), (main):
1409         Totally dump messages in -launch with the -m option.
1410         Fix message name for State messages,
1411
1412 2005-07-14  Wim Taymans  <wim@fluendo.com>
1413
1414         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1415         Post error messages on errors.
1416
1417 2005-07-14  Wim Taymans  <wim@fluendo.com>
1418
1419         * gst/gstcaps.c: (gst_caps_do_simplify):
1420         Remove debug info.
1421
1422         * gst/gsterror.h:
1423         Define error for stream stopped.
1424
1425         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1426         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1427         Do proper return values.
1428
1429         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1430         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1431         (gst_pad_get_range):
1432         Better return values.
1433
1434         * gst/gstpad.h:
1435         Reorganise return values, add macro to check for fatal errors.
1436
1437         * gst/gstqueue.c: (gst_queue_chain):
1438         Return proper GstFlowReturn values,
1439
1440 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1441
1442         * docs/gst/gstreamer-sections.txt:
1443         * docs/gst/gstreamer.types:
1444         * docs/gst/tmpl/gst.sgml:
1445         * docs/gst/tmpl/gstbasesink.sgml:
1446         * docs/gst/tmpl/gstbasesrc.sgml:
1447         * docs/gst/tmpl/gstbasetransform.sgml:
1448         * docs/gst/tmpl/gstbin.sgml:
1449         * docs/gst/tmpl/gstbuffer.sgml:
1450         * docs/gst/tmpl/gstcaps.sgml:
1451         * docs/gst/tmpl/gstclock.sgml:
1452         * docs/gst/tmpl/gstcompat.sgml:
1453         * docs/gst/tmpl/gstconfig.sgml:
1454         * docs/gst/tmpl/gstelement.sgml:
1455         * docs/gst/tmpl/gstelementdetails.sgml:
1456         * docs/gst/tmpl/gstelementfactory.sgml:
1457         * docs/gst/tmpl/gstenumtypes.sgml:
1458         * docs/gst/tmpl/gsterror.sgml:
1459         * docs/gst/tmpl/gstevent.sgml:
1460         * docs/gst/tmpl/gstfakesink.sgml:
1461         * docs/gst/tmpl/gstfakesrc.sgml:
1462         * docs/gst/tmpl/gstfilesink.sgml:
1463         * docs/gst/tmpl/gstfilesrc.sgml:
1464         * docs/gst/tmpl/gstfilter.sgml:
1465         * docs/gst/tmpl/gstformat.sgml:
1466         * docs/gst/tmpl/gstghostpad.sgml:
1467         * docs/gst/tmpl/gstimplementsinterface.sgml:
1468         * docs/gst/tmpl/gstindex.sgml:
1469         * docs/gst/tmpl/gstindexfactory.sgml:
1470         * docs/gst/tmpl/gstinfo.sgml:
1471         * docs/gst/tmpl/gstiterator.sgml:
1472         * docs/gst/tmpl/gstmacros.sgml:
1473         * docs/gst/tmpl/gstmemchunk.sgml:
1474         * docs/gst/tmpl/gstminiobject.sgml:
1475         * docs/gst/tmpl/gstobject.sgml:
1476         * docs/gst/tmpl/gstpad.sgml:
1477         * docs/gst/tmpl/gstpadtemplate.sgml:
1478         * docs/gst/tmpl/gstparse.sgml:
1479         * docs/gst/tmpl/gstpipeline.sgml:
1480         * docs/gst/tmpl/gstplugin.sgml:
1481         * docs/gst/tmpl/gstpluginfeature.sgml:
1482         * docs/gst/tmpl/gstquery.sgml:
1483         * docs/gst/tmpl/gstqueue.sgml:
1484         * docs/gst/tmpl/gstregistry.sgml:
1485         * docs/gst/tmpl/gstregistrypool.sgml:
1486         * docs/gst/tmpl/gstscheduler.sgml:
1487         * docs/gst/tmpl/gstschedulerfactory.sgml:
1488         * docs/gst/tmpl/gststructure.sgml:
1489         * docs/gst/tmpl/gstsystemclock.sgml:
1490         * docs/gst/tmpl/gsttaglist.sgml:
1491         * docs/gst/tmpl/gsttagsetter.sgml:
1492         * docs/gst/tmpl/gsttrace.sgml:
1493         * docs/gst/tmpl/gsttrashstack.sgml:
1494         * docs/gst/tmpl/gsttypefind.sgml:
1495         * docs/gst/tmpl/gsttypefindfactory.sgml:
1496         * docs/gst/tmpl/gsttypes.sgml:
1497         * docs/gst/tmpl/gsturihandler.sgml:
1498         * docs/gst/tmpl/gsturitype.sgml:
1499         * docs/gst/tmpl/gstutils.sgml:
1500         * docs/gst/tmpl/gstvalue.sgml:
1501         * docs/gst/tmpl/gstversion.sgml:
1502         * docs/gst/tmpl/gstxml.sgml:
1503         * docs/libs/tmpl/gstcontrol.sgml:
1504         * docs/libs/tmpl/gstdataprotocol.sgml:
1505         * docs/libs/tmpl/gstdparam.sgml:
1506         * docs/libs/tmpl/gstdplinint.sgml:
1507         * docs/libs/tmpl/gstdpman.sgml:
1508         * docs/libs/tmpl/gstdpsmooth.sgml:
1509         * docs/libs/tmpl/gstgetbits.sgml:
1510         * docs/libs/tmpl/gstunitconvert.sgml:
1511         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1512         (gst_push_src_base_init), (gst_push_src_class_init),
1513         (gst_push_src_init), (gst_push_src_create):
1514         * gst/base/gstpushsrc.h:
1515         * gst/elements/gstelements.c:
1516         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1517         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1518         (gst_fake_sink_init), (gst_fake_sink_set_property),
1519         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1520         (gst_fake_sink_event), (gst_fake_sink_preroll),
1521         (gst_fake_sink_render), (gst_fake_sink_change_state):
1522         * gst/elements/gstfakesink.h:
1523         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1524         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1525         (gst_fake_src_base_init), (gst_fake_src_class_init),
1526         (gst_fake_src_init), (gst_fake_src_event_handler),
1527         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1528         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1529         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1530         (gst_fake_src_create_buffer), (gst_fake_src_create),
1531         (gst_fake_src_start), (gst_fake_src_stop):
1532         * gst/elements/gstfakesrc.h:
1533         * gst/elements/gstfilesink.c: (_do_init),
1534         (gst_file_sink_base_init), (gst_file_sink_class_init),
1535         (gst_file_sink_init), (gst_file_sink_dispose),
1536         (gst_file_sink_set_location), (gst_file_sink_set_property),
1537         (gst_file_sink_get_property), (gst_file_sink_open_file),
1538         (gst_file_sink_close_file), (gst_file_sink_query),
1539         (gst_file_sink_event), (gst_file_sink_render),
1540         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1541         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1542         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1543         * gst/elements/gstfilesink.h:
1544         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1545         (gst_file_src_class_init), (gst_file_src_init),
1546         (gst_file_src_finalize), (gst_file_src_set_location),
1547         (gst_file_src_set_property), (gst_file_src_get_property),
1548         (gst_file_src_map_region), (gst_file_src_map_small_region),
1549         (gst_file_src_create_mmap), (gst_file_src_create_read),
1550         (gst_file_src_create), (gst_file_src_is_seekable),
1551         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1552         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1553         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1554         (gst_file_src_uri_handler_init):
1555         * gst/elements/gstfilesrc.h:
1556           more autistic cleanliness in functions/names/defines
1557
1558 2005-07-13  Andy Wingo  <wingo@pobox.com>
1559
1560         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1561         source couldn't negotiate.
1562
1563         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1564         connections again.
1565
1566         * gst/gstutils.h:
1567         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1568         function. I am channeling Hades. Put your boots on suckers!!!
1569
1570 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1571
1572         * testsuite/caps/Makefile.am:
1573         * testsuite/caps/value_compare.c:
1574         * testsuite/caps/value_intersect.c:
1575         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1576           move two testsuite apps over to the check dir
1577
1578 2005-07-12  Wim Taymans  <wim@fluendo.com>
1579
1580         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1581         Added more debug info in the negotiate process.
1582
1583         * gst/gstmessage.h:
1584         Prepare for segment playback.
1585
1586         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1587         Better debugging.
1588
1589         * gst/gstutils.c:
1590         Some more docs.
1591
1592         * tools/gst-launch.c: (main):
1593         NULL pipeline on errors.
1594
1595 2005-07-12  Andy Wingo  <wingo@pobox.com>
1596
1597         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1598         not it comes from a malloc region. Make sure our copy gets freed.
1599
1600 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1601
1602         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1603         * check/gst/gstmessage.c: (GST_START_TEST):
1604         * check/gst/gststructure.c: (GST_START_TEST),
1605         (gst_structure_suite), (main):
1606           more testing
1607         * gst/gstelement.c: (gst_element_message_full):
1608           clean up GError and debug string now that they get copied
1609         * gst/gstmessage.c: (gst_message_new_error),
1610         (gst_message_new_warning), (gst_message_parse_error),
1611         (gst_message_parse_warning):
1612           use GST_TYPE_G_ERROR for structure_new, and take copies of
1613           arguments, so that we don't mess up refcounting
1614
1615 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1616
1617         * check/Makefile.am:
1618           add per-test valgrind targets
1619         * check/gst-libs/gdp.c: (GST_START_TEST),
1620         (gst_data_protocol_suite), (main):
1621           clean up
1622
1623 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1624
1625         * check/Makefile.am:
1626           instate more valgrindable tests
1627         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1628         (GST_START_TEST), (fakesrc_suite):
1629         * check/gst/gstpad.c: (GST_START_TEST):
1630         * check/gst/gststructure.c: (GST_START_TEST):
1631           fix test leaks
1632         * docs/gst/tmpl/gstminiobject.sgml:
1633         * gst/gstpad.c: (gst_pad_finalize):
1634           fix the static mutex leak
1635
1636 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1637
1638         * check/Makefile.am:
1639           add two more tests for valgrinding
1640         * check/gst/gstvalue.c: (GST_START_TEST):
1641           test refcount of deserialized buffer, found a leak
1642         * docs/gst/gstreamer-docs.sgml:
1643         * docs/gst/gstreamer-sections.txt:
1644         * docs/gst/gstreamer.types:
1645         * docs/gst/tmpl/gstminiobject.sgml:
1646           add miniobject to docs
1647         * gst/gstminiobject.c:
1648           add some docs
1649         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1650         (gst_string_unwrap):
1651           fix a hard-to-find invalid write for one of the tests
1652           fix a leak for deserialized buffers
1653
1654 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1655
1656         * docs/pwg/advanced-events.xml:
1657         * docs/pwg/advanced-request.xml:
1658         * docs/pwg/advanced-scheduling.xml:
1659         * docs/pwg/appendix-porting.xml:
1660         * docs/pwg/building-boiler.xml:
1661         * docs/pwg/intro-preface.xml:
1662         * docs/pwg/other-ntoone.xml:
1663           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1664           of example code and explanation for pad activation, loop() and
1665           getrange() functions and a bit more. Remove old comments pointing
1666           to loop-functions.
1667         * examples/pwg/Makefile.am:
1668           Add loop/getrange examples.
1669
1670 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1671
1672         * configure.ac:
1673           check for valgrind binary + some fixes
1674         * check/gst.supp:
1675           valgrind suppressions for the tests
1676         * check/Makefile.am:
1677           add a valgrind: target that valgrinds the unit tests
1678         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1679         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1680         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1681         * check/gst/gstghostpad.c:
1682           added some cleanup
1683         * check/gst/gstdata.c:
1684           removed
1685         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1686         (thread_unref), (gst_mini_object_suite), (main):
1687           added
1688         * gst/gst.c: (gst_deinit):
1689         * gst/gst.h:
1690           add a method to clean up.
1691         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1692         (gst_system_clock_obtain):
1693           allow for disposing the system clock.
1694         * tools/gst-launch.c: (main):
1695           deinit
1696
1697 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1698
1699         * docs/gst/tmpl/gstbasesrc.sgml:
1700         * docs/gst/tmpl/gstfakesrc.sgml:
1701         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1702         (gst_base_src_init), (gst_base_src_set_property),
1703         (gst_base_src_get_property), (gst_base_src_get_range),
1704         (gst_base_src_start):
1705         * gst/base/gstbasesrc.h:
1706           add num-buffers property
1707         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1708         (gst_fakesrc_init), (gst_fakesrc_set_property),
1709         (gst_fakesrc_get_property), (gst_fakesrc_create),
1710         (gst_fakesrc_start):
1711           remove num-buffers property
1712
1713 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1714
1715         * docs/gst/gstreamer-sections.txt:
1716         * docs/gst/tmpl/gstbasesink.sgml:
1717         * docs/gst/tmpl/gstbasesrc.sgml:
1718         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1719         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1720         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1721         (gst_base_sink_set_property), (gst_base_sink_get_property),
1722         (gst_base_sink_handle_object), (gst_base_sink_event),
1723         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1724         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1725         (gst_base_sink_loop), (gst_base_sink_deactivate),
1726         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1727         (gst_base_sink_change_state):
1728         * gst/base/gstbasesink.h:
1729         * gst/base/gstbasesrc.h:
1730         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1731         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1732         (gst_filesink_init):
1733           more macro splitting
1734
1735 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1736
1737         * gst/gstelement.c: (gst_element_get_bus):
1738           add debug
1739         * tools/gst-launch.c: (check_intr), (event_loop):
1740           fix bus leaks
1741
1742 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1743
1744         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1745           fix a caps leak
1746
1747 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1748
1749         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1750         (gst_base_src_finalize):
1751           add finalize method and clean up properly
1752         * gst/gstpipeline.c: (gst_pipeline_dispose):
1753           add debug
1754
1755 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1756
1757         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1758         (gst_bin_suite):
1759           add more things to check
1760         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1761         * gst/gstelement.c:
1762           more debug
1763
1764 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1765
1766         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1767         (GST_START_TEST), (fakesrc_suite):
1768         * check/gst-libs/gdp.c: (GST_START_TEST):
1769         * check/gst/gst.c: (GST_START_TEST):
1770         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1771         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1772         * check/gst/gstbus.c: (GST_START_TEST):
1773         * check/gst/gstcaps.c: (GST_START_TEST):
1774         * check/gst/gstdata.c: (GST_START_TEST):
1775         * check/gst/gstelement.c: (GST_START_TEST):
1776         * check/gst/gstghostpad.c: (GST_START_TEST):
1777         * check/gst/gstiterator.c: (GST_START_TEST):
1778         * check/gst/gstmessage.c: (GST_START_TEST):
1779         * check/gst/gstobject.c: (GST_START_TEST):
1780         * check/gst/gstpad.c: (GST_START_TEST):
1781         * check/gst/gststructure.c: (GST_START_TEST):
1782         * check/gst/gstsystemclock.c: (GST_START_TEST),
1783         (gst_systemclock_suite):
1784         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1785         * check/gst/gstvalue.c: (GST_START_TEST):
1786         * check/pipelines/cleanup.c: (GST_START_TEST):
1787         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1788         * check/states/sinks.c: (GST_START_TEST):
1789         * check/gstcheck.c: (gst_check_init):
1790         * check/gstcheck.h:
1791           add debugging category
1792           use GST_START_TEST now, so we add a debug line
1793
1794 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1795
1796         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1797           add test for state change message on a bin
1798         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1799           add another test
1800         * gst/gstbin.c: (gst_bin_init):
1801         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1802         * gst/gstelement.c: (gst_element_post_message),
1803         (gst_element_set_state):
1804         * gst/gstelementfactory.c: (gst_element_factory_create):
1805         * gst/gstmessage.c: (gst_message_new):
1806         * gst/gstscheduler.c:
1807           various debugging additions and cleanups
1808
1809 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1810
1811         * check/Makefile.am:
1812         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1813         (main):
1814           adding tests for elements
1815         * gst/gstelement.c: (gst_element_dispose):
1816
1817 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1818
1819         * gst/registries/gstlibxmlregistry.c: (load_feature):
1820           plug more leaks.  A simple gst_init() now is leakfree, yay.
1821
1822 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1823
1824         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1825         (gst_xml_registry_load):
1826           plug another memleak
1827
1828 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1829
1830         * configure.ac:
1831           use GST_SET_ERROR_CFLAGS
1832         * docs/faq/cvs.xml:
1833           change to ERROR_CFLAGS
1834
1835 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1836
1837         * configure.ac:
1838           make GST_ERROR_CFLAGS overridable and re-enable Werror
1839         * docs/faq/cvs.xml:
1840           add a note about error CFLAGS
1841         * docs/gst/tmpl/gstfakesrc.sgml:
1842         * gst/elements/gstfakesrc.c:
1843           comment out some unused code
1844         * gst/gst.c: (split_and_iterate):
1845         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1846         (load_feature):
1847           plug some memleaks
1848
1849 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1850
1851         * common/Makefile.am:
1852         * common/gtk-doc.mak:
1853         * docs/gst/Makefile.am:
1854           factor out gtk-doc.mak
1855
1856 2005-07-07  Wim Taymans  <wim@fluendo.com>
1857
1858         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1859         (gst_thread_scheduler_dispose):
1860         Unlock the STREAM_LOCK completely.
1861
1862 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1863
1864         * check/Makefile.am:
1865         * check/elements/.cvsignore:
1866         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1867         (START_TEST), (fakesrc_suite), (main):
1868         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1869         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1870         (gst_fakesrc_create), (gst_fakesrc_start):
1871         * gst/elements/gstfakesrc.h:
1872           adding a first element test
1873
1874 2005-07-07  Andy Wingo  <wingo@pobox.com>
1875
1876         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1877         debug message.
1878
1879 2005-07-07  Wim Taymans  <wim@fluendo.com>
1880
1881         * gst/gstquery.c:
1882         * gst/gstquery.h:
1883         Remove old types
1884
1885 2005-07-07  Wim Taymans  <wim@fluendo.com>
1886
1887         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1888         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1889         Allow subclasses to implement their own negotiation.
1890
1891 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1892
1893         * docs/design/part-gstbin.txt:
1894         * docs/design/part-gstpipeline.txt:
1895           Update design notes to reflect the movement of
1896           responsibility for bus handling from GstPipeline to
1897           GstBin
1898
1899 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1900
1901         * configure.ac:
1902           Remove unnecessary queue2/3/4 examples.
1903
1904 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1905
1906         * examples/Makefile.am:
1907         * examples/helloworld/helloworld.c: (event_loop), (main):
1908         * examples/queue/queue.c: (event_loop), (main):
1909         * examples/queue2/queue2.c: (main):
1910           Update a couple of the examples to work again.
1911
1912         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1913         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1914          Spelling corrections and extra debug.
1915         
1916         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1917         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1918         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1919         * gst/gstbin.h:
1920         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1921         (gst_pipeline_change_state):
1922         * gst/gstpipeline.h:
1923           Move the bus handler for children to the GstBin, and create a
1924           separate bus for receiving messages from children to the one the
1925           bus sends 'upwards' on.
1926
1927 2005-07-06  Wim Taymans  <wim@fluendo.com>
1928
1929         * gst/base/README:
1930         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1931         (gst_base_sink_handle_object), (gst_base_sink_loop),
1932         (gst_base_sink_change_state):
1933         * gst/base/gstbasesink.h:
1934         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1935         (gst_base_src_init), (gst_base_src_setcaps),
1936         (gst_base_src_getcaps), (gst_base_src_loop),
1937         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1938         (gst_base_src_start), (gst_base_src_change_state):
1939         * gst/base/gstbasesrc.h:
1940         Make basesrc negotiate.
1941         Handle the case where preroll fails in basesink.
1942         Update README.
1943
1944 2005-07-06  Wim Taymans  <wim@fluendo.com>
1945
1946         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1947         Implement the fixate function.
1948         Clean up acceptcaps.
1949
1950 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1951
1952         * docs/pwg/building-filterfactory.xml:
1953         * docs/pwg/pwg.xml:
1954           Remove never-written filter-factory chapter; I'll add the various
1955           base classes to part 4 ("other element types") later on.
1956
1957 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1958
1959         * docs/pwg/advanced-negotiation.xml:
1960         * docs/pwg/building-boiler.xml:
1961         * docs/pwg/building-pads.xml:
1962         * docs/pwg/pwg.xml:
1963         * examples/pwg/Makefile.am:
1964           Add a chapter on caps negotiation, simplify the original code
1965           samples a bit w.r.t. caps negotiation, add link to the advanced
1966           section. Add a bunch of examples showing different use cases of
1967           different types of caps negotiation. Upstream renegotiation isn't
1968           fully documented yet since nobody knows how that works.
1969
1970 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1971
1972         * check/gst/gstpad.c:
1973         * check/gstcheck.c:
1974         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1975           if pad has no parent, return NULL as list of internal links
1976
1977 2005-07-05  Andy Wingo  <wingo@pobox.com>
1978
1979         * gst/elements/gstfilesrc.c:
1980         * gst/elements/gstfakesrc.c: 
1981         * gst/base/gstpushsrc.c:
1982         * gst/base/gstbasesrc.h: 
1983         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1984         
1985 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1986
1987         * Makefile.am:
1988           better report generation target (lcov needs a patch)
1989
1990 2005-07-05  Andy Wingo  <wingo@pobox.com>
1991
1992         * gst/elements, testsuite: Null if we got it...
1993
1994 2005-07-05  Wim Taymans  <wim@fluendo.com>
1995
1996         * configure.ac:
1997         * libs/gst/dataprotocol/Makefile.am:
1998         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1999         * libs/gst/dataprotocol/dataprotocol.h:
2000         * pkgconfig/Makefile.am:
2001         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2002         * pkgconfig/gstreamer-dataprotocol.pc.in:
2003         Ported dataprotol to 0.9. 
2004         Added pkgconfig files.
2005
2006 2005-07-05  Andy Wingo  <wingo@pobox.com>
2007
2008         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2009         Default to returning TRUE for the case when tranform_caps returns
2010         a fixed caps, like for identity or volume.
2011
2012         * check/gst/gstbus.c (pound_bus_with_messages): 
2013         * check/gst/gstmessage.c (START_TEST): 
2014         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2015         message API change.
2016
2017         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2018         logic weaks here: always run transform_caps, trying passthrough
2019         operation only if the original caps intersects with the transform.
2020
2021         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2022         source and sink caps.
2023
2024         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2025         Intersect the peer caps with the pad template before going into
2026         transform_caps.
2027         (gst_base_transform_transform_caps): More debugging.
2028
2029         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2030         src argument.
2031
2032 2005-07-04  Edward Hervey  <edward@fluendo.com>
2033
2034         * gst/gstutils.c:
2035         * gst/gstutils.h:
2036         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2037         in bindings.
2038
2039 2005-07-04  Andy Wingo  <wingo@pobox.com>
2040
2041         * check/gst/gstpad.c: Only set explicit caps on pads.
2042
2043 2005-07-01  Andy Wingo  <wingo@pobox.com>
2044
2045         * tests/network-clock.scm: Commentary update.
2046
2047         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2048         Didn't really make sense, not implementable with basetransform,
2049         etc.
2050         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2051         attempt at implementing the sync property, needs an unlock method.
2052
2053         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2054         New func, by default returns the same caps (the identity
2055         transformation).
2056         (gst_base_transform_getcaps): Uses transform_caps to return
2057         something sensible.
2058         (gst_base_transform_setcaps): Complicated logic to get caps on
2059         both pads, even if they are different, and to call set_caps once
2060         for every time both pads get their caps set.
2061         (gst_base_transform_handle_buffer): Give the ref to the transform
2062         function. Allows in-place modification of the buffer.
2063
2064         * gst/base/gstbasetransform.h (transform_caps): New class method.
2065         Given caps on one side, what can I do on the other.
2066         (set_caps): Take two caps, one for each side of the element.
2067
2068         * gst/gstpad.h:
2069         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2070         caps in place. This is safe because we can check the mutability of
2071         the caps, and a good idea because fixate functions are just called
2072         as a matter of last resort. (Not actually implemented.)
2073         (gst_pad_set_caps): If the caps we're setting is actually the same
2074         as the existing pad caps, just update the pointer without calling
2075         setcaps. Assert that caps is either NULL or fixed, as per the
2076         docs.
2077
2078         * gst/gstghostpad.c: Update for fixate changes.
2079
2080 2005-07-02  Andy Wingo  <wingo@pobox.com>
2081
2082         * gst/gstcaps.c:
2083         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2084         two refcounts makes it immutable, which is enough. Doc more.
2085
2086 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2087
2088         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2089           Put the mini_object into GValue as a mini_object,
2090           not a gpointer, since that's how we declared
2091           the signal.
2092
2093 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2094
2095         * examples/pwg/Makefile.am:
2096           Fix buildbot again.
2097
2098 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2099
2100         * docs/pwg/building-testapp.xml:
2101           Add extra check.
2102         * examples/pwg/Makefile.am:
2103           Fix buildbot.
2104
2105 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2106
2107         * configure.ac:
2108         * examples/Makefile.am:
2109         * examples/pwg/Makefile.am:
2110         * examples/pwg/extract.pl:
2111           Enable building the PWG examples.
2112         * docs/pwg/advanced-interfaces.xml:
2113           Add URI interface stub.
2114         * docs/pwg/advanced-types.xml:
2115         * docs/pwg/other-autoplugger.xml:
2116         * docs/pwg/appendix-porting.xml:
2117         * docs/pwg/pwg.xml:
2118           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2119         * docs/pwg/building-boiler.xml:
2120         * docs/pwg/building-chainfn.xml:
2121         * docs/pwg/building-pads.xml:
2122         * docs/pwg/building-props.xml:
2123         * docs/pwg/building-state.xml:
2124         * docs/pwg/building-testapp.xml:
2125           Update the building-*.xml parts for 0.9 changes. All examples
2126           code blocks compile in examples/pwg/*.
2127
2128 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2129
2130         * docs/manual/advanced-autoplugging.xml:
2131         * docs/manual/appendix-checklist.xml:
2132         * docs/manual/appendix-integration.xml:
2133         * docs/manual/highlevel-components.xml:
2134           Fix playbin/decodebin examples, update docs a bit, mention bus
2135           instead of signals in various places, mention kmplayer and
2136           kaffeine since they have a working GStreamer backend in the KDE
2137           section.
2138
2139 2005-06-30  Wim Taymans  <wim@fluendo.com>
2140
2141         * CHANGES-0.9:
2142         * docs/design/draft-ghostpads.txt:
2143         * docs/design/draft-push-pull.txt:
2144         * docs/design/draft-query.txt:
2145         * docs/design/part-TODO.txt:
2146         * docs/design/part-query.txt:
2147         Added CHANGES-0.9 doc, updated status of other docs.
2148         
2149         * gst/gstquery.h:
2150         Remove "hmm" macro
2151
2152 2005-06-30  Wim Taymans  <wim@fluendo.com>
2153
2154         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2155         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2156         (gst_base_sink_change_state):
2157         * gst/base/gstbasesink.h:
2158         Some tweaks, only EOS and a buffer complete a preroll.
2159
2160 2005-06-30  Andy Wingo  <wingo@pobox.com>
2161
2162         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2163         activate_push down to the internal pad as well.
2164
2165 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2166
2167         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2168
2169         * gst/gsttaginterface.c:
2170           Some documentation fixes (#307394 and #307397).
2171
2172 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2173
2174         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2175
2176         * gst/gstvalue.c: (gst_value_intersect_list):
2177           Fix memleak (#309125).
2178
2179 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2180
2181         * docs/manual/advanced-dataaccess.xml:
2182           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2183         * docs/manual/basics-pads.xml:
2184           Add reference for filtered caps to above chapter.
2185
2186 2005-06-30  Wim Taymans  <wim@fluendo.com>
2187
2188         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2189         (gst_bin_change_state):
2190         Probes are gone.
2191         Lame attempt at making the state change function a bit
2192         more readable.
2193
2194 2005-06-30  Wim Taymans  <wim@fluendo.com>
2195
2196         * docs/design/part-clocks.txt:
2197         * docs/design/part-element-sink.txt:
2198         * docs/design/part-events.txt:
2199         * docs/design/part-preroll.txt:
2200         * docs/design/part-states.txt:
2201         Some more tweeks and additions to the docs.
2202
2203 2005-06-30  Wim Taymans  <wim@fluendo.com>
2204
2205         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2206         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2207         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2208         (gst_pad_check_pull_range), (gst_pad_get_range),
2209         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2210         * gst/gstpad.h:
2211         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2212         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2213         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2214         (gst_pad_remove_buffer_probe):
2215         Removed atomic operations, use existing LOCK.
2216         Move exception handling out of main code path.
2217
2218 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2219
2220         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2221         (silly_return_true_function), (gst_pad_class_init),
2222         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2223         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2224         (gst_pad_send_event):
2225           Fix accumulator, add default value by using _emitv() instead
2226           of _emit() for signal emission.
2227
2228 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2229
2230         * docs/manual/advanced-dataaccess.xml:
2231         * examples/manual/Makefile.am:
2232           Add probe example.
2233         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2234           Make work (??).
2235
2236 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2237
2238         * gst/elements/gstfilesink.c: (gst_filesink_render):
2239           Simplify code so that we don't have to handle short
2240           writes and return GST_FLOW_ERROR if an error occured.
2241
2242 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2243
2244         * docs/gst/gstreamer-docs.sgml:
2245           Remove probes more.
2246
2247 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2248
2249         * docs/gst/gstreamer-sections.txt:
2250         * docs/gst/tmpl/gstpad.sgml:
2251         * docs/gst/tmpl/gstprobe.sgml:
2252         * gst/Makefile.am:
2253         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2254         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2255         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2256         (gst_pad_push_event), (gst_pad_send_event):
2257         * gst/gstpad.h:
2258         * gst/gstutils.c: (gst_pad_add_data_probe),
2259         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2260         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2261         (gst_pad_remove_buffer_probe):
2262         * gst/gstutils.h:
2263           Remove old probes, add new g-signal-based probes and some utility
2264           functions.
2265
2266 2005-06-29  Edward Hervey  <edward@fluendo.com>
2267
2268         * gst/gstelementfactory.c:
2269         * gst/gstutils.h:
2270         * gst/gstutils.c:
2271         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2272         the definition to the header file.
2273
2274 2005-06-29  Andy Wingo  <wingo@pobox.com>
2275
2276         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2277         plugins from the source directory.
2278
2279 2005-06-29  Wim Taymans  <wim@fluendo.com>
2280
2281         * docs/gst/tmpl/gstbuffer.sgml:
2282         * docs/gst/tmpl/gstclock.sgml:
2283         Some fixings for blantently wrong text.
2284
2285 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2286
2287         * check/Makefile.am:
2288         * gst/gst.c: (add_path_func), (init_pre):
2289         * gst/gstregistry.c: (gst_registry_add_path):
2290           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2291           only scan the GST_PLUGIN_PATH locations, and not add
2292           system locations
2293
2294 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2295
2296         * docs/gst/gstreamer-sections.txt:
2297         * docs/gst/tmpl/gstbasesrc.sgml:
2298         * gst/gstelement.c:
2299         * gst/gstelement.h:
2300         * gst/gstevent.c:
2301         * gst/gstutils.c:
2302           doc fixes
2303
2304 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2305
2306         * docs/manual/advanced-autoplugging.xml:
2307           Fix autoplugging example.
2308
2309 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2310
2311         * docs/manual/advanced-autoplugging.xml:
2312         * docs/manual/mime-world.fig:
2313           Try to get autoplugging working, fix type detection. Fix text
2314           in hello-world image.
2315
2316 2005-06-29  Wim Taymans  <wim@fluendo.com>
2317
2318         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2319         (gst_base_sink_change_state):
2320         Small debug line.
2321
2322         * gst/gstclock.h:
2323         map SIGNAL and BROADCAST to the right function.
2324
2325         * gst/gstobject.h:
2326         Remove redundant braces.
2327
2328         * gst/gstpad.c: (gst_pad_set_caps):
2329         Don't call setcaps function when reseting caps to NULL.
2330
2331         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2332         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2333         (gst_system_clock_id_unschedule):
2334         Use BROADCAST as this is what we do.
2335
2336 2005-06-29  Wim Taymans  <wim@fluendo.com>
2337
2338         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2339         We are actually prerolling before commiting the state
2340         change. 
2341
2342 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2343
2344         * docs/manual/advanced-clocks.xml:
2345         * docs/manual/advanced-interfaces.xml:
2346         * docs/manual/advanced-metadata.xml:
2347         * docs/manual/advanced-position.xml:
2348         * docs/manual/advanced-schedulers.xml:
2349         * docs/manual/advanced-threads.xml:
2350         * docs/manual/appendix-porting.xml:
2351         * docs/manual/basics-bins.xml:
2352         * docs/manual/basics-bus.xml:
2353         * docs/manual/basics-elements.xml:
2354         * docs/manual/basics-helloworld.xml:
2355         * docs/manual/basics-pads.xml:
2356         * docs/manual/highlevel-components.xml:
2357         * docs/manual/manual.xml:
2358         * docs/manual/thread.fig:
2359           Update (until threads/scheduling) Application Development Manual;
2360           remove GstThread, add GstBus, add simple porting checklist, add
2361           documentation for tag writing, clocks, make all examples until this
2362           part compile and run.
2363         * examples/manual/Makefile.am:
2364           Update from changes to Application Development Manual; add bus
2365           example, remove thread example.
2366
2367 2005-06-28  Wim Taymans  <wim@fluendo.com>
2368
2369         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2370         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2371         (gst_bus_source_dispatch):
2372         Add debugging messages.
2373         Make internal methods static.
2374         Handle the case where the bus is flushed in the handler.
2375         
2376         * gst/gstelement.c: (gst_element_get_bus):
2377         Fix refcount in _get_bus();
2378
2379         * gst/gstpipeline.c: (gst_pipeline_change_state),
2380         (gst_pipeline_get_clock_func):
2381         Clock refcounting fixes.
2382         Handle the case where preroll timed out more gracefully.
2383         
2384         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2385         Clean up the internal thread in dispose. This is needed
2386         for subclasses that actually get disposed.
2387         
2388         * gst/schedulers/threadscheduler.c:
2389         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2390         (gst_thread_scheduler_dispose):
2391         Free thread pool in dispose.
2392
2393 2005-06-28  Andy Wingo  <wingo@pobox.com>
2394
2395         * tests/network-clock-utils.scm (debug, print-event): New utils.
2396
2397         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2398         (*packet-loss*): Unified loss probability.
2399         (network-time): Report out-of-band events.
2400
2401         * tests/plot-data: Add support for out-of-band events. Hack it
2402         into this script instead of passing it down the pipe; should fix
2403         this later.
2404
2405 2005-06-28  Wim Taymans  <wim@fluendo.com>
2406
2407         * docs/gst/gstreamer.types:
2408         * docs/gst/tmpl/gstbasesrc.sgml:
2409         * docs/gst/tmpl/gstpad.sgml:
2410         Docs fixes.
2411
2412 2005-06-28  Wim Taymans  <wim@fluendo.com>
2413
2414         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2415         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2416         (gst_proxy_pad_do_fixatecaps):
2417         Correctly proxy the check_pull_range function.
2418
2419 2005-06-28  Andy Wingo  <wingo@pobox.com>
2420
2421         * tests/network-clock.scm: Removed need for slib.
2422         
2423 2005-06-28  Wim Taymans  <wim@fluendo.com>
2424
2425         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2426         (gst_basesink_preroll_queue_flush):
2427         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2428         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2429         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2430         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2431         (gst_proxy_pad_set_property):
2432         * gst/gstpad.c:
2433         * gst/gstpad.h:
2434         * gst/gstqueue.c: (gst_queue_init):
2435         The deprecated pad loop function is removed now.
2436
2437 2005-06-28  Andy Wingo  <wingo@pobox.com>
2438
2439         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2440         New parameters, simulate network packet loss.
2441
2442         * tests/network-clock-utils.scm: Initialize the RNG.
2443
2444 2005-06-28  Wim Taymans  <wim@fluendo.com>
2445
2446         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2447         (gst_basesink_event), (gst_basesink_deactivate):
2448         Flushing the preroll queue always needs to unlock the waiters.
2449
2450 2005-06-28  Edward Hervey  <edward@fluendo.com>
2451
2452         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2453         Wheen a seek was successful on a pipeline, set the stream_time to the
2454         seek offset in order to have a synchronized stream_time.
2455
2456 2005-06-28  Wim Taymans  <wim@fluendo.com>
2457
2458         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2459         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2460         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2461         (gst_proxy_pad_do_fixatecaps):
2462         Call wrapper function instead of just calling the function
2463         pointers. This takes care of any locking and whatmore.
2464
2465 2005-06-28  Wim Taymans  <wim@fluendo.com>
2466
2467         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2468         (gst_pad_pull_range):
2469         * gst/gstpad.h:
2470         CONNECTED -> LINKED.
2471
2472 2005-06-28  Andy Wingo  <wingo@pobox.com>
2473
2474         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2475         source-munging commit!!!
2476
2477         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2478         (gst_object_sink): Take gpointer arguments, not GstObject --
2479         avoids casts. Like GLib.
2480
2481         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2482         activate.
2483
2484 2005-06-27  Andy Wingo  <wingo@pobox.com>
2485
2486         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2487         remaining buffer.
2488
2489         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2490         returns a sorted copy of the trace list.
2491         (gst_alloc_trace_print_live): New API, only prints traces with
2492         live objects. Sort the list.
2493         (gst_alloc_trace_print_all): Sort the list.
2494         (gst_alloc_trace_print): Align columns.
2495
2496         * gst/elements/gstttypefindelement.c:
2497         * gst/elements/gsttee.c:
2498         * gst/base/gstbasesrc.c:
2499         * gst/base/gstbasesink.c:
2500         * gst/base/gstbasetransform.c:
2501         * gst/gstqueue.c: Adapt for pad activation changes.
2502
2503         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2504         sched.
2505         (gst_pipeline_dispose): Drop ref on sched.
2506
2507         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2508         (gst_pad_activate_default): Push mode by default.
2509         (pre_activate_switch, post_activate_switch): New stubs, things to
2510         do before and after switching activation modes on pads.
2511         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2512         the pad's activate function to choose which mode to activate.
2513         Shortcut on deactivation and call the right function directly.
2514         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2515         mode.
2516         (gst_pad_activate_push): New API, same for push mode.
2517         (gst_pad_set_activate_function) 
2518         (gst_pad_set_activatepull_function) 
2519         (gst_pad_set_activatepush_function): Setters for new API.
2520
2521         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2522         Trace all miniobjects.
2523         (gst_mini_object_make_writable): Unref the arg if we copy, like
2524         gst_caps_make_writable.
2525
2526         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2527
2528         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2529         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2530         Adapt for new pad API.
2531
2532         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2533
2534         * gst/gstelement.h:
2535         * gst/gstelement.c (gst_element_iterate_src_pads) 
2536         (gst_element_iterate_sink_pads): New API functions.
2537         
2538         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2539         should fold into gstiterator.c in some form.
2540         (gst_element_pads_activate): Simplified via use of fold and
2541         delegation of decisions to gstpad->activate.
2542
2543         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2544         help in debugging.
2545
2546         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2547         class once in init, like gstmessage. Didn't run into this issue
2548         but it seems correct. Don't initialize a trace, gstminiobject does
2549         that.
2550
2551         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2552         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2553         to the bus.
2554         (assert_live_count): New util function, uses alloc traces to check
2555         cleanup.
2556
2557         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2558         To be modified when unlink drops the internal pad.
2559
2560 2005-06-27  Wim Taymans  <wim@fluendo.com>
2561
2562         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2563         (gst_bin_change_state):
2564         Cleanup the get_state() function a little, make sure it
2565         iterates the same set of elements.
2566         Added stub iterate_state_order().
2567
2568 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2569
2570         * docs/gst/gstreamer-docs.sgml:
2571         * docs/gst/gstreamer-sections.txt:
2572         * docs/gst/gstreamer.types:
2573         * docs/gst/tmpl/gstbasesink.sgml:
2574         * docs/gst/tmpl/gstbasesrc.sgml:
2575         * docs/gst/tmpl/gstbasetransform.sgml:
2576         * docs/gst/tmpl/gstelement.sgml:
2577         * docs/gst/tmpl/gstiterator.sgml:
2578         * gst/base/gstbasesrc.c:
2579         * gst/base/gstbasesrc.h:
2580         * gst/base/gstbasetransform.h:
2581         * gst/gstelement.c:
2582         * gst/gstiterator.h:
2583           adding basetransform and iterator docs
2584
2585 2005-06-27  Andy Wingo  <wingo@pobox.com>
2586
2587         * docs/design/part-activation.txt: Notes on how activation should
2588         work -- not quite implemented yet.
2589
2590 2005-06-25  Wim Taymans  <wim@fluendo.com>
2591
2592         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2593         At least get the chain function correct, needs more
2594         fixing.
2595
2596 2005-06-25  Wim Taymans  <wim@fluendo.com>
2597
2598         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2599         (gst_basesink_handle_object), (gst_basesink_event),
2600         (gst_basesink_do_sync), (gst_basesink_handle_event),
2601         (gst_basesink_change_state):
2602         * gst/gsttask.h:
2603         Right, two problems here: ghostpads don't take locks and
2604         glib _rec_mutex_lock_full() with depth==0 still locks.
2605         Catch illegal locking and g_warn them.
2606
2607 2005-06-25  Wim Taymans  <wim@fluendo.com>
2608
2609         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2610         Have to check for completion now...
2611
2612 2005-06-25  Wim Taymans  <wim@fluendo.com>
2613
2614         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2615         (gst_basesink_handle_object), (gst_basesink_event),
2616         (gst_basesink_do_sync), (gst_basesink_handle_event),
2617         (gst_basesink_change_state):
2618         * gst/gstpad.h:
2619         Unlock STREAM_LOCK whatever the recursion was.
2620
2621 2005-06-25  Wim Taymans  <wim@fluendo.com>
2622
2623         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2624         (gst_basesink_preroll_queue_empty),
2625         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2626         (gst_basesink_event), (gst_basesink_do_sync),
2627         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2628         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2629         (gst_basesink_change_state):
2630         Reworked the base sink, handle event and buffer serialisation
2631         correctly and removed possible deadlock.
2632         Handle EOS correctly.
2633
2634 2005-06-25  Wim Taymans  <wim@fluendo.com>
2635
2636         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2637         (gst_pipeline_change_state):
2638         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2639         Allow elements to post EOS in the state change function.
2640         Fix up -launch, make it exit the poll loop when the
2641         pipeline actually changed state.
2642         Fix up warning parsing in -launch.
2643
2644 2005-06-25  Wim Taymans  <wim@fluendo.com>
2645
2646         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2647         (gst_tee_sink_activate):
2648         Core takes STREAM_LOCK for us now.
2649
2650 2005-06-25  Wim Taymans  <wim@fluendo.com>
2651
2652         * gst/gstelement.c: (gst_element_get_state_func),
2653         (gst_element_set_state):
2654         * gst/gstelement.h:
2655         * gst/gstmessage.c: (gst_message_parse_error),
2656         (gst_message_parse_warning):
2657         Keep track of current target state while performing a state
2658         change so that subclasses can do something interesting.
2659         Fix parsing of warning/error messages when GError is NULL.
2660
2661 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2662
2663         * docs/gst/Makefile.am:
2664         * docs/gst/gstreamer-docs.sgml:
2665         * docs/gst/gstreamer-sections.txt:
2666         * docs/gst/gstreamer.types:
2667         * docs/gst/tmpl/gstbasesink.sgml:
2668         * docs/gst/tmpl/gstbasesrc.sgml:
2669         * docs/gst/tmpl/gstbin.sgml:
2670         * docs/gst/tmpl/gstcompat.sgml:
2671         * docs/gst/tmpl/gstfakesink.sgml:
2672         * docs/gst/tmpl/gstfakesrc.sgml:
2673         * docs/gst/tmpl/gstfilesink.sgml:
2674         * docs/gst/tmpl/gstfilesrc.sgml:
2675         * docs/gst/tmpl/gstindex.sgml:
2676         * docs/manual/appendix-quotes.xml:
2677         * gst/base/gstbasesrc.h:
2678         * gst/elements/gstfakesrc.h:
2679         * gst/gstmessage.h:
2680           start pulling in base classes and elements in our docs
2681
2682 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2683
2684         * docs/gst/Makefile.am:
2685         * docs/libs/Makefile.am:
2686           fixed make distcheck with gtk-doc 1.3
2687
2688 2005-06-23  Wim Taymans  <wim@fluendo.com>
2689
2690         * gst/gstelement.c: (gst_element_get_state_func),
2691         (gst_element_set_state), (gst_element_change_state):
2692         When the state did not change, also report NO_PREROLL
2693         when it matters.
2694
2695 2005-06-23  Wim Taymans  <wim@fluendo.com>
2696
2697         * gst/gstpad.c: (gst_pad_event_default):
2698         * gst/gstqueue.c: (gst_queue_loop):
2699         No unsafe task pausing please.
2700
2701 2005-06-23  Wim Taymans  <wim@fluendo.com>
2702
2703         * gst/schedulers/threadscheduler.c:
2704         (gst_thread_scheduler_task_start),
2705         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2706         Ref the task before pushing it on the threadpool. This
2707         makes sure that we have a ref when the threadfunction is
2708         actually called.
2709
2710 2005-06-23  Andy Wingo  <wingo@pobox.com>
2711
2712         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2713         offset is greater than the file's size.
2714
2715         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2716         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2717         * gst/gstobject.c (gst_object_class_init): Make the class lock
2718         recursive. Wim won't let me drop deep_notify. Decodebin works
2719         again, whoopdy doo.
2720
2721         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2722         internal pad, and hacks accordingly. Doesn't do it on the target
2723         pad because we change its caps. Probably catches all cases of
2724         interest tho.
2725         (gst_ghost_pad_set_property): Connect to notify::caps as
2726         appropritate.
2727
2728         * tests/network-clock.scm (plot-simulation): Pipe data to the
2729         elite python skript.
2730
2731         * tests/network-clock-utils.scm (define-parameter): New macro,
2732         defines a parameter that can be set via the command line.
2733         (set-parameter!, parse-parameter-arguments): Command line args
2734         parser.
2735
2736         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2737         stdin.
2738
2739 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2740
2741         * gst/elements/gsttypefindelement.c:
2742         (gst_type_find_element_handle_event):
2743           Don't restart typefinding on a discont.
2744         * gst/gstelement.c: (gst_element_set_state):
2745           Debug spelling fix.
2746         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2747           Allow changing mode of an active pad.
2748           Debug output fixes.
2749         * gst/registries/gstlibxmlregistry.c: (load_feature):
2750           Don't cast a static pad template to a normal pad template.
2751
2752 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2753
2754         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2755         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2756           remove gst_strtoll completely, since it didn't actually do
2757           anything more than what g_ascii_strtoull already does.
2758           check for range errors when deserializing
2759           do a cast for the unsigned cases; but further fixing needs
2760           a decision on what the interpretation of "(int)" and
2761           deserialization should be for values that fall outside the
2762           type's boundaries (ie, refuse, or interpret as casting)
2763
2764 2005-06-23  Wim Taymans  <wim@fluendo.com>
2765
2766         * check/Makefile.am:
2767         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2768         * docs/design/part-live-source.txt:
2769         * docs/design/part-states.txt:
2770         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2771         (gst_basesrc_set_live), (gst_basesrc_is_live),
2772         (gst_basesrc_get_range), (gst_basesrc_activate),
2773         (gst_basesrc_change_state):
2774         * gst/base/gstbasesrc.h:
2775         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2776         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2777         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2778         * gst/gstelement.c: (gst_element_get_state_func),
2779         (gst_element_set_state):
2780         * gst/gstelement.h:
2781         * gst/gsttypes.h:
2782         * tools/gst-launch.c: (event_loop), (main):
2783         Added support for live sources and other elements that
2784         cannot do preroll.
2785         Updated design docs, added live-source design doc.
2786         Implemented live source functionality in basesrc
2787         Fix error condition in _bin_get_state()
2788         Implement live source handling in -launch.
2789         Added check for live sources.
2790         Fixed case in GstBin where elements were changed state
2791         multiple times.
2792
2793
2794 2005-06-23  Andy Wingo  <wingo@pobox.com>
2795
2796         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2797         borken refcounting.
2798
2799         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2800         gst_caps_replace takes care of this for us.
2801
2802         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2803         gst_pad_set_caps on the target, not just its setcaps() function.
2804
2805         * tests/network-clock.scm: 
2806         * tests/network-clock-utils.scm: A network clock simulator.
2807         Something of an algorithmic testbed before doing something in C.
2808
2809 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2810
2811         * check/Makefile.am:
2812         * check/gst/capslist.h:
2813           copy over from 0.8, and add two with bitmasks specified with
2814           (int) 0xFF...
2815         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2816           add test to parse everything from capslist.h
2817         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2818         (main):
2819           add test for structure deserialization
2820         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2821           add tests for deserialization of strings to int types
2822         * gst/gststructure.c: (gst_structure_nth_field_name):
2823         * gst/gststructure.h:
2824           add a way to get the name of a field referenced by index
2825         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2826           instead of checking if the resulting long long lies between
2827           min and max, we check if the long long would fit into
2828           a number of bytes for the final type.
2829           This fixes cases where a string represents 2^32 - 1, which
2830           when cast to int would be the (valid) -1, but is bigger than
2831           G_MAXINT
2832
2833 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2834
2835         * gst/parse/grammar.y:
2836           add a log line for type deserialization
2837
2838 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2839
2840         * check/gst/gstvalue.c: (START_TEST):
2841         * gst/gstvalue.c: (gst_value_deserialize):
2842           return long long, not int, so gint64 deserialization actually
2843           works.  Is there any flag that makes the compiler check this ?
2844           Fixes #308559
2845
2846 2005-06-22  Wim Taymans  <wim@fluendo.com>
2847
2848         * gst/gstbuffer.h:
2849         Added convenience macros for setting buffers in GValue.
2850
2851 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2852
2853         * check/gst/.cvsignore:
2854         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2855           add a test deserializing int64, and comment part out because
2856           it fails, yay !
2857
2858 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2859
2860         * check/Makefile.am:
2861         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2862         * testsuite/Makefile.am:
2863         * testsuite/caps/Makefile.am:
2864         * testsuite/caps/value_serialize.c:
2865         * testsuite/test_gst_init.c:
2866           move a value_serialize test over
2867
2868 2005-06-20  Wim Taymans  <wim@fluendo.com>
2869
2870         * gst/gstpad.c:
2871         Small doc updates.
2872         
2873         * gst/gstvalue.c: (gst_value_compare_buffer),
2874         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2875         (gst_value_compare_flags), (gst_value_serialize_flags),
2876         (gst_value_deserialize_flags), (_gst_value_initialize):
2877         Fix serialisation of buffers, they are not boxed types anymore
2878
2879 2005-06-20  Wim Taymans  <wim@fluendo.com>
2880
2881         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2882         Testcase to show error in buffer-on-caps serialisation.
2883
2884 2005-06-20  Andy Wingo  <wingo@pobox.com>
2885
2886         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2887         will be adding to later.
2888
2889         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2890         if its socks fill with rocks.
2891         (gst_system_clock_obtain): Set the name on object construction.
2892         Avoid double-checked locking.
2893
2894 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2895
2896         * gst/gsturi.c: (gst_element_make_from_uri):
2897           Fix potential endless loop.
2898
2899 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2900
2901         * check/Makefile.am:
2902           add gsttag
2903         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2904         (main):
2905           move over from testsuite dir and clean up
2906         * configure.ac:
2907         * gst/gsttag.c:
2908         * testsuite/Makefile.am:
2909         * testsuite/tags/.cvsignore:
2910         * testsuite/tags/Makefile.am:
2911         * testsuite/tags/merge.c:
2912           remove testsuite/tags
2913
2914 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2915
2916         * docs/gst/gstreamer-sections.txt:
2917         * docs/gst/tmpl/gstenumtypes.sgml:
2918         * win32/gstenumtypes.c:
2919           clean up documentation build a little
2920
2921 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2922
2923         * check/gstcheck.h:
2924           add macros for checking refcounts on objects and caps
2925         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2926           add some more unit tests
2927         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2928         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2929           fix leaked refcounts (I hope :)) so unittest works
2930         * gst/gstpad.h:
2931           whitespace removal
2932
2933 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2934
2935         * configure.ac: back to HEAD
2936
2937 === release 0.9.1 ===
2938
2939 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2940
2941         * NEWS:
2942         * RELEASE:
2943           updated
2944
2945 2005-06-17  Andy Wingo  <wingo@pobox.com>
2946
2947         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2948         assert; it's always possible that the pad gets deactivated in
2949         between the checks in gstpad.c and the implementation. Rely on
2950         finish_preroll() to return a FLUSHING or similar instead of on the
2951         assert.
2952         
2953         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2954         clock and post an EOS message if we come out of finish_preroll in
2955         the playing state.
2956
2957 2005-06-16  David Schleef  <ds@schleef.org>
2958
2959         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2960         (gst_capsfilter_set_property): Allow NULL as possible value
2961         for filter_caps property, indicating GST_CAPS_ANY.
2962
2963 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2964
2965         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2966           fix debug output
2967         * gst/schedulers/Makefile.am:
2968           use libgst prefix
2969         * gstreamer.spec.in:
2970           fix spec for it
2971
2972 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2973
2974         * gstreamer.spec.in:
2975           clean up
2976
2977 2005-06-08  Andy Wingo  <wingo@pobox.com>
2978
2979         * gst/gstutils.c: RPAD fixes all around.
2980         (gst_element_link_pads): Refcounting fixes.
2981
2982         * tools/gst-inspect.c:
2983         * tools/gst-xmlinspect.c:
2984         * parse/grammar.y:
2985         * gst/base/gsttypefindhelper.c:
2986         * gst/base/gstbasesink.c:
2987         * gst/gstqueue.c: RPAD fixes.
2988
2989         * gst/gstghostpad.h:
2990         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2991         pads. The tricky thing is they provide both source and sink
2992         interfaces, since they proxy the internal pad for the external
2993         pad, and vice versa. Implement with lower-level ProxyPad objects,
2994         with the interior proxy pad as a child of the exterior ghost pad.
2995         Should write a doc on this.
2996         
2997         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2998         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2999         gst_object API.
3000         
3001         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3002         pads are real pads. No ghost pads in this file. Not documenting
3003         the myriad s/RPAD/PAD/ and REALIZE fixes.
3004         (gst_pad_class_init): Add properties for "direction" and
3005         "template". Both are construct-only, so they can't change during
3006         the life of the pad. Fixes properly deriving from GstPad.
3007         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3008         derived objects, just set properties when creating the objects via
3009         g_object_new.
3010         (gst_pad_get_parent): Implement as a function, return NULL if the
3011         parent is not an element.
3012         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3013         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3014         
3015         * gst/gstobject.c (gst_object_class_init): Make name a construct
3016         property. Don't set it in the object init.
3017
3018         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3019         with UNKNOWN direction.
3020         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3021         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3022         (gst_element_remove_pad): Remove ghost-pad special cases.
3023         (gst_element_pads_activate): Remove rpad cruft.
3024
3025         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3026         catch the pad's-parent-not-an-element case.
3027
3028         * gst/gst.h: Include gstghostpad.h.
3029
3030         * gst/gst.c (init_post): No more real, ghost pads.
3031
3032         * gst/Makefile.am: Add gstghostpad.[ch].
3033
3034         * check/Makefile.am:
3035         * check/gst/gstbin.c:
3036         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3037         into a bin creates ghost pads, and that the refcounts are right.
3038         Partly moved from gstbin.c.
3039
3040 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3041
3042         * check/gst-libs/.cvsignore:
3043         * check/gst/.cvsignore:
3044         * check/pipelines/.cvsignore:
3045           ignore more
3046         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3047         (START_TEST), (cleanup_suite), (main):
3048           add some tests related to cleanup after running pipelines
3049
3050 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3051
3052         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3053           add a testsuite for GstBuffer
3054
3055 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3056
3057         * gst/gstminiobject.h:
3058           add defines for accessing the refcount
3059
3060 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3061
3062         * Makefile.am: added support for html unit test coverage reports
3063
3064 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3065
3066         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3067           Free existing caps if the capsfilter changes. Add a FIXME about
3068           setting those caps on the pads.
3069
3070         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3071           Before adding a ghost pad to a parent bin, check that there isn't
3072           already one for the element on the bin. Prevents infinite recursion
3073           when using decodebin in parse pipelines. Andy says he'll rewrite the
3074           way this works anyway, so ignore the hack.
3075
3076 2005-06-02  Andy Wingo  <wingo@pobox.com>
3077
3078         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3079         file size, pass it on to the type find helper.
3080
3081         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3082         segment_start and segment_end properly according to the seek
3083         method. Segment_end is still a bit flaky because offset can be
3084         negative for CUR and END cases, but it takes -1 as an "unset"
3085         value.
3086
3087 2005-06-02  Wim Taymans  <wim@fluendo.com>
3088
3089         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3090         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3091         (gst_basesink_activate):
3092         * gst/base/gstbasesink.h:
3093         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3094         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3095         (gst_pad_query), (gst_pad_start_task):
3096         * gst/gstpad.h:
3097         * gst/gstqueue.c: (gst_queue_bufferalloc),
3098         (gst_queue_handle_sink_event), (gst_queue_chain):
3099         Bufferalloc: return GstFlowReturn to more accuratly report
3100         why allocation failed.
3101
3102 2005-06-02  Wim Taymans  <wim@fluendo.com>
3103
3104         * gst/gstpipeline.c: (gst_pipeline_send_event):
3105         Take snapshot of state without blocking.
3106
3107 2005-06-02  Wim Taymans  <wim@fluendo.com>
3108
3109         * docs/design/part-TODO.txt:
3110         * docs/design/part-caps.txt:
3111         * docs/design/part-clocks.txt:
3112         * docs/design/part-negotiation.txt:
3113         * docs/design/part-preroll.txt:
3114         Small doc updates 
3115
3116 2005-05-30  Wim Taymans  <wim@fluendo.com>
3117
3118         * gst/elements/gstidentity.c: (gst_identity_event),
3119         (gst_identity_transform), (gst_identity_get_property):
3120         Protect last_message property as it is accessed from
3121         multiple threads.
3122
3123 2005-05-30  Wim Taymans  <wim@fluendo.com>
3124
3125         * gst/gstelement.c: (gst_element_init),
3126         (gst_element_pads_activate), (gst_element_change_state):
3127         Slicker pad activation code.
3128
3129 2005-05-30  Wim Taymans  <wim@fluendo.com>
3130
3131         * gst/Makefile.am:
3132         * gst/gstelement.h:
3133         * gst/gstelementfactory.h:
3134         * gst/gsttypes.h:
3135         Move elementfactory methods to separate .h file.
3136
3137 2005-05-30  Wim Taymans  <wim@fluendo.com>
3138
3139         * docs/design/part-overview.txt:
3140         * gst/gstsystemclock.h:
3141         Small typo fixes, doc updates.
3142
3143 2005-05-30  Wim Taymans  <wim@fluendo.com>
3144
3145         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3146         (init_popt_callback):
3147         Remove cpu-opt flag.
3148
3149 2005-05-30  Wim Taymans  <wim@fluendo.com>
3150
3151         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3152         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3153         * gst/gstbuffer.h:
3154         Avoid typechecking in places where not needed.
3155         Added accessor for malloc_data.
3156
3157 2005-05-30  Wim Taymans  <wim@fluendo.com>
3158
3159         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3160         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3161         (gst_pad_configure_sink), (gst_pad_configure_src),
3162         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3163         (gst_pad_start_task):
3164         Propagate errors from _set_caps() in configure_src/sink
3165         functions instead of returning TRUE.
3166         FLUSH events can travel up and downstream
3167
3168
3169 2005-05-30  Wim Taymans  <wim@fluendo.com>
3170
3171         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3172         (gst_basesink_activate):
3173         Handle EOS in preroll.
3174
3175 2005-05-30  Wim Taymans  <wim@fluendo.com>
3176
3177         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3178         (gst_queue_loop), (gst_queue_handle_src_event):
3179         Remove old pieces of code
3180         Flushing the queue in an upstream event is a very bad idea.
3181
3182 2005-05-26  Andy Wingo  <wingo@pobox.com>
3183
3184         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3185         gst_value_set_mini_object so as to add a ref on the object (which
3186         will be removed when the value is unset).
3187
3188         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3189         arg type in ::handoff.
3190
3191         * gst/gstelement.c (gst_element_change_state): Also deactivate
3192         pads in READY->NULL, just in case the element didn't make it to
3193         PAUSED. Wingo tested, Wim approved.
3194
3195 2005-05-26  Wim Taymans  <wim@fluendo.com>
3196
3197         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3198         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3199         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3200         A flushing pad cannot be used to alloc_buffer from.
3201
3202 2005-05-26  Wim Taymans  <wim@fluendo.com>
3203
3204         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3205         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3206         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3207         (gst_bus_create_watch), (gst_bus_add_watch_full):
3208         * gst/gstbus.h:
3209         Implement a real GSource and use g_main_context_wakeup() to
3210         signal new messages instead of the socketpair.
3211
3212 2005-05-25  Wim Taymans  <wim@fluendo.com>
3213
3214         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3215         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3216         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3217         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3218         (gst_pad_send_event), (gst_pad_start_task):
3219         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3220         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3221         (gst_queue_sink_activate), (gst_queue_src_activate),
3222         (gst_queue_change_state):
3223         * gst/gstqueue.h:
3224         Fix state changes for non sinks. We now change sinks, then elements
3225         with unconnected srcpads, then the rest.
3226         More efficient queue unlocking in flush and state changes.
3227         Set the pad activate mode even if it does not have an activate
3228         function.
3229
3230 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3231
3232         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3233           Don't go in pull mode for non-seekable sources.
3234         * gst/elements/gsttypefindelement.h:
3235         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3236         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3237         (free_entry), (stop_typefinding),
3238         (gst_type_find_element_handle_event), (find_peek),
3239         (gst_type_find_element_chain), (do_pull_typefind),
3240         (gst_type_find_element_change_state):
3241           Allow typefinding (w/o seeking) in push-mode, simplified version
3242           of what was in 0.8.
3243         * gst/gstutils.c: (gst_buffer_join):
3244         * gst/gstutils.h:
3245           gst_buffer_join() from 0.8.
3246
3247 2005-05-25  Wim Taymans  <wim@fluendo.com>
3248
3249         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3250         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3251         (gst_pad_send_event), (gst_pad_start_task):
3252         Disable attempt at mode switching until it is figured out.
3253
3254 2005-05-25  Wim Taymans  <wim@fluendo.com>
3255
3256         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3257         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3258         (gst_basesink_finish_preroll), (gst_basesink_chain),
3259         (gst_basesink_loop), (gst_basesink_activate),
3260         (gst_basesink_change_state):
3261         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3262         (gst_basesrc_get_range), (gst_basesrc_loop),
3263         (gst_basesrc_activate):
3264         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3265         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3266         (gst_real_pad_init), (gst_real_pad_set_property),
3267         (gst_real_pad_get_property), (gst_pad_set_active),
3268         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3269         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3270         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3271         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3272         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3273         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3274         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3275         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3276         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3277         (gst_pad_stop_task):
3278         * gst/gstpad.h:
3279         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3280         (gst_queue_loop), (gst_queue_src_activate):
3281         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3282         (gst_task_get_state):
3283         * gst/gsttask.h:
3284         * gst/schedulers/threadscheduler.c:
3285         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3286         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3287         in task function.
3288         Remove ACTIVE pad flag, use FLUSHING everywhere
3289         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3290         functions.
3291         Add locks around IS_FLUSHING when reading.
3292         Take STREAM lock in chain(), get_range() functions so plugins
3293         don't need to take it anymore.
3294         
3295
3296
3297 2005-05-25  Wim Taymans  <wim@fluendo.com>
3298
3299         * tools/gst-launch.c: (event_loop):
3300         Unref message after using its contents instead of
3301         before.
3302
3303 2005-05-24  Wim Taymans  <wim@fluendo.com>
3304
3305         * docs/design/draft-ghostpads.txt:
3306         * docs/design/draft-push-pull.txt:
3307         * docs/design/draft-query.txt:
3308         * docs/design/part-overview.txt:
3309         Docs updates, added general overview doc.
3310
3311 2005-05-21  David Schleef  <ds@schleef.org>
3312
3313         * docs/gst/tmpl/old/GstBin.sgml:
3314         * docs/gst/tmpl/old/GstBuffer.sgml:
3315         * docs/gst/tmpl/old/GstCaps.sgml:
3316         * docs/gst/tmpl/old/GstClock.sgml:
3317         * docs/gst/tmpl/old/GstCompat.sgml:
3318         * docs/gst/tmpl/old/GstData.sgml:
3319         * docs/gst/tmpl/old/GstElement.sgml:
3320         * docs/gst/tmpl/old/GstEvent.sgml:
3321         * docs/gst/tmpl/old/GstIndex.sgml:
3322         * docs/gst/tmpl/old/GstStructure.sgml:
3323         * docs/gst/tmpl/old/GstTag.sgml:
3324         * docs/gst/tmpl/old/cothreads.sgml:
3325         * docs/gst/tmpl/old/cothreads_compat.sgml:
3326         * docs/gst/tmpl/old/gettext.sgml:
3327         * docs/gst/tmpl/old/gobject2gtk.sgml:
3328         * docs/gst/tmpl/old/grammar.tab.sgml:
3329         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3330         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3331         * docs/gst/tmpl/old/gst_private.sgml:
3332         * docs/gst/tmpl/old/gstaggregator.sgml:
3333         * docs/gst/tmpl/old/gstarch.sgml:
3334         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3335         * docs/gst/tmpl/old/gstbufferstore.sgml:
3336         * docs/gst/tmpl/old/gstdata_private.sgml:
3337         * docs/gst/tmpl/old/gstdisksink.sgml:
3338         * docs/gst/tmpl/old/gstdisksrc.sgml:
3339         * docs/gst/tmpl/old/gstelementfactory.sgml:
3340         * docs/gst/tmpl/old/gstextratypes.sgml:
3341         * docs/gst/tmpl/old/gstfakesink.sgml:
3342         * docs/gst/tmpl/old/gstfakesrc.sgml:
3343         * docs/gst/tmpl/old/gstfdsink.sgml:
3344         * docs/gst/tmpl/old/gstfdsrc.sgml:
3345         * docs/gst/tmpl/old/gstfilesink.sgml:
3346         * docs/gst/tmpl/old/gstfilesrc.sgml:
3347         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3348         * docs/gst/tmpl/old/gstidentity.sgml:
3349         * docs/gst/tmpl/old/gstindexfactory.sgml:
3350         * docs/gst/tmpl/old/gstmarshal.sgml:
3351         * docs/gst/tmpl/old/gstmd5sink.sgml:
3352         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3353         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3354         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3355         * docs/gst/tmpl/old/gstpipefilter.sgml:
3356         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3357         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3358         * docs/gst/tmpl/old/gstshaper.sgml:
3359         * docs/gst/tmpl/old/gstspider.sgml:
3360         * docs/gst/tmpl/old/gstspideridentity.sgml:
3361         * docs/gst/tmpl/old/gststatistics.sgml:
3362         * docs/gst/tmpl/old/gsttee.sgml:
3363         * docs/gst/tmpl/old/gsttimecache.sgml:
3364         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3365         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3366         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3367         * docs/gst/tmpl/old/types.sgml:
3368           I didn't intend to add these or check them in.
3369
3370 2005-05-19  David Schleef  <ds@schleef.org>
3371
3372         * configure.ac: Use -no-common everywhere.  In a sane world, it
3373           would be the default in libtool, because without it, you can't
3374           build DLLs on Windows.
3375         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3376         * docs/gst/gstreamer-sections.txt:
3377         * docs/gst/tmpl/gstcpu.sgml:
3378         * docs/gst/tmpl/gstdata.sgml:
3379         * docs/gst/tmpl/gstthread.sgml:
3380
3381 2005-05-19  David Schleef  <ds@schleef.org>
3382
3383         * gst/gstminiobject.c: (gst_value_set_mini_object),
3384         (gst_value_take_mini_object), (gst_value_get_mini_object):
3385         * gst/gstminiobject.h: Add GValue set/get functions.
3386
3387 2005-05-19  Wim Taymans  <wim@fluendo.com>
3388
3389         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3390         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3391         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3392         * gst/gstbuffer.h:
3393         * gst/gstbus.c: (gst_bus_post):
3394         * gst/gstelement.c: (gst_element_get_random_pad):
3395         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3396         Make subbufer unref the parent in finalize.
3397         some more debugging info.
3398
3399
3400 2005-05-19  Wim Taymans  <wim@fluendo.com>
3401
3402         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3403         (gst_basesink_init), (gst_basesink_finalize),
3404         (gst_basesink_activate), (gst_basesink_change_state):
3405         Don't free preroll queue too early.
3406
3407 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3408
3409         * gst/Makefile.am:
3410         * gst/ROADMAP:
3411           Hi, I'm outdated. Please shoot me.
3412
3413 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3414
3415         * gst/gstpipeline.c: (gst_pipeline_send_event):
3416           Do not access variables after they have been deleted.
3417
3418 2005-05-19  Wim Taymans  <wim@fluendo.com>
3419
3420         * tools/gst-inspect.c: (print_plugin_features):
3421         A plugin feature does unfortunatly not use the
3422         object name yet...
3423
3424 2005-05-18  Wim Taymans  <wim@fluendo.com>
3425
3426         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3427         Port _span() functions to new subbuffers.
3428
3429 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3430
3431         * gst/gstbin.c: (gst_bin_add_func):
3432           Fix clock settery in bins when adding kids after the clock has
3433           been selected.
3434
3435 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3436
3437         * gst/elements/gstidentity.c: (gst_identity_class_init):
3438           Workaround until signals support GstMiniObject.
3439
3440 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3441
3442         * gst/gstbuffer.c:
3443         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3444
3445 2005-05-18  Wim Taymans  <wim@fluendo.com>
3446
3447         * gst/base/Makefile.am:
3448         * gst/base/gstadapter.c: (gst_adapter_base_init),
3449         (gst_adapter_class_init), (gst_adapter_init),
3450         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3451         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3452         (gst_adapter_flush), (gst_adapter_available),
3453         (gst_adapter_available_fast):
3454         * gst/base/gstadapter.h:
3455         Ported and added adapter to the base classes.
3456
3457 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3458
3459         * gst/gst.c:
3460         * gst/gstmessage.c:
3461           Make sure the class is reffed/unreffed once before threads can be
3462           used.  Fixes #304551.
3463
3464 2005-05-17  Wim Taymans  <wim@fluendo.com>
3465
3466         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3467         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3468         * gst/gstminiobject.c: (gst_mini_object_get_type),
3469         (gst_mini_object_free):
3470         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3471         (gst_pad_push), (gst_pad_push_event):
3472         * gst/gstqueue.c: (gst_queue_change_state):
3473         Don't queue buffers in basesink when we are flushing.
3474         Unref buffer when flushing in basesink.
3475         Flush queue when going to READY
3476         Unref buffer when _push() returns an error.
3477         Don't free MiniObject instance when refcount is incremented
3478         in _finalize() so that we can recover objects.
3479
3480 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3481
3482         * docs/manual/advanced-schedulers.xml:
3483         * docs/manual/appendix-checklist.xml:
3484         * docs/pwg/advanced-clock.xml:
3485         * docs/pwg/advanced-interfaces.xml:
3486         * docs/pwg/advanced-request.xml:
3487         * docs/pwg/advanced-types.xml:
3488         * docs/pwg/intro-preface.xml:
3489         * examples/plugins/example.c: (gst_example_get_type),
3490         (gst_example_class_init), (gst_example_chain),
3491         (gst_example_set_property), (gst_example_get_property),
3492         (gst_example_change_state), (plugin_init):
3493         * examples/plugins/example.h:
3494           small doc fixes
3495
3496 2005-05-17  Wim Taymans  <wim@fluendo.com>
3497
3498         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3499         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3500         * gst/gstqueue.c: (gst_queue_change_state):
3501         Clear queue when going to READY.
3502         Remove IN_SETCAPS flag too.
3503
3504 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3505
3506         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3507           Remove implicit cast from gboolean to GstElementStateReturn;
3508           make sure we still return failure in paused => ready case if
3509           the parent class fails to change state and our own stop 
3510           vfunc succeeds.
3511
3512 2005-05-17  Wim Taymans  <wim@fluendo.com>
3513
3514         * tools/gst-launch.c: (event_loop):
3515         Message was unreffed too soon.
3516
3517 2005-05-16  Andy Wingo  <wingo@pobox.com>
3518
3519         * gst/gstbin.c (sink_iterator_filter): Err... um...
3520
3521         * check/gst/gstbin.c (test_ghost_pads): New test for the
3522         ghosting-if-elements-not-in-same-bin behavior.
3523
3524 2005-05-16  David Schleef  <ds@schleef.org>
3525
3526         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3527         accessing refcount directly.
3528
3529 2005-05-15  David Schleef  <ds@schleef.org>
3530
3531         * check/Makefile.am: remove GstData checks
3532         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3533         * gst/Makefile.am: add miniobject, remove data
3534         * gst/gst.h: add miniobject, remove data
3535         * gst/gstdata.c: remove
3536         * gst/gstdata.h: remove
3537         * gst/gstdata_private.h: remove
3538         * gst/gsttypes.h: remove GstEvent and GstMessage
3539         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3540         * gst/gstmarshal.list: change BOXED -> OBJECT
3541
3542         Implement GstMiniObject.
3543         * gst/gstminiobject.c:
3544         * gst/gstminiobject.h:
3545
3546         Modify to be subclasses of GstMiniObject.
3547         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3548         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3549         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3550         (gst_subbuffer_get_type), (gst_subbuffer_init),
3551         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3552         (gst_buffer_span):
3553         * gst/gstbuffer.h:
3554         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3555         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3556         (_gst_event_copy), (gst_event_new):
3557         * gst/gstevent.h:
3558         * gst/gstmessage.c: (_gst_message_initialize),
3559         (gst_message_get_type), (gst_message_class_init),
3560         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3561         (gst_message_new), (gst_message_new_error),
3562         (gst_message_new_warning), (gst_message_new_tag),
3563         (gst_message_new_state_changed), (gst_message_new_application):
3564         * gst/gstmessage.h:
3565         * gst/gstprobe.c: (gst_probe_perform),
3566         (gst_probe_dispatcher_dispatch):
3567         * gst/gstprobe.h:
3568         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3569         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3570         (_gst_query_copy), (gst_query_new):
3571
3572         Update elements for GstData -> GstMiniObject changes
3573         * gst/gstquery.h:
3574         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3575         (gst_queue_chain), (gst_queue_loop):
3576         * gst/elements/gstbufferstore.c:
3577         (gst_buffer_store_add_buffer_func),
3578         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3579         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3580         (gst_fakesink_render):
3581         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3582         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3583         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3584         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3585         (gst_filesrc_create_read):
3586         * gst/elements/gstidentity.c: (gst_identity_class_init):
3587         * gst/elements/gsttypefindelement.c:
3588         (gst_type_find_element_src_event), (free_entry_buffers),
3589         (gst_type_find_element_handle_event):
3590         * libs/gst/dataprotocol/dataprotocol.c:
3591         (gst_dp_header_from_buffer):
3592         * libs/gst/dataprotocol/dataprotocol.h:
3593         * libs/gst/dataprotocol/dp-private.h:
3594
3595 2005-05-15  David Schleef  <ds@schleef.org>
3596
3597         * gst/elements/gstelements.c: Don't include headers that were
3598         just removed.
3599
3600 2005-05-15  David Schleef  <ds@schleef.org>
3601
3602         * gst/elements/Makefile.am: Remove some elements that don't
3603         need to be in the core (or even exist at all).
3604         * gst/elements/gstaggregator.c:
3605         * gst/elements/gstaggregator.h:
3606         * gst/elements/gstmd5sink.c:
3607         * gst/elements/gstmd5sink.h:
3608         * gst/elements/gstmultifilesrc.c:
3609         * gst/elements/gstmultifilesrc.h:
3610         * gst/elements/gstpipefilter.c:
3611         * gst/elements/gstpipefilter.h:
3612         * gst/elements/gstshaper.c:
3613         * gst/elements/gstshaper.h:
3614         * gst/elements/gststatistics.c:
3615         * gst/elements/gststatistics.h:
3616         * po/POTFILES.in: Remove above files.
3617
3618 2005-05-14  Andy Wingo  <wingo@pobox.com>
3619
3620         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3621         so as to get the refs right.
3622         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3623         unreffing objects that don't pass the filter.
3624
3625         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3626         gst_element_set_bus.
3627         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3628         normal cases, this will destroy the bus.
3629
3630         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3631         object.
3632
3633         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3634         has no sinks.
3635
3636 2005-05-13  Andy Wingo  <wingo@pobox.com>
3637
3638         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3639         gst_pad_link, call pad_link_maybe_ghosting,
3640         (pad_link_maybe_ghosting): Links pads, making sure that the
3641         elements being linked are in the same bin.
3642         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3643         Helpers for pad_link_maybe_ghosting.
3644
3645 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3646
3647         * configure.ac:
3648           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3649
3650 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3651
3652         * docs/design/part-element-source.txt:
3653           Mention GstPushSrc
3654
3655 2005-05-12  Wim Taymans  <wim@fluendo.com>
3656
3657         * gst/base/gstbasesink.c: (gst_basesink_init),
3658         (gst_basesink_activate):
3659         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3660         (gst_basesrc_is_seekable):
3661         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3662         (bin_element_is_sink), (gst_bin_change_state):
3663         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3664         * gst/gstelement.h:
3665         Identify sinks by their flag to avoid overly complicated
3666         checks (fow now).
3667         Do state changes even for elements not reachable from the
3668         sinks.
3669         BaseSink is a sink now :)
3670         Some more debugging info in the basesrc.
3671
3672
3673 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3674
3675         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3676           Implement _query on a bin, similar to _send_event.
3677
3678 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3679
3680         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3681           Discont event offset format should be GST_FORMAT_BYTES,
3682           not GST_FORMAT_TIME.
3683
3684 2005-05-12  Wim Taymans  <wim@fluendo.com>
3685
3686         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3687         Same fix as Ronald's but without the signal. 
3688
3689 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3690
3691         * gst/gstutils.c: (gst_element_query_position):
3692           No, an element is not a pad.
3693
3694 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3695
3696         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3697         (gst_bin_get_state):
3698           If a child is removed from a bin while we remove the child from
3699           the bin and while we're retrieving its state, signal this to the
3700           get_state function so we abort the wait (instead of waiting for
3701           a timeout) and can immediately re-iterate over all other elements.
3702
3703 2005-05-12  Wim Taymans  <wim@fluendo.com>
3704
3705         * gst/base/Makefile.am:
3706         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3707         (gst_basesrc_start):
3708         * gst/base/gstbasesrc.h:
3709         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3710         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3711         (gst_pushsrc_init), (gst_pushsrc_create):
3712         * gst/base/gstpushsrc.h:
3713         Added is_seekable to BaseSrc
3714         Added simple PushSrc.
3715
3716 2005-05-11  Wim Taymans  <wim@fluendo.com>
3717
3718         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3719         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3720         (gst_element_link_pads), (gst_element_query_position),
3721         (gst_element_query_convert), (intersect_caps_func),
3722         (gst_pad_query_position), (gst_pad_query_convert):
3723         Fix refcounting in utils function.
3724         No point in trying to activate a pad when it's added, it could
3725         be added from the state change function and then we deadlock, the
3726         element has to decide what to do.
3727
3728 2005-05-10  Andy Wingo  <wingo@pobox.com>
3729
3730         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3731         *all* the arguments.
3732
3733         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3734         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3735         lock (according to the docs -- if this is wrong change the docs).
3736
3737         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3738         flush messages in the NULL state.
3739
3740         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3741         message immediately and return.
3742         (gst_bus_set_flushing): New function. If a bus is flushing, it
3743         flushes out any queued messages and immediately unrefs new
3744         messages. This is so when an element goes to NULL, all of the
3745         unhandled messages coming from it can be freed, and their
3746         references to the element dropped. In other words: message source
3747         ref considered harmful :P
3748
3749         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3750         we're finished with it.
3751
3752         * gst/gstmessage.c (gst_message_new_state_changed): 
3753
3754 2005-05-10  Wim Taymans  <wim@fluendo.com>
3755
3756         * gst/gstvalue.c: (gst_value_compare_flags),
3757         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3758         (_gst_value_initialize):
3759         Added flags serialize/deserialize/compare code.
3760
3761 2005-05-09  Andy Wingo  <wingo@pobox.com>
3762
3763         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3764         Intersect the peer's caps with our caps.
3765
3766 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3767
3768         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3769         * gst/elements/gsttypefindelement.c: (find_peek):
3770           Handle negative offsets better. Fixes decodebin.
3771
3772 2005-05-09  Wim Taymans  <wim@fluendo.com>
3773
3774         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3775         (gst_base_transform_event):
3776         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3777         Implement accept_caps.
3778         Fix silly lock/unlock mismatch in base class.
3779
3780 2005-05-09  Wim Taymans  <wim@fluendo.com>
3781
3782         * docs/design/draft-push-pull.txt:
3783         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3784         * gst/elements/gstfilesink.c: (gst_filesink_init),
3785         (gst_filesink_query):
3786         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3787         (gst_type_find_handle_src_query), (find_element_get_length):
3788         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3789         * gst/gstelement.h:
3790         * gst/gstmessage.c:
3791         * gst/gstmessage.h:
3792         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3793         (gst_real_pad_get_caps_unlocked),
3794         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3795         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3796         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3797         (gst_real_pad_dispose), (gst_real_pad_finalize),
3798         (gst_pad_load_and_link), (gst_pad_save_thyself),
3799         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3800         (gst_pad_check_pull_range), (gst_pad_pull_range),
3801         (gst_pad_template_get_type), (gst_pad_template_class_init),
3802         (gst_pad_template_init), (gst_pad_template_dispose),
3803         (name_is_valid), (gst_static_pad_template_get),
3804         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3805         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3806         (gst_pad_get_element_private), (gst_pad_start_task),
3807         (gst_pad_pause_task), (gst_pad_stop_task),
3808         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3809         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3810         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3811         (gst_ghost_pad_new):
3812         * gst/gstpad.h:
3813         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3814         (gst_query_new_position), (gst_query_set_position),
3815         (gst_query_parse_position), (gst_query_new_convert),
3816         (gst_query_set_convert), (gst_query_parse_convert):
3817         * gst/gstquery.h:
3818         * gst/gstqueryutils.c:
3819         * gst/gstqueryutils.h:
3820         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3821         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3822         (gst_queue_handle_src_query):
3823         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3824         (gst_element_query_position), (gst_element_query_convert),
3825         (intersect_caps_func), (gst_pad_query_position),
3826         (gst_pad_query_convert):
3827         * gst/gstutils.h:
3828         * tools/gst-inspect.c: (print_pad_info):
3829         * tools/gst-xmlinspect.c: (print_element_info):
3830         Remove old query functions. Ported old code.
3831         Added position/convert helper functions to gstutils.
3832         Reordered gstpad.c code, grouping relevant things.
3833         Remove gst_message_new(), always need to speficy a specific
3834         message.
3835
3836
3837 2005-05-09  Andy Wingo  <wingo@pobox.com>
3838
3839         * gst/gstiterator.h: Add some includes.
3840
3841         * gst/gstqueryutils.h: Include more headers.
3842
3843         * gst/gstpad.h:
3844         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3845         some uses of gst_pad_query.
3846
3847         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3848         NULL out parameters.
3849         (gst_query_new_position): New proc, allocates a new position
3850         query.
3851
3852         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3853         gstqueryutils.c to the build.
3854
3855         * gst/gststructure.c (gst_structure_set_valist): Implement with
3856         the generic G_VALUE_COLLECT.
3857         
3858 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3859
3860         * gst/Makefile.am: (gst_headers):
3861         Added gstqueryutils.h to the list of headers to install, that was
3862         a 'nachty' move wingo :)
3863
3864 2005-05-06  Andy Wingo  <wingo@pobox.com>
3865
3866         * gst/gstquery.h
3867         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3868         GstData, init a memchunk.
3869         (standard_definitions): Add a few query types, deprecate a few.
3870         (gst_query_get_type): New proc.
3871         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3872         implementation.
3873         (gst_query_new_application, gst_query_get_structure): New public
3874         procs.
3875
3876         * docs/design/draft-query.txt: Removed LINKS from the query types,
3877         because all the rest can be dispatched to other pads -- seemed
3878         ugly to have a query that couldn't be dispatched. internal_links
3879         is fine as a pad method.
3880
3881         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3882         in gstpad.c, but maintain binary compatibility for the moment.
3883         Will fix before 0.9 is out.
3884
3885         * gst/gstqueryutils.c: 
3886         * gst/gstqueryutils.h: New files, implement 3 methods for each
3887         query type: parse_query, parse_response, and set. Probably need an
3888         allocator as well.
3889
3890         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3891
3892         * gst/elements/gstfilesink.c (gst_filesink_query2):
3893         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3894         query_types, and formats methods.
3895
3896         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3897         (gst_pad_set_query2_function): New functions.
3898         (gst_real_pad_init): Set query2_default as the default query2
3899         function. Basically just dispatches to internally linked pads.
3900
3901         Needs review!
3902         
3903         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3904         without using the atomic operations. Only one thread can possibly
3905         be accessing the data at this point. Changed so as to avoid
3906         gst_atomic operations.
3907
3908 2005-05-06  Wim Taymans  <wim@fluendo.com>
3909
3910         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3911         Also set caps if we use the fallback buffer alloc.
3912
3913 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3914
3915         * docs/gst/Makefile.am:
3916         * docs/gst/gstreamer-docs.sgml:
3917         * docs/gst/gstreamer-sections.txt:
3918         * docs/gst/tmpl/gstatomic.sgml:
3919         * docs/gst/tmpl/gstmemchunk.sgml:
3920         * testsuite/elements/struct_i386.h:
3921         * win32/GStreamer.vcproj:
3922         * win32/Makefile:
3923           Purge GstAtomic stuff from docs and win32 makefiles as well
3924
3925 2005-05-06  Wim Taymans  <wim@fluendo.com>
3926
3927         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3928         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3929         * gst/gstpad.c: (gst_pad_peer_get_caps):
3930         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3931         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3932         (gst_queue_src_activate), (gst_queue_change_state):
3933         * gst/gstqueue.h:
3934         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3935         (intersect_caps_func):
3936         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3937         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3938         Some fixes for the peer_get_caps() change.
3939
3940 2005-05-06  Wim Taymans  <wim@fluendo.com>
3941
3942         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3943         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3944         (gst_basesink_activate):
3945         Actually do something with error codes returned from the push
3946         functions.
3947
3948 2005-05-06  Wim Taymans  <wim@fluendo.com>
3949
3950         * docs/design/part-element-sink.txt:
3951         * docs/design/part-element-source.txt:
3952         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3953         (gst_basesink_event), (gst_basesink_activate):
3954         * gst/base/gstbasesink.h:
3955         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3956         (gst_basesrc_activate):
3957         * gst/base/gstbasesrc.h:
3958         * gst/gstelement.c: (gst_element_pads_activate):
3959         Some more documentation.
3960         Fixed scheduling decision in _pads_activate().
3961
3962 2005-05-05  Andy Wingo  <wingo@pobox.com>
3963
3964         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3965         the test suite.
3966
3967 2005-05-05  Wim Taymans  <wim@fluendo.com>
3968
3969         * gst/base/Makefile.am:
3970         * gst/base/gstbasesink.h:
3971         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3972         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3973         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3974         (gst_collectpads_class_init), (gst_collectpads_init),
3975         (gst_collectpads_finalize), (gst_collectpads_new),
3976         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3977         (find_pad), (gst_collectpads_remove_pad),
3978         (gst_collectpads_is_active), (gst_collectpads_collect),
3979         (gst_collectpads_collect_range), (gst_collectpads_start),
3980         (gst_collectpads_stop), (gst_collectpads_peek),
3981         (gst_collectpads_pop), (gst_collectpads_available),
3982         (gst_collectpads_read), (gst_collectpads_flush),
3983         (gst_collectpads_chain):
3984         * gst/base/gstcollectpads.h:
3985         * gst/elements/Makefile.am:
3986         * gst/elements/gstelements.c:
3987         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3988         (gst_fakesink_get_times), (gst_fakesink_event),
3989         (gst_fakesink_preroll), (gst_fakesink_render):
3990         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3991         (gst_filesink_init), (gst_filesink_set_location),
3992         (gst_filesink_open_file), (gst_filesink_close_file),
3993         (gst_filesink_pad_query), (gst_filesink_event),
3994         (gst_filesink_render), (gst_filesink_change_state):
3995         * gst/elements/gstfilesink.h:
3996         Added object to help in making collect pad based elements.
3997         Ported filesink.
3998         Make event function in sink baseclass return gboolean.
3999
4000 2005-05-05  Wim Taymans  <wim@fluendo.com>
4001
4002         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4003         (gst_bin_get_by_name):
4004         * gst/gstbuffer.h:
4005         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4006         (gst_clock_finalize):
4007         * gst/gstdata.c: (gst_data_replace):
4008         * gst/gstdata.h:
4009         * gst/gstelement.c: (gst_element_request_pad),
4010         (gst_element_pads_activate):
4011         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4012         (gst_object_unref):
4013         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4014         (gst_pad_set_checkgetrange_function),
4015         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4016         (gst_pad_check_pull_range), (gst_pad_pull_range),
4017         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4018         (gst_pad_pause_task), (gst_pad_stop_task):
4019         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4020         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4021         Fix name lookup in GstBin.
4022         Added _data_replace() function and _buffer_replace()
4023         Use finalize method to clean up clock.
4024         Fix refcounting on request pads.
4025         Fix pad schedule mode error.
4026         Some more object refcounting debug info,
4027
4028
4029 2005-05-04  Andy Wingo <wingo@pobox.com>
4030
4031         * check/Makefile.am:
4032         * docs/gst/tmpl/gstatomic.sgml:
4033         * docs/gst/tmpl/gstplugin.sgml:
4034         * gst/base/gstbasesink.c: (gst_basesink_activate):
4035         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4036         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4037         (gst_basesrc_query), (gst_basesrc_set_property),
4038         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4039         (gst_basesrc_activate):
4040         * gst/base/gstbasesrc.h:
4041         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4042         (gst_base_transform_src_activate):
4043         * gst/elements/gstelements.c:
4044         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4045         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4046         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4047         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4048         (gst_type_find_element_checkgetrange),
4049         (gst_type_find_element_activate):
4050         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4051         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4052         (gst_caps_load_thyself):
4053         * gst/gstelement.c: (gst_element_pads_activate),
4054         (gst_element_save_thyself), (gst_element_restore_thyself):
4055         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4056         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4057         * gst/gstpad.h:
4058         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4059         (gst_xml_parse_file), (gst_xml_parse_memory),
4060         (gst_xml_get_element), (gst_xml_make_element):
4061         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4062         (_file_index_id_save_xml), (gst_file_index_commit):
4063         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4064         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4065         (load_paths):
4066         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4067         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4068         * tools/gst-complete.c: (main):
4069         * tools/gst-compprep.c: (main):
4070         * tools/gst-inspect.c: (print_element_properties_info):
4071         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4072         * tools/gst-xmlinspect.c: (print_element_properties):
4073         GCC 4 fixen.
4074         
4075 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4076
4077         * gst/gstplugin.c: (gst_plugin_check_module),
4078         (gst_plugin_check_file), (gst_plugin_load_file):
4079             apply patch from #172526 to make register work on MacOSX
4080
4081 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4082
4083         * docs/gst/tmpl/gstconfig.sgml:
4084         * gst/gstconfig.h.in:
4085           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4086         * testsuite/debug/printf_extension.c: (main):
4087           Do not use GST_PTR_FORMAT on pointers to types with
4088           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4089         * testsuite/elements/property.h:
4090           use correct printf format
4091
4092 2005-05-02  Wim Taymans  <wim@fluendo.com>
4093
4094         * docs/design/draft-push-pull.txt:
4095         * docs/design/draft-query.txt:
4096         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4097         (gst_basesrc_start):
4098         Added draft for new query API.
4099         Added draft for better selecting scheduling methods.
4100         Make basesrc ignore length if the subclass does not support
4101         it.
4102
4103 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4104
4105         * gst/Makefile.am:
4106           possible fixes for automake-1.5 - _LIBADD is reserved
4107
4108 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4109
4110         * docs/faq/Makefile.am:
4111         * docs/manual/Makefile.am:
4112         * docs/manuals.mak:
4113         * docs/pwg/Makefile.am:
4114         * gst/Makefile.am:
4115           possible fixes for automake-1.5
4116
4117 2005-04-28  Wim Taymans  <wim@fluendo.com>
4118
4119         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4120         (gst_basesink_pad_getcaps), (gst_basesink_init),
4121         (gst_basesink_do_sync):
4122         * gst/gstclock.c: (gst_clock_entry_new):
4123         * gst/gstevent.c: (gst_event_discont_get_value):
4124         * gst/gstpipeline.c: (pipeline_bus_handler),
4125         (gst_pipeline_change_state):
4126         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4127         Better debugging of clocking info.
4128         Allow NULL values when getting discont values.
4129
4130 2005-04-27  Wim Taymans  <wim@fluendo.com>
4131
4132         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4133         * check/gst/gstpad.c: (gst_pad_suite):
4134         Increase timeout for checks.
4135
4136 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4137
4138         * check/Makefile.am:
4139           fix the broken rule for cleanup.  Apparently this rule is
4140           only needed on FC2, so maybe this warrants further autotool
4141           inspection.
4142
4143 2005-04-26  Wim Taymans  <wim@fluendo.com>
4144
4145         * gst/gsttrashstack.h:
4146         Ooohh. a nasty one! After having a failed pop() from the stack,
4147         it's possible that the stack is empty. In that case, don't
4148         follow the NULL pointer.
4149
4150 2005-04-25  Wim Taymans  <wim@fluendo.com>
4151
4152         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4153         (gst_pad_set_checkgetrange_function),
4154         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4155         (gst_pad_check_pull_range), (gst_pad_pull_range),
4156         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4157         (gst_pad_pause_task), (gst_pad_stop_task):
4158         * gst/gstplugin.c: (gst_plugin_load):
4159         * gst/gstplugin.h:
4160         Remove gst_library_load as it does more harm than good with
4161         the new g_module flags.
4162         Revert bogus caps template check in pad linking, pad caps
4163         are important when linking not the template, which is more
4164         general than the current caps.
4165
4166 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4167
4168         * gst/autoplug/.cvsignore:
4169         * gst/autoplug/Makefile.am:
4170         * gst/autoplug/gstsearchfuncs.c:
4171         * gst/autoplug/gstsearchfuncs.h:
4172         * gst/autoplug/gstspider.c:
4173         * gst/autoplug/gstspider.h:
4174         * gst/autoplug/gstspideridentity.c:
4175         * gst/autoplug/gstspideridentity.h:
4176         * gst/autoplug/spidertest.c:
4177           Die, spider, die.
4178
4179 2005-04-25  Wim Taymans  <wim@fluendo.com>
4180
4181         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4182         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4183         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4184         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4185         * gst/gstpad.h:
4186         Added stubs for unimplemented functions. 
4187
4188 2005-04-24  David Schleef  <ds@schleef.org>
4189
4190         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4191         please fix.
4192
4193 2005-04-24  David Schleef  <ds@schleef.org>
4194
4195         Convert everything from GstAtomicInt to g_atomic_int_*, and
4196         remove gstatomic.
4197         * gst/Makefile.am:
4198         * gst/gstatomic.c:
4199         * gst/gstatomic.h:
4200         * gst/gstatomic_impl.h:
4201         * gst/gstbuffer.c:
4202         * gst/gstcaps.c:
4203         * gst/gstcaps.h:
4204         * gst/gstclock.c:
4205         * gst/gstclock.h:
4206         * gst/gstdata.c:
4207         * gst/gstdata.h:
4208         * gst/gstdata_private.h:
4209         * gst/gstevent.c:
4210         * gst/gstinfo.c:
4211         * gst/gstinfo.h:
4212         * gst/gstmessage.c:
4213         * gst/gstobject.c:
4214         * gst/gstobject.h:
4215         * gst/gststructure.c:
4216         * gst/gststructure.h:
4217         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4218         * gst/gstutils.h:
4219
4220 2005-04-24  David Schleef  <ds@schleef.org>
4221
4222         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4223         make the regressions tests work.  Remove some code that is no
4224         longer true.
4225         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4226         Disable warning for pads without templates.
4227
4228 2005-04-24  David Schleef  <ds@schleef.org>
4229
4230         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4231         functions that handle filtered links.
4232         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4233         removed functions.
4234         * gst/gstutils.c: Fix/remove utility functions that handle
4235         filtered caps.
4236         * gst/gstutils.h:
4237         * gst/gstvalue.c: Add serialization/deserialization of caps
4238         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4239         requires fixing so that the filter caps notation creates
4240         a capsfilter element and sets the filter_caps property.  I
4241         think everyone probably wants to keep the shorthand notation.
4242         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4243         * docs/gst/tmpl/gstpad.sgml:
4244
4245         * gst/elements/gstelements.c: Register capsfilter element.
4246         * gst/Makefile.am: fix spacing
4247         * docs/random/ds/0.9-suggested-changes: random
4248
4249 2005-04-23  David Schleef  <ds@schleef.org>
4250
4251         * gst/elements/Makefile.am:
4252         * gst/elements/gstcapsfilter.c: New element that acts like an
4253         identity, but filters caps.  Will eventually replace filtered
4254         caps in pad linking.
4255         * gst/gstutils.c: (gst_element_create_all_pads): New function
4256         to create all the ALWAYS pads that are registered with an
4257         element class.  This functionality should eventually be
4258         merged in with GstElement initialization.
4259         * gst/gstutils.h:
4260         * testsuite/trigger/README: part of trigger test code that should
4261         have been checked in a long time ago.
4262
4263 2005-04-23  David Schleef  <ds@schleef.org>
4264
4265         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4266         needed with new versions of libtool (nobody will confirm this),
4267         and hard to carry around.
4268         * gst/autoplug/Makefile.am:
4269         * gst/base/Makefile.am:
4270         * gst/elements/Makefile.am:
4271         * gst/indexers/Makefile.am:
4272         * gst/schedulers/Makefile.am:
4273         * libs/gst/bytestream/Makefile.am:
4274         * libs/gst/control/Makefile.am:
4275         * libs/gst/dataprotocol/Makefile.am:
4276         * libs/gst/getbits/Makefile.am:
4277
4278 2005-04-21  Wim Taymans  <wim@fluendo.com>
4279
4280         * docs/design/draft-push-pull.txt:
4281         * docs/design/part-MT-refcounting.txt:
4282         * docs/design/part-TODO.txt:
4283         * docs/design/part-caps.txt:
4284         * docs/design/part-events.txt:
4285         * docs/design/part-gstbus.txt:
4286         * docs/design/part-gstpipeline.txt:
4287         * docs/design/part-messages.txt:
4288         * docs/design/part-push-pull.txt:
4289         * docs/design/part-query.txt:
4290         Some more docs.
4291
4292 2005-04-21  Wim Taymans  <wim@fluendo.com>
4293
4294         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4295         (gst_message_new), (gst_message_new_error),
4296         (gst_message_new_warning), (gst_message_new_tag),
4297         (gst_message_new_state_changed), (gst_message_new_application),
4298         (gst_message_get_structure):
4299         * gst/gstmessage.h:
4300         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4301         (gst_structure_copy_conditional):
4302         Use parent refcount in GstMessage to ensure GstStructure
4303         consistency.
4304         Cleaned up headers a bit.
4305         
4306
4307 2005-04-20  Wim Taymans  <wim@fluendo.com>
4308
4309         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4310         (gst_basesink_pad_getcaps), (gst_basesink_init),
4311         (gst_basesink_chain_unlocked):
4312         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4313         (gst_type_find_helper):
4314         * gst/elements/gsttypefindelement.c:
4315         (gst_type_find_element_have_type), (gst_type_find_element_init),
4316         (stop_typefinding), (gst_type_find_element_handle_event),
4317         (find_suggest), (gst_type_find_element_chain),
4318         (gst_type_find_element_checkgetrange),
4319         (gst_type_find_element_getrange), (do_typefind),
4320         (gst_type_find_element_activate):
4321         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4322         (gst_buffer_default_free), (gst_buffer_default_copy),
4323         (gst_buffer_set_caps):
4324         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4325         (gst_caps_replace):
4326         * gst/gstmessage.c: (gst_message_new),
4327         (gst_message_new_state_changed):
4328         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4329         (gst_pad_set_checkgetrange_function),
4330         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4331         (gst_pad_set_caps), (gst_pad_check_pull_range),
4332         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4333         * gst/gstpad.h:
4334         * gst/gsttypefind.c: (gst_type_find_register):
4335         Make gst_caps_replace() work like other _replace() functions.
4336         Use _caps_replace() where possible.
4337         Make sure _message_new() initialises its field.
4338         Add gst_static_pad_template_get_caps()
4339
4340
4341 2005-04-18  Andy Wingo  <wingo@pobox.com>
4342
4343         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4344         on the peer, not the pad. I think that was a typo. Pass an extra
4345         arg to see if random access is possible. Activate the pads as
4346         PULL_RANGE if possible.
4347
4348         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4349
4350         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4351         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4352         to PROP_....
4353
4354 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4355
4356         * docs/faq/using.xml:
4357           Add note on gstreamer-properties (#154996).
4358
4359 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4360
4361         * docs/random/bbb/optional-properties:
4362           Some analysis on optional properties.
4363
4364 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4365
4366         * docs/gst/tmpl/gstelementfactory.sgml:
4367         * gst/gstelement.h:
4368         * gst/gstelementfactory.c: (gst_element_factory_init),
4369         (gst_element_factory_cleanup), (gst_element_register),
4370         (__gst_element_factory_add_static_pad_template),
4371         (gst_element_factory_get_static_pad_templates),
4372         (gst_element_factory_can_src_caps),
4373         (gst_element_factory_can_sink_caps):
4374         * gst/registries/Makefile.am:
4375         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4376         (gst_xml_registry_class_init), (gst_xml_registry_init),
4377         (gst_xml_registry_new), (gst_xml_registry_set_property),
4378         (gst_xml_registry_get_property), (get_time), (make_dir),
4379         (gst_xml_registry_get_perms_func),
4380         (plugin_times_older_than_recurse), (plugin_times_older_than),
4381         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4382         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4383         (add_to_char_array), (read_string), (read_uint), (read_enum),
4384         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4385         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4386         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4387         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4388         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4389         (gst_xml_registry_rebuild):
4390         * gst/registries/gstlibxmlregistry.h:
4391         * tools/gst-compprep.c: (main):
4392         * tools/gst-inspect.c: (print_pad_templates_info):
4393         * tools/gst-xmlinspect.c: (print_element_info):
4394           Use libxml2 for registry parsing, use staticpadtemplates in
4395           elementfactories. Makes gst_init() +/- 10x faster.
4396
4397 2005-04-12  Wim Taymans  <wim@fluendo.com>
4398
4399         * gst/base/Makefile.am:
4400         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4401         (gst_basesink_pad_getcaps), (gst_basesink_init),
4402         (gst_basesink_event), (gst_basesink_change_state):
4403         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4404         (gst_basesrc_init), (gst_basesrc_query),
4405         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4406         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4407         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4408         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4409         (gst_basesrc_stop), (gst_basesrc_activate),
4410         (gst_basesrc_change_state):
4411         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4412         (helper_find_suggest), (gst_type_find_helper):
4413         * gst/base/gsttypefindhelper.h:
4414         * gst/elements/Makefile.am:
4415         * gst/elements/gstelements.c:
4416         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4417         (gst_fakesink_get_times), (gst_fakesink_event),
4418         (gst_fakesink_preroll), (gst_fakesink_render):
4419         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4420         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4421         (gst_fakesrc_get_property), (gst_fakesrc_create),
4422         (gst_fakesrc_start), (gst_fakesrc_stop):
4423         * gst/elements/gstfakesrc.h:
4424         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4425         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4426         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4427         (gst_filesrc_create_read), (gst_filesrc_create),
4428         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4429         (gst_filesrc_start):
4430         * gst/elements/gsttypefindelement.c:
4431         (gst_type_find_element_have_type), (gst_type_find_element_init),
4432         (start_typefinding), (stop_typefinding), (push_buffer_store),
4433         (gst_type_find_element_handle_event),
4434         (gst_type_find_element_chain),
4435         (gst_type_find_element_checkgetrange),
4436         (gst_type_find_element_getrange), (do_typefind),
4437         (gst_type_find_element_activate),
4438         (gst_type_find_element_change_state):
4439         * gst/elements/gsttypefindelement.h:
4440         * gst/gstpipeline.c: (pipeline_bus_handler):
4441         Added typefind helper.
4442         Small preroll fix in the base sink.
4443         Disable typefind code in basesrc.
4444         Crude port of typefindelement.
4445         Fakesrc cleanups.
4446
4447
4448 2005-04-11  Wim Taymans  <wim@fluendo.com>
4449
4450         * check/gst/gstbus.c: (gstbus_suite):
4451         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4452         * check/gstcheck.h:
4453           Fix up the timeout so that the test does not fail.
4454
4455 2005-04-06  Wim Taymans  <wim@fluendo.com>
4456
4457         * gst/base/README:
4458         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4459         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4460         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4461         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4462         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4463         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4464         (gst_basesrc_stop), (gst_basesrc_activate),
4465         (gst_basesrc_change_state), (basesrc_find_peek),
4466         (basesrc_find_suggest), (gst_basesrc_type_find):
4467         * gst/base/gstbasesrc.h:
4468         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4469         (gst_filesrc_class_init), (gst_filesrc_init),
4470         (gst_filesrc_finalize), (gst_filesrc_set_location),
4471         (gst_filesrc_set_property), (gst_filesrc_get_property),
4472         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4473         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4474         (gst_filesrc_create_read), (gst_filesrc_create),
4475         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4476         * gst/elements/gstfilesrc.h:
4477         * gst/gstelement.c: (gst_element_get_state_func),
4478         (gst_element_lost_state), (gst_element_pads_activate):
4479         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4480         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4481         (gst_pad_pull_range):
4482         * gst/gstpad.h:
4483         More work on the generic source base class, implement seeking,
4484         query.
4485         Make filesrc extend the base source class.
4486         Added gst_pad_set_checkgetrange_function to GstPad.
4487
4488 2005-04-06  Andy Wingo  <wingo@pobox.com>
4489
4490         * pkgconfig/gstreamer-base.pc.in:
4491         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4492
4493         * pkgconfig/Makefile.am:
4494         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4495
4496 2005-04-04  Wim Taymans  <wim@fluendo.com>
4497
4498         * gst/base/Makefile.am:
4499         * gst/base/README:
4500         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4501         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4502         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4503         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4504         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4505         (gst_basesrc_base_init), (gst_basesrc_class_init),
4506         (gst_basesrc_init), (gst_basesrc_get_formats),
4507         (gst_basesrc_get_query_types), (gst_basesrc_query),
4508         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4509         (gst_basesrc_set_property), (gst_basesrc_get_property),
4510         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4511         (gst_basesrc_loop), (gst_basesrc_activate),
4512         (gst_basesrc_change_state):
4513         * gst/base/gstbasesrc.h:
4514         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4515         (gst_fakesrc_class_init), (gst_fakesrc_init),
4516         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4517         (gst_fakesrc_get_property), (gst_fakesrc_create):
4518         * gst/elements/gstfakesrc.h:
4519         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4520         (gst_filesrc_open_file), (gst_filesrc_loop),
4521         (gst_filesrc_activate), (filesrc_find_peek),
4522         (gst_filesrc_type_find):
4523         Made base source class, make fakesrc extend it.
4524         Add comments to basesink class.
4525         Some filesrc cleanup.
4526
4527 2005-03-31  David Schleef  <ds@schleef.org>
4528
4529         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4530         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4531         expected to link against libgstreamer.
4532         * gst/base/Makefile.am: link against libgstreamer
4533         * gst/elements/Makefile.am: same
4534
4535 2005-03-31  Andy Wingo  <wingo@pobox.com>
4536
4537         * tests/instantiate/Makefile.am:
4538         * tests/instantiate/caps.c: Add test to test speed of caps copy
4539         and free.
4540
4541         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4542         GMemChunk to be fair.
4543
4544         * gst/gsttrashstack.h: Remove warning about using the fallback
4545         trash stack implementation, it's still faster than malloc.
4546
4547 2005-03-30  Andy Wingo  <wingo@pobox.com>
4548
4549         * tests/complexity.c: Add a copyright.
4550
4551 2005-03-31  Wim Taymans  <wim@fluendo.com>
4552
4553         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4554         (gst_base_transform_class_init), (gst_base_transform_init),
4555         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4556         (gst_base_transform_get_property),
4557         (gst_base_transform_sink_activate),
4558         (gst_base_transform_src_activate),
4559         (gst_base_transform_change_state):
4560         * gst/base/gstbasetransform.h:
4561         * gst/elements/gstidentity.c: (gst_identity_class_init),
4562         (gst_identity_event), (gst_identity_check_perfect),
4563         (gst_identity_transform), (gst_identity_start),
4564         (gst_identity_stop):
4565         Added start/stop methods to transform base class so subclasses 
4566         don't need to deal with state changes even.
4567
4568 2005-03-31  Wim Taymans  <wim@fluendo.com>
4569
4570         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4571         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4572         * gst/gstevent.h:
4573         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4574         (gst_pad_pull_range):
4575         Added rate to the discont event to prepare for variable speed
4576         and reverse playback.
4577
4578 2005-03-29  David Schleef  <ds@schleef.org>
4579
4580         * configure.ac:
4581         * testsuite/trigger/Makefile.am:
4582         * testsuite/trigger/trigger.c: A little example program to show
4583         how trigger-based elements can work.
4584
4585 2005-03-29  Wim Taymans  <wim@fluendo.com>
4586
4587         * gst/base/Makefile.am:
4588         * gst/base/README:
4589         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4590         (gst_basesink_base_init), (gst_basesink_class_init),
4591         (gst_basesink_pad_getcaps), (gst_basesink_init),
4592         (gst_basesink_activate), (gst_basesink_change_state):
4593         * gst/base/gstbasesink.h:
4594         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4595         (gst_base_transform_base_init), (gst_base_transform_finalize),
4596         (gst_base_transform_class_init), (gst_base_transform_init),
4597         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4598         (gst_base_transform_event), (gst_base_transform_getrange),
4599         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4600         (gst_base_transform_set_property),
4601         (gst_base_transform_get_property),
4602         (gst_base_transform_sink_activate),
4603         (gst_base_transform_src_activate),
4604         (gst_base_transform_change_state):
4605         * gst/base/gstbasetransform.h:
4606         * gst/elements/gstidentity.c: (gst_identity_finalize),
4607         (gst_identity_class_init), (gst_identity_init),
4608         (gst_identity_event), (gst_identity_check_perfect),
4609         (gst_identity_transform), (gst_identity_set_property),
4610         (gst_identity_get_property), (gst_identity_change_state):
4611         * gst/elements/gstidentity.h:
4612         * gst/gstelement.c: (gst_element_get_state_func),
4613         (gst_element_lost_state), (gst_element_pads_activate):
4614         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4615         (gst_pad_check_pull_range), (gst_pad_pull_range):
4616         * gst/gstpad.h:
4617         Simplify pad activation.
4618         Added function to check if pull_range can be performed.
4619         Error out when pulling inactive or flushing pads.
4620         Removed const from refcounted types as it does not make sense.
4621         Simplify pad templates in basesink
4622         Added base class for simple 1-to-1 transforms.
4623         Make identity subclass the base transform.
4624
4625 2005-03-29  Andy Wingo  <wingo@pobox.com>
4626
4627         * docs/libs/gstreamer-libs-overrides.txt: 
4628         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4629         really don't understand what's going on, but like whatever. I want
4630         green buildbot!
4631
4632         * docs/gst/Makefile.am:
4633         * docs/libs/Makefile.am: Dist the overrides files.
4634
4635         * check/Makefile.am (clean-local): Remove .libs directories.
4636
4637         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4638         elements to EXTRA_DIST, so po/ files are happy.
4639
4640         * po/POTFILES.in: Er, remove it here.
4641
4642         * po/POTFILES: Remove gstspider.c.
4643
4644         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4645
4646         * docs/libs/gstreamer-libs-docs.sgml: 
4647         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4648         bytestream.
4649
4650         * tests/complexity.c (main): Set the length of the preroll queue
4651         on the sinks to prevent a lockup.
4652
4653         * libs/gst/dataprotocol/Makefile.am: 
4654         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4655         the same as the one in check/gst-libs/gdp.c.
4656
4657         * po/, docs/gst/: Commit automatic changes to docs and po files.
4658
4659         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4660         the versioned libgstbase.
4661
4662         * check/Makefile.am: Depend on an unversioned gst-register, seems
4663         to make autoconf happier.
4664
4665         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4666
4667 2005-03-28  Wim Taymans  <wim@fluendo.com>
4668
4669         * configure.ac:
4670         * docs/design/part-gstelement.txt:
4671         * docs/design/part-negotiation.txt:
4672         * docs/design/part-preroll.txt:
4673         * docs/design/part-scheduling.txt:
4674         * docs/design/part-states.txt:
4675         * gst/Makefile.am:
4676         * gst/base/Makefile.am:
4677         * gst/base/README:
4678         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4679         (gst_basesink_base_init), (gst_basesink_class_init),
4680         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4681         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4682         (gst_basesink_set_pad_functions),
4683         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4684         (gst_basesink_set_property), (gst_basesink_get_property),
4685         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4686         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4687         (gst_basesink_preroll_queue_push),
4688         (gst_basesink_preroll_queue_empty),
4689         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4690         (gst_basesink_event), (gst_basesink_get_times),
4691         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4692         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4693         (gst_basesink_loop), (gst_basesink_activate),
4694         (gst_basesink_change_state):
4695         * gst/base/gstbasesink.h:
4696         * gst/elements/Makefile.am:
4697         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4698         (gst_fakesink_class_init), (gst_fakesink_init),
4699         (gst_fakesink_set_property), (gst_fakesink_get_property),
4700         (gst_fakesink_get_times), (gst_fakesink_event),
4701         (gst_fakesink_preroll), (gst_fakesink_render),
4702         (gst_fakesink_change_state):
4703         * gst/elements/gstfakesink.h:
4704         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4705         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4706         * gst/gstelement.c: (gst_element_add_pad),
4707         (gst_element_get_state_func), (gst_element_abort_state),
4708         (gst_element_commit_state), (gst_element_lost_state),
4709         (gst_element_set_state), (gst_element_pads_activate):
4710         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4711         * gst/gstpipeline.c: (gst_pipeline_send_event),
4712         (gst_pipeline_change_state):
4713         Added state change code.
4714         Added/updated docs.
4715         Added sink base class, make fakesink extend the base class.
4716         Small cleanups in GstPipeline.
4717
4718 2005-03-26  David Schleef  <ds@schleef.org>
4719
4720         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4721         is broken and should be implemented in a different library.
4722         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4723         * gst/gst.h: remove gstcpu.h
4724         * gst/gstcpu.c: remove
4725         * gst/gstcpu.h: remove
4726         * gst/Makefile.am.future: Remove this file.  It's ancient.
4727
4728 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4729
4730         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4731         (gst_bin_send_event):
4732           Add default event/set_manager handlers. The set_manager handler
4733           takes care that the manager is distributed over kids that were
4734           already in the bin before the manager was set. The event handler
4735           is a utility virtual function that sends the event over all sinks,
4736           so that gst_element_send_event (bin, event); has the expected
4737           behaviour.
4738         * gst/gstpad.c: (gst_pad_event_default):
4739           Re-install default event handling for discontinuities, so that
4740           seeking works without requiring hacks in applications or extra
4741           code in sinks.
4742         * gst/gstpipeline.c: (gst_pipeline_class_init),
4743         (gst_pipeline_send_event):
4744           Half hack, half utility: set a pipeline to PAUSED for seek events,
4745           since that is the only way we can guarantee a/v sync. Means that
4746           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4747           and it "just works".
4748
4749 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4750
4751         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4752           Lock/unlock mismatch.
4753
4754 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4755
4756         * docs/faq/gst-uninstalled:
4757           add gst-plugins-base
4758         * docs/gst/Makefile.am:
4759           don't error out until docs are fixed
4760         * docs/gst/gstreamer.types:
4761           remove thread
4762
4763 2005-03-22  Wim Taymans  <wim@fluendo.com>
4764
4765         * check/Makefile.am:
4766         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4767         * gst/gststructure.c: (gst_structure_set_valist),
4768         (gst_structure_copy_conditional):
4769         Activated more tests.
4770         Added message test.
4771         Added G_TYPE_POINTER to GstStructure.
4772         
4773
4774 2005-03-22  Wim Taymans  <wim@fluendo.com>
4775
4776         * docs/design/part-TODO.txt:
4777         * docs/design/part-events.txt:
4778         * docs/design/part-gstbin.txt:
4779         * docs/design/part-gstbus.txt:
4780         * docs/design/part-gstpipeline.txt:
4781         * docs/design/part-messages.txt:
4782         * gst/gstbus.c:
4783         * gst/gstmessage.c:
4784         Docs updates
4785
4786 2005-03-21  Wim Taymans  <wim@fluendo.com>
4787
4788         * gst/gstbus.c: (gst_bus_post):
4789         Fix copy-and-paste error.
4790
4791 2005-03-21  Wim Taymans  <wim@fluendo.com>
4792
4793         * check/Makefile.am:
4794         * gst/Makefile.am:
4795         * gst/elements/Makefile.am:
4796         * gst/elements/gstelements.c:
4797         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4798         (gst_fakesink_event), (gst_fakesink_chain):
4799         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4800         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4801         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4802         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4803         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4804         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4805         (gst_fakesrc_loop), (gst_fakesrc_activate),
4806         (gst_fakesrc_change_state):
4807         * gst/elements/gstfakesrc.h:
4808         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4809         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4810         (gst_filesrc_open_file), (gst_filesrc_loop),
4811         (gst_filesrc_activate), (gst_filesrc_change_state),
4812         (filesrc_find_peek), (filesrc_find_suggest),
4813         (gst_filesrc_type_find):
4814         * gst/elements/gstidentity.c: (gst_identity_finalize),
4815         (gst_identity_class_init), (gst_identity_init),
4816         (gst_identity_proxy_getcaps), (identity_queue_push),
4817         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4818         (gst_identity_getrange), (gst_identity_chain),
4819         (gst_identity_sink_loop), (gst_identity_src_loop),
4820         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4821         (gst_identity_set_property), (gst_identity_get_property),
4822         (gst_identity_change_state):
4823         * gst/elements/gstidentity.h:
4824         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4825         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4826         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4827         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4828         (gst_tee_sink_activate):
4829         * gst/elements/gsttee.h:
4830         * gst/gst.c: (gst_register_core_elements), (init_post):
4831         * gst/gst.h:
4832         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4833         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4834         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4835         (gst_bin_change_state):
4836         * gst/gstbin.h:
4837         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4838         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4839         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4840         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4841         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4842         (bus_watch_callback), (bus_watch_destroy),
4843         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4844         (poll_timeout), (gst_bus_poll):
4845         * gst/gstbus.h:
4846         * gst/gstcaps.h:
4847         * gst/gstdata.h:
4848         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4849         (gst_element_post_message), (gst_element_message_full),
4850         (gst_element_get_state_func), (gst_element_get_state),
4851         (gst_element_abort_state), (gst_element_commit_state),
4852         (gst_element_lost_state), (gst_element_set_state),
4853         (gst_element_pads_activate), (gst_element_change_state),
4854         (gst_element_dispose), (gst_element_set_manager_func),
4855         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4856         (gst_element_set_manager), (gst_element_get_manager),
4857         (gst_element_set_bus), (gst_element_get_bus),
4858         (gst_element_set_scheduler), (gst_element_get_scheduler):
4859         * gst/gstelement.h:
4860         * gst/gstevent.c: (gst_event_new_segment_seek),
4861         (gst_event_new_flush):
4862         * gst/gstevent.h:
4863         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4864         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4865         (gst_message_new_eos), (gst_message_new_error),
4866         (gst_message_new_warning), (gst_message_new_tag),
4867         (gst_message_new_state_changed), (gst_message_new_application),
4868         (gst_message_get_structure), (gst_message_parse_tag),
4869         (gst_message_parse_state_changed), (gst_message_parse_error),
4870         (gst_message_parse_warning):
4871         * gst/gstmessage.h:
4872         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4873         (gst_real_pad_set_property), (gst_pad_set_active),
4874         (gst_pad_is_active), (gst_pad_set_blocked_async),
4875         (gst_pad_set_blocked), (gst_pad_is_blocked),
4876         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4877         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4878         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4879         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4880         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4881         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4882         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4883         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4884         (gst_pad_set_caps), (gst_pad_configure_sink),
4885         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4886         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4887         (gst_real_pad_dispose), (gst_real_pad_finalize),
4888         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4889         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4890         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4891         * gst/gstpad.h:
4892         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4893         (pipeline_bus_handler), (gst_pipeline_change_state),
4894         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4895         * gst/gstpipeline.h:
4896         * gst/gstprobe.h:
4897         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4898         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4899         (gst_queue_link_src), (gst_queue_bufferalloc),
4900         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4901         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4902         (gst_queue_loop), (gst_queue_handle_src_event),
4903         (gst_queue_handle_src_query), (gst_queue_src_activate),
4904         (gst_queue_change_state):
4905         * gst/gstqueue.h:
4906         * gst/gstscheduler.c: (gst_scheduler_init),
4907         (gst_scheduler_dispose), (gst_scheduler_create_task),
4908         (gst_scheduler_factory_create):
4909         * gst/gstscheduler.h:
4910         * gst/gststructure.c: (gst_structure_get_type),
4911         (gst_structure_copy_conditional):
4912         * gst/gststructure.h:
4913         * gst/gsttaginterface.h:
4914         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4915         (gst_task_init), (gst_task_dispose), (gst_task_create),
4916         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4917         (gst_task_pause):
4918         * gst/gsttask.h:
4919         * gst/gstthread.c:
4920         * gst/gstthread.h:
4921         * gst/gsttypes.h:
4922         * gst/schedulers/Makefile.am:
4923         * gst/schedulers/cothreads_compat.h:
4924         * gst/schedulers/entryscheduler.c:
4925         * gst/schedulers/faircothreads.c:
4926         * gst/schedulers/faircothreads.h:
4927         * gst/schedulers/fairscheduler.c:
4928         * gst/schedulers/gstbasicscheduler.c:
4929         * gst/schedulers/gstoptimalscheduler.c:
4930         * gst/schedulers/gthread-cothreads.h:
4931         * gst/schedulers/threadscheduler.c:
4932         (gst_thread_scheduler_task_get_type),
4933         (gst_thread_scheduler_task_class_init),
4934         (gst_thread_scheduler_task_init),
4935         (gst_thread_scheduler_task_start),
4936         (gst_thread_scheduler_task_stop),
4937         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4938         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4939         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4940         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4941         (plugin_init):
4942         * libs/gst/Makefile.am:
4943         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4944         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4945         (gst_file_pad_parent_set):
4946         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4947         (gst_dp_event_from_packet):
4948         * tests/complexity.c: (main):
4949         * tests/mass_elements.c: (main):
4950         * testsuite/states/locked.c: (message_received), (main):
4951         * testsuite/states/parent.c: (main):
4952         * tools/gst-inspect.c: (print_element_flag_info),
4953         (print_implementation_info), (print_pad_info):
4954         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4955         (main):
4956         * tools/gst-md5sum.c: (event_loop), (main):
4957         * tools/gst-typefind.c: (main):
4958         * tools/gst-xmlinspect.c: (print_element_info):
4959         Next big merge.
4960         Added GstBus for mainloop integration.
4961         Added GstMessage for sending notifications on the bus.
4962         Added GstTask as an abstraction for pipeline entry points.
4963         Removed GstThread.
4964         Removed Schedulers.
4965         Simplified GstQueue for multithreaded core.
4966         Made _link threadsafe, removed old capsnego.
4967         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4968         Added pad blocking functions.
4969         Reworked scheduling functions in GstPad to prepare for
4970         scheduling updates soon.
4971         Moved events out of data stream.
4972         Simplified GstEvent types.
4973         Added return values to push/pull.
4974         Removed clocking from GstElement.
4975         Added prototypes for state change function for next merge.
4976         Removed iterate from bins and state change management.
4977         Fixed some elements, disabled others for now.
4978         Fixed -inspect and -launch.
4979         Added check for GstBus.
4980
4981 2005-03-10  Wim Taymans  <wim@fluendo.com>
4982
4983         * docs/design/part-MT-refcounting.txt:
4984         * docs/design/part-clocks.txt:
4985         * docs/design/part-gstelement.txt:
4986         * docs/design/part-gstobject.txt:
4987         * docs/design/part-standards.txt:
4988         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4989         (gst_bin_remove_func), (gst_bin_remove):
4990         * gst/gstbin.h:
4991         * gst/gstbuffer.c:
4992         * gst/gstcaps.h:
4993         * testsuite/clock/clock1.c: (main):
4994         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4995         (main):
4996         * testsuite/dlopen/loadgst.c: (do_test):
4997         * testsuite/refcounting/bin.c: (add_remove_test1),
4998         (add_remove_test2), (main):
4999         * testsuite/refcounting/element.c: (main):
5000         * testsuite/refcounting/element_pad.c: (main):
5001         * testsuite/refcounting/pad.c: (main):
5002         * tools/gst-launch.c: (sigint_handler_sighandler):
5003         * tools/gst-typefind.c: (main):
5004         Doc updates.
5005         Added doc about clock.
5006         removed gst_bin_iterate_recurse_up(), marked methods
5007         for removal.
5008         Fix more testsuites.
5009
5010 2005-03-09  Wim Taymans  <wim@fluendo.com>
5011
5012         * gst/gstpad.c: (gst_pad_get_direction),
5013         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5014         (gst_pad_collect_valist):
5015         * testsuite/bins/interface.c: (main):
5016         * testsuite/caps/audioscale.c: (test_caps):
5017         * testsuite/caps/caps.c: (test1), (test2), (test3):
5018         * testsuite/caps/deserialize.c: (main):
5019         * testsuite/caps/enumcaps.c: (main):
5020         * testsuite/caps/filtercaps.c: (main):
5021         * testsuite/caps/intersect2.c: (main):
5022         * testsuite/caps/random.c: (main):
5023         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5024         * testsuite/caps/sets.c: (check_caps):
5025         * testsuite/caps/simplify.c: (check_caps), (main):
5026         * testsuite/caps/subtract.c: (check_caps):
5027         Fix _pad_get_direction wrt ghostpads.
5028         Fix caps testsuite.
5029
5030 2005-03-09  Wim Taymans  <wim@fluendo.com>
5031
5032         * check/Makefile.am:
5033         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5034         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5035         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5036         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5037         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5038         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5039         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5040         (bin_element_is_sink), (gst_bin_iterate_sinks),
5041         (gst_bin_iterate_all_by_interface):
5042         * gst/gstbin.h:
5043         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5044         (gst_element_change_state), (gst_element_dispose),
5045         (gst_element_finalize), (gst_element_set_loop_function):
5046         * gst/gstelement.h:
5047         * gst/gstiterator.c: (find_custom_fold_func):
5048         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5049         (gst_pad_collectv), (gst_pad_collect_valist),
5050         (gst_pad_template_new):
5051         * gst/gstpipeline.c: (gst_pipeline_class_init),
5052         (gst_pipeline_dispose), (gst_pipeline_set_property),
5053         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5054         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5055         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5056         * gst/gstutils.h:
5057         * gst/schedulers/entryscheduler.c:
5058         * gst/schedulers/gstbasicscheduler.c:
5059         (gst_basic_scheduler_cothreaded_chain),
5060         (gst_basic_scheduler_chain_add_element):
5061         * testsuite/bins/interface.c: (main):
5062         Added GstBin test.
5063         Added GstSystemClock test.
5064         Implemented clock distribution code in GstBin.
5065         Implemented iterate sinks method for future use.
5066         Rearranged gstelement.h
5067         Fix GstIterator comparison bug.
5068         Moved some code to GstPipeline, mostly clocking related.
5069
5070 2005-03-09  Wim Taymans  <wim@fluendo.com>
5071
5072         * configure.ac:
5073         * gst/gst_private.h:
5074         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5075         (gst_bin_remove_func), (gst_bin_remove),
5076         (gst_bin_get_by_name_recurse_up):
5077         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5078         (gst_clock_id_compare_func), (gst_clock_id_wait),
5079         (gst_clock_id_wait_async), (gst_clock_init),
5080         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5081         * gst/gstelement.h:
5082         * gst/gstinfo.c: (_gst_debug_init):
5083         * gst/gstobject.h:
5084         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5085         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5086         * gst/gstpad.h:
5087         Bump version number, we're now 0.9.0
5088         Add future debugging category.
5089         Fix NULL _unref() in _get_by_name_recurse_up
5090         Rearrange gstpad.h.
5091         Update some docs.
5092
5093 2005-03-08  Wim Taymans  <wim@fluendo.com>
5094
5095         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5096         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5097         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5098         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5099         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5100         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5101         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5102         * gst/elements/gstidentity.c: (gst_identity_class_init):
5103         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5104         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5105         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5106         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5107         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5108         (gst_tee_link):
5109         * gst/gstelement.c: (gst_element_class_init),
5110         (gst_element_base_class_init), (gst_element_init),
5111         (gst_element_get_random_pad), (gst_element_wait_state_change),
5112         (gst_element_change_state), (gst_element_dispose),
5113         (gst_element_finalize), (gst_element_set_loop_function):
5114         * gst/gstelement.h:
5115         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5116         * gst/gstthread.c: (gst_thread_class_init),
5117         (gst_thread_release_children_locks), (gst_thread_change_state):
5118         * gst/schedulers/gstbasicscheduler.c:
5119         (gst_basic_scheduler_loopfunc_wrapper),
5120         (gst_basic_scheduler_chain_wrapper),
5121         (gst_basic_scheduler_src_wrapper),
5122         (gst_basic_scheduler_remove_element):
5123         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5124         Remove threadsafe properties. Fix elements because GObject
5125         complains when installing a property before declaring a
5126         set/get_property handler.
5127         Rearrange gstelement.h file, use STATE macros for state locks.
5128         Free mutexes in the finalize method instead of dispose.
5129
5130 2005-03-08  Wim Taymans  <wim@fluendo.com>
5131
5132         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5133         * gst/gstthread.c: (gst_thread_release_children_locks):
5134         Added parentage check.
5135         Fix build og GstThread again.
5136
5137 2005-03-08  Wim Taymans  <wim@fluendo.com>
5138
5139         * docs/design/part-MT-refcounting.txt:
5140         * docs/design/part-conventions.txt:
5141         * docs/design/part-gstobject.txt:
5142         * docs/design/part-relations.txt:
5143         * docs/design/part-standards.txt:
5144         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5145         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5146         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5147         (gst_bin_iterate_all_by_interface):
5148         * gst/gstbuffer.h:
5149         * gst/gstclock.h:
5150         * gst/gstelement.c: (gst_element_class_init),
5151         (gst_element_change_state), (gst_element_set_loop_function):
5152         * gst/gstelement.h:
5153         * gst/gstiterator.c:
5154         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5155         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5156         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5157         (gst_object_set_parent), (gst_object_unparent),
5158         (gst_object_check_uniqueness):
5159         * gst/gstobject.h:
5160         Docs updates, clean up some headers.
5161
5162 2005-03-07  Wim Taymans  <wim@fluendo.com>
5163
5164         * check/.cvsignore:
5165         * check/Makefile.am:
5166         * check/gst-libs/.cvsignore:
5167         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5168         * check/gst/.cvsignore:
5169         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5170         (START_TEST), (gstbus_suite), (main):
5171         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5172         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5173         (gst_data_suite), (main):
5174         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5175         (add_fold_func), (gstiterator_suite), (main):
5176         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5177         (thread_name_object), (thread_name_object_default),
5178         (gst_object_name_compare), (gst_object_suite), (main):
5179         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5180         (gst_pad_suite), (main):
5181         * check/gstcheck.c: (gst_check_log_message_func),
5182         (gst_check_log_critical_func), (gst_check_init):
5183         * check/gstcheck.h:
5184         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5185         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5186         Added checks.
5187
5188 2005-03-07  Wim Taymans  <wim@fluendo.com>
5189
5190         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5191         (gst_list_iterator_next), (gst_list_iterator_resync),
5192         (gst_list_iterator_free), (gst_iterator_new_list),
5193         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5194         (gst_iterator_free), (gst_iterator_push), (filter_next),
5195         (filter_resync), (filter_uninit), (filter_free),
5196         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5197         (gst_iterator_foreach), (find_custom_fold_func),
5198         (gst_iterator_find_custom):
5199         * gst/gstiterator.h:
5200         Added missing files.
5201
5202 2005-03-07  Wim Taymans  <wim@fluendo.com>
5203
5204         * Makefile.am:
5205         * configure.ac:
5206         * docs/design/part-MT-refcounting.txt:
5207         * docs/design/part-conventions.txt:
5208         * docs/design/part-gstobject.txt:
5209         * docs/design/part-relations.txt:
5210         * examples/mixer/mixer.c: (main):
5211         * examples/thread/thread.c: (eos), (main):
5212         * gst/Makefile.am:
5213         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5214         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5215         (gst_spider_plug_from_srcpad):
5216         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5217         (gst_spider_identity_change_state),
5218         (gst_spider_identity_sink_loop_type_finding):
5219         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5220         * gst/elements/gstidentity.c: (gst_identity_init):
5221         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5222         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5223         * gst/elements/gsttypefindelement.c: (free_entry):
5224         * gst/gst.c:
5225         * gst/gst.h:
5226         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5227         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5228         (gst_bin_set_index), (gst_bin_set_element_sched),
5229         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5230         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5231         (gst_bin_iterate_elements), (iterate_child_recurse),
5232         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5233         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5234         (compare_interface), (gst_bin_get_by_interface),
5235         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5236         * gst/gstbin.h:
5237         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5238         (gst_buffer_default_free), (gst_buffer_default_copy),
5239         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5240         (gst_buffer_create_sub):
5241         * gst/gstbuffer.h:
5242         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5243         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5244         (gst_caps_unref), (gst_static_caps_get),
5245         (gst_caps_remove_and_get_structure), (gst_caps_append),
5246         (gst_caps_append_structure), (gst_caps_remove_structure),
5247         (gst_caps_copy_nth), (gst_caps_set_simple),
5248         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5249         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5250         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5251         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5252         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5253         (gst_caps_structure_figure_out_union),
5254         (gst_caps_switch_structures), (gst_caps_do_simplify),
5255         (gst_caps_replace), (gst_caps_from_string),
5256         (gst_caps_copy_conditional):
5257         * gst/gstcaps.h:
5258         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5259         (_gst_clock_id_free), (gst_clock_id_unref),
5260         (gst_clock_id_compare_func), (gst_clock_id_wait),
5261         (gst_clock_id_wait_async), (gst_clock_class_init),
5262         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5263         (gst_clock_get_time), (gst_clock_set_time_adjust),
5264         (gst_clock_set_property), (gst_clock_get_property):
5265         * gst/gstclock.h:
5266         * gst/gstcompat.h:
5267         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5268         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5269         * gst/gstdata.h:
5270         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5271         (gst_element_requires_clock), (gst_element_provides_clock),
5272         (gst_element_set_clock), (gst_element_clock_wait),
5273         (gst_element_wait), (gst_element_set_time_delay),
5274         (gst_element_is_indexable), (gst_element_add_pad),
5275         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5276         (pad_compare_name), (gst_element_get_static_pad),
5277         (gst_element_request_pad), (gst_element_get_request_pad),
5278         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5279         (gst_element_class_get_pad_template_list),
5280         (gst_element_class_get_pad_template), (gst_element_error_func),
5281         (gst_element_get_random_pad), (gst_element_get_event_masks),
5282         (gst_element_send_event), (gst_element_seek),
5283         (gst_element_get_query_types), (gst_element_query),
5284         (gst_element_get_formats), (gst_element_convert),
5285         (gst_element_is_locked_state), (gst_element_set_locked_state),
5286         (gst_element_sync_state_with_parent), (gst_element_change_state),
5287         (gst_element_finalize), (gst_element_yield),
5288         (gst_element_interrupt), (gst_element_set_scheduler),
5289         (gst_element_get_scheduler), (gst_element_set_loop_function):
5290         * gst/gstelement.h:
5291         * gst/gstevent.h:
5292         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5293         (gst_format_get_by_nick), (gst_format_get_details),
5294         (gst_format_iterate_definitions):
5295         * gst/gstformat.h:
5296         * gst/gstindex.c: (gst_index_gtype_resolver):
5297         * gst/gstinfo.c:
5298         * gst/gstinfo.h:
5299         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5300         (gst_mem_chunk_free):
5301         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5302         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5303         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5304         (gst_object_dispatch_properties_changed),
5305         (gst_object_set_name_default), (gst_object_set_name),
5306         (gst_object_get_name), (gst_object_set_name_prefix),
5307         (gst_object_get_name_prefix), (gst_object_set_parent),
5308         (gst_object_get_parent), (gst_object_unparent),
5309         (gst_object_check_uniqueness), (gst_object_save_thyself),
5310         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5311         (gst_object_set_property), (gst_object_get_property),
5312         (gst_object_get_path_string):
5313         * gst/gstobject.h:
5314         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5315         (gst_real_pad_init), (gst_real_pad_get_property),
5316         (gst_pad_custom_new), (gst_pad_get_direction),
5317         (gst_pad_set_active), (gst_pad_is_active),
5318         (gst_pad_set_event_function), (gst_pad_is_linked),
5319         (gst_pad_link_free), (gst_pad_link_intersect),
5320         (gst_pad_link_fixate), (gst_pad_set_caps),
5321         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5322         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5323         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5324         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5325         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5326         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5327         (gst_pad_realize), (gst_pad_get_allowed_caps),
5328         (gst_real_pad_dispose), (gst_real_pad_finalize),
5329         (gst_pad_collectv), (gst_pad_collect_valist),
5330         (gst_pad_template_dispose), (gst_pad_template_new),
5331         (gst_pad_get_internal_links):
5332         * gst/gstpad.h:
5333         * gst/gstpipeline.c: (gst_pipeline_dispose),
5334         (gst_pipeline_change_state):
5335         * gst/gstpipeline.h:
5336         * gst/gstplugin.c:
5337         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5338         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5339         * gst/gstpluginfeature.h:
5340         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5341         * gst/gstquery.c: (_gst_query_type_initialize),
5342         (gst_query_type_register), (gst_query_type_get_by_nick),
5343         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5344         * gst/gstquery.h:
5345         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5346         * gst/gstscheduler.c: (gst_scheduler_add_element),
5347         (gst_scheduler_factory_create):
5348         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5349         (gst_structure_free), (gst_structure_set_name),
5350         (gst_structure_id_set_value), (gst_structure_set_value),
5351         (gst_structure_set_valist), (gst_structure_remove_field),
5352         (gst_structure_remove_fields),
5353         (gst_structure_remove_fields_valist),
5354         (gst_structure_remove_all_fields), (gst_structure_foreach),
5355         (gst_structure_map_in_place),
5356         (gst_caps_structure_fixate_field_nearest_int),
5357         (gst_caps_structure_fixate_field_nearest_double):
5358         * gst/gststructure.h:
5359         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5360         (gst_system_clock_init), (gst_system_clock_dispose),
5361         (gst_system_clock_async_thread),
5362         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5363         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5364         * gst/gstsystemclock.h:
5365         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5366         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5367         * gst/gsttaginterface.c:
5368         * gst/gstthread.c: (gst_thread_dispose),
5369         (gst_thread_release_children_locks), (gst_thread_change_state),
5370         (gst_thread_main_loop):
5371         * gst/gsttrashstack.h:
5372         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5373         * gst/gsttypes.h:
5374         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5375         (gst_element_request_pad), (gst_element_get_pad_from_template),
5376         (gst_element_request_compatible_pad),
5377         (gst_element_get_compatible_pad_filtered),
5378         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5379         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5380         (gst_element_link_many), (gst_element_link),
5381         (gst_element_link_pads), (gst_element_unlink_pads),
5382         (gst_element_unlink_many), (gst_element_unlink),
5383         (gst_pad_can_link_filtered), (gst_pad_can_link),
5384         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5385         (gst_object_default_error), (gst_bin_add_many),
5386         (gst_bin_remove_many), (gst_element_populate_std_props),
5387         (gst_element_class_install_std_props), (gst_buffer_merge),
5388         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5389         (link_fold_func), (gst_pad_proxy_setcaps):
5390         * gst/gstutils.h:
5391         * gst/gstvalue.c: (gst_value_deserialize_string):
5392         * gst/parse/grammar.y:
5393         * gst/schedulers/gstbasicscheduler.c:
5394         (gst_basic_scheduler_cothreaded_chain),
5395         (gst_basic_scheduler_chain_recursive_add),
5396         (gst_basic_scheduler_pad_link):
5397         * gst/schedulers/gstoptimalscheduler.c:
5398         (get_group_schedule_function),
5399         (gst_opt_scheduler_state_transition),
5400         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5401         * libs/gst/bytestream/bytestream.c:
5402         * libs/gst/dataprotocol/dataprotocol.c:
5403         (gst_dp_header_from_buffer):
5404         * po/nb.po:
5405         * po/ru.po:
5406         * tests/threadstate/threadstate2.c: (eos):
5407         * tools/gst-compprep.c: (main):
5408         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5409         (print_pad_info), (print_children_info):
5410         * tools/gst-launch.c: (idle_func), (main):
5411         * tools/gst-md5sum.c: (idle_func), (main):
5412         * tools/gst-xmlinspect.c: (print_element_info):
5413         First THREADED backport attempt, focusing on adding locks and
5414         making sure the API is threadsafe. Needs more work. More docs
5415         follow this week.
5416
5417 2005-02-24  Andy Wingo  <wingo@pobox.com>
5418
5419         * tests/bench-complexity.scm:
5420         * tests/complexity.gnuplot: New files, good for running complexity
5421         benchmarks.
5422
5423         * tests/Makefile.am:
5424         * tests/complexity.c: New test, sets up N elements, at each level
5425         teeing into M streams per element. Eeeenteresting.
5426
5427         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5428         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5429         running bench-mass_elements.scm.
5430
5431         * tests/bench-mass_elements.scm: New script, runs mass_elements
5432         for various numbers of identities, outputting the results to a
5433         file. Requires guile 1.6. Just for testing.
5434
5435 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5436
5437         * gst/schedulers/fairscheduler.c:
5438           compile with debug disabled
5439
5440 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5441
5442         * configure.ac:
5443           hunting season on 0.9 is now OPEN
5444
5445 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5446
5447         * docs/libs/tmpl/gstcontrol.sgml:
5448         * docs/libs/tmpl/gstdparam.sgml:
5449         * docs/libs/tmpl/gstdplinint.sgml:
5450         * docs/libs/tmpl/gstdpman.sgml:
5451         * docs/libs/tmpl/gstdpsmooth.sgml:
5452         * docs/libs/tmpl/gstunitconvert.sgml:
5453           more docs for the state of dparams
5454
5455 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5456
5457         * gst/gstelementfactory.c: (gst_element_factory_create):
5458         * gst/gstobject.c: (gst_object_init),
5459         (gst_object_set_name_default), (gst_object_set_name):
5460           name objects by default, not in gst_element_factory_create. Allows
5461           using elements created with g_object_new. (fixes #167283)
5462
5463 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5464
5465         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5466           make the time that debugging functions print relative to when
5467           gst_init was called
5468
5469 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5470
5471         * gst/gsttaginterface.c:
5472           Fix inline docs: tag setter vararg functions are NULL-terminated,
5473           GST_TAG_INVALID doesn't exist any more.
5474
5475 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5476
5477         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5478         Allocate the 1 byte more memory that was forgotten!!!!!
5479         fixes memory corruption on 64bit platforms
5480
5481 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5482
5483         * docs/pwg/building-pads.xml:
5484         * docs/pwg/intro-basics.xml:
5485           fixed a few typos, relabeled introductionary list of types
5486         * docs/random/ensonic/dparams.txt:
5487           more notes abut dparam changes
5488         * libs/gst/control/dparam.c: (gst_dparam_attach):
5489         * libs/gst/control/dparammanager.c:
5490         * libs/gst/control/dparammanager.h:
5491           - many comments and notes on dparam implementation
5492           - new dparams are were not initialized to the default value
5493             from param spec
5494
5495 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5496
5497         submitted by: Peter Astakhov
5498
5499         * po/LINGUAS:
5500         * po/ru.po:
5501           adding Russian translation
5502
5503 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5504
5505         * configure.ac:
5506         * docs/gst/Makefile.am:
5507         * docs/libs/Makefile.am:
5508           make sure popt is added to gtk-doc flags.  Fixes #147782.
5509
5510 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5511
5512         * docs/faq/using.xml:
5513           Fix typo in FAQ (artssink => artsdsink)
5514
5515 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5516
5517         * tools/gst-launch.1.in:
5518           Fix typo (#166699).
5519
5520 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5521
5522         * docs/faq/using.xml:
5523           Add -v argument to fakesrc/fakesink gst-launch line,
5524           so that the promised output will actually show up.
5525
5526 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5527
5528         * gst/gstthread.c: (gst_thread_change_state):
5529           Implement state-change error handling (#166073).
5530
5531 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5532
5533         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5534           Release interrupt after handling (#166250).
5535
5536 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5537
5538         * configure.ac:
5539           back to HEAD
5540
5541 === release 0.8.9 ===
5542
5543 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5544
5545         * NEWS:
5546         * RELEASE:
5547         * configure.ac:
5548           releasing 0.8.9, "Like Eating Glass"
5549
5550 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5551
5552         submitted by: Clytie Siddall
5553
5554         * po/vi.po: Added Vietnamese translation
5555
5556 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5557
5558         patch by: Tim Philipp-Müller
5559
5560         * configure.ac:
5561         * gst/gstpad.c:
5562           unref data when probe function returns FALSE.  Fixes #166362
5563
5564 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5565
5566         * gst/gst.c: (gst_init_get_popt_table):
5567           Fix typo (#166269).
5568
5569 2005-02-04  Andy Wingo  <wingo@pobox.com>
5570
5571         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5572         the debugging on whether the caps are compatible.
5573
5574 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5575
5576         * docs/manual/basics-elements.xml:
5577           Fix two typos.
5578
5579 2005-02-02  Wim Taymans  <wim@fluendo.com>
5580
5581         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5582         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5583         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5584         Remove some FIXMEs after analysing and commenting why they
5585         are not issues.
5586
5587 2005-02-02  Wim Taymans  <wim@fluendo.com>
5588
5589         * gst/schedulers/gstoptimalscheduler.c:
5590         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5591         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5592         (get_invalid_call), (chain_invalid_call),
5593         (get_group_schedule_function), (loop_group_schedule_function),
5594         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5595         (gst_opt_scheduler_state_transition),
5596         (gst_opt_scheduler_add_element),
5597         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5598         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5599         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5600         (gst_opt_scheduler_show):
5601         Added lock to protect scheduler data structures.
5602
5603 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5604
5605         * testsuite/threads/threadi.c: (cb_data):
5606           Fix buglet in test.
5607
5608 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5609
5610         * testsuite/threads/Makefile.am:
5611         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5612           On Wim's request, split the test in three separately-compiled
5613           tests that each test a very specific bug. Two of them still fail,
5614           will create bugs for those. threadi.c indicates why they fail.
5615
5616 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5617
5618         * gst/schedulers/gstoptimalscheduler.c:
5619         (get_group_schedule_function):
5620           Try to work with the threading mess that queue_link is.
5621
5622 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5623
5624         * gst/gstbin.c: (gst_bin_remove_func):
5625           Explicitely make an element release locks in a group when being
5626           remove from a bin.
5627         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5628           If there's no scheduler, always return immediately (similar to
5629           gst_element_interrupt).
5630
5631 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5632
5633         * gst/gstbin.c: (gst_bin_child_state_change_func):
5634           Remove a piece of code that could never be reached.
5635         * docs/gst/gstreamer-sections.txt:
5636         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5637         (gst_pad_call_get_function):
5638         * gst/gstpad.h:
5639         * testsuite/pad/Makefile.am:
5640           Fix #150546, enable tests.
5641
5642 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5643
5644         * docs/pwg/advanced-types.xml:
5645           Fix description for buffer-frames=0.
5646         * docs/gst/tmpl/gstbin.sgml:
5647         * gst/gstbin.c: (gst_bin_child_state_change_func),
5648         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5649         * gst/gstbin.h:
5650         * testsuite/threads/Makefile.am:
5651         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5652         (cb_state), (cb_play), (main):
5653           Fix non-recursive state changes to *really* change the state
5654           of the object, and not just call parent_class->state_change.
5655           Fix a lot of lockups caused by this. Fixes #132775. Add test
5656           for the problem. Also enable test to show #142588 (fixed).
5657         * gst/gstthread.c: (gst_thread_change_state),
5658         (gst_thread_child_state_change):
5659           Don't exit the thread if we go to NULL and are inside thread
5660           context. Instead, return control to the main thread context
5661           and exit from there.
5662         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5663           Don't unset virtual functions, since those may still be used.
5664           That's not necessarily correct, but suffices for now.
5665         * configure.ac:
5666         * testsuite/Makefile.am:
5667         * testsuite/pad/Makefile.am:
5668         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5669         (gst_test_sink_base_init), (gst_test_sink_chain),
5670         (gst_test_sink_init), (main):
5671         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5672         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5673         (main):
5674         * testsuite/pad/link.c: (gst_test_element_class_init),
5675         (gst_test_element_base_init), (gst_test_src_get),
5676         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5677         (gst_test_filter_loop), (gst_test_filter_init),
5678         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5679         (cb_error), (main):
5680           Add tests to show #150546. Pass, but should fail (currently
5681           disabled from the testsuite).
5682         * gst/gstscheduler.c: (gst_scheduler_dispose):
5683           Dereference child schedulers on dispose (#94464).
5684         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5685           Fix typo.
5686         * testsuite/threads/thread.c: (main):
5687           Add more debug.
5688
5689 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5690
5691         * gst/gstpad.c: (gst_pad_push):
5692           Oops, revert previous commit, broke testsuite...
5693
5694 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5695
5696         * gst/gstpad.c: (gst_pad_push):
5697           Add check that the pad on which the push is performed is not a
5698           get-based pad (#150546).
5699
5700 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5701
5702         * gst/elements/gsttypefindelement.c:
5703         (gst_type_find_element_handle_event):
5704           Fix buffer pushing if stream EOSes during typefinding.
5705
5706 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5707
5708         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5709
5710         * gst/gstvalue.c: (gst_string_wrap):
5711           Allow NULL-strings as argument (#165365).
5712
5713 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5714
5715         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5716
5717         * gst/schedulers/faircothreads.c:
5718         (gst_fair_scheduler_cothread_queue_show):
5719           Fix build without debug enabled.
5720
5721 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5722
5723         * docs/gst/gstreamer-sections.txt:
5724         * docs/libs/gstreamer-libs-docs.sgml:
5725         * docs/libs/gstreamer-libs-sections.txt:
5726         * docs/libs/tmpl/gstcontrol.sgml:
5727         * docs/libs/tmpl/gstdparam.sgml:
5728         * docs/libs/tmpl/gstdplinint.sgml:
5729         * docs/libs/tmpl/gstdpman.sgml:
5730         * docs/libs/tmpl/gstdpsmooth.sgml:
5731         * docs/libs/tmpl/gstputbits.sgml:
5732         * docs/libs/tmpl/gstunitconvert.sgml:
5733         * libs/gst/control/dparam.c:
5734         * libs/gst/control/dparam.h:
5735         * libs/gst/control/dparammanager.c:
5736         (gst_dpman_add_required_dparam_callback),
5737         (gst_dpman_add_required_dparam_direct),
5738         (gst_dpman_add_required_dparam_array),
5739         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5740         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5741         (gst_dpman_get_manager)
5742           restructured DParam docs
5743
5744 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5745
5746         * gst-element-check.m4:
5747           Only check for gst-inspect if we haven't already
5748           found it in previous element check runs
5749
5750 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5751
5752         * docs/gst/Makefile.am:
5753         * docs/libs/Makefile.am:
5754           fixed install rules to treat style.css as optional
5755
5756 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5757
5758         * docs/gst/Makefile.am:
5759         * docs/libs/Makefile.am:
5760           install style.css along with docs
5761         * docs/gst/tmpl/gstbin.sgml:
5762         * docs/gst/tmpl/gstclock.sgml:
5763         * docs/gst/tmpl/gstdata.sgml:
5764         * docs/gst/tmpl/gstelement.sgml:
5765         * gst/gstbin.h:
5766         * gst/gstelement.c: (gst_element_class_init):
5767         * gst/gstelement.h:
5768           fixing incomplete docs
5769
5770 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5771
5772         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5773           Don't unref seek event twice when fflush() fails
5774           
5775 2005-01-22  David Schleef  <ds@schleef.org>
5776
5777         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5778
5779 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5780
5781         * docs/gst/Makefile.am:
5782         * docs/libs/Makefile.am:
5783           added params for deprecation guards
5784         * gst/gst.c:
5785         * gst/gst.h:
5786         * gst/gsterror.c: (_gst_resource_errors_init),
5787         (_gst_stream_errors_init):
5788         * gst/gsterror.h:
5789           documented some more enums
5790
5791 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5792         * gst/autoplug/gstspideridentity.c:
5793         Cosmetic fix - spider_find_peek should be static
5794         * gst/parse/parse.l:
5795         Applying fix for #164261
5796
5797 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5798
5799         * docs/gst/gstreamer-sections.txt:
5800         * docs/gst/tmpl/gstplugin.sgml:
5801         * docs/libs/gstreamer-libs-sections.txt:
5802         * docs/libs/tmpl/gstcontrol.sgml:
5803         * gst/gstbuffer.h:
5804         * gst/gsttag.h:
5805         * gst/gstvalue.c:
5806           added docs for the TAG defines
5807
5808 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5809
5810         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5811           Only unref entry if there is an entry.
5812
5813 2005-01-17  Wim Taymans  <wim@fluendo.com>
5814
5815         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5816         (remove_from_group), (schedule_group), (normalize_group),
5817         (gst_opt_scheduler_iterate):
5818         Also ref/unref decoupled elements before iterating the
5819         group since they are not added to the list of elements.
5820
5821 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5822
5823         * docs/manual/highlevel-components.xml:
5824           Add subtitle/streamselection as new features to playbin.
5825
5826 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5827
5828         * docs/manual/manual.xml:
5829           Re-enable dataaccess docs (oops).
5830
5831 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5832
5833         * docs/pwg/advanced-types.xml:
5834         * docs/random/mimetypes:
5835           Add documentation on libsndfile types (#163309), by Steve Baker
5836           <steve@stevebaker.org>.
5837         * gst/gstelement.c: (gst_element_release_request_pad):
5838           If an element has no explicit function, just remove the pad.
5839
5840 2005-01-17  Luca Ognibene  <luogni@tin.it>
5841
5842         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5843
5844         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5845           Fix memleak (#163801).
5846
5847 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5848
5849         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5850           I think this is actually more correct...
5851
5852 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5853
5854         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5855           Another workaround for memory access while destroyed in callback.
5856           Please, someone with refcount knowledge, have a look at this.
5857
5858 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5859
5860         * docs/faq/faq.xml:
5861         * docs/faq/legal.xml:
5862           move the legal Q&A here
5863
5864 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5865
5866         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5867         (gst_tee_request_new_pad):
5868           Fix negotiation.
5869
5870 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5871
5872         * docs/random/omega/caps2:
5873         * testsuite/caps/caps_strings:
5874           replace framerate aproximations by their real value
5875           (24000/1001, 30000/1001, 60000/1001)
5876           Partially fixes bug #164049
5877
5878 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5879
5880         * docs/gst/Makefile.am:
5881           don't fail on the stupid GstPoptOption
5882
5883 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5884
5885         * gst/gstpad.h:
5886         * gst/gstprobe.c:
5887           allow probes to work on ghost pads by realizing the pad
5888           probe debugging
5889
5890 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5891
5892         * docs/gst/gstreamer-sections.txt:
5893         * docs/gst/tmpl/gstpad.sgml:
5894         * gst/gstpad.c: (gst_pad_set_active_recursive):
5895         * gst/gstpad.h:
5896           Add gst_pad_set_active_recursive().
5897
5898 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5899
5900         * docs/random/release:
5901           updates
5902         * gst/gst_private.h:
5903         * gst/gstinfo.c:
5904         * gst/gstobject.c:
5905           move deep_notify logging to a new category
5906         * gst/gstprobe.c:
5907         * gst/gstprobe.h:
5908           add stuff so bindings can wrap probes
5909
5910 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5911
5912         * gst/gstplugin.c: (gst_plugin_load):
5913           Fix plugin loading if plugin/lib was already loaded. Fixes
5914           #163383
5915
5916 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5917
5918         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5919
5920         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5921           Protect plugin loading by a mutex so it's threadsafe. Fixes
5922           #163234.
5923
5924 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5925
5926         * gst/gstevent.c: (_gst_event_copy):
5927           Reference source object when copying events, since it'll be
5928           dereferenced on event dereferencing as well.
5929
5930 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5931
5932         * docs/gst/gstreamer-sections.txt:
5933         * docs/gst/tmpl/gstevent.sgml:
5934         * gst/gstevent.c: (gst_event_new_filler_stamped),
5935         (gst_event_filler_get_duration):
5936         * gst/gstevent.h:
5937           Add two new functions for filler events (which are used to
5938           synchronize streams if one of them is not having any data
5939           for a while) without interrupting the actual data-stream.
5940           Basically a no-op.
5941         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5942         (gst_queue_link_sink), (gst_queue_link_src),
5943         (gst_queue_change_state):
5944           Allow for renegotiation while filled. Required for stream
5945           switching while playing.
5946
5947 2005-01-08  Benjamin Otte  <otte@gnome.org>
5948
5949         * gst/gstelement.c: (gst_element_link_many):
5950           fix up g_return_if_fail's
5951         * po/LINGUAS:
5952         * po/de.po:
5953           add German translation, that was somehow not included
5954
5955 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5956
5957         * docs/random/mimetypes:
5958           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5959           do not add them to riff-lib as they are not common
5960
5961 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5962
5963         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5964           Check for existence of probe after performing the probe before
5965           re-accessing it to prevent segfaults caused by removal of the
5966           probe in the callback.
5967
5968 2005-01-05  David Schleef  <ds@schleef.org>
5969
5970         * testsuite/registry/Makefile.am:
5971         * testsuite/registry/gst-print-formats.c:
5972         (print_pad_templates_info), (print_element_list),
5973         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5974         (g_list_uniqify), (get_pad_templates_info),
5975         (get_element_mime_list), (print_mime_list), (main): A little
5976         program that looks through the registry to find elements of
5977         a given type.  Not particularly interesting as a test, except
5978         that there's no other test covering the same area.
5979
5980 2005-01-05  David Schleef  <ds@schleef.org>
5981
5982         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5983         (fault_handler_sigaction), (fault_spin),
5984         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5985         in signal.h-type signal handlers by not calling forbidden functions,
5986         including gst_element_set_state().
5987
5988 2005-01-05  David Schleef  <ds@schleef.org>
5989
5990         * gst/gstvalue.h: Mark _gst_reserved[] as private
5991
5992 2005-01-05  David Schleef  <ds@schleef.org>
5993
5994         * gst/gstvalue.c: Fix doc build problem.
5995
5996 2005-01-05  David Schleef  <ds@schleef.org>
5997
5998         * gst/gstvalue.c: Add some documentation
5999
6000 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6001
6002         * docs/README:
6003           another shell oneliner for empty return value docs
6004         * gst/gstcaps.c:
6005         * gst/gstvalue.c:
6006         * libs/gst/control/dparam.c:
6007           more doc fixes (parameters and return values)
6008
6009 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6010
6011         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6012
6013         * gst/gstregistry.h:
6014         * gst/registries/gstxmlregistry.c:
6015           Fix macro's for Mingw (fixes #162276).
6016
6017 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6018
6019         * docs/README:
6020           quick shell oneliner to find undocumented members
6021         * docs/gst/tmpl/gstplugin.sgml:
6022         * docs/gst/tmpl/gstscheduler.sgml:
6023         * docs/gst/tmpl/gstthread.sgml:
6024           more enumtypes cleanup
6025         * gst/gsterror.h:
6026           activated documentation comments, now someone needs to document
6027           the enums :(
6028
6029 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6030
6031         * docs/manual/manual.xml:
6032           Add dataaccess part (doh!).
6033
6034 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6035
6036         * docs/manual/advanced-autoplugging.xml:
6037           Fix typo (intiate -> initiate).
6038
6039 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6040
6041         * docs/random/bbb/streamselection:
6042           Add some notes on how to handle multi-subtitle/-audio streams.
6043
6044 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6045
6046         * docs/gst/gstreamer-docs.sgml:
6047         * docs/gst/gstreamer-sections.txt:
6048         * docs/gst/tmpl/gstenumtypes.sgml:
6049         * docs/gst/tmpl/gsterror.sgml:
6050         * docs/gst/tmpl/gstevent.sgml:
6051         * docs/gst/tmpl/gstpad.sgml:
6052         * docs/gst/tmpl/gstpadtemplate.sgml:
6053         * docs/gst/tmpl/gstthread.sgml:
6054           removed gstenumtypes section from docs and put all the enums into
6055           their sections
6056
6057 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6058
6059         * gst/gstplugin.c:
6060           document gst_library_load a bit more (riff special case + return
6061           value if already loaded)
6062         * testsuite/bytestream/filepadsink.c:
6063           plugin name is 'gstbytestream', not 'bytestream'
6064
6065 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6066
6067         * docs/random/bbb/subtitles:
6068           Add some first mind rumblings on proper subtitle support.
6069
6070 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6071
6072         * po/ca.po:
6073         * po/sv.po:
6074           updated translations
6075
6076 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6077
6078         * docs/manual/advanced-dataaccess.xml:
6079           Add section on how to use fakesrc/fakesink/identity in your
6080           application, plus section on how to embed plugins. Also mention
6081           probes.
6082         * docs/manual/appendix-checklist.xml:
6083         * docs/manual/appendix-debugging.xml:
6084         * docs/manual/appendix-gnome.xml:
6085         * docs/manual/appendix-integration.xml:
6086           Debug -> checklist, GNOME -> integration, add sections on Linux,
6087           KDE integration and add other things useful for application
6088           development.
6089         * docs/manual/manual.xml:
6090           Remove some fixmes, update some file pointers.
6091         * docs/pwg/appendix-checklist.xml:
6092           Fix typo.
6093         * docs/pwg/building-boiler.xml:
6094           Remove ugly header and add commented fixme.
6095         * docs/pwg/pwg.xml:
6096           Add fixme.
6097         * examples/manual/Makefile.am:
6098           Add example for added docs.
6099
6100 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6101
6102         * configure.ac:
6103           back to HEAD
6104
6105 === release 0.8.8 ===
6106
6107 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6108
6109         * NEWS:
6110         * RELEASE:
6111         * configure.ac:
6112           Releasing 0.8.8, "I'll Take Care Of You"
6113
6114 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6115
6116         * configure.ac:
6117           second prerelease
6118
6119 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6120
6121         patch by: Wim Taymans
6122
6123         * gst/gstbin.c:
6124           Fix for #159852 - make iterate emission threadsafe
6125
6126 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6127
6128         * docs/faq/cvs.xml:
6129           notes about new fdo account request
6130
6131 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6132
6133         * docs/gst/gstreamer-docs.sgml:
6134         * docs/gst/tmpl/gstenumtypes.sgml:
6135         * docs/gst/tmpl/gstplugin.sgml:
6136         * docs/libs/gstreamer-libs-docs.sgml:
6137           Added missing short docs. Added ids for navigation.
6138
6139 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6140
6141         * docs/manual/advanced-autoplugging.xml:
6142         * docs/manual/advanced-schedulers.xml:
6143         * docs/manual/advanced-threads.xml:
6144           Rewrites. Remove cothreads, go a bit into opt specifically,
6145           document threads and their gotchas, and do some technical stuff
6146           on autoplugging plus add some working examples. Fixes #157395.
6147         * examples/manual/Makefile.am:
6148           Add typefind/autoplugger example (one that actually works).
6149           Remove queue example since it's a duplicate of the thread one.
6150
6151 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6152
6153         * gst/gstvalue.c: (gst_value_deserialize_string):
6154           use deprecated g_value_set_string_take_ownership to keep compatible
6155           with glib 2.2
6156
6157 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6158
6159         * gst/gstvalue.c: (gst_value_deserialize_string):
6160           revert last patch, only dom a g_utf8_validate now before accepting
6161           the string - caps parsing strips " from strings so we can't rely on
6162           them
6163         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6164           disable a test that tested the above and comment it
6165
6166 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6167
6168         Patch reviewed by David Schleef  <ds@schleef.org>
6169
6170         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6171         bug #153882)
6172         * win32/gstenumtypes.h: same
6173
6174 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6175
6176         * gst/gstpad.c: (gst_pad_query):
6177           Do query on realized pad, similar to how convert/send_event handle
6178           this. Also makes sense, since this pad belongs to the function to
6179           which this query will be sent. Fixes #158163.
6180
6181 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6182
6183         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6184
6185 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6186
6187         * docs/faq/general.xml: fix pipeline to actually work
6188
6189 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6190
6191         * gst/gstvalue.c: (gst_value_deserialize_string):
6192           check that a simple string that gets deserialized does not contain
6193           invalid characters
6194         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6195           remove a test that tested a wring behaviour
6196
6197 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6198
6199         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6200
6201         * docs/manual/intro-motivation.xml:
6202           Fix typos.
6203
6204 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6205
6206         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6207
6208         * docs/gst/tmpl/gstprobe.sgml:
6209           Fix documentation of probe callback - it is supposed to return
6210           FALSE, not TRUE, to remove data from the stream (#159087).
6211
6212 2004-12-16  Daniel Gazard  <dany42@free.fr>
6213
6214         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6215
6216         * gst/gstelementfactory.c: (gst_element_factory_create):
6217           Fix compile failure if compiling without libxml2 support (#149936).
6218
6219 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6220
6221         * docs/manual/advanced-autoplugging.xml:
6222         * docs/manual/highlevel-components.xml:
6223           Move spider from autoplugging to components. Autoplugging is for
6224           internals, not for solutions. ;-).
6225
6226 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6227
6228         * docs/random/ds/0.9-suggested-changes:
6229           Make note on device/location/uri property names.
6230
6231 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6232
6233         * docs/manual/advanced-autoplugging.xml:
6234         * docs/manual/advanced-clocks.xml:
6235         * docs/manual/advanced-interfaces.xml:
6236         * docs/manual/advanced-metadata.xml:
6237         * docs/manual/advanced-position.xml:
6238         * docs/manual/advanced-schedulers.xml:
6239         * docs/manual/advanced-threads.xml:
6240         * docs/manual/appendix-gnome.xml:
6241         * docs/manual/appendix-programs.xml:
6242         * docs/manual/appendix-quotes.xml:
6243         * docs/manual/autoplugging.xml:
6244         * docs/manual/basics-bins.xml:
6245         * docs/manual/basics-data.xml:
6246         * docs/manual/basics-elements.xml:
6247         * docs/manual/basics-helloworld.xml:
6248         * docs/manual/basics-init.xml:
6249         * docs/manual/basics-pads.xml:
6250         * docs/manual/basics-plugins.xml:
6251         * docs/manual/bins-api.xml:
6252         * docs/manual/bins.xml:
6253         * docs/manual/buffers-api.xml:
6254         * docs/manual/buffers.xml:
6255         * docs/manual/clocks.xml:
6256         * docs/manual/components.xml:
6257         * docs/manual/cothreads.xml:
6258         * docs/manual/debugging.xml:
6259         * docs/manual/dparams-app.xml:
6260         * docs/manual/dynamic.xml:
6261         * docs/manual/elements-api.xml:
6262         * docs/manual/elements.xml:
6263         * docs/manual/factories.xml:
6264         * docs/manual/gnome.xml:
6265         * docs/manual/goals.xml:
6266         * docs/manual/helloworld.xml:
6267         * docs/manual/helloworld2.xml:
6268         * docs/manual/highlevel-components.xml:
6269         * docs/manual/highlevel-xml.xml:
6270         * docs/manual/init-api.xml:
6271         * docs/manual/intro-basics.xml:
6272         * docs/manual/intro-motivation.xml:
6273         * docs/manual/intro-preface.xml:
6274         * docs/manual/intro.xml:
6275         * docs/manual/links-api.xml:
6276         * docs/manual/links.xml:
6277         * docs/manual/manual.xml:
6278         * docs/manual/motivation.xml:
6279         * docs/manual/pads-api.xml:
6280         * docs/manual/pads.xml:
6281         * docs/manual/plugins-api.xml:
6282         * docs/manual/plugins.xml:
6283         * docs/manual/programs.xml:
6284         * docs/manual/queues.xml:
6285         * docs/manual/quotes.xml:
6286         * docs/manual/schedulers.xml:
6287         * docs/manual/states-api.xml:
6288         * docs/manual/states.xml:
6289         * docs/manual/threads.xml:
6290         * docs/manual/typedetection.xml:
6291         * docs/manual/win32.xml:
6292         * docs/manual/xml.xml:
6293           Try 2. This time, include a short preface as a "general
6294           introduction", also add code blocks around all code samples
6295           so they get compiled. We still need a way to tell readers
6296           the filename of the code sample. In some cases, don't show
6297           all code in the documentation, but do include it in the generated
6298           code. This allows for focussing on specific bits in the docs,
6299           while still having a full test application available.
6300         * examples/manual/Makefile.am:
6301           Fix up examples for new ADM. Add several of the new examples that
6302           were either added or were missing from the build system.
6303         * examples/manual/extract.pl:
6304           Allow nameless blocks.
6305
6306 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6307
6308         * docs/manual/elements-api.xml:
6309         * docs/manual/helloworld.xml:
6310         * examples/manual/extract.pl:
6311           fix last example.  Add example of adding code blocks that are not
6312           shown in docbook output.
6313
6314 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6315
6316         * docs/manual/dynamic.xml:
6317         * docs/manual/elements-api.xml:
6318         * docs/manual/gnome.xml:
6319         * docs/manual/helloworld2.xml:
6320         * docs/manual/init-api.xml:
6321         * docs/manual/queues.xml:
6322         * docs/manual/threads.xml:
6323         * docs/manual/xml.xml:
6324         * examples/manual/extract.pl:
6325           Make it possible to extract example code from separate blocks.
6326           Should make Ronald happy.
6327
6328 2004-12-15  Wim Taymans  <wim@fluendo.com>
6329
6330         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6331         (remove_from_group), (group_elements_set_visited),
6332         (normalize_group), (gst_opt_scheduler_iterate):
6333         Fix bug where a flag was not updated on a decoupled entry point 
6334         because we were just checking the group element list and decoupled
6335         elements are not in that list..
6336
6337 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6338
6339         * docs/manual/advanced-autoplugging.xml:
6340         * docs/manual/advanced-clocks.xml:
6341         * docs/manual/advanced-dparams.xml:
6342         * docs/manual/advanced-interfaces.xml:
6343         * docs/manual/advanced-metadata.xml:
6344         * docs/manual/advanced-position.xml:
6345         * docs/manual/advanced-schedulers.xml:
6346         * docs/manual/advanced-threads.xml:
6347         * docs/manual/appendix-debugging.xml:
6348         * docs/manual/appendix-gnome.xml:
6349         * docs/manual/appendix-programs.xml:
6350         * docs/manual/appendix-quotes.xml:
6351         * docs/manual/appendix-win32.xml:
6352         * docs/manual/autoplugging.xml:
6353         * docs/manual/basics-bins.xml:
6354         * docs/manual/basics-data.xml:
6355         * docs/manual/basics-elements.xml:
6356         * docs/manual/basics-helloworld.xml:
6357         * docs/manual/basics-init.xml:
6358         * docs/manual/basics-pads.xml:
6359         * docs/manual/basics-plugins.xml:
6360         * docs/manual/bins-api.xml:
6361         * docs/manual/bins.xml:
6362         * docs/manual/buffers-api.xml:
6363         * docs/manual/buffers.xml:
6364         * docs/manual/clocks.xml:
6365         * docs/manual/components.xml:
6366         * docs/manual/cothreads.xml:
6367         * docs/manual/debugging.xml:
6368         * docs/manual/dparams-app.xml:
6369         * docs/manual/dynamic.xml:
6370         * docs/manual/elements-api.xml:
6371         * docs/manual/elements.xml:
6372         * docs/manual/factories.xml:
6373         * docs/manual/gnome.xml:
6374         * docs/manual/goals.xml:
6375         * docs/manual/helloworld.xml:
6376         * docs/manual/helloworld2.xml:
6377         * docs/manual/highlevel-components.xml:
6378         * docs/manual/highlevel-xml.xml:
6379         * docs/manual/init-api.xml:
6380         * docs/manual/intro-motivation.xml:
6381         * docs/manual/intro-preface.xml:
6382         * docs/manual/intro.xml:
6383         * docs/manual/links-api.xml:
6384         * docs/manual/links.xml:
6385         * docs/manual/manual.xml:
6386         * docs/manual/motivation.xml:
6387         * docs/manual/pads-api.xml:
6388         * docs/manual/pads.xml:
6389         * docs/manual/plugins-api.xml:
6390         * docs/manual/plugins.xml:
6391         * docs/manual/programs.xml:
6392         * docs/manual/queues.xml:
6393         * docs/manual/quotes.xml:
6394         * docs/manual/schedulers.xml:
6395         * docs/manual/states-api.xml:
6396         * docs/manual/states.xml:
6397         * docs/manual/threads.xml:
6398         * docs/manual/typedetection.xml:
6399         * docs/manual/win32.xml:
6400         * docs/manual/xml.xml:
6401           First try at rewriting the ADM. Needs lotsamore work, but some
6402           parts might already be somewhat useful.
6403         * docs/pwg/advanced-interfaces.xml:
6404           Remove properties interface, it never actually existed (except for
6405           on my HD...).
6406
6407 2004-12-13  David Schleef  <ds@schleef.org>
6408
6409         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6410         be NULL (bug #160220).
6411
6412 2004-12-13  David Schleef  <ds@schleef.org>
6413
6414         * configure.ac: remove all mmx stuff, because it's not used.
6415         * docs/random/ds/0.9-suggested-changes: additional notes
6416         * include/Makefile.am: we don't use these anymore
6417         * include/mmx.h: remove
6418         * include/sse.h: remove
6419
6420 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6421
6422         * docs/random/mimetypes:
6423           Add FOURCC code for h264 codec (VSSH)
6424           Add alternate FOURCC codes for h263 related codecs
6425
6426 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6427
6428         * docs/manual/programs.xml:
6429           Added more gst-launch examples.
6430
6431 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6432
6433         * gst/gstqueue.c: (gst_queue_handle_src_query):
6434           Check for availability again.
6435
6436 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6437
6438         * gst/gstcaps.c: (gst_caps_compare_structures):
6439           Simple caps go first. This has the nice side-effect of fixing an
6440           obscure warning.
6441
6442 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6443
6444         * gst/gstversion.h.in:
6445           Protect header.
6446
6447 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6448
6449         * gst/schedulers/gstoptimalscheduler.c:
6450         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6451         (gst_opt_scheduler_get_wrapper):
6452           When we're recursing into a chain run, only run the directly
6453           related group, not all queued ones. This will fix a possible
6454           deadlock in chains with more than two groups.
6455
6456 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6457
6458         * autogen.sh:
6459           remove patch if autopoint fails
6460
6461 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6462
6463         * docs/gst/gstreamer-sections.txt:
6464           Document Thomas' addition, fix build, make Luis the sheriff happy.
6465
6466 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6467
6468         * gst/gstplugin.c:
6469         * gst/gstplugin.h:
6470           add accessor for version field
6471
6472 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6473
6474         submitted by: Luca Ferretti <elle.uca@infinito.it>
6475
6476         * po/LINGUAS:
6477         * po/it.po:
6478           New tranlation added: Italian
6479
6480 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6481
6482         * gst/gstpad.c: (gst_pad_is_negotiated),
6483         (gst_pad_get_negotiated_caps):
6484           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6485           it doesn't actually check the contents), so be sure to hand it
6486           a RealPad else we'll crash.
6487
6488 2004-12-03  Wim Taymans  <wim@fluendo.com>
6489
6490         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6491         (gst_queue_link), (gst_queue_handle_src_query):
6492         Reverted to 1.110 until this makes the testsuite and various
6493         apps work.
6494
6495 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6496
6497         * docs/upload.mak: fix included CVS conflict strings
6498
6499 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6500
6501         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6502
6503         * gst/gstelement.c: (gst_element_error_full):
6504           Use g_error_new_literal because error text may have
6505           percentage signs in it. Fixes #160019.
6506
6507 2004-12-01  Benjamin Otte  <otte@gnome.org>
6508
6509         * gst/elements/gstbufferstore.c:
6510         (gst_buffer_store_add_buffer_func):
6511           don't try to make subbuffers bigger than they can be. (fixes
6512           #159970)
6513
6514 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6515
6516         * docs/gst/gstreamer-sections.txt:
6517         * docs/gst/tmpl/gstvalue.sgml:
6518           Add new function to docs to fix build.
6519
6520 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6521
6522         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6523         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6524         (_gst_pad_default_fixate_foreach):
6525         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6526         * gst/gstvalue.h:
6527           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6528           in some cases (arrays), the fixedness depends on the content.
6529         * gst/gstqueue.c: (gst_queue_handle_src_query):
6530           Check for availability before doing something.
6531
6532 2004-11-29  Wim Taymans  <wim@fluendo.com>
6533
6534         * testsuite/threads/Makefile.am:
6535         * testsuite/threads/signals.c: (gst_test_get_type),
6536         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6537         (gst_test_set_property), (gst_test_get_property),
6538         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6539         (gst_test_do_prop), (run_thread), (main):
6540         Added a bunch of testcases that show threadsafety bugs in glib.
6541
6542 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6543
6544         * docs/manual/programs.xml:
6545           Added a first batch of gst-launch examples, as provided by Ronald
6546           and others from the devel-mlist
6547
6548 2004-11-28  Benjamin Otte  <otte@gnome.org>
6549
6550         * gst/gstelement.c: (gst_element_negotiate_pads):
6551           simplify
6552         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6553         (gst_value_serialize_string), (gst_value_deserialize_string):
6554           add unwrapping of previously wrapped strings. Fix bug in wrapping
6555           while at it.
6556         * testsuite/caps/value_serialize.c: (test1),
6557         (test_string_serialization), (test_string_deserialization), (main):
6558           add tests for string (de)serialization
6559
6560 2004-11-26  Wim Taymans  <wim@fluendo.com>
6561
6562         * testsuite/threads/159566.c: (object_deep_notify), (main):
6563         * testsuite/threads/Makefile.am:
6564         Added testsuite to show bug #159566
6565
6566 2004-11-25  Wim Taymans  <wim@fluendo.com>
6567
6568         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6569         (gst_thread_child_state_change), (gst_thread_main_loop):
6570         Ref the thread object in the GThread mainloop. Break out of the
6571         thread mainloop if it holds the last ref. This properly exits
6572         the threads when disposing the thread from its own context. It
6573         also avoids possible deadlocks in the dispose function.
6574
6575 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6576
6577         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6578         it is necessary to wait.
6579
6580 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6581
6582         * docs/pwg/building-boiler.xml:
6583           Make description somewhat clearer.
6584
6585 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6586
6587         * docs/upload.mak:
6588           Apparently docs changed location on FDO's server.
6589
6590 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6591
6592         * docs/pwg/appendix-checklist.xml:
6593           Add some random notes on things to check when writing an element.
6594           This list can be extended as people see fit.
6595
6596 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6597
6598         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6599         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6600         pad. The queue will now wait until it is empty and forward the new
6601         caps to the source.
6602         * gst/gstbin.c (gst_bin_set_element_sched)
6603         (gst_bin_unset_element_sched): Make sure that all elements and
6604         links are registered and unregistered with the scheduler exactly
6605         once. This elaborates on a fix by Benjamin Otte, but
6606         guarantees that decoupled elements are also registered.
6607
6608 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6609
6610         * docs/manual/quotes.xml:
6611           add a quote
6612         * configure.ac:
6613         * gst/gst.c:
6614         * gst/gstinfo.c:
6615           add LIBDIR and move init message higher up so it's at the start
6616
6617 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6618
6619         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6620         * gstreamer.spec.in: add fair
6621
6622 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6623
6624         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6625         * gst/elements/gstidentity.c: (gst_identity_class_init):
6626           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6627           <teuf@gnome.org> (#157263).
6628         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6629         (gst_type_find_handle_src_query):
6630           Subtract size of internally stored data from position queries.
6631
6632 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6633
6634         * gst/schedulers/fairscheduler.c:
6635         * gst/schedulers/faircothreads.c:
6636         * gst/schedulers/faircothreads.h:
6637         New cothread based scheduler: Fair scheduler.
6638         * gst/schedulers/gthread-cothreads.h: 
6639         Add the standard #if around the whole file.
6640         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6641         compilation of the functions defined in this file. This is
6642         necessary to be able to use this file as a normal header.
6643         * gst/schedulers/Makefile.am: Add compiling support for fair
6644         scheduler.
6645         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6646         scheduler cothreads layer from documentation generation.
6647
6648 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6649
6650         * gst/autoplug/gstspideridentity.c:
6651         (gst_spider_identity_sink_loop_type_finding):
6652           Don't crash if that function is not implemented.
6653
6654 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6655
6656         * docs/pwg/advanced-types.xml:
6657           Another typo.
6658
6659 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6660
6661         * docs/pwg/intro-preface.xml:
6662           Hm, ok, so the brackets weren't really useful...
6663         * docs/pwg/other-ntoone.xml:
6664           Fix embarassing typo.
6665
6666 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6667
6668         * docs/pwg/intro-preface.xml:
6669           Rewrite preface.
6670
6671 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6672
6673         * docs/pwg/advanced-scheduling.xml:
6674         * docs/pwg/advanced-tagging.xml:
6675         * docs/pwg/advanced-types.xml:
6676         * docs/pwg/building-boiler.xml:
6677         * docs/pwg/building-chainfn.xml:
6678         * docs/pwg/building-signals.xml:
6679         * docs/pwg/building-state.xml:
6680         * docs/pwg/building-testapp.xml:
6681         * docs/pwg/intro-basics.xml:
6682         * docs/pwg/other-manager.xml:
6683         * docs/pwg/other-source.xml:
6684           Typo fixes.
6685         * docs/pwg/other-manager.xml:
6686           Add some first content. No example code yet.
6687         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6688           Remove double newlines.
6689
6690 2004-11-04  Wim Taymans  <wim@fluendo.com>
6691
6692         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6693         (remove_from_group), (normalize_group), (group_migrate_connected),
6694         (gst_opt_scheduler_iterate):
6695         * testsuite/schedulers/.cvsignore:
6696         * testsuite/schedulers/Makefile.am:
6697         * testsuite/schedulers/queue_link.c: (main):
6698         Added testcase for scheduler segfault.
6699         Fix scheduler segfault when removing a decoupled
6700         entry point as the last element from a group.
6701
6702 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6703
6704         * gst/gstmarshal.list: add missing marshaller, fixes build
6705
6706 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6707
6708         * docs/random/signal: added notes about using BOXED for GstBuffer
6709         signal marshallers, not POINTER
6710
6711 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6712
6713         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6714         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6715         POINTER=>BOXED changes to marshal GstBuffers
6716
6717 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6718
6719         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6720         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6721
6722 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6723
6724         * docs/gst/gstreamer-sections.txt:
6725         * docs/gst/tmpl/gstcaps.sgml:
6726         * docs/gst/tmpl/gsterror.sgml:
6727         * docs/gst/tmpl/gstinfo.sgml:
6728         * docs/gst/tmpl/gstmacros.sgml:
6729         * docs/gst/tmpl/gstutils.sgml:
6730         * docs/random/ensonic/interfaces.txt:
6731         * gst/gstinfo.h:
6732           added some more docs, removed two obsolete defines
6733
6734 2004-11-02  Kjartan Maraas <as at gnome.org>
6735
6736         reviewed by: Wim Taymans, Ronald Bultje.
6737
6738         * gst/cothreads.c: (cothread_create):
6739         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6740         (gst_bin_child_state_change_func):
6741         * gst/gstbuffer.c: (gst_buffer_span):
6742         * gst/gstelement.c: (gst_element_get_index),
6743         (gst_element_get_event_masks), (gst_element_get_query_types),
6744         (gst_element_get_formats):
6745         * gst/gsterror.c: (_gst_core_errors_init),
6746         (_gst_library_errors_init), (_gst_resource_errors_init),
6747         (_gst_stream_errors_init):
6748         * gst/gstobject.c: (gst_object_default_deep_notify):
6749         * gst/gstpad.c: (gst_pad_get_event_masks),
6750         (gst_pad_get_internal_links_default):
6751         * gst/gstplugin.c: (gst_plugin_register_func),
6752         (gst_plugin_get_module):
6753         * gst/gststructure.c: (gst_structure_get_string),
6754         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6755         (gst_structure_to_abbr):
6756         * gst/gstutils.c: (gst_print_element_args):
6757         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6758         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6759         Aplied part of patch #157127: Cleanup of issues reported by 
6760         sparse.
6761         Also do not try to use cothreads when there is no cothread
6762         context yet.
6763
6764 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6765
6766         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6767         (gst_opt_scheduler_iterate):
6768         Applied patch #154061. Running a pipeline in which an element 
6769         calls GST_ELEMENT_ERROR in the chain function, the opt 
6770         scheduler doesn't unref the chain so it never gets freed.
6771
6772 2004-11-02  Wim Taymans  <wim@fluendo.com>
6773
6774         * gst/gststructure.c: (gst_structure_get_abbrs),
6775         (gst_structure_from_abbr), (gst_structure_to_abbr):
6776         Remove that ugly if-then thing in the code that converts
6777         between strings and types.
6778
6779 2004-11-02  Wim Taymans  <wim@fluendo.com>
6780
6781         * gst/gstscheduler.c: (gst_scheduler_add_element),
6782         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6783         Aplied clock distribution patch, this should fix bug
6784         #148787.
6785
6786 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6787
6788         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6789
6790         * po/LINGUAS:
6791         * po/nb.po:
6792           Added Norwegian Bokmaal translation
6793
6794 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6795
6796         * tools/gst-inspect.c: (print_signal_info):
6797           print signal arguments as pointers if they are
6798
6799 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6800
6801         * docs/pwg/building-boiler.xml:
6802           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6803
6804 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6805
6806         * gst/parse/parse.l:
6807         * testsuite/parse/parse1.c: (main):
6808         Since parse can do 'element name=a:b' make 'a:b.' work as
6809         well. 
6810         Added testcase to verify fix.
6811
6812 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6813
6814         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6815         Use the realpad when printing the direction.
6816         Add extra \n when printing extensions of typefind factories.
6817
6818 2004-10-13  David Schleef  <ds@schleef.org>
6819
6820         * examples/manual/Makefile.am: $< isn't portable in Makefile
6821         rules.
6822
6823 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6824
6825         * docs/gst/tmpl/gstobject.sgml:
6826         * docs/gst/tmpl/gstplugin.sgml:
6827         * docs/gst/tmpl/gstpluginfeature.sgml:
6828         * docs/gst/tmpl/gstregistry.sgml:
6829         * docs/gst/tmpl/gstversion.sgml:
6830         * gst/gstbin.c:
6831           more api documentation
6832         * gst/gstplugin.c: (gst_plugin_register_func),
6833         (gst_plugin_check_file), (gst_plugin_load_file):
6834           better error signaling and logging
6835
6836 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6837
6838         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6839           Subtract current queue contents from position queries.
6840
6841 2004-10-11  Johan Dahlin  <johan@gnome.org>
6842
6843         * gst/gsturi.c (gst_uri_get_location): unescape string
6844         (gst_uri_construct): escape string.
6845
6846 2004-10-11  Benjamin Otte  <otte@gnome.org>
6847
6848         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6849         (gst_pad_try_set_caps_nonfixed):
6850           allow renegotiation of unconnected pads (as inside spider). Simply
6851           return OK if unconnected - mimic try_set_caps there.
6852
6853 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6854
6855         * gst/gstbin.c: (gst_bin_sync_children_state):
6856           Add missing break.
6857
6858 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6859
6860         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6861         Set element to EOS before sending EOS event
6862
6863 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6864
6865         * gst/elements/gsttypefindelement.c:
6866         (gst_type_find_element_handle_event):
6867         Handle EOS events when doing the transition from
6868         typefind to data passing. This should fix the
6869         infinite loops in short files.
6870
6871 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6872
6873         * gst/gstthread.c: (gst_thread_change_state),
6874         (gst_thread_child_state_change):
6875         Make sure no iteration happens while performing
6876         the state change as it could mess up the internal
6877         consistency of the thread state.
6878
6879 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6880
6881         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6882         (gst_thread_change_state), (gst_thread_child_state_change):
6883         Do not try to grab the iterate lock in the state change method
6884         when we are in the same thread as the iterate or else we
6885         could deadlock. Some other cleanups.
6886
6887 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6888
6889         * configure.ac:
6890           bump nano to cvs
6891
6892 === release 0.8.7 ===
6893
6894 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6895
6896         * configure.ac:
6897         * NEWS:
6898         * RELEASE:
6899         * configure.ac:
6900           releasing 0.8.7, "A Cruise"
6901
6902 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6903
6904         * docs/random/mimetypes:
6905         Add an entry for Sony ATRAC3 audio format with mime-type
6906         used by rmdemux et riff-read
6907
6908 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6909
6910         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6911         Push the buffer store instead of clearing it in case that
6912         the stream is not seekable.
6913
6914 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6915
6916         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6917         (gst_thread_main_loop):
6918         Lock the iteration and the state change so that automatic
6919         negotiation and fixation does not happen at the same time
6920         as the in stream negotiation.
6921
6922 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6923
6924         * configure.ac:
6925           bump nano to cvs
6926
6927 === release 0.8.6 ===
6928
6929 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6930
6931         * configure.ac:
6932         * NEWS:
6933         * RELEASE:
6934         * configure.ac:
6935           releasing 0.8.6, "Narc"
6936
6937 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6938
6939         * configure.ac:
6940           prerel bump
6941
6942 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6943
6944         patch by: Steve Lhomme
6945
6946         * gst/elements/gstfakesrc.c:
6947         * gst/elements/gstidentity.c:
6948         * gst/gstthread.c:
6949           Fix for #153881
6950
6951 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6952
6953         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6954         Fix threadsafety of the crc checking function.
6955
6956 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6957
6958         patch by: Ronald Bultje
6959
6960         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6961         (gst_type_find_element_handle_event),
6962         (gst_type_find_element_chain):
6963         * gst/elements/gsttypefindelement.h:
6964          #153657.
6965          Filter out discont event from seekable sources when typefind
6966          asks them to seek.  Fixes typefind with demuxers for
6967          avi, asf and matroska.
6968
6969 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6970
6971         * docs/gst/gstreamer-sections.txt:
6972         * gst/gstcaps.c:
6973         * gst/gstcaps.h:
6974         * gst/gstpad.c:
6975           Revert preferred caps: (#147789)
6976
6977 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6978
6979         * win32/dirent.c:
6980           fix a memory leak
6981
6982 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6983
6984         * configure.ac:
6985           bump for prerelease
6986
6987 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6988
6989         * docs/Makefile.am:
6990         * docs/manual/elements-api.xml:
6991           restructure so that common stuff is shown first
6992         * docs/manual/init-api.xml:
6993           convert to examples
6994         * docs/manual/manual.xml:
6995         * docs/manuals.mak:
6996         * docs/url.entities:
6997           link to API on the website, possibly override later in build
6998         * examples/manual/.cvsignore:
6999           ignore more
7000         * examples/manual/Makefile.am:
7001           add more examples
7002         * examples/manual/extract.pl:
7003           error out on failure
7004
7005 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7006
7007         * docs/gst/tmpl/gstthread.sgml:
7008         * docs/manual/init-api.xml:
7009         * examples/manual/Makefile.am:
7010           convert two code bits to examples
7011
7012 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7013
7014         * gst/gstelement.c: (gst_element_change_state):
7015           Well, actually, I was about to remove this insane assert when
7016           I noticed Wim already did that. A warning is nice so we can
7017           fix actual ugs (using --g-fatal-warnings and backtraces), so
7018           I added that instead.
7019
7020 2004-09-06  Wim Taymans  <wim@fluendo.com>
7021
7022         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7023         (gst_element_threadsafe_properties_post_run),
7024         (gst_element_set_state), (gst_element_change_state):
7025         Added extra refcounting around various places. 
7026
7027 2004-09-06  Wim Taymans  <wim@fluendo.com>
7028
7029         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7030         Fix debug info.
7031
7032 2004-09-06  Wim Taymans  <wim@fluendo.com>
7033
7034         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7035         (remove_from_group):
7036         Some more debug info.
7037
7038 2004-09-03  Wim Taymans  <wim@fluendo.com>
7039
7040         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7041         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7042         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7043         (gst_fakesrc_get), (gst_fakesrc_change_state):
7044         * gst/elements/gstfakesrc.h:
7045         * gst/elements/gstidentity.c: (gst_identity_class_init),
7046         (gst_identity_init), (gst_identity_chain),
7047         (gst_identity_set_property), (gst_identity_get_property),
7048         (gst_identity_change_state):
7049         * gst/elements/gstidentity.h:
7050         Added datarate properties to limit the datarate.
7051
7052 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7053
7054         * gst/autoplug/gstspider.c: (plugin_init):
7055           don't set a rank. We don't want to autoplug by inserting spiders.
7056
7057 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7058
7059         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7060         (gst_spider_identity_plug):
7061           add a template for spider's sink
7062         * gst/gst.c: (gst_register_core_elements):
7063           queue's rank should be NULL, we don't want spider to add it.
7064
7065 2004-08-18  David Schleef  <ds@schleef.org>
7066
7067         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7068         * docs/libs/Makefile.am: same
7069         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7070         * docs/random/ds/0.9-planning: random additions
7071         * docs/random/ds/0.9-suggested-changes: same
7072         * gst/gstxml.h: remove vestigal GstXMLNs definition
7073
7074         Preferred caps: (#147789)
7075         * docs/gst/gstreamer-sections.txt: Add symbols
7076         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7077         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7078         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7079         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7080         (gst_caps_get_preferred), (gst_caps_set_preferred),
7081         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7082         (gst_caps_use_preferred): Handle caps preferences
7083         * gst/gstcaps.h: Add caps preferences
7084         * gst/gstpad.c: (gst_pad_link_get_preferred),
7085         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7086         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7087         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7088         negotiation.
7089
7090 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7091
7092         * gst/autoplug/gstspideridentity.c:
7093         (gst_spider_identity_request_new_pad):
7094         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7095         (gst_aggregator_init):
7096         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7097         (gst_fakesink_init):
7098         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7099         (gst_fakesrc_init):
7100         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7101         (gst_fdsink_init):
7102         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7103         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7104         (gst_filesink_init):
7105         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7106         (gst_filesrc_init):
7107         * gst/elements/gstidentity.c: (gst_identity_base_init),
7108         (gst_identity_init):
7109         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7110         (gst_multifilesrc_init):
7111         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7112         (gst_pipefilter_init):
7113         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7114         (gst_statistics_init):
7115         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7116         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7117           s/gst_pad_new/&_from_template/
7118           register pad templates in the base_init function
7119           add static pad template definitions
7120
7121 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7122
7123         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7124         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7125         * testsuite/refcounting/pad.c: (main):
7126         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7127           s/gst_pad_new/&_from_template/
7128           prepare deprecation of gst_pad_new
7129
7130 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7131
7132         patch by: Luca Ognibene <skaboy81@virgilio.it>
7133
7134         * gst/gstcaps.c:
7135         * gst/gstelement.c:
7136         * gst/gstpad.c:
7137         * gst/gstxml.c:
7138           fix memleaks.  Fixes #150001
7139
7140 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7141
7142         * docs/random/ds/0.9-suggested-changes:
7143           add notes - mostly about pad templates
7144
7145 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7146
7147         * win32/GStreamer.vcproj:
7148           temporary locale files are .gmo not .mo
7149
7150 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7151
7152         * configure.ac: bump nano to cvs
7153
7154 === release 0.8.5 ===
7155
7156 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7157
7158         * configure.ac:
7159           releasing 0.8.5, "Stuttgart"
7160         * NEWS:
7161         * RELEASE:
7162         * configure.ac:
7163         * docs/random/release:
7164           updates for release
7165
7166 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7167
7168         patch by: Wim Taymans (wim@fluendo.com)
7169
7170         * gst/gstbuffer.c:
7171         * gst/gstindex.h:
7172         * libs/gst/dataprotocol/dataprotocol.c:
7173           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7174
7175 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7176
7177         * Makefile.am:
7178         * win32/MANIFEST:
7179           add win32 dir to the build.  Fixes #149981.
7180
7181 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7182
7183         * configure.ac:
7184           bump libtool versioning
7185         * gst/gststructure.c:
7186           mark function as static
7187         * po/af.po:
7188         * po/az.po:
7189         * po/ca.po:
7190         * po/cs.po:
7191         * po/en_GB.po:
7192         * po/fr.po:
7193         * po/nl.po:
7194         * po/sq.po:
7195         * po/sr.po:
7196         * po/sv.po:
7197         * po/tr.po:
7198         * po/uk.po:
7199           translations update
7200         * win32/README.txt:
7201           trademark protection
7202
7203 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7204
7205         * configure.ac:
7206           fix GST_ORIGIN
7207           set GST_PACKAGE to source, and distinguish between release and other
7208         * tools/gst-inspect.c:
7209           print out plugin an element factory is part of so we see this info
7210
7211 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7212
7213         * docs/gst/gstreamer-sections.txt:
7214         * docs/gst/tmpl/gstbuffer.sgml:
7215         * docs/gst/tmpl/gstschedulerfactory.sgml:
7216           reorder docs a little, make GstBuffer's more sensible.
7217         * gst/gstbuffer.h:
7218           API: added GST_BUFFER_FLAG_DELTA_UNIT
7219         * gst/gstscheduler.c:
7220           comment API addition
7221
7222 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7223
7224         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7225           work with non-regular files that can be mmapped (like /dev/zero)
7226         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7227           get rid of typefinds that require a seek when we can't seek instead
7228           of trying them over and over again
7229         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7230           return non-zero failure value when the pipeline was interrupted or
7231           an error occurred
7232
7233 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7234
7235         * win32/config.h:
7236         * win32/GStreamer.vcproj:
7237           compile and install the locales
7238
7239 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7240
7241         * gst/gstvalue.c:
7242           fix a possible memory leak under Windows
7243
7244 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7245
7246         * win32/GStreamer.vcproj:
7247           fix a memory leak that occured under Windows
7248         * win32/gstreamer.def:
7249           add gst_scheduler_register
7250
7251 2004-08-11  Benjamin Otte  <otte@gnome.org>
7252
7253         * docs/gst/gstreamer-sections.txt:
7254         * gst/gstscheduler.c: (gst_scheduler_register):
7255         * gst/gstscheduler.h:
7256           API:
7257           add gst_scheduler_register shortcut similar to gst_element_register
7258         * gst/schedulers/entryscheduler.c: (plugin_init):
7259         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7260         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7261           use it
7262
7263 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7264
7265         * gst/gstvalue.h:
7266           fix a memory leak that occured under Windows
7267
7268 2004-08-10  Colin Walters  <walters@redhat.com>
7269
7270         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7271         Don't use O_EXCL to open temporary registry.  It will prevent
7272         registry creation if a temporary one already exists, which
7273         is unnecessary.
7274
7275 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7276
7277         * docs/gst/gstreamer-sections.txt:
7278         * docs/gst/tmpl/gstvalue.sgml:
7279           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7280
7281 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7282
7283         * win32/gstbytestream.vcproj:
7284         * win32/gstelements.vcproj:
7285         * win32/gstgetbits.vcproj:
7286         * win32/gst-inspect.vcproj:
7287         * win32/gst-launch.vcproj:
7288         * win32/gstoptimalscheduler.vcproj:
7289         * win32/GStreamer.vcproj:
7290         * win32/gst-register.vcproj:
7291         * win32/gstspider.vcproj:
7292           update the include and lib dirs to fit standard libraries as
7293           described in the Win32 manual
7294
7295 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7296
7297         * win32/config.h:
7298         * win32/gstversion.h:
7299           enable NLS again, push the version number for the coming 0.8.5 release
7300
7301 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7302
7303         * gst/gstvalue.h:
7304           export gst_type_XXX for windows DLLs
7305
7306 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7307
7308         * docs/faq/gst-uninstalled:
7309           fix PKG_CONFIG_PATH and PYTHONPATH
7310         * gst/schedulers/Makefile.am:
7311           cleanup
7312         * libs/gst/bytestream/bytestream.c:
7313           remove newline
7314         * po/LINGUAS:
7315         * po/sq.po:
7316           adding Albanian translation (Laurent Dhima)
7317         * po/cs.po:
7318           updated
7319
7320 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7321
7322         * po/ca.po:
7323         * po/sv.po:
7324           updated translations
7325
7326 2004-08-04  Benjamin Otte  <otte@gnome.org>
7327
7328         * tests/mass_elements.c: (main):
7329           allow specifying src and sink element explicitly, so I can test
7330           videotestsrc instead of fakesrc
7331
7332 2004-08-04  Benjamin Otte  <otte@gnome.org>
7333
7334         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7335         (gst_structure_id_empty_new), (gst_structure_empty_new),
7336         (gst_structure_copy):
7337           add gst_structure_id_empty_new_with_size to allow preallocating
7338           value array sizes. Use this in gst_structure_copy to get rid of
7339           reallocs.
7340           don't do quark=>string=>quark when copying structures
7341
7342 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7343
7344         * docs/manual/win32.xml:
7345         * win32/README.txt:
7346           update documentation with the clean version of dependencies
7347
7348 2004-08-03  Benjamin Otte  <otte@gnome.org>
7349
7350         * gst/schedulers/entryscheduler.c:
7351         (gst_entry_scheduler_remove_element):
7352           fix for GST_DISABLE_DEBUG
7353         * tools/gst-launch.c: (print_tag):
7354           fixes for G_DISABLE_ASSERT
7355
7356 2004-08-03  Benjamin Otte  <otte@gnome.org>
7357
7358         * gst/gst.c: (gst_register_core_elements):
7359           fix for G_DISABLE_ASSERT
7360         * gst/gstinfo.c: (__gst_in_valgrind):
7361           add for GST_DISABLE_DEBUG
7362
7363 2004-08-03  Benjamin Otte  <otte@gnome.org>
7364
7365         * gst/parse/parse.l:
7366           fix for G_DISABLE_ASSERT
7367
7368 2004-08-03  Wim Taymans  <wim@fluendo.com>
7369
7370         * gst/gstbin.c: (gst_bin_get_type),
7371         (gst_bin_child_state_change_func):
7372         * gst/gstthread.c: (gst_thread_change_state):
7373         Backported some debug logging from a reverted patch
7374         Don't try to destroy the thread twice. Added some more
7375         debugging in GstThread. Unlock and signal even if we
7376         are in the thread context.
7377
7378 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7379
7380         * po/uk.po:
7381           updated translation
7382
7383 2004-07-30  David Schleef  <ds@schleef.org>
7384
7385         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7386
7387 2004-07-29  David Schleef  <ds@schleef.org>
7388
7389         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7390         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7391
7392 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7393
7394         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7395         (gst_bin_add_func), (gst_bin_remove_func),
7396         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7397         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7398         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7399         (gst_bin_sync_children_state):
7400         * gst/gstbin.h:
7401         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7402         (gst_thread_change_state):
7403         * testsuite/states/Makefile.am:
7404           revert state change patches as agreed so we can rework them
7405           gradually
7406
7407 2004-07-29  Benjamin Otte  <otte@gnome.org>
7408
7409         * libs/gst/control/Makefile.am:
7410           link to libgstreamer (fixes Debian bug 262019, see
7411           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7412
7413 2004-07-29  Wim Taymans  <wim@fluendo.com>
7414
7415         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7416         (check_from_fraction_convert), (transform_test), (main):
7417         Make the test less pedantic about float roundoff errors.
7418
7419 2004-07-29  Benjamin Otte  <otte@gnome.org>
7420
7421         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7422         (gst_filesrc_srcpad_event):
7423           make seek events to before start/after end of file not fail, but
7424           seek to start/end instead
7425         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7426           add more output
7427
7428 2004-07-29  Benjamin Otte  <otte@gnome.org>
7429
7430         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7431           check that caps are fixed
7432         * gst/gstpad.c: (gst_pad_template_new):
7433           don't try to simplify caps, costs too much time on gst_init
7434         * gst/gstplugin.c: (gst_plugin_add_feature):
7435           G_ERROR if features are added twice
7436         * gst/gsttypefind.c: (gst_type_find_register):
7437         * gst/gstelementfactory.c: (gst_element_register):
7438           don't add features twice
7439         * docs/random/ds/0.9-suggested-changes:
7440           add note about possible gst_init optimization
7441
7442 2004-07-28  David Schleef  <ds@schleef.org>
7443
7444         * testsuite/elements/Makefile.am:
7445         * testsuite/elements/struct_i386.h:
7446         * testsuite/elements/struct_size.c: (main):  A little test
7447         to keep distcheck from working if someone changes a structure
7448         size accidentally.
7449
7450 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7451
7452         * docs/libs/Makefile.am:
7453         * docs/libs/gstreamer-libs-docs.sgml:
7454         * docs/libs/gstreamer-libs-sections.txt:
7455         * docs/libs/tmpl/gstbytestream.sgml:
7456         * docs/libs/tmpl/gstcontrol.sgml:
7457         * docs/libs/tmpl/gstdataprotocol.sgml:
7458         * docs/libs/tmpl/gstgetbits.sgml:
7459         * libs/gst/bytestream/Makefile.am:
7460         * libs/gst/bytestream/bytestream.c:
7461         * libs/gst/bytestream/bytestream.h:
7462         * libs/gst/control/Makefile.am:
7463         * libs/gst/dataprotocol/Makefile.am:
7464         * libs/gst/getbits/Makefile.am:
7465         * libs/gst/getbits/getbits.h:
7466           various doc and style fixes, adding bytestream to libs docs.
7467
7468 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7469
7470         * docs/gst/gstreamer-docs.sgml:
7471         * docs/libs/Makefile.am:
7472         * docs/libs/gstreamer-libs-docs.sgml:
7473         * docs/libs/gstreamer-libs-sections.txt:
7474         * libs/gst/control/dparam.c:
7475           more doc fixes.  gst-libs docs now build the same way as gst.
7476
7477 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7478
7479         * configure.ac:
7480         * testsuite/Makefile.am:
7481         * testsuite/bins/Makefile.am:
7482         * testsuite/caps/Makefile.am:
7483         * testsuite/cleanup/Makefile.am:
7484         * testsuite/clock/Makefile.am:
7485         * testsuite/debug/Makefile.am:
7486         * testsuite/dlopen/Makefile.am:
7487         * testsuite/dynparams/Makefile.am:
7488         * testsuite/elements/.cvsignore:
7489         * testsuite/elements/Makefile.am:
7490         * testsuite/enumcaps/Makefile.am:
7491         * testsuite/enumcaps/enumcaps.c:
7492         * testsuite/ghostpads/Makefile.am:
7493         * testsuite/indexers/Makefile.am:
7494         * testsuite/negotiation/Makefile.am:
7495         * testsuite/parse/Makefile.am:
7496         * testsuite/plugin/Makefile.am:
7497         * testsuite/refcounting/Makefile.am:
7498         * testsuite/schedulers/.cvsignore:
7499         * testsuite/states/Makefile.am:
7500         * testsuite/tags/Makefile.am:
7501         * testsuite/threads/Makefile.am:
7502           fold enumcaps into caps dir
7503           clean up Makefile.am's for testsuite
7504
7505 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7506
7507         * docs/gst/Makefile.am:
7508         * docs/libs/Makefile.am:
7509           clean up docs build.  Fixes needless rebuilding of template files.
7510
7511 2004-07-28  Wim Taymans  <wim@fluendo.com>
7512
7513         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7514         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7515         Make sure that a bin state change tries to keep the children
7516         in sync. 
7517         Added debug logging to the thread.
7518
7519 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7520
7521         * win32/GStreamer.vcproj:
7522         * win32/gstreamer.def:
7523           more exports for the plugins
7524
7525 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7526
7527         * win32/gstgetbits.vcproj:
7528         * win32/gstgetbits.def:
7529         * win32/msvc71.sln:
7530           add support for the getbits plugin
7531
7532 2004-07-27  Wim Taymans  <wim@fluendo.com>
7533
7534         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7535         (gst_value_transform_fraction_double), (_gst_value_initialize):
7536         * testsuite/caps/Makefile.am:
7537         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7538         (check_from_fraction_convert), (transform_test), (main):
7539         Added transform functions between double and fraction.
7540         Added testcase to verify transforms
7541
7542 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7543
7544         * win32/GStreamer.vcproj:
7545           rename GStreamer-0.8.lib to libgstreamer.lib
7546
7547 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7548
7549         * win32/gstelements.vcproj:
7550         * win32/gstoptimalscheduler.vcproj:
7551           fixes for the Release build
7552
7553 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7554
7555         * win32/config.h:
7556           update the version number
7557
7558 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7559
7560         * win32/GStreamer.vcproj:
7561           add gstinterface to the build
7562
7563 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7564
7565         * win32/gstreamer.def:
7566           add many definitions needed by plugins,
7567           GST_CAT_DEFAULT only available in the Debug build ?
7568
7569 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7570
7571         * gst/gstelement.c: (gst_element_set_eos_recursive):
7572           various whitespace fixes.
7573           doc fix, fixes #148497
7574
7575 2004-07-25  Benjamin Otte  <otte@gnome.org>
7576
7577         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7578           don't delay links on the sink elements, it causes unnegotiated
7579           links.
7580         * gst/elements/gsttypefindelement.c:
7581         (gst_type_find_element_base_init):
7582           add our padtemplates, we indeed do have some.
7583         * gst/elements/gsttypefindelement.c:
7584         (gst_type_find_element_handle_event),
7585         (gst_type_find_element_chain):
7586           don't push data when typefinding failed.
7587         * gst/gstpad.c: (gst_pad_link_fixate):
7588           check that no fixate function returns empty caps.
7589         * gst/gstpad.c: (gst_pad_push):
7590           check that the link is negotiated before data gets pushed.
7591         * tools/gst-register.c: (main):
7592           don't assert (fixes #148283)
7593
7594 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7595
7596         * docs/gst/gstreamer-sections.txt:
7597         * docs/gst/tmpl/gstconfig.sgml:
7598           add GST_PLUGIN_EXPORT definition
7599
7600 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7601
7602         * gst/gstplugin.h:
7603         * gst/gstconfig.h.in:
7604         * win32/gstconfig.h:
7605         * win32/gstelements.def:
7606         * win32/gstelements.vcproj:
7607         * win32/gstoptimalscheduler.def:
7608         * win32/gstoptimalscheduler.vcproj:
7609         * win32/gstspider.def:
7610         * win32/gstspider.vcproj:
7611           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7612
7613 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7614
7615         * docs/gst/gstreamer-sections.txt:
7616           remove GST_CAT_DEFAULT because the type has changed
7617
7618 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7619
7620         * win32/gstbytestream.vcproj:
7621         * win32/gstelements.vcproj:
7622         * win32/gst-inspect.vcproj:
7623         * win32/gst-launch.vcproj:
7624         * win32/gstoptimalscheduler.vcproj:
7625         * win32/GStreamer.vcproj:
7626         * win32/gst-register.vcproj:
7627         * win32/gstspider.vcproj:
7628         * win32/msvc71.sln:
7629           Copy the files where needed after building, The testsuite will be
7630           built separately
7631
7632 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7633
7634         * win32/config.h:
7635         * win32/README.txt:
7636         * docs/manual/win32.xml:
7637         Fixed the plugin and GStreamer location
7638
7639 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7640
7641         * win32/gstreamer.def:
7642         More exports for the plugins
7643
7644 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7645
7646         * gst/gstinfo.h:
7647         Marc was right, we need to export literally GST_CAT_DEFAULT
7648
7649 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7650
7651         * win32/config.h:
7652         NLS crashes in gettext, disabled until this is solved
7653
7654 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7655
7656         * win32/gst-inspect.vcproj:
7657         * win32/gst-launch.vcproj:
7658         Should use NLS when available
7659
7660 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7661
7662         * gst/registries/gstxmlregistry.c:
7663         removing the file doesn't seem to be a good idea on Linux
7664
7665 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7666
7667         * gst/registries/gstxmlregistry.c:
7668         Remove the registry before renaming the tempfile (needed for Windows)
7669
7670 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7671
7672         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7673         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7674         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7675         * gst/elements/gstmultifilesrc.h:
7676         Added newmedia property so it generates newmedia events between each
7677         file when property is set, as well as fixed eos handling
7678
7679 2004-07-22  David Schleef  <ds@schleef.org>
7680
7681         * gst/gststructure.c: (gst_structure_id_empty_new),
7682         (gst_structure_empty_new):  Set type field correctly.
7683         * gst/gststructure.h: Check type field correctly.
7684         * testsuite/caps/Makefile.am:
7685         * testsuite/caps/structure.c: (test1), (main): Add a very small
7686         test for structures.
7687
7688 2004-07-22  David Schleef  <ds@schleef.org>
7689
7690         * docs/random/ds/0.9-suggested-changes: more comments
7691         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7692
7693 2004-07-22  Benjamin Otte  <otte@gnome.org>
7694
7695         * gst/gstelementfactory.c: (gst_element_register):
7696           set the factory in the class struct, so gst_element_get_factory
7697           actually works
7698         * gst/parse/grammar.y:
7699           set element to playing when it gets unlocked as we can't rely on the
7700           bin state - all elements in the bin state might still be locked in
7701           NULL)
7702
7703 2004-07-22  Benjamin Otte  <otte@gnome.org>
7704
7705         * gst/gstelement.c: (gst_element_set_state_func):
7706           make this a static function
7707
7708 2004-07-22  Wim Taymans  <wim@fluendo.com>
7709
7710         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7711         (gst_opt_scheduler_pad_link):
7712         fix 147894-2 and the group_link problem.
7713
7714 2004-07-22  Wim Taymans  <wim@fluendo.com>
7715
7716         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7717         (handoff_identity), (main):
7718         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7719         (handoff_identity), (main):
7720         * testsuite/schedulers/Makefile.am:
7721         * testsuite/schedulers/group_link.c: (main):
7722         Show bug in scheduler when linking chain and loop based element 
7723         where the chain based element was not yet in a group.
7724
7725 2004-07-21  Benjamin Otte  <otte@gnome.org>
7726
7727         * gst/.cvsignore:
7728         * gst/autoplug/.cvsignore:
7729         * gst/elements/.cvsignore:
7730         * gst/indexers/.cvsignore:
7731         * libs/gst/bytestream/.cvsignore:
7732         * libs/gst/control/.cvsignore:
7733         * libs/gst/getbits/.cvsignore:
7734         * testsuite/states/.cvsignore:
7735         * testsuite/threads/.cvsignore:
7736           keep this up to date, since I seem to be the only one who cares
7737           about not missing files on commits (editor's note: no you don't,
7738           but feel free to change them at the time you add stuff instead
7739           of later on)
7740
7741 2004-07-21  Benjamin Otte  <otte@gnome.org>
7742
7743         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7744         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7745         (gst_bin_child_state_change_func), (set_kid_state_func),
7746         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7747           make state changes work correctly and reentrant (so removing
7748           elements from bins during state changes of bins doesn't cause
7749           segfaults or even wrong states)
7750           add debugging category and debugging output to print children states
7751         * gst/gstbin.c: (gst_bin_dispose): 
7752           add some assertion checks
7753         * gst/gstbin.h:
7754         * gst/gstbin.c: (gst_bin_sync_children_state):
7755           deprecate this function - it just does gst_bin_set_state (bin,
7756           GST_STATE (bin)) 
7757         * testsuite/threads/queue.c: (main):
7758           don't use gst_bin_sync_children_state anymore
7759         * testsuite/states/Makefile.am:
7760         * testsuite/states/bin.c:
7761           test that the state changes of bins work as expected
7762         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7763           some adjustments to change states correctly, too
7764         * gst/gstthread.c: (gst_thread_change_state):
7765           don't enable/disable "threadsafe" properties, they're unused and
7766           cause random segfaults
7767         * testsuite/threads/Makefile.am:
7768           the queue check randomly passes now, ignore it
7769
7770 2004-07-21  Benjamin Otte  <otte@gnome.org>
7771
7772         * gst/gstpad.c:
7773           check if data is NULL before outputting debug info. (fixes #145100)
7774
7775 2004-07-21  Benjamin Otte  <otte@gnome.org>
7776
7777         * gst/schedulers/entryscheduler.c:
7778         (gst_entry_scheduler_loop_wrapper),
7779         (gst_entry_scheduler_chain_wrapper),
7780         (gst_entry_scheduler_get_wrapper):
7781           reset the state when the cothread starts, so we don't get assertion
7782           failures on restarting of cothreads
7783
7784 2004-07-20  Benjamin Otte  <otte@gnome.org>
7785
7786         * gst/gstelement.c: (gst_element_link_pads_filtered):
7787           use correct sinkpad, if only sinkpad is specified, but not srcpad
7788           (fixes #147889)
7789         * gst/gstelement.c: (gst_element_set_state_func),
7790         (gst_element_change_state): ref/unref the element, signal handlers
7791         could get rid of the element otherwise
7792
7793 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7794
7795         * docs/random/ds/0.9-suggested-changes:
7796           Make note about renaming fixed-list to array.
7797         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7798         (_gst_value_initialize):
7799           Add array intersections.
7800         * testsuite/caps/intersect2.c: (main):
7801           Add test for array intersections.
7802
7803 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7804
7805         * configure.ac: back to cvs
7806
7807 === release 0.8.4 ===
7808
7809 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7810
7811         * configure.ac:
7812           releasing 0.8.4, "Paella"
7813           bump libtool versioning
7814
7815 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7816
7817         * po/LINGUAS:
7818         * po/ca.po:
7819           adding Catalan translation (Jordi Mallach)
7820
7821 2004-07-20  Wim Taymans  <wim@fluendo.com>
7822
7823         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7824         (handoff_identity), (main):
7825         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7826         (handoff_identity), (main):
7827         * testsuite/schedulers/Makefile.am:
7828         Added failing testcase for variant of #147894
7829
7830 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7831
7832         patch by: David Moore
7833
7834         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7835         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7836         (group_migrate_connected):
7837         * testsuite/schedulers/Makefile.am:
7838           fix for #142813 (Deadlock in optimal scheduler)
7839
7840 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7841
7842         patch by: Wim Taymans
7843
7844         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7845         (gst_opt_scheduler_schedule_run_queue),
7846         (gst_opt_scheduler_get_wrapper), (get_group),
7847         (group_migrate_connected):
7848         * testsuite/schedulers/Makefile.am:
7849           fix for #147819 (Add some checks in the opt scheduler)
7850
7851 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7852
7853         patch by: Benjamin Otte
7854
7855         * gst/gstelementfactory.c: (__gst_element_details_set):
7856           fix for #147929: running gst-register in non-utf8 locale can cause
7857           invalid registry
7858
7859 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7860
7861         patch by: Wim Taymans
7862
7863         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7864         (group_has_element), (element_get_reachables_func),
7865         (group_migrate_connected):
7866           fix for #147894 (opt scheduler decoupled elements mismanagement)
7867         * testsuite/schedulers/Makefile.am:
7868           testsuite app now passes
7869
7870 2004-07-19  Wim Taymans  <wim@fluendo.com>
7871
7872         * testsuite/schedulers/147819.c: (handoff_identity1),
7873         (handoff_identity2), (main):
7874         * testsuite/schedulers/Makefile.am:
7875         Added testcase for bug 147819
7876
7877 2004-07-19  Wim Taymans  <wim@fluendo.com>
7878
7879         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7880         (handoff_identity), (main):
7881         * testsuite/schedulers/Makefile.am:
7882         Added testcase for bug 147894
7883
7884 2004-07-16  Wim Taymans  <wim@fluendo.com>
7885
7886         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7887         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7888         * testsuite/schedulers/Makefile.am:
7889         Added testsuite for bug 142183 in its two incarnations. Refcount
7890         is not increased for scheduled elements and threadsafe properties
7891         mutexes are not properly unlocked.
7892
7893 2004-07-16  Wim Taymans  <wim@fluendo.com>
7894
7895         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7896         (create_chain), (destroy_chain), (create_group), (destroy_group),
7897         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7898         (group_dec_link), (gst_opt_scheduler_pad_link),
7899         (group_inc_links_for_element), (group_migrate_connected):
7900         Call group_inc_link with the proper src->sink ordering -- 
7901         break this, and we break sort_chain. patch from wingo for bug
7902         147713.
7903         Partially revert patch 1.89. When adding a loop based element to 
7904         the scheduler, the links to other groups are automatically followed
7905         and incremented. This should not happen because the bin will call
7906         pad_link explicitly for those connection, resulting in them counted 
7907         twice. Results in assertion failure on pipeline cleanup.
7908
7909 2004-07-16  Wim Taymans  <wim@fluendo.com>
7910
7911         * testsuite/schedulers/143777-2.c: (main):
7912         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7913         (main):
7914         * testsuite/schedulers/Makefile.am:
7915         Added cleanup code to testcase 143777-2.
7916         Added testcase to show bug 147713, does not really show the
7917         deadlock as I can't figure out how to trigger it, but it does
7918         demonstrate bad ordering in the scheduler.
7919
7920 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7921
7922         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7923           change strndup to g_strndup.  Fixes #147707
7924
7925 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7926
7927         * po/af.po:
7928         * po/az.po:
7929         * po/cs.po:
7930         * po/en_GB.po:
7931         * po/fr.po:
7932         * po/nl.po:
7933         * po/sr.po:
7934         * po/sv.po:
7935         * po/tr.po:
7936         * po/uk.po:
7937           updated translations
7938
7939 2004-07-16  Benjamin Otte  <otte@gnome.org>
7940
7941         * gst/gstvalue.c: (gst_greatest_common_divisor):
7942           use ints and return ints, fractions only use ints, too, so this
7943           avoids accidently casting multiplications to unsigned
7944         (gst_value_lcopy_fraction): it's ints, not uint32
7945         (gst_value_set_fraction): disallow minint, multiplying and negation
7946           are broken with it
7947         (gst_value_fraction_multiply): fix to make large numbers work and get
7948         rid of the assumption that the multiplication of two ints fits an
7949         int64 - dunno if that's true for all systems
7950         * testsuite/caps/Makefile.am:
7951         * testsuite/caps/fraction-multiply-and-zero.c:
7952         (check_multiplication), (check_equal), (zero_test), (main):
7953           add tests for all the stuff above
7954         * testsuite/caps/value_compare.c: (test1):
7955           fix comment
7956         * tests/.cvsignore:
7957         * testsuite/caps/.cvsignore:
7958         * testsuite/debug/.cvsignore:
7959         * testsuite/dlopen/.cvsignore:
7960         * testsuite/states/.cvsignore:
7961           get up to date
7962
7963 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7964
7965         * docs/manual/bins-api.xml:
7966         * docs/manual/factories.xml:
7967         * docs/manual/helloworld.xml:
7968         * docs/manual/links-api.xml: 
7969           fixes for out of date info, incorrect info and grammar
7970
7971 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7972
7973         * docs/manual/pads.xml:
7974         * docs/manual/pads-api.xml: grammar fix
7975
7976 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7977
7978         * docs/manual/pads-api.xml: typo + grammar fix
7979
7980 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7981
7982         * docs/gst/gstreamer-sections.txt:
7983           add new symbols
7984         * docs/gst/tmpl/gstelement.sgml:
7985         * docs/gst/tmpl/gstpad.sgml:
7986         * docs/gst/tmpl/gsttypes.sgml:
7987         * docs/gst/tmpl/gstvalue.sgml:
7988           update docs
7989         * gst/gststructure.c: (gst_structure_set_valist),
7990         (gst_structure_from_abbr), (gst_structure_to_abbr):
7991         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7992         (gst_greatest_common_divisor), (gst_value_init_fraction),
7993         (gst_value_copy_fraction), (gst_value_collect_fraction),
7994         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7995         (gst_value_get_fraction_numerator),
7996         (gst_value_get_fraction_denominator),
7997         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7998         (gst_value_deserialize_fraction),
7999         (gst_value_transform_fraction_string),
8000         (gst_value_transform_string_fraction),
8001         (gst_value_compare_fraction), (_gst_value_initialize):
8002         * gst/gstvalue.h:
8003           adding GstFraction GValue type, get/set, and multiply
8004         * testsuite/caps/Makefile.am:
8005         * testsuite/caps/fraction.c: (test), (main):
8006         * testsuite/caps/string-conversions.c: (main):
8007         * testsuite/caps/value_compare.c: (test1), (main):
8008           add regression tests for GstFraction
8009
8010 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8011         
8012         * docs/manual/init-api.xml: Grammar fix
8013
8014 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8015
8016         * docs/manual/states.xml: Fix inconsistent information
8017
8018 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8019
8020         * gst/gstelement.c: (gst_element_set_state):
8021         * gst/gstpad.c: (gst_pad_try_set_caps):
8022         * gst/gststructure.c:
8023         * gst/gstthread.c: (gst_thread_child_state_change):
8024         * gst/gstvalue.c: (gst_value_compare_double):
8025         * gst/gstvalue.h:
8026         * testsuite/parse/parse1.c: (main):
8027           debugging additions and style cleanups
8028
8029 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8030
8031         * docs/manual/states.xml: Grammar fix
8032
8033 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8034
8035         * docs/manual/pads.xml: Grammar fix
8036
8037 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8038
8039         * docs/manual/elements.xml: Fixed image reference
8040
8041 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8042
8043         * docs/manual/goals.xml: Grammar fix
8044
8045 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8046
8047         * docs/manual/motivation.xml:
8048         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8049
8050 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8051
8052         * docs/manual/motivation.xml: Fix spelling
8053
8054 2004-07-15  Benjamin Otte  <otte@gnome.org>
8055
8056         * gst/gstelement.h: 
8057           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8058           strings.
8059         * gst/gstelement.c (gst_element_class_init):
8060           GError's are boxed, not objects
8061         * gst/gstmarshal.list:
8062           update list for the fixed error signal
8063
8064 2004-07-14  Andy Wingo  <wingo@pobox.com>
8065
8066         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8067         there all along, but the function wasn't. (guile-gstreamer's build
8068         system uses the address of the function -- I wasn't actually
8069         trying to use this.)
8070
8071 2004-07-14  Andy Wingo  <wingo@pobox.com>
8072
8073         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8074         as gst_pad_proxy_pad_link) just link to every other pad when they
8075         are called. In the case where the graph has cycles, this will mean
8076         that a call to try_set_caps will recurse. Allow this recursion
8077         and return OK, while we wait for the first try_set_caps to give a
8078         proper return value.
8079         (gst_pad_link_call_link_functions): Since this function is the
8080         only one to set the NEGOTIATING flag on a pad, if the flag is set
8081         it means that the link functions have indirectly recursed. If this
8082         happens, error out to avoid infinite recursion and an eventual
8083         SEGV.
8084         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8085         (gst_pad_proxy_getcaps): Intersect the result with the template
8086         caps to ensure that the return value is valid.
8087
8088 2004-07-14  Andy Wingo  <wingo@pobox.com>
8089
8090         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8091         one refcount, the calling function is the owner of the buffer.
8092
8093 2004-07-14  Wim Taymans  <wim@fluendo.com>
8094
8095         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8096         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8097         Fix stupid warning when an element is to be migrated but
8098         is already migrated.
8099
8100 2004-07-14  Wim Taymans  <wim@fluendo.com>
8101
8102         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8103         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8104         Make sure that a single non-loop-based element does not 
8105         end up in a group. This fixes the testsuite again.
8106
8107 2004-07-14  Wim Taymans  <wim@fluendo.com>
8108
8109         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8110         (add_to_group), (merge_groups), (schedule_group),
8111         (gst_opt_scheduler_get_wrapper), (group_elements),
8112         (group_dec_link), (gst_opt_scheduler_pad_link),
8113         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8114         (gst_opt_scheduler_iterate):
8115         move isolated groups to a new chain.
8116         Emit a warning instead of segfaulting in some error cases.
8117         Fix a bug where the link count between groups was not calculated 
8118         correctly. Fixes #144510.
8119
8120 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8121         * gst/elements/gstfilesrc.c:
8122           Binary files support under Windows now OK
8123       
8124 2004-07-13  Benjamin Otte  <otte@gnome.org>
8125
8126           compatibility fixes for Solaris 8/gcc 2.95
8127         * configure.ac:
8128           include libintl libs in LDFLAGS
8129         * gstvalue.c (gst_value_deserialize_buffer):
8130           cast isxdigit stuff to int to silence compiler warning
8131
8132 2004-07-12  Benjamin Otte  <otte@gnome.org>
8133
8134         * gst/gsttypes.h:
8135           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8136           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8137           just causes support madness
8138         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8139           make it work without this
8140         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8141         (gst_file_index_commit):
8142           glib IO channels don't want binary mode
8143         * testsuite/bytestream/filepadsink.c: (main):
8144         * testsuite/bytestream/test1.c: (read_param_file):
8145           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8146
8147 2004-07-12  Benjamin Otte  <otte@gnome.org>
8148
8149         * gst/gstelement.c: (gst_element_class_init),
8150         (gst_element_set_state), (gst_element_set_state_func):
8151           virutalize gst_element_set_state, use set_state member in class
8152           struct that was already added in 0.7 for this.
8153         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8154         (gst_bin_change_state):
8155           make gst_bin_foreach works similar to other foreach functions, plug
8156           memleaks in it. Make functions using it work with the new approach.
8157           Document gst_bin_foreach, so it can be exported if we want to
8158         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8159           use virtualized set_state to make set_state on bins set the state of
8160           all its children.
8161
8162 2004-07-12  Benjamin Otte  <otte@gnome.org>
8163
8164         * configure.ac:
8165           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8166           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8167         * gst/gstpad.c: (gst_pad_alloc_buffer):
8168           allow buffer_alloc functions to return NULL and allocate a normal
8169           buffer in that case
8170
8171 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8172         * gst/elements/gstfilesink.c:
8173         * gst/elements/gstfilesrc.c:
8174         * gst/indexers/gstfileindex.c:
8175         * gst/gsttypes.h:
8176         * testsuite/bytestream/filepadsink.c:
8177         * testsuite/bytestream/test1.c:
8178           Handle binary files under Windows
8179
8180 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8181         * docs/manual/win32.xml:
8182         * win32/config.h:
8183         * win32/gst-register.vcproj:
8184         * win32/gstreamer.def:
8185           Update to another gettext public build
8186
8187 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8188         * gst/gstplugin.c:
8189           Fix an impossible C syntax
8190         * win32/config.h:
8191           Disable i18n under Windows for the moment
8192         * win32/gst-register.vcproj:
8193           Use this configuration
8194
8195 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8196         * docs/manual/quotes.xml:
8197           Keep the quotes file alive
8198         * docs/random/ds/0.9-suggested-changes:
8199           Add the suggestion of including a 'rowstride' as part of video
8200           format caps
8201
8202 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8203
8204         * gst/gstelement.c: (gst_element_set_state),
8205         (gst_element_change_state):
8206           d'oh.  Set PENDING state correctly before forcing bin to change.
8207         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8208         (gst_structure_parse_fixed_list):
8209         * gst/schedulers/gstoptimalscheduler.c:
8210         (gst_opt_scheduler_state_transition):
8211         * testsuite/states/parent.c: (main):
8212           remove comment now that it's fixed.
8213
8214 2004-07-11  Benjamin Otte  <otte@gnome.org>
8215
8216         * gst/gstclock.h:
8217           GST_SECOND shouldn't cause a conversion to unsigned.
8218         * testsuite/clock/.cvsignore:
8219         * testsuite/clock/Makefile.am:
8220         * testsuite/clock/signedness.c: (main):
8221           make sure it never will again
8222
8223 2004-07-11  Andy Wingo  <wingo@pobox.com>
8224
8225         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8226         whose state is higher than the bin state, raise the bin state to
8227         ensure that bin state := highest child state.
8228         
8229 2004-07-11  Andy Wingo  <wingo@pobox.com>
8230
8231         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8232         procedure on the children of a bin. Assumes that the procedure can
8233         change the set of children.
8234         (set_kid_state_func): New static function.
8235         (gst_bin_change_state): Use gst_bin_foreach to call
8236         set_kid_state_func. Fixes a bug: if a child had a state-change
8237         handler that removes it from the bin, there would be a segfault.
8238         Hopefully it should also work in the case where the state-change
8239         handler on one child adds or removes other children. In any case,
8240         fixes should go to gst_bin_foreach.
8241
8242 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8243
8244         * gst/gstelement.c: (gst_element_set_state):
8245           compatibility fix for latest plugins release.  Change loop back
8246           to while {}
8247
8248 2004-07-09  Wim Taymans  <wim@fluendo.com>
8249
8250         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8251         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8252         (gst_thread_main_loop):
8253         Since remove is virtual in GstBin we must not assume the 
8254         elements GList to have anothing useful.
8255         Add some more logging to GstThread and be a bit more paranoid
8256         when resetting the scheduler.
8257         Set the state of the bin to NULL before removing the children.
8258
8259 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8260
8261         * testsuite/threads/Makefile.am:
8262         * testsuite/threads/threadg.c:
8263           added test to check if problem when removing all elements from a
8264           GstThread before setting GstThread state to NULL
8265
8266 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8267
8268         * docs/gst/tmpl/gstelement.sgml:
8269         * docs/gst/tmpl/gsttypes.sgml:
8270         * gst/gstbin.c: (gst_bin_change_state):
8271         * gst/gstelement.c: (gst_element_set_state),
8272         (gst_element_change_state):
8273           rework so that for bins we try to set the state on all children
8274           as well even if the bin is in the correct state already.
8275           change while to do so at least one iteration is done.
8276           For regular elements, we fall back to the previous behaviour for
8277           now since we first need a new plugins release.
8278         * testsuite/states/parent.c: (main):
8279           test for this case
8280           Fixes #123774
8281
8282 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8283
8284         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8285         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8286         (gst_queue_release_locks), (gst_queue_change_state),
8287         (gst_queue_set_property):
8288           add proper lock debugging.  Change dispose to finalize, since
8289           we're freeing mutexes and other stuff which should happen only once.
8290
8291 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8292
8293         * docs/gst/tmpl/gstelement.sgml:
8294         * docs/gst/tmpl/gstplugin.sgml:
8295         * docs/gst/tmpl/gsttypes.sgml:
8296         * docs/pwg/building-state.xml:
8297         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8298         * gst/gstelement.c: (gst_element_change_state):
8299         * gst/gstthread.c: (gst_thread_change_state):
8300           catch wrong state changes in element base class.
8301
8302 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8303
8304         * gst/gstinfo.h:
8305           clean up layout a little.
8306
8307 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8308
8309         * configure.ac:
8310         * testsuite/Makefile.am:
8311         * testsuite/states/Makefile.am:
8312         * testsuite/states/parent.c: (main):
8313           re-enable states testsuite dir.  Add test for state changes and
8314           parent behaviour
8315
8316 2004-07-09  Wim Taymans  <wim@fluendo.com>
8317
8318         * gst/schedulers/gstoptimalscheduler.c:
8319         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8320         (element_get_reachables_func), (element_get_reachables),
8321         (debug_element), (rechain_group), (group_migrate_connected),
8322         (gst_opt_scheduler_pad_unlink):
8323         Do not try to migrate decoupled elements to a new group since
8324         they are not added to groups.
8325
8326 2004-07-08  Benjamin Otte  <otte@gnome.org>
8327
8328         * gst/gstelement.c: (gst_element_error_func):
8329           make reentrant (= allow removing elements in error handler)
8330
8331 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8332
8333         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8334         (gst_pad_send_event), (gst_pad_call_chain_function):
8335           events sent to elements below PAUSED cannot be handled, so
8336           don't try to
8337
8338 2004-07-08  Wim Taymans  <wim@fluendo.com>
8339
8340         * gst/schedulers/gstoptimalscheduler.c:
8341         (chain_recursively_migrate_group), (create_group),
8342         (schedule_group), (gst_opt_scheduler_pad_link),
8343         (group_elements_set_visited), (element_get_reachables_func),
8344         (element_get_reachables), (group_can_reach_group), (debug_element),
8345         (rechain_group), (group_migrate_connected),
8346         (gst_opt_scheduler_pad_unlink):
8347         * testsuite/schedulers/Makefile.am:
8348         Implemented group splitting and rechaining.
8349         Fixes 143777 and 143777-2 in the testsuite.
8350
8351 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8352
8353         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8354           extra debugging
8355         * gst/gstevent.h:
8356         * gst/gstinfo.c: (gst_debug_log_default):
8357           print time nicely.  add thread pointer until someone figures out
8358           a completely portable way of getting at thread id's.
8359         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8360         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8361         (gst_pad_call_chain_function):
8362           extra debugging
8363         * gst/schedulers/gstoptimalscheduler.c:
8364         (get_group_schedule_function), (loop_group_schedule_function),
8365         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8366         (pad_clear_queued), (gst_opt_scheduler_iterate):
8367           rename BUFPEN and friends to DATAPEN since that's what they are.
8368
8369 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8370
8371         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8372         * gst/gstbuffer.h:
8373         * gst/gstpad.c:
8374           cleanups and debugging
8375
8376 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8377
8378         * configure.ac:
8379         * gst/gstvalue.c: (gst_value_compare_enum),
8380         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8381         (gst_value_can_compare), (gst_value_compare):
8382         * testsuite/Makefile.am:
8383         * testsuite/enumcaps/Makefile.am:
8384         * testsuite/enumcaps/enumcaps.c:
8385           Fix enum serialization, deserialization, comparison in caps, add
8386           a test to ensure that this continues working in the future.
8387
8388 2004-07-06  David Schleef  <ds@schleef.org>
8389
8390         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8391         Fix memleak.
8392
8393 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8394
8395         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8396         * gst/gstplugin.h:
8397         * gst/registries/gstxmlregistry.c:
8398         (plugin_times_older_than_recurse), (plugin_times_older_than),
8399         (gst_xml_registry_parse_padtemplate):
8400           only rebuild registry when actual plugins have a newer time than
8401           the registry.  Fixes #145520
8402
8403 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8404
8405         * docs/manual/manual.xml:
8406         * docs/manual/win32.xml:
8407           add chapter on win32 building.  fixes #142422
8408
8409 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8410
8411         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8412
8413         * gst/autoplug/gstspider.c: (gst_spider_init),
8414         (gst_spider_dispose):
8415           fix spider memleaks.  fixes #137863
8416
8417 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8418
8419         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8420
8421         * gst/schedulers/gstoptimalscheduler.c:
8422         (gst_opt_scheduler_pad_unlink):
8423           fix SIGBUS error, fixes #145338
8424
8425 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8426
8427         * gst/gstobject.c: (gst_object_replace):
8428         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8429         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8430           clean up clock lifecycle.  Fixes #109831
8431
8432 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8433
8434         * po/LINGUAS:
8435         * po/cs.po:
8436           added Czech translation (Miloslav Trmac)
8437
8438 2004-07-04  David Schleef  <ds@schleef.org>
8439
8440         * tools/Makefile.am:
8441         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8442
8443 2004-07-04  David Schleef  <ds@schleef.org>
8444
8445         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8446
8447 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8448
8449         * gst/gstbin.c: (gst_bin_restore_thyself):
8450           chain to parent restore so the bins get restored correctly
8451           in the editor
8452
8453 2004-07-03  David Schleef  <ds@schleef.org>
8454
8455         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8456         Actually do something in these functions, like before the big
8457         caps change.  (bug #145137)
8458
8459 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8460
8461         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8462         (gst_element_get_compatible_pad_filtered):
8463         * gst/gstthread.c: (gst_thread_main_loop):
8464           more debugging
8465
8466 2004-07-02  David Schleef  <ds@schleef.org>
8467
8468         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8469         * gst/gstobject.h:
8470         * gst/gstparse.h:
8471         * gst/gsttrace.h:
8472         * gst/gstxml.h:
8473
8474 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8475
8476         * gst/gstpad.c: (gst_pad_check_schedulers),
8477         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8478         (gst_pad_link_prepare):
8479           revert until testsuite is fixed
8480
8481 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8482
8483         * testsuite/Makefile.am:
8484         * testsuite/caps/filtercaps.c: (main):
8485         * testsuite/clock/clock1.c: (main):
8486         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8487           fix some more tests
8488
8489 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8490
8491         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8492         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8493         * testsuite/cleanup/cleanup4.c: (main):
8494           fix testsuite
8495
8496 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8497
8498         * libs/gst/control/control.c:
8499         * libs/gst/control/dparam.c:
8500         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8501         * libs/gst/control/dparammanager.c:
8502         * libs/gst/control/dparammanager.h:
8503         * testsuite/dynparams/Makefile.am:
8504         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8505         (gst_dptest_change_state), (gst_dptest_chain), (main):
8506           fix testcase for dparams
8507           add debugging category
8508
8509 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8510
8511         * testsuite/Rules:
8512           change path
8513
8514 2004-07-02  Benjamin Otte  <otte@gnome.org>
8515
8516         * tests/.cvsignore:
8517         * tests/Makefile.am:
8518         * tests/mass_elements.c: (gst_get_current_time), (main):
8519           add simple benchmark to test various speeds of fakesrc ! identity !
8520           identity ! ... ! fakesink.
8521           Usage: mass_elements [num_identities] [num_buffers]
8522           If not specified they default to 1000.
8523
8524 2004-07-02  Benjamin Otte  <otte@gnome.org>
8525
8526         * gst/gstpad.c: (gst_pad_check_schedulers),
8527         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8528         (gst_pad_link_prepare):
8529           check that pads that get linked belong to the same manager. The old
8530           code allowed linking elements before putting them into bins, so it
8531           worked to link them and then put them in different threads, which
8532           lead to weird behaviour.
8533           Since this effectively disallows linking elements before putting
8534           them in a bin, some applications might not work after this and error
8535           out. If these applications are too critical, we might need to revert
8536           that patch. Please test this before the next release...
8537
8538 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8539
8540         * gst/gstpad.c: (gst_pad_get_caps):
8541           throw an error if the getcaps function does not return a subset of
8542           the template caps.
8543         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8544           make disconts without position info an error in debugging
8545         * tests/spidey_bench.c: (handoff), (main):
8546           don't count first try when averaging
8547
8548 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8549
8550         * gst/gstplugin.c: (gst_plugin_load_file):
8551           figure out problem with dynamic test
8552
8553 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8554
8555         * docs/gst/Makefile.am:
8556           fix docs build
8557
8558 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8559
8560         * po/POTFILES.in:
8561         * po/af.po:
8562         * po/az.po:
8563         * po/en_GB.po:
8564         * po/fr.po:
8565         * po/nl.po:
8566         * po/sr.po:
8567         * po/sv.po:
8568         * po/tr.po:
8569         * po/uk.po:
8570         * tools/gst-register.c: (plugin_added_func), (main):
8571           i18n-ize -register, fix plural
8572
8573 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8574
8575         * gst/elements/gstidentity.c: (gst_identity_class_init),
8576         (gst_identity_init), (gst_identity_chain),
8577         (gst_identity_set_property), (gst_identity_get_property):
8578         * gst/elements/gstidentity.h:
8579           check for perfect stream
8580
8581 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8582
8583         * gst/elements/gstidentity.c: (gst_identity_chain):
8584           print offset_end
8585
8586 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8587
8588         * docs/gst/Makefile.am:
8589         * docs/gst/gstreamer-docs.sgml:
8590           doc fixes
8591
8592 2004-06-24  David Schleef  <ds@schleef.org>
8593
8594         * autogen.sh:  Remove call to env, since the buildbot isn't
8595         broken anymore.
8596
8597 2004-06-24  Wim Taymans  <wim@fluendo.com>
8598
8599         * gst/elements/Makefile.am:
8600         * gst/elements/gstelements.c:
8601         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8602         (gst_multifdsink_class_init), (gst_multifdsink_init),
8603         (gst_multifdsink_add), (gst_multifdsink_remove),
8604         (gst_multifdsink_clear), (gst_multifdsink_chain),
8605         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8606         * gst/elements/gstmultifdsink.h:
8607         Added an element that writes to multiple filedescriptors at once.
8608
8609 2004-06-24  Benjamin Otte  <otte@gnome.org>
8610
8611         * gst/parse/grammar.y:
8612           don't try to link elements before they have been added to bins
8613
8614 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8615
8616         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8617         (gst_file_pad_get_length):
8618         * libs/gst/bytestream/filepad.h:
8619           add 2 new functions
8620
8621 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8622
8623         * docs/gst/gstreamer-sections.txt:
8624         remove from docs, the define that Benjamin removed from gstelement.h
8625
8626 2004-06-22  Benjamin Otte  <otte@gnome.org>
8627
8628         * gst/gstelement.h:
8629           remove define that referenced a nonexisting GstElement struct member
8630
8631 2004-06-20  Benjamin Otte  <otte@gnome.org>
8632
8633         * gst/gstdata.c: (gst_data_is_writable):
8634           whoops, return values were wrong, so writable data was marked as
8635           non-writable and vice versa. (fixes #143953, spotted by Francis
8636           Labonte)
8637           Shows how rarely we need to copy data ;)
8638
8639 2004-06-20  Benjamin Otte  <otte@gnome.org>
8640
8641         * testsuite/schedulers/.cvsignore:
8642         * testsuite/schedulers/Makefile.am:
8643         * testsuite/schedulers/143777-2.c: (main):
8644           add test for opt breakage in bug #143777
8645
8646 2004-06-20  Benjamin Otte  <otte@gnome.org>
8647
8648         * gst/gstpad.c: (gst_pad_call_chain_function):
8649           check for if we were unlinked while inside the chainfunction (fixes
8650           entrygthread having issues with #143777)
8651         * testsuite/schedulers/143777.c: (main):
8652         * testsuite/schedulers/Makefile.am:
8653           add a test for that fix
8654
8655 2004-06-20  Benjamin Otte  <otte@gnome.org>
8656
8657         * gst/gstvalue.c: (gst_value_set_int_range):
8658           test that start is smaller then end
8659         * libs/gst/bytestream/Makefile.am:
8660         * libs/gst/bytestream/filepad.c: 
8661         * libs/gst/bytestream/filepad.h:
8662           add GstFilePad - a pad that behaves like a FILE*
8663         * testsuite/bytestream/.cvsignore:
8664         * testsuite/bytestream/Makefile.am:
8665         * testsuite/bytestream/filepadsink.c: 
8666           test for the GstFilePad
8667
8668 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8669
8670         * gst/elements/gstidentity.c: (gst_identity_class_init),
8671         (gst_identity_init), (gst_identity_set_clock),
8672         (gst_identity_chain), (gst_identity_set_property),
8673         (gst_identity_get_property):
8674         * gst/elements/gstidentity.h:
8675         * gst/gstclock.c: (gst_clock_id_wait):
8676           add a "sync" property to sync to the clock
8677
8678 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8679
8680         * gst/gstelementfactory.c: (gst_element_factory_create):
8681           make the freakin "elementfactory bla has no type" message more
8682           useful. So we actually can do something when someone shows up
8683           complaining about it.
8684
8685 2004-06-15  Johan Dahlin  <johan@gnome.org>
8686
8687         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8688         found. This matches the old behavior better. Thanks to Thomas for
8689         pointing out.
8690
8691 2004-06-14  David Schleef  <ds@schleef.org>
8692
8693         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8694         -fomit-frame-pointer.  Appears to generate correct code in
8695         other cases as well.
8696
8697 2004-06-14  Johan Dahlin  <johan@gnome.org>
8698
8699         * tools/gst-inspect.c (main): Add two new command line options: -a
8700         to print all elements and -n to print the name on each line. Also
8701         fix some error reporting.
8702         (main): Simplify, remove -n and always print names if -a is specified
8703
8704 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8705
8706         * win32/gstconfig.h:
8707         * win32/GSTreamer.vcproj:
8708         * win32/Makefile:
8709         * gst/gstconfig.h.in:
8710         * gst/gst.h:
8711         * gst/gstbin.h:
8712         * gst/gstelement.h:
8713         * gst/gstevent.h:
8714         * gst/gstobject.h:
8715         * gst/gstpad.h:
8716         * docs/gst/gstreamer-sections.txt:
8717         * docs/gst/tmpl/gstconfig.sgml:
8718           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8719
8720 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8721         * docs/gst/gstreamer-sections.txt:
8722         * docs/gst/tmpl/gstconfig.sgml:
8723         Add the GSTREAMER_EXPORT macro to the docs
8724
8725 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8726
8727         * tools/gst-compprep.c: (handle_xmlerror), (main):
8728         Add a check for the version that introduced SetStructuredError to fix
8729         the build on FC1
8730
8731 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8732
8733         * win32/msvc71.sln:
8734         * win32/testsuite/:
8735           prepare to compile the testsuite with MSVC
8736
8737 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8738
8739         * docs/manual/win32.xml:
8740           attempt to transform the Win32 README into an XML doc
8741
8742 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8743
8744         * gst/gst.c:
8745         * gst/gstbin.*:
8746         * gst/config.h.in:
8747         * gst/gstelement.*:
8748         * gst/gstevent.h:
8749         * gst/gstobject.*:
8750         * gst/gstpad.h:
8751         * tools/gst-register.c:
8752         * win32/gstreamer.def:
8753           extern symbols are now exported for the Windows DLL
8754
8755 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8756
8757         * gst/gstinfo.h:
8758           fix a problem to enable/disable DEBUG under MSVC
8759
8760 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8761
8762         * win32/:
8763           enable more debug code in DEBUG build
8764
8765 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8766
8767         * win32/config.h:
8768         * gst/gst-i18n-app.h:
8769           enable NLS under Windows
8770
8771 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8772         * tools/gst-compprep.c: (handle_xmlerror), (main):
8773           Make an error that baffled me a bit clearer
8774
8775 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8776
8777         * gst/gstqueue.c:
8778           don't use g_queue_get_length () because it's 2.4, use ->length
8779
8780 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8781
8782         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8783
8784         * tools/gst-inspect.c: (print_signal_info):
8785           don't free random data twice. (fixes #144185)
8786
8787 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * gst/gstqueue.c:
8790         * gst/gstqueue.h:
8791           fix removing from the wrong queue on event timeout
8792           fix disposing of the event queue by casting correctly
8793           add mutexes for handling the event queue
8794           someone was sleeping when fixing queue last time around :)
8795
8796 2004-06-10  Johan Dahlin  <johan@gnome.org>
8797
8798         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8799         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8800
8801 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8802
8803         * docs/random/gdp:
8804         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8805         * libs/gst/dataprotocol/dataprotocol.c:
8806         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8807         (gst_dp_buffer_from_header):
8808         * libs/gst/dataprotocol/dataprotocol.h:
8809         * libs/gst/dataprotocol/dp-private.h:
8810           rev version to 0.1, add buffer flags and copy them
8811
8812 2004-06-09  Johan Dahlin  <johan@gnome.org>
8813
8814         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8815         the flags from the buffer we're copying.
8816
8817 2004-06-09  Wim Taymans  <wim@fluendo.com>
8818
8819         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8820         * gst/elements/gstidentity.c: (gst_identity_init),
8821         (gst_identity_chain):
8822         Print more buffer info in fakesink.
8823         Make identity output similar to fakesink.
8824
8825 2004-06-07  Daniel Gazard  <dany42@free.fr>
8826
8827         reviewed by Benjamin Otte  <otte@gnome.org>
8828
8829         * configure.ac:
8830           fix cross compiling not working. (fixes #143741)
8831
8832 2004-06-07  Benjamin Otte  <otte@gnome.org>
8833
8834         * gst/gstelement.c: (gst_element_set_time_delay):
8835           add failure check
8836         * gst/gstinfo.h:
8837           put brackets around macro arguments of GST_TIME_ARGS, add note to
8838           move it to correct header in 0.9
8839
8840 2004-06-07  Benjamin Otte  <otte@gnome.org>
8841
8842         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8843         (gst_file_index_load), (_file_index_id_save_entries),
8844         (gst_file_index_commit), (gst_file_index_add_association),
8845         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8846         (gst_file_index_plugin_init):
8847           make debugging use a default category
8848
8849 2004-06-06  David Moore  <dcm@acm.org>
8850
8851         reviewed by Benjamin Otte  <otte@gnome.org>
8852
8853         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8854         (gst_fdsrc_change_state):
8855           reset offset counter when going READY => PAUSED. (fixes #142903)
8856
8857 2004-06-06  ed@catmur.co.uk
8858
8859         reviewed by Benjamin Otte  <otte@gnome.org>
8860
8861         * gst/registries/gstxmlregistry.c:
8862         (gst_xml_registry_rebuild_recurse):
8863           don't rely on g_dir_open to figure out if a file is a directory, use
8864           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8865           directories. (fixes #142850)
8866
8867 2004-06-06  Benjamin Otte  <otte@gnome.org>
8868
8869         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8870           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8871         * libs/gst/bytestream/adapter.c:
8872         * libs/gst/bytestream/adapter.h:
8873           fix copyright in header and typo in debugging category name
8874
8875 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8876
8877         * configure.ac:
8878           bump nano to cvs
8879
8880 === release 0.8.3 ===
8881
8882 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8883
8884         * configure.ac:
8885           update libtool versioning
8886           do a new release
8887         * docs/gst/tmpl/gstelement.sgml:
8888         * docs/gst/tmpl/gsttypes.sgml:
8889         * gst/gstinfo.c: (_gst_debug_init):
8890           put back GST_CAT_DATAFLOW to fix API breakage
8891
8892 2004-06-04  David Schleef  <ds@schleef.org>
8893
8894         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8895
8896 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8897
8898         * configure.ac:
8899           bump nano to cvs
8900
8901 === release 0.8.2 ===
8902
8903 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8904
8905         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8906           check GST_DEBUG environment variable which is parsed the same way
8907           as --gst-debug=
8908
8909 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8910
8911         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8912                             gstmd5sink.c gstshaper.c gsttee.c
8913                             gsttypefindelement.c
8914         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8915
8916           - removing trailing commas at end of enums
8917             it is correct C99 code but C90 compilers would complain
8918             (AIX, Forte, ...)
8919             ('should' fix #143290, at least partially)
8920
8921 2004-05-27  Wim Taymans  <wim@fluendo.com>
8922
8923         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8924         (chain_group_set_enabled), (create_group), (add_to_group),
8925         (merge_groups), (setup_group_scheduler), (group_elements),
8926         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8927         Don't try to follow the pad connections with other groups
8928         when a loop based element is added to the scheduler because
8929         the bin will inform the scheduler about the pad links a little
8930         later.
8931
8932 2004-05-27  Wim Taymans  <wim@fluendo.com>
8933
8934         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8935         (remove_from_chain), (chain_group_set_enabled),
8936         (setup_group_scheduler), (group_element_set_enabled),
8937         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8938         (gst_opt_scheduler_show):
8939         Elements without a group can do a state change as well, just wait
8940         with the setup of the scheduling function when it is added to a
8941         chain.
8942
8943 2004-05-27  Wim Taymans  <wim@fluendo.com>
8944
8945         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8946         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8947         (merge_groups), (setup_group_scheduler),
8948         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8949         (gst_opt_scheduler_show):
8950         Fixes to maintain internal consistency of the scheduler data
8951         structures. 
8952          - adding an enabled group to a chain should increment the
8953            number of enabled elements in that chain.
8954          - removing an enabled group from a chain could disable the
8955            chain.
8956          - removing a disabled group from a chain could enable the
8957            chain.
8958          - add g_assert when internal inconsistency is detected.
8959          - adding an element to a group could increase the number of
8960            links this group has with other groups.
8961          - merging two groups also merges the chains.
8962          - also show group links in the _show method.
8963            
8964
8965 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8966
8967         * gst/gstcaps.c: (gst_caps_structure_simplify):
8968           don't print error messages when there is no error
8969         * gst/gstvalue.c: (gst_value_compare_int_range):
8970           compare the second value, too
8971         * testsuite/caps/Makefile.am:
8972         * testsuite/caps/random.c: (assert_on_error), (main):
8973           add tests to make sure the two things above are checked for
8974
8975 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8976
8977         * configure.ac:
8978         * libs/gst/dataprotocol/Makefile.am:
8979         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8980         * libs/gst/dataprotocol/dataprotocol.h:
8981           wrap header in GST_ENABLE_NEW.  make code use it
8982
8983 2004-05-23  Johan Dahlin  <johan@gnome.org>
8984
8985         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8986         so verbose and print GstElement signal names all the time.
8987
8988 2004-05-22  David Schleef  <ds@schleef.org>
8989
8990         * gst/registries/gstxmlregistry.c:
8991         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8992         (bug #142957)
8993
8994 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8995
8996         * configure.ac:
8997           scrub cflags for glib2 so gcc doesn't complain when glib is in
8998           /usr/local
8999
9000 2004-05-21  Johan Dahlin  <johan@gnome.org>
9001
9002         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9003         __GNUC__, patch from Brian Cameron, fixes bug #142804
9004
9005 2004-05-20  David Schleef  <ds@schleef.org>
9006
9007         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9008         comparison code.  (bug #142819)
9009
9010 2004-05-20  Wim Taymans  <wim@fluendo.com>
9011
9012         * gst/gstbuffer.c: (gst_buffer_default_copy):
9013         * gst/gstbuffer.h:
9014         Added Comment to a flag.
9015         copy relevant flags in _buffer_copy.
9016
9017 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9018
9019         reviewed by: Wim Taymans <wim at fluendo dot com>
9020
9021         * gst/gstbuffer.h:
9022           add GST_BUFFER_IN_CAPS buffer flag
9023         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9024         (gst_structure_parse_any_list), (gst_structure_parse_list),
9025         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9026         * gst/gstvalue.c: (gst_value_serialize_any_list),
9027         (gst_value_transform_any_list_string),
9028         (gst_value_list_prepend_value), (gst_value_list_append_value),
9029         (gst_value_list_get_size), (gst_value_list_get_value),
9030         (gst_value_transform_list_string),
9031         (gst_value_transform_fixed_list_string),
9032         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9033         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9034         (_gst_value_initialize):
9035         * gst/gstvalue.h:
9036           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9037           < , > as a format.
9038         * testsuite/caps/string-conversions.c: (main):
9039           add regression tests for < >
9040
9041 2004-05-20  Johan Dahlin  <johan@gnome.org>
9042
9043         * docs/gst/Makefile.am (all-local): Re-add
9044
9045 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9046
9047         * docs/gst/Makefile.am:
9048         * docs/gst/gstreamer-docs.sgml:
9049         * docs/libs/Makefile.am:
9050         * docs/libs/gstreamer-libs-docs.sgml:
9051           fix distcheck issues
9052
9053 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9054
9055         * libs/gst/dataprotocol/Makefile.am:
9056           add to autotest
9057
9058 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9059
9060         * libs/gst/dataprotocol/Makefile.am:
9061         * libs/gst/dataprotocol/dataprotocol.c:
9062         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9063         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9064         * libs/gst/dataprotocol/dp-private.h:
9065           use GST macros to read/write fixed length ints
9066           add some more asserts
9067
9068 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9069
9070         * docs/libs/gstreamer-libs-docs.sgml:
9071         * docs/libs/gstreamer-libs-sections.txt:
9072           remove idct and putbits
9073         * configure.ac:
9074         * docs/libs/tmpl/gstdataprotocol.sgml:
9075         * libs/gst/Makefile.am:
9076         * libs/gst/dataprotocol/Makefile.am:
9077         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9078         (buffer_test), (caps_test), (event_test), (main):
9079         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9080         (gst_dp_dump_byte_array), (gst_dp_init),
9081         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9082         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9083         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9084         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9085         (gst_dp_validate_header), (gst_dp_validate_payload),
9086         (gst_dp_validate_packet), (plugin_init):
9087         * libs/gst/dataprotocol/dataprotocol.h:
9088         * libs/gst/dataprotocol/dp-private.h:
9089           add dataprotocol
9090
9091 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9092
9093         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9094           fix int variable deserialization and add a helper so we can actually
9095           debug this.
9096
9097 2004-05-18  David Schleef  <ds@schleef.org>
9098
9099         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9100           argv[0].  Calling yourself is probably not the best way to
9101           construct a test like this, btw.
9102
9103 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9104
9105         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9106           don't claim to be more intelligent than a scheduler when the
9107           scheduler claims the pipeline is stopped
9108         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9109         (safe_cothread_destroy),
9110         (gst_entry_scheduler_remove_all_cothreads),
9111         (gst_entry_scheduler_reset), (_remove_cothread),
9112         (gst_entry_scheduler_state_transition):
9113           hold off cothread destruction if we're not in main cothread
9114         * configure.ac:
9115         * testsuite/Makefile.am:
9116           add new test dir
9117         * testsuite/schedulers/.cvsignore:
9118         * testsuite/schedulers/Makefile.am:
9119           add tests
9120         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9121           check relinking and adding/removing elements from a running pipeline
9122         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9123           check unlinking in a running pipeline
9124         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9125           check unreffing a running pipeline
9126         * testsuite/schedulers/useless_iteration.c: (main):
9127           check iterating a pipeline that contains running threads works
9128
9129 2004-05-18  David Schleef  <ds@schleef.org>
9130
9131         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9132           is false.
9133
9134 2004-05-18  Wim Taymans  <wim@fluendo.com>
9135
9136         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9137         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9138         Fixed an error introduced with patch for 1.63. When setting
9139         a get based element as the entry point in a group, make sure
9140         to mark the group as GET based.
9141
9142 2004-05-18  Wim Taymans  <wim@fluendo.com>
9143
9144         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9145         (setup_group_scheduler), (loop_group_schedule_function),
9146         (gst_opt_scheduler_pad_link):
9147         Added some more debug info and fixed a bug where the group
9148         type was set to LOOP but it was in fact unknown.
9149
9150 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9151
9152         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9153           make resetting scheduler work twice in a row
9154
9155 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9156
9157         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9158         (CREATE_USERIALIZATION), (_gst_value_initialize),
9159         (gst_value_compare_float), (gst_value_serialize_float),
9160         (gst_value_deserialize_float), (gst_value_compare_enum),
9161         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9162           add serialization and comparison functions for long, int64, enum and
9163           float values
9164         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9165           use best serialization function in type hierarchy instead of only a
9166           matching one. This is required for enums to work.
9167         * gst/parse/grammar.y:
9168           use gst_caps_deserialize
9169         * testsuite/parse/Makefile.am:
9170           parse1 now works
9171         * testsuite/parse/parse1.c: (main):
9172           remove aggregator check, aggregator is broken, this test works now
9173           but fails because of bug #138012
9174         * testsuite/parse/parse2.c: (main):
9175           s/xvideosink/xvimagesink - this test looks a lot like we should
9176           disable it
9177
9178 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9179
9180         * gst/gstelement.c: (gst_element_class_init):
9181           whoops, store the signal id correctly
9182         * gst/schedulers/gstbasicscheduler.c:
9183         (gst_basic_scheduler_chain_wrapper):
9184           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9185           chain function isn't linked
9186
9187 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9188         * configure.ac:
9189         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9190         support until we decide where the flags should be used
9191         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9192         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9193         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9194         Output refused caps in the debug info
9195
9196 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9197
9198         * gst/elements/gstidentity.c: (gst_identity_chain):
9199           add duration debug
9200         * gst/gstinfo.c: (gst_debug_log_default):
9201           add timestamp
9202
9203 2004-05-13  Benjamin Otte  <otte@gnome.org>
9204
9205         * gst/gstpipeline.c: (gst_pipeline_dispose),
9206         (gst_pipeline_change_state):
9207           call gst_scheduler_reset on dispose (fixes #141416)
9208
9209 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9210
9211         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9212           compute mapsize correctly
9213         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9214           use correct datatypes when calling a varargs function
9215         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9216           push a DISCONT event as first thing
9217         * gst/gst_private.h:
9218         * gst/gstinfo.c: (_gst_debug_init):
9219           remove GST_DATAFLOW debugging category
9220         * gst/gstbin.c: (gst_bin_iterate):
9221           use GST_SCHEDULING category
9222         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9223         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9224         (gst_pad_call_get_function):
9225           add GST_DATAFLOW to easily track flow of buffers or events.
9226         * gst/gstqueue.c: (gst_queue_get_type),
9227         (gst_queue_handle_pending_events), (gst_queue_chain),
9228         (gst_queue_get), (gst_queue_handle_src_event):
9229           use own static debugging category GST_DATAFLOW for dataflow,
9230           use DEBUG category for showing which path events go, use LOG
9231           category for buffers.
9232
9233 2004-05-10  David Schleef  <ds@schleef.org>
9234
9235         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9236
9237 2004-05-10  David Schleef  <ds@schleef.org>
9238
9239         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9240         symbols, because otherwise we don't know what they are.  Thanks,
9241         the GStreamer team.
9242         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9243
9244 2004-05-10  David Schleef  <ds@schleef.org>
9245
9246         (from Steve Lhomme)
9247         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9248         are deleted.  Fix.
9249         * win32/Makefile.inspect:
9250         * win32/Makefile.launch:
9251         * win32/Makefile.register:
9252
9253 2004-05-10  David Schleef  <ds@schleef.org>
9254
9255         * gst/gstinfo.h: Add missing inline function.
9256         * gst/gsttrace.c: add include
9257         * gst/parse/grammar.y: remove unused code
9258         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9259         more portable.
9260         * tools/gst-register.c: wrap unistd.h
9261         
9262         More additions/fixes from Steve for the MSVC build.
9263         * win32/GStreamer.vcproj:
9264         * win32/Makefile:
9265         * win32/Makefile.inspect:
9266         * win32/Makefile.launch:
9267         * win32/Makefile.register:
9268         * win32/README.txt:
9269         * win32/gst-inspect.vcproj:
9270         * win32/gst-launch.vcproj:
9271         * win32/gst-register.vcproj:
9272         * win32/gstbytestream.def:
9273         * win32/gstbytestream.vcproj:
9274         * win32/gstconfig.h:
9275         * win32/gstelements.def:
9276         * win32/gstelements.vcproj:
9277         * win32/gstenumtypes.c:
9278         * win32/gstenumtypes.h:
9279         * win32/gstoptimalscheduler.def:
9280         * win32/gstoptimalscheduler.vcproj:
9281         * win32/gstreamer.def:
9282         * win32/gstspider.def:
9283         * win32/gstspider.vcproj:
9284         * win32/gstversion.h:
9285         * win32/msvc71.sln:
9286
9287 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9288
9289         * gst/gstelement.c: (gst_element_class_init),
9290         (gst_element_no_more_pads):
9291         * gst/gstelement.h:
9292           add gst_element_no_more_pads and the "no-more-pads" signal
9293
9294 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9295
9296         * gst/gstregistry.c: (gst_registry_add_plugin):
9297           refuse to add plugins when a plugin with same name is already
9298           registered. Fixes a bunch of "How to remove plugins?" issues.
9299           May lead to other problems though, let's test
9300
9301 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9302
9303         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9304         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9305         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9306
9307 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9308
9309         * tests/Makefile.am: fix am16 issue
9310
9311 2004-05-09  Benjamin Otte  <otte@gnome.org>
9312
9313         * libs/gst/bytestream/Makefile.am:
9314           we should indeed add .c files to makefiles or they won't be built
9315           (d'oh)
9316
9317 2004-05-08  Benjamin Otte  <otte@gnome.org>
9318
9319         * gst/gstpad.c: (gst_pad_proxy_fixate):
9320           really reduce the set of caps
9321
9322 2004-05-08  Benjamin Otte  <otte@gnome.org>
9323
9324         * tests/Makefile.am:
9325         * tests/spidey_bench.c: (handoff), (main):
9326           add benchmark to test how long spider needs to create a pipeline
9327
9328 2004-05-08  Benjamin Otte  <otte@gnome.org>
9329
9330         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9331           mark links as unengaged when unnegotiating instead of deactivating.
9332           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9333
9334 2004-05-08  Benjamin Otte  <otte@gnome.org>
9335
9336         * docs/manual/helloworld.xml:
9337           s/audiosink/osssink (patch by Patrick Guimond)
9338
9339 2004-05-07  David Schleef  <ds@schleef.org>
9340
9341         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9342         since it contains important stuff.
9343
9344 2004-05-07  David Schleef  <ds@schleef.org>
9345
9346         * testsuite/caps/caps.c: (test3), (main): A check for appending
9347         ANY caps.
9348
9349 2004-05-07  David Schleef  <ds@schleef.org>
9350
9351         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9352         which may contain commas.  Fixes detection of -Wa,-mregnames
9353
9354 2004-05-06  David Schleef  <ds@schleef.org>
9355
9356         Changes to handle compilers that don't have variadic macro
9357         support.  In particular, glib headers define some inlines
9358         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9359         builds.
9360         * gst/Makefile.am:
9361         * gst/cothreads.c:
9362         * gst/elements/gstfdsink.c:
9363         * gst/elements/gstfdsrc.c:
9364         * gst/elements/gstfilesink.c:
9365         * gst/elements/gstfilesrc.c:
9366         * gst/gst_private.h:
9367         * gst/gstatomic.c:
9368         * gst/gstcaps.c: (gst_caps_append):
9369         * gst/gstcpu.c: (gst_cpuid_i386):
9370         * gst/gstelement.c:
9371         * gst/gsterror.c:
9372         * gst/gstfilter.c:
9373         * gst/gstinfo.h:
9374         * gst/gstprobe.c:
9375         * gst/gstquery.c:
9376         * gst/gstregistry.c:
9377         * gst/gststructure.c:
9378         * gst/gsttaginterface.c:
9379         * gst/gsttrace.c: (gst_trace_new):
9380         * gst/gsttrashstack.c:
9381         * gst/gsturi.c:
9382         * gst/gstvalue.c:
9383         * gst/parse/grammar.y:
9384         * gst/parse/parse.l:
9385         * tools/gst-inspect.c: (main):
9386         * tools/gst-launch.c: (main):
9387         * tools/gst-xmlinspect.c: (PUT_STRING):
9388
9389 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9390
9391         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9392         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9393         * gst/elements/gstfilesrc.h:
9394           send NEW_MEDIA events correctly
9395         * gst/elements/gsttypefindelement.c: (start_typefinding),
9396         (gst_type_find_element_handle_event):
9397           restart typefinding when we get a NEW_MEDIA event
9398         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9399         (gst_bin_dispose):
9400           don't die when someone removes elements in callbacks
9401         * gst/gstelement.c: (gst_element_change_state):
9402           improve debugging
9403         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9404           we need a NEW_MEDIA event to engage a link
9405         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9406           don't g_print debugging stuff
9407         * testsuite/caps/simplify.c: (check_caps):
9408
9409 2004-05-04  Benjamin Otte  <otte@gnome.org>
9410
9411         * gst/parse/grammar.y:
9412           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9413
9414 2004-05-04  Benjamin Otte  <otte@gnome.org>
9415
9416         * testsuite/caps/renegotiate.c: (main):
9417           improve output in error case
9418
9419 2004-05-04  Benjamin Otte  <otte@gnome.org>
9420
9421         * gst/parse/grammar.y:
9422           fix assert to not trigger when there's no error argument
9423         * gst/parse/parse.l:
9424           fix definition of caps to allow more than two structures
9425         * testsuite/caps/Makefile.am:
9426         * testsuite/caps/renegotiate.c: (main):
9427           it's sinesrc and works in that case
9428
9429 2004-05-04  Wim Taymans  <wim@fluendo.com>
9430
9431         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9432         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9433         when removing an element from a group, we always need to
9434         decrement the link count that this group had with other 
9435         groups through the element.
9436         added an extra assert to catch inconsistencies when decrementing
9437         the link count.
9438
9439 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9440
9441         * configure.ac:
9442         * docs/gst/Makefile.am:
9443         * docs/gst/gstreamer-sections.txt:
9444         * docs/gst/tmpl/gstcompat.sgml:
9445         * examples/appreader/Makefile.am:
9446         * examples/cutter/Makefile.am:
9447         * examples/events/Makefile.am:
9448         * examples/helloworld/Makefile.am:
9449         * examples/helloworld2/Makefile.am:
9450         * examples/launch/Makefile.am:
9451         * examples/manual/Makefile.am:
9452         * examples/mixer/Makefile.am:
9453         * examples/pingpong/Makefile.am:
9454         * examples/plugins/Makefile.am:
9455         * examples/queue/Makefile.am:
9456         * examples/queue2/Makefile.am:
9457         * examples/queue3/Makefile.am:
9458         * examples/queue4/Makefile.am:
9459         * examples/retag/Makefile.am:
9460         * examples/thread/Makefile.am:
9461         * examples/typefind/Makefile.am:
9462         * examples/xml/Makefile.am:
9463         * gst/Makefile.am:
9464         * gst/autoplug/Makefile.am:
9465         * gst/elements/Makefile.am:
9466         * gst/gstcompat.h:
9467         * gst/indexers/Makefile.am:
9468         * gst/parse/Makefile.am:
9469         * gst/registries/Makefile.am:
9470         * gst/schedulers/Makefile.am:
9471         * libs/gst/bytestream/Makefile.am:
9472         * libs/gst/control/Makefile.am:
9473         * libs/gst/getbits/Makefile.am:
9474         * po/af.po:
9475         * po/az.po:
9476         * po/en_GB.po:
9477         * po/fr.po:
9478         * po/nl.po:
9479         * po/sr.po:
9480         * po/sv.po:
9481         * po/tr.po:
9482         * po/uk.po:
9483         * tests/Makefile.am:
9484         * tests/bufspeed/Makefile.am:
9485         * tests/instantiate/Makefile.am:
9486         * tests/memchunk/Makefile.am:
9487         * tests/muxing/Makefile.am:
9488         * tests/negotiation/Makefile.am:
9489         * tests/probes/Makefile.am:
9490         * tests/sched/Makefile.am:
9491         * tests/seeking/Makefile.am:
9492         * tests/threadstate/Makefile.am:
9493         * testsuite/caps/Makefile.am:
9494         * testsuite/cleanup/Makefile.am:
9495         * testsuite/dlopen/Makefile.am:
9496         * testsuite/dynparams/Makefile.am:
9497         * testsuite/plugin/Makefile.am:
9498         * testsuite/states/Makefile.am:
9499         * tools/Makefile.am:
9500           reorganize compile/link flags to be consistent
9501           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9502
9503 2004-05-04  David Schleef  <ds@schleef.org>
9504
9505         The "once more, with feeling" check-in.
9506         * testsuite/caps/Makefile.am: dist caps_strings
9507         * testsuite/caps/renegotiate.c: (main): This test triggers a
9508           segfault in the core.  Marking as failing.
9509
9510 2004-05-03  David Schleef  <ds@schleef.org>
9511
9512         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9513           by the build bots.
9514         * testsuite/caps/renegotiate.c: (main): Same.
9515
9516 2004-05-03  David Schleef  <ds@schleef.org>
9517
9518         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9519
9520 2004-05-03  David Schleef  <ds@schleef.org>
9521
9522         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9523           variable to find our source file.
9524
9525 2004-05-03  David Schleef  <ds@schleef.org>
9526
9527         * configure.ac:  Link plugins with libgstreamer and dependent
9528           libraries
9529         * testsuite/caps/Makefile.am:
9530         * testsuite/caps/caps_strings:
9531         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9532           through a file of caps strings and test each one
9533
9534 2004-05-04  Benjamin Otte  <otte@gnome.org>
9535
9536         * libs/gst/bytestream/Makefile.am:
9537         * libs/gst/bytestream/adapter.c: 
9538         * libs/gst/bytestream/adapter.h:
9539           add GstAdapter, similar to bytestream, but doesn't require ugly event
9540           handling or uglier loopbased elements
9541
9542 2004-05-03  David Schleef  <ds@schleef.org>
9543
9544         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9545         * testsuite/caps/erathostenes.c:
9546         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9547
9548 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9549
9550         * docs/pwg/pwg.xml:
9551           remove hardcoded stylesheet path (duh)
9552         * docs/random/release:
9553         * docs/gst/gstreamer-sections.txt:
9554         * gst/Makefile.am:
9555         * gst/gst.h:
9556         * gst/gst_private.h:
9557         * gst/gstcaps.c:
9558         * gst/gstevent.c:
9559         * gst/gstformat.c:
9560         * gst/gstinfo.c:
9561         * gst/gstinfo.h:
9562         * gst/gstinterface.c:
9563         * gst/gstmemchunk.c:
9564         * gst/gstprobe.c:
9565         * gst/gstquery.c:
9566         * gst/gstregistry.c:
9567         * gst/gstregistrypool.c:
9568         * gst/gststructure.c:
9569         * gst/gsttaginterface.c:
9570         * gst/gstthread.c:
9571         * gst/gsttrace.c:
9572         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9573         * gst/gsturi.c:
9574         * gst/gstvalue.c:
9575           deprecate gst_info; remove gstlog.h
9576    
9577
9578 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9579
9580         * Makefile.am:
9581         * po/en_GB.po:
9582         * po/sv.po:
9583         * po/uk.po:
9584           updated translations
9585
9586 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9587
9588         * gst/gstbin.c: (gst_bin_dispose):
9589           better debugging
9590
9591 2004-05-03  Johan Dahlin  <johan@gnome.org>
9592
9593         * gst/schedulers/gstoptimalscheduler.c
9594         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9595         really is a GstElement. Avoids critical when running gst-launch -v
9596         and a oggdemux/decoding pipeline.
9597
9598 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9599
9600         * docs/gst/tmpl/gstpipeline.sgml :
9601         * docs/manual/elements-api.xml :
9602                 doc fix by Patrick Guimond (Protector) from devel ML
9603                 reviewed by ronald
9604
9605 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9606
9607         * docs/gst/Makefile.am :
9608         * docs/libs/Makefile.am :
9609                 apply a patch from Arwed v. Merkatz so that gtk-doc
9610                 generated docs install (same for .devhelp file)
9611                 (fixes part 1 of #138836)
9612
9613 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9614
9615         * docs/faq/dependencies.xml: typo
9616         * docs/faq/getting.xml :
9617             - fix download URL for new gstreamer site
9618             - hide sf.net download page as latest version aren't there
9619             - fix apt URLs
9620             - fill "get via CVS" paragraph (link to dev page on the site)
9621         * docs/faq/general.xml:
9622             hide status tables as they no more exists
9623             change case on plugins license file to reflect reality
9624         * docs/faq/troubleshooting.xml:
9625             remove the wiki question/answer as there is no more wiki
9626
9627 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9628
9629         * gst/gsterror.h:
9630           include the headers needed for declarations used in this header
9631
9632 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9633
9634         * docs/random/uraeus/gstreamer_and_midi.txt :
9635           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9636           (fixes #132288)
9637
9638 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9639
9640         reviewed by Benjamin Otte  <otte@gnome.org>
9641
9642         * gst/schedulers/gthread-cothreads.h:
9643           free allocated data for main cothread, too when destroying context
9644           (fixes #141417)
9645
9646 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9647
9648         * docs/manual/goals.xml : remove duplicated paragraph at end 
9649         of doc page (fixes #141448)
9650
9651 2004-04-29  David Schleef  <ds@schleef.org>
9652
9653         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9654         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9655
9656 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9657
9658         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9659           fix property
9660         * gst/gstcaps.c:
9661           fix doc string
9662         * po/POTFILES.in:
9663           rename typefind source file
9664
9665 2004-04-28  David Schleef  <ds@schleef.org>
9666
9667         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9668         * win32/GStreamer.vcproj:
9669         * win32/Makefile:
9670         * win32/config.h:
9671         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9672         (_trewinddir), (_ttelldir), (_tseekdir):
9673         * win32/dirent.h:
9674         * win32/gst-inspect.vcproj:
9675         * win32/gst-launch.vcproj:
9676         * win32/gst-register.vcproj:
9677         * win32/gstbytestream.vcproj:
9678         * win32/gstelements.vcproj:
9679         * win32/gstoptimalscheduler.vcproj:
9680         * win32/gstspider.vcproj:
9681         * win32/gtchar.h:
9682         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9683         * win32/mman.h:
9684         * win32/mman.inl:
9685         * win32/msvc71.sln:
9686
9687 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9688
9689         * gst/gst.c: (init_post):
9690         * gst/gstinfo.c:
9691           remove useless _gst_progname stuff
9692         * tools/gst-inspect.c: (print_field), (print_caps):
9693           improve caps output
9694
9695 2004-04-28  David Schleef  <ds@schleef.org>
9696
9697         Disable parsing of a lot of files that aren't part of the
9698         exported API.  Move corresponding template files to old/,
9699         waiting for removal when they don't contain anything
9700         interesting.
9701         * docs/gst/Makefile.am:
9702         * docs/gst/gstreamer-sections.txt:
9703         * docs/gst/tmpl/cothreads.sgml:
9704         * docs/gst/tmpl/cothreads_compat.sgml:
9705         * docs/gst/tmpl/gettext.sgml:
9706         * docs/gst/tmpl/gobject2gtk.sgml:
9707         * docs/gst/tmpl/grammar.tab.sgml:
9708         * docs/gst/tmpl/gst-i18n-app.sgml:
9709         * docs/gst/tmpl/gst-i18n-lib.sgml:
9710         * docs/gst/tmpl/gst_private.sgml:
9711         * docs/gst/tmpl/gstaggregator.sgml:
9712         * docs/gst/tmpl/gstarch.sgml:
9713         * docs/gst/tmpl/gstatomic_impl.sgml:
9714         * docs/gst/tmpl/gstbufferstore.sgml:
9715         * docs/gst/tmpl/gstdata_private.sgml:
9716         * docs/gst/tmpl/gstdisksink.sgml:
9717         * docs/gst/tmpl/gstdisksrc.sgml:
9718         * docs/gst/tmpl/gstelementfactory.sgml:
9719         * docs/gst/tmpl/gstextratypes.sgml:
9720         * docs/gst/tmpl/gstfakesink.sgml:
9721         * docs/gst/tmpl/gstfakesrc.sgml:
9722         * docs/gst/tmpl/gstfdsink.sgml:
9723         * docs/gst/tmpl/gstfdsrc.sgml:
9724         * docs/gst/tmpl/gstfilesink.sgml:
9725         * docs/gst/tmpl/gstfilesrc.sgml:
9726         * docs/gst/tmpl/gsthttpsrc.sgml:
9727         * docs/gst/tmpl/gstidentity.sgml:
9728         * docs/gst/tmpl/gstindexfactory.sgml:
9729         * docs/gst/tmpl/gstmarshal.sgml:
9730         * docs/gst/tmpl/gstmd5sink.sgml:
9731         * docs/gst/tmpl/gstmultidisksrc.sgml:
9732         * docs/gst/tmpl/gstmultifilesrc.sgml:
9733         * docs/gst/tmpl/gstpadtemplate.sgml:
9734         * docs/gst/tmpl/gstpipefilter.sgml:
9735         * docs/gst/tmpl/gstschedulerfactory.sgml:
9736         * docs/gst/tmpl/gstsearchfuncs.sgml:
9737         * docs/gst/tmpl/gstshaper.sgml:
9738         * docs/gst/tmpl/gstspider.sgml:
9739         * docs/gst/tmpl/gstspideridentity.sgml:
9740         * docs/gst/tmpl/gststatistics.sgml:
9741         * docs/gst/tmpl/gsttee.sgml:
9742         * docs/gst/tmpl/gsttimecache.sgml:
9743         * docs/gst/tmpl/gsttypefind.sgml:
9744         * docs/gst/tmpl/gsttypefindfactory.sgml:
9745         * docs/gst/tmpl/gstxmlregistry.sgml:
9746         * docs/gst/tmpl/gthread-cothreads.sgml:
9747         * docs/gst/tmpl/old/cothreads.sgml:
9748         * docs/gst/tmpl/old/cothreads_compat.sgml:
9749         * docs/gst/tmpl/old/gettext.sgml:
9750         * docs/gst/tmpl/old/gobject2gtk.sgml:
9751         * docs/gst/tmpl/old/grammar.tab.sgml:
9752         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9753         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9754         * docs/gst/tmpl/old/gst_private.sgml:
9755         * docs/gst/tmpl/old/gstaggregator.sgml:
9756         * docs/gst/tmpl/old/gstarch.sgml:
9757         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9758         * docs/gst/tmpl/old/gstbufferstore.sgml:
9759         * docs/gst/tmpl/old/gstdata_private.sgml:
9760         * docs/gst/tmpl/old/gstdisksink.sgml:
9761         * docs/gst/tmpl/old/gstdisksrc.sgml:
9762         * docs/gst/tmpl/old/gstelementfactory.sgml:
9763         * docs/gst/tmpl/old/gstextratypes.sgml:
9764         * docs/gst/tmpl/old/gstfakesink.sgml:
9765         * docs/gst/tmpl/old/gstfakesrc.sgml:
9766         * docs/gst/tmpl/old/gstfdsink.sgml:
9767         * docs/gst/tmpl/old/gstfdsrc.sgml:
9768         * docs/gst/tmpl/old/gstfilesink.sgml:
9769         * docs/gst/tmpl/old/gstfilesrc.sgml:
9770         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9771         * docs/gst/tmpl/old/gstidentity.sgml:
9772         * docs/gst/tmpl/old/gstindexfactory.sgml:
9773         * docs/gst/tmpl/old/gstmarshal.sgml:
9774         * docs/gst/tmpl/old/gstmd5sink.sgml:
9775         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9776         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9777         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9778         * docs/gst/tmpl/old/gstpipefilter.sgml:
9779         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9780         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9781         * docs/gst/tmpl/old/gstshaper.sgml:
9782         * docs/gst/tmpl/old/gstspider.sgml:
9783         * docs/gst/tmpl/old/gstspideridentity.sgml:
9784         * docs/gst/tmpl/old/gststatistics.sgml:
9785         * docs/gst/tmpl/old/gsttee.sgml:
9786         * docs/gst/tmpl/old/gsttimecache.sgml:
9787         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9788         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9789         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9790         * docs/gst/tmpl/old/types.sgml:
9791         * docs/gst/tmpl/types.sgml:
9792
9793         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9794         gtkdoc-scan doesn't like files with the same name in different
9795         directories.
9796         * gst/elements/Makefile.am:
9797         * gst/elements/gstelements.c:
9798         * gst/elements/gsttypefind.c: 
9799         * gst/elements/gsttypefind.h:
9800         * gst/elements/gsttypefindelement.c:
9801         * gst/elements/gsttypefindelement.h:
9802
9803 2004-04-28  David Schleef  <ds@schleef.org>
9804
9805         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9806         patch (bug #141317):
9807         * gst/gst-i18n-lib.h: Allow disabling gettext.
9808         * gst/gstatomic_impl.h: disable warning when it's dumb.
9809         * gst/gstclock.c: fix include
9810         * gst/gstcompat.h: fix variadic macro
9811         * gst/gstinfo.c: fix include
9812         * gst/gstmacros.h: add defines for inlines on MSVC
9813         * gst/gstplugin.c: fix includes
9814         * gst/gstregistry.c: fix includes
9815         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9816         * gst/gstsystemclock.c: fix include
9817         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9818         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9819         * gst/registries/gstxmlregistry.c:
9820         (gst_xml_registry_parse_element_factory): fix use of non-portable
9821         functions
9822         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9823         * libs/gst/control/dparammanager.h: same
9824
9825 2004-04-28  David Schleef  <ds@schleef.org>
9826
9827         Move a bunch of unused files to old/ with names that are
9828         not case-insensitive-unique.  These files still contain some
9829         useful information that needs to be merged into gstbin.sgml,
9830         etc., so they shouldn't be deleted yet.
9831         * docs/gst/tmpl/GstBin.sgml:
9832         * docs/gst/tmpl/GstBuffer.sgml:
9833         * docs/gst/tmpl/GstCaps.sgml:
9834         * docs/gst/tmpl/GstClock.sgml:
9835         * docs/gst/tmpl/GstCompat.sgml:
9836         * docs/gst/tmpl/GstData.sgml:
9837         * docs/gst/tmpl/GstElement.sgml:
9838         * docs/gst/tmpl/GstEvent.sgml:
9839         * docs/gst/tmpl/GstIndex.sgml:
9840         * docs/gst/tmpl/GstStructure.sgml:
9841         * docs/gst/tmpl/GstTag.sgml:
9842         * docs/gst/tmpl/old/GstBin.sgml:
9843         * docs/gst/tmpl/old/GstBuffer.sgml:
9844         * docs/gst/tmpl/old/GstCaps.sgml:
9845         * docs/gst/tmpl/old/GstClock.sgml:
9846         * docs/gst/tmpl/old/GstCompat.sgml:
9847         * docs/gst/tmpl/old/GstData.sgml:
9848         * docs/gst/tmpl/old/GstElement.sgml:
9849         * docs/gst/tmpl/old/GstEvent.sgml:
9850         * docs/gst/tmpl/old/GstIndex.sgml:
9851         * docs/gst/tmpl/old/GstStructure.sgml:
9852         * docs/gst/tmpl/old/GstTag.sgml:
9853
9854 2004-04-28  David Schleef  <ds@schleef.org>
9855
9856         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9857         (gst_caps_append), (gst_caps_append_structure),
9858         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9859         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9860         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9861         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9862         (gst_caps_intersect), (gst_caps_normalize),
9863         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9864         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9865         * gst/gstcaps.h: use GST_IS_CAPS().
9866
9867 2004-04-26  David Schleef  <ds@schleef.org>
9868
9869         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9870         assembly.  gcc doesn't handle it correctly. (bug #141083)
9871         * gst/gsttrashstack.h: same
9872
9873 2004-04-25  Benjamin Otte  <otte@gnome.org>
9874
9875         * gst/gstelement.c: (gst_element_change_state):
9876           fix assertion to do an int comparison
9877
9878 2004-04-25  Benjamin Otte  <otte@gnome.org>
9879
9880         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9881           better debugging output on error
9882
9883 2004-04-25  Benjamin Otte  <otte@gnome.org>
9884
9885         * gst/gstcaps.c: (gst_caps_subtract):
9886           fix memleak
9887
9888 2004-04-23  Benjamin Otte  <otte@gnome.org>
9889
9890         * gst/gstvalue.c: (gst_value_compare_buffer),
9891         (_gst_value_initialize):
9892           add comparison function for buffers
9893
9894 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9895
9896         * docs/pwg/pwg.xml:
9897           Just found out that this so-called "ima-wav" format is really
9898           just "dvi adpcm" (according to the MS WAV documentation). So
9899           renaming it. We didn't use it yet anyway.
9900
9901 2004-04-23  Benjamin Otte  <otte@gnome.org>
9902
9903         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9904           call gst_caps_is_subset
9905
9906 2004-04-23  Benjamin Otte  <otte@gnome.org>
9907
9908         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9909         (gst_caps_is_subset):
9910           add documentation
9911
9912 2004-04-23  Benjamin Otte  <otte@gnome.org>
9913           
9914         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9915         (gst_caps_structure_subtract), (gst_caps_subtract),
9916         (gst_caps_structure_figure_out_union),
9917         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9918           fix simplifying and subtracting not working correctly with optional
9919           properties
9920           solve assorted problems that make it now simplify ebven more
9921         * docs/gst/tmpl/gstcaps.sgml:
9922         * gst/gstcaps.h:
9923           make gst_caps_do_simplify return a bool to indicate if it simplified
9924         * testsuite/caps/simplify.c: (main):
9925           add more checks. The tests is quite a bit useless right now because
9926           the core is heavily simplifying itself.
9927         * testsuite/caps/caps.h:
9928           fix caps to contain all optional properties
9929
9930 2004-04-22  Benjamin Otte  <otte@gnome.org>
9931
9932         * docs/gst/tmpl/gstcaps.sgml:
9933         * docs/gst/tmpl/gstfilesrc.sgml:
9934         * docs/gst/tmpl/gststructure.sgml:
9935         * docs/gst/tmpl/gstvalue.sgml:
9936           update for recent API changes
9937         * gst/gstcaps.c: (gst_caps_do_simplify):
9938           fix to stop trying with a freed structure
9939         * gst/gstpad.c: (gst_pad_link_fixate):
9940           simplify caps
9941         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9942           remove C++ comment
9943         * gst/gstpad.h:
9944           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9945         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9946         (gst_structure_to_string):
9947           keep the correct type when using lists of ranges
9948         * gst/gstvalue.c: (gst_value_list_prepend_value),
9949         (gst_value_list_append_value):
9950           copy the value before adding to the list (d'oh)
9951         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9952         (gst_value_subtract_int_range_int_range):
9953           handle overflows correctly
9954         * gst/gstvalue.c: (gst_value_subtract_from_list):
9955           fix memleak
9956         * testsuite/caps/caps.h:
9957           add a caps that caused segfaults
9958
9959 2004-04-22  Benjamin Otte  <otte@gnome.org>
9960
9961         * testsuite/refcounting/pad.c: (main):
9962           fix test
9963
9964 2004-04-22  Benjamin Otte  <otte@gnome.org>
9965
9966         * gst/gstcaps.c: (gst_caps_subtract):
9967           allow subtracting ANY and EMPTY from ANY caps
9968
9969 2004-04-22  Benjamin Otte  <otte@gnome.org>
9970
9971         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9972         (gst_caps_union):
9973           only simplify in functions that create new caps. Simplifying in
9974           gst_caps_append breaks tests.
9975
9976 2004-04-22  Benjamin Otte  <otte@gnome.org>
9977
9978         * gst/gstcaps.c: (gst_caps_structure_simplify):
9979           unset GValue after use
9980         * gst/gstcaps.c: (gst_caps_append), 
9981         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9982           use gst_caps_simplify (reduces registry size by 30%)
9983         * gst/gstpad.c: (gst_pad_template_new):
9984           don't allow NULL caps
9985
9986 2004-04-22  Benjamin Otte  <otte@gnome.org>
9987
9988         * docs/gst/gstreamer-sections.txt:
9989           add gst_caps_do_simplify
9990         * gst/gstcaps.c:
9991           add documentation for gst_caps_do_simplify
9992         * gst/gstvalue.h:
9993           fix typo in gst_value_register_subtract_func declaration for gst-doc
9994
9995 2004-04-22  Benjamin Otte  <otte@gnome.org>
9996
9997         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9998           fix bug when converting from empty string.
9999         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10000         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10001           use gst_caps_new_empty to allocate a new caps. Only that function
10002           allocates memory for caps now.
10003         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10004         (gst_caps_remove_structure):
10005           add ability to remove one structure (but not to header yet)
10006         * gst/gstcaps.c: (gst_caps_compare_structures),
10007         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10008         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10009         * gst/gstcaps.h:
10010           add gst_caps_do_simplify that tries to simplify a caps in place.
10011           Deprecate old gst_caps_simplify function.
10012         * testsuite/caps/caps.h:
10013           add caps.h containing a common set of caps to test against.
10014         * testsuite/caps/sets.c: (check_caps), (main):
10015           use it.
10016         * testsuite/caps/.cvsignore:
10017         * testsuite/caps/Makefile.am:
10018         * testsuite/caps/simplify.c: (check_caps), (main):
10019           add test to check correctness and efficency of caps simplification.
10020
10021 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10022
10023         reviewed by Benjamin Otte  <otte@gnome.org>
10024
10025         * gst/gstparse.c: (_gst_parse_escape):
10026           Free the GString used in _gst_parse_escape()
10027
10028 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10029
10030         * gst/gstpad.c: (gst_pad_link_negotiate):
10031           refuse to link if the link is not possible
10032         * configure.ac:
10033         * testsuite/Makefile.am:
10034         * testsuite/negotiation/.cvsignore:
10035         * testsuite/negotiation/Makefile.am:
10036         * testsuite/negotiation/pad_link.c: (main):
10037           add test that checks the above behaviour
10038
10039 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10040
10041         * docs/gst/gstreamer-sections.txt:
10042           add newly added API
10043
10044 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10045
10046         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10047         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10048         (gst_filesrc_open_file), (gst_filesrc_close_file),
10049         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10050         * gst/elements/gstfilesrc.h:
10051           add support for non-regular files (#140734)
10052
10053 2004-04-21  Benjamin Otte  <otte@gnome.org>
10054
10055         * gst/gstpad.c: (gst_pad_link_fixate):
10056           add sophisticated error checking code to see if fixation functions
10057           did their fixation right
10058
10059 2004-04-21  Benjamin Otte  <otte@gnome.org>
10060
10061         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10062           check for ANY caps before appending/unioning
10063         * gst/gstcaps.c: (gst_caps_is_subset),
10064         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10065         (gst_caps_structure_subtract), (gst_caps_subtract):
10066         * gst/gstcaps.h:
10067           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10068           the API. deprecate gst_caps_is_equal_fixed
10069         * gst/gstpad.c: (gst_pad_try_set_caps):
10070         * gst/gstqueue.c: (gst_queue_link):
10071           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10072         * gst/gststructure.c: (gst_structure_get_name_id):
10073         * gst/gststructure.h:
10074           add function gst_structure_get_name_id
10075         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10076         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10077         (gst_value_subtract_int_range_int_range),
10078         (gst_value_subtract_double_double_range),
10079         (gst_value_subtract_double_range_double),
10080         (gst_value_subtract_double_range_double_range),
10081         (gst_value_subtract_from_list), (gst_value_subtract_list),
10082         (gst_value_can_intersect), (gst_value_subtract),
10083         (gst_value_can_subtract), (gst_value_register_subtract_func),
10084         (_gst_value_initialize):
10085         * gst/gstvalue.h:
10086           add support for subtracting values from each other. Note that
10087           subtracting means subtracting as in set theory. Required for caps
10088           stuff above.
10089         * testsuite/caps/.cvsignore:
10090         * testsuite/caps/Makefile.am:
10091         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10092         * testsuite/caps/sets.c: (check_caps), (main):
10093         * testsuite/caps/subtract.c: (check_caps), (main):
10094           add tests for subtraction and equality code.
10095
10096 2004-04-20  David Schleef  <ds@schleef.org>
10097
10098         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10099         * gst/indexers/Makefile.am:
10100         * gst/schedulers/Makefile.am:
10101         * libs/gst/bytestream/Makefile.am:
10102         * libs/gst/control/Makefile.am:
10103         * libs/gst/getbits/Makefile.am:
10104
10105 2004-04-20  David Schleef  <ds@schleef.org>
10106
10107         * common/as-libtool.mak: Fine-tune DLL building.
10108         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10109         (like gst-plugins)
10110         * examples/plugins/Makefile.am: remove plugindir
10111         * gst/autoplug/Makefile.am: DLL building fixes
10112         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10113         Windows.
10114         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10115         * gst/indexers/Makefile.am: DLL building fixes
10116         * gst/schedulers/Makefile.am: DLL building fixes.
10117         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10118         * libs/gst/control/Makefile.am: same
10119         * libs/gst/getbits/Makefile.am: same
10120         * testsuite/Makefile.am: New dlopen directory
10121         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10122         when dlopened.
10123         * testsuite/dlopen/dlopen_gst.c: (main): same
10124         * testsuite/dlopen/loadgst.c: (do_test): same
10125
10126 2004-04-20  David Schleef  <ds@schleef.org>
10127
10128         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10129         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10130
10131 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10132
10133         * gst/gstelement.c: (gst_element_wait),
10134         (gst_element_set_time_delay), (gst_element_change_state):
10135           Use GST_TIME_*
10136
10137 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10138
10139         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10140         (gst_spider_identity_plug):
10141           improve debugging messages
10142         * gst/gstbin.c: (gst_bin_remove_func):
10143           make sure the state_change function is only called with simple state
10144           transitions
10145
10146 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10147
10148         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10149         (gst_fakesink_set_property), (gst_fakesink_chain):
10150         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10151         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10152         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10153         * gst/elements/gstidentity.c: (gst_identity_chain),
10154         (gst_identity_set_property):
10155         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10156         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10157           add warnings to _set_property for unknown arguments
10158           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10159
10160 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10161
10162         * Makefile.am:
10163         * docs/manuals.mak:
10164           add .po file download snippet
10165           fix a bug in the doc makefile
10166
10167 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10168
10169         * Makefile.am:
10170         * po/LINGUAS:
10171         * po/en_GB.po:
10172           Added en_GB translation (Gareth Owen)
10173
10174 2004-04-20  Johan Dahlin  <johan@gnome.org>
10175
10176         * gst/gstpad.c (_invent_event): Clean up
10177
10178 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10179
10180         * testsuite/caps/filtercaps.c: (main):
10181           fix test to test things correctly (caps are complicated)
10182
10183 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10184
10185         * testsuite/caps/Makefile.am:
10186         * testsuite/caps/filtercaps.c: (main):
10187           add test (that doesn't work right now, but should)
10188
10189 2004-04-19  David Schleef  <ds@schleef.org>
10190
10191         * configure.ac: Add test for allowing unaligned access.  Add define
10192         to put in gstconfig.h.
10193         * docs/gst/gstreamer-sections.txt: New symbols
10194         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10195         * docs/gst/tmpl/gstfilesrc.sgml:
10196         * docs/gst/tmpl/gstparse.sgml:
10197         * docs/gst/tmpl/gsttypes.sgml:
10198         * docs/gst/tmpl/gstutils.sgml:
10199         * docs/gst/tmpl/gstvalue.sgml:
10200         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10201         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10202         on most !i386/!powerpc architectures.  From Daniel Gazard
10203         <daniel.gazard@free.fr>.  (bug #140156)
10204         * po/af.po: Check in changes made by gettext.
10205         * po/az.po:
10206         * po/fr.po:
10207         * po/nl.po:
10208         * po/sr.po:
10209         * po/sv.po:
10210
10211 2004-04-20  Benjamin Otte  <otte@gnome.org>
10212
10213         * gst/schedulers/entryscheduler.c: 
10214         (gst_entry_scheduler_yield):
10215           refuse to yield when decoupled elements insist on doing that.
10216           At least it's better than crashing
10217
10218 2004-04-19  David Schleef  <ds@schleef.org>
10219
10220         * docs/libs/Makefile.am: Change sinclude to include
10221         * docs/gst/Makefile.am: same
10222         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10223
10224 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10225
10226         * po/LINGUAS:
10227         * po/uk.po:
10228           Added Ukrainian translation (Maxim V. Dziumanenko)
10229
10230 2004-04-19  Johan Dahlin  <johan@gnome.org>
10231
10232         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10233         checking here, do it before calling the function.
10234         Clean up, use for loops instead of while loops while iterating
10235         over lists.
10236
10237         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10238         in debug message.
10239         (gst_spider_create_and_plug): Improve debug message.
10240         General: Replace while loops which iterates over GLists with for
10241         loops. Which are much cleaner, improves readability, especially
10242         for gst_spider_identity_plug
10243
10244         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10245         fixes bug 140477
10246
10247 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10248
10249         * po/LINGUAS:
10250         * po/tr.po:
10251           Added Turkish translation (Baris Cicek)
10252
10253 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10254
10255         * docs/faq/troubleshooting.xml:
10256           Mention gst-register in the FAQ (fixes 139045).
10257
10258 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10259
10260         * docs/gst/gstreamer-sections.txt:
10261
10262 2004-04-17  Benjamin Otte  <otte@gnome.org>
10263
10264         * gst/gstelement.c: (gst_element_dispose):
10265           simplify
10266         * gst/gstpad.c: (gst_pad_call_chain_function):
10267           don't create loads of events due to bad macro usage
10268
10269 2004-04-16  David Schleef  <ds@schleef.org>
10270
10271         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10272         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10273         * gst/gstvalue.c: (gst_value_serialize_buffer),
10274         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10275         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10276         to indicate types that are fixed wrt caps or not.  Switching to
10277         this function fixes (bug #140298).
10278         * gst/gstvalue.h:
10279
10280 2004-04-16  David Schleef  <ds@schleef.org>
10281
10282         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10283         for GST_UNALIGNED_ACESS, since we essentially know which archs
10284         are ok.
10285
10286 2004-04-17  Benjamin Otte  <otte@gnome.org>
10287
10288         * docs/gst/Makefile.am:
10289           ignore gst/parse directory when building docs (fixes #140205)
10290
10291 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10292
10293         * testsuite/refcounting/mem.c: (vmsize):
10294           do error checking
10295
10296 2004-04-16  Johan Dahlin  <johan@gnome.org>
10297
10298         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10299         and gst_pad_call_get_function.
10300
10301 2004-04-15  David Schleef  <ds@schleef.org>
10302
10303         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10304         checks if we can access unaligned memory.
10305         * configure.ac: Use it.
10306
10307 2004-04-16  Benjamin Otte  <otte@gnome.org>
10308
10309         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10310         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10311         * gst/elements/gstfilesrc.h:
10312           s/seek_happened/need_discont/ and require discont before sending any
10313           data
10314
10315 2004-04-15  David Schleef  <ds@schleef.org>
10316
10317         * gst/gstvalue.c: (gst_value_serialize_buffer),
10318         (gst_value_deserialize_buffer), (_gst_value_initialize):
10319         Register these types as fundamental types. (bug #140015)
10320
10321 2004-04-16  Benjamin Otte  <otte@gnome.org>
10322
10323         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10324         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10325         (gst_pad_pull):
10326           implement enforcing discont events before buffers are passed. This
10327           allows state changes of only some elements and later correctly going
10328           on where they left off (or in short: you can now set audio sinks to
10329           NULL to release the device when the pipeline is paused)
10330         * gst/gstpad.c: (gst_pad_call_chain_function),
10331         (gst_pad_call_get_function):
10332         * gst/gstpad.h:
10333           add gst_pad_call_chain_function and gst_pad_call_get_function for
10334           scheduler interaction. They are required because of the changes
10335           above.
10336         * gst/schedulers/entryscheduler.c: (get_buffer),
10337         (gst_entry_scheduler_chain_wrapper),
10338         (gst_entry_scheduler_get_wrapper),
10339         (gst_entry_scheduler_state_transition),
10340         (gst_entry_scheduler_pad_link):
10341         * gst/schedulers/gstbasicscheduler.c:
10342         (gst_basic_scheduler_chain_wrapper),
10343         (gst_basic_scheduler_src_wrapper),
10344         (gst_basic_scheduler_chainhandler_proxy),
10345         (gst_basic_scheduler_gethandler_proxy),
10346         (gst_basic_scheduler_cothreaded_chain),
10347         (gst_basic_scheduler_chain_elements):
10348         * gst/schedulers/gstoptimalscheduler.c:
10349         (get_group_schedule_function), (pad_clear_queued),
10350         (gst_opt_scheduler_pad_link):
10351           use the new functions instead of calling get/chain-functions
10352           directly.
10353
10354 2004-04-15  David Schleef  <ds@schleef.org>
10355
10356         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10357         * docs/gst/tmpl/gstinfo.sgml: same
10358         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10359         gtk-doc put here.
10360         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10361         * examples/queue/queue.c: (main):  We iterate pipelines, not
10362         bins.  (bug #139996)
10363
10364 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10365
10366         * docs/pwg/advanced-types.xml:
10367           Add MS RLE support. Also document Qt RLE although I have no sample
10368           files for that yet. And document an extra property for ADPCM.
10369
10370 2004-04-15  David Schleef  <ds@schleef.org>
10371
10372         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10373         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10374         Windows.
10375
10376 2004-04-15  David Schleef  <ds@schleef.org>
10377
10378         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10379         symbol names to not conflict with new gstinfo.h symbols.
10380         * gst/gstinfo.h: Add inline functions for all those crazy
10381         compilers that don't know how to handle variadic macros (MSVC).
10382
10383 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10384
10385         * configure.ac: bump nano to 1
10386
10387 === release 0.8.1 ===
10388
10389 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10390
10391         * NEWS:
10392         * RELEASE:
10393         * configure.ac:
10394           releasing 0.8.1, "Snow Brigade"
10395
10396 2004-04-14  David Schleef  <ds@schleef.org>
10397
10398         * testsuite/Makefile.am: define tests_ignore
10399         * testsuite/Rules: Added new tests_ignore, which get compiled,
10400         but not run (generally because they're inconsistent or have
10401         heisenbugs).  Now we can ensure all the .c files compile in
10402         testsuite/.
10403         * testsuite/bins/Makefile.am: define tests_ignore
10404         * testsuite/bytestream/Makefile.am:
10405         * testsuite/caps/Makefile.am:
10406         * testsuite/clock/Makefile.am:
10407         * testsuite/debug/Makefile.am:
10408         * testsuite/debug/global.c: (gst_debug_log_one),
10409         (gst_debug_log_two): Fix compilation problem.
10410         * testsuite/dynparams/Makefile.am:
10411         * testsuite/elements/Makefile.am:
10412         * testsuite/ghostpads/Makefile.am:
10413         * testsuite/indexers/Makefile.am:
10414         * testsuite/parse/Makefile.am:
10415         * testsuite/plugin/Makefile.am:
10416         * testsuite/refcounting/Makefile.am:
10417         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10418         results, because it's not calculated correctly.
10419         * testsuite/refcounting/pad.c: (main): same
10420         * testsuite/states/Makefile.am:
10421         * testsuite/tags/Makefile.am:
10422         * testsuite/threads/Makefile.am:
10423
10424 2004-04-14  David Schleef  <ds@schleef.org>
10425
10426         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10427         generating bad code around the cpu detection asm code.
10428
10429 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10430
10431         * tools/gst-inspect.c: (print_element_info):
10432           print numeric version of rank as well, since we added some - 1
10433           rank values to elements
10434
10435 2004-04-13  David Schleef  <ds@schleef.org>
10436
10437         * configure.ac:  Disable various code when compiling for MinGW.
10438         * gst/elements/Makefile.am:
10439         * gst/elements/gstelements.c:
10440         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10441         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10442         * gst/registries/gstxmlregistry.c: (make_dir):
10443
10444 2004-04-13  David Schleef  <ds@schleef.org>
10445
10446         * gst/Makefile.am:
10447         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10448         assembly.
10449         * gst/gstcpuid_i386.s: remove
10450
10451 2004-04-13  David Schleef  <ds@schleef.org>
10452
10453         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10454         seems to think it needs to be done.
10455         * docs/gst/tmpl/gstfakesink.sgml:
10456         * docs/gst/tmpl/gstfakesrc.sgml:
10457         * docs/gst/tmpl/gstfdsink.sgml:
10458         * docs/gst/tmpl/gstfdsrc.sgml:
10459         * docs/gst/tmpl/gstfilesink.sgml:
10460         * docs/gst/tmpl/gstfilesrc.sgml:
10461         * docs/gst/tmpl/gstidentity.sgml:
10462         * docs/gst/tmpl/gstmd5sink.sgml:
10463         * docs/gst/tmpl/gstmultifilesrc.sgml:
10464         * docs/gst/tmpl/gstpipefilter.sgml:
10465         * docs/gst/tmpl/gstshaper.sgml:
10466         * docs/gst/tmpl/gstspider.sgml:
10467         * docs/gst/tmpl/gstspideridentity.sgml:
10468         * docs/gst/tmpl/gststatistics.sgml:
10469         * docs/gst/tmpl/gsttee.sgml:
10470         * docs/gst/tmpl/gsttypefind.sgml:
10471         * docs/gst/tmpl/gstutils.sgml:
10472
10473 2004-04-13  David Schleef  <ds@schleef.org>
10474
10475         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10476         and to build DLLs on Windows.
10477         * gst/Makefile.am:
10478         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10479         (gst_filesrc_open_file):
10480         * gst/schedulers/Makefile.am:
10481
10482 2004-04-13  David Schleef  <ds@schleef.org>
10483
10484         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10485         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10486         fixating lists.
10487
10488 2004-04-12  David Schleef  <ds@schleef.org>
10489
10490         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10491         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10492         to using it.
10493         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10494         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10495         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10496         * gst/gststructure.c: (gst_structure_set_valist),
10497         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10498         support for buffers.
10499         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10500         intended to be const.
10501         * gst/gsttag.h: same
10502         * gst/gstvalue.c: (gst_value_serialize_buffer),
10503         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10504         to (de)serialize buffers.
10505         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10506         * testsuite/caps/string-conversions.c: (main):
10507         * testsuite/caps/value_serialize.c: add new test
10508
10509 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10510
10511         * docs/pwg/advanced-types.xml:
10512           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10513
10514 2004-04-11  Benjamin Otte  <otte@gnome.org>
10515
10516         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10517           rename categories to basic_*
10518         * gst/schedulers/gstbasicscheduler.c: 
10519         (gst_basic_scheduler_chain_wrapper),
10520         (gst_basic_scheduler_chainhandler_proxy),
10521         (gst_basic_scheduler_gethandler_proxy),
10522         (gst_basic_scheduler_eventhandler_proxy):
10523           debugging category fixes - put common stuff in log category
10524         * gst/schedulers/gstbasicscheduler.c: 
10525         (gst_basic_scheduler_chain_elements):
10526           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10527           active and linking two active chains
10528
10529 2004-04-10  Benjamin Otte  <otte@gnome.org>
10530
10531         * docs/pwg/intro-preface.xml:
10532           fix dead links and remove reference to Wiki
10533
10534 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10535
10536         * gst/schedulers/gstbasicscheduler.c:
10537           make sure we can switch back to the main function if we're still in
10538           the main function (supposed to fix #139617)
10539         * gst/schedulers/gthread-cothreads.h:
10540           don't throw an error when switching to the same cothread
10541
10542 2004-04-09  Benjamin Otte  <otte@gnome.org>
10543
10544         * gst/gstbin.c: (gst_bin_get_type):
10545         * gst/gstclock.c: (gst_clock_get_type):
10546         * gst/gstindex.c: (gst_index_get_type):
10547         * gst/gstobject.c: (gst_object_get_type),
10548         (gst_signal_object_get_type):
10549         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10550         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10551         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10552         * gst/gstqueue.c: (gst_queue_get_type):
10553         * gst/gstregistry.c: (gst_registry_get_type):
10554         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10555         * gst/gstthread.c: (gst_thread_get_type):
10556           don't use memchunks for these objects, use malloc instead
10557
10558 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10559
10560         * docs/gst/.cvsignore:
10561         * docs/gst/Makefile.am:
10562         * docs/gst/gstreamer-sections.txt:
10563         * docs/gst/tmpl/gstaggregator.sgml:
10564         * docs/gst/tmpl/gstbuffer.sgml:
10565         * docs/gst/tmpl/gstclock.sgml:
10566         * docs/gst/tmpl/gstelement.sgml:
10567         * docs/gst/tmpl/gstfakesink.sgml:
10568         * docs/gst/tmpl/gstfakesrc.sgml:
10569         * docs/gst/tmpl/gstfdsink.sgml:
10570         * docs/gst/tmpl/gstfdsrc.sgml:
10571         * docs/gst/tmpl/gstfilesink.sgml:
10572         * docs/gst/tmpl/gstfilesrc.sgml:
10573         * docs/gst/tmpl/gstidentity.sgml:
10574         * docs/gst/tmpl/gstindex.sgml:
10575         * docs/gst/tmpl/gstinfo.sgml:
10576         * docs/gst/tmpl/gstmd5sink.sgml:
10577         * docs/gst/tmpl/gstmultifilesrc.sgml:
10578         * docs/gst/tmpl/gstpad.sgml:
10579         * docs/gst/tmpl/gstpipefilter.sgml:
10580         * docs/gst/tmpl/gstpipeline.sgml:
10581         * docs/gst/tmpl/gstpluginfeature.sgml:
10582         * docs/gst/tmpl/gstqueue.sgml:
10583         * docs/gst/tmpl/gstregistry.sgml:
10584         * docs/gst/tmpl/gstscheduler.sgml:
10585         * docs/gst/tmpl/gstshaper.sgml:
10586         * docs/gst/tmpl/gstspider.sgml:
10587         * docs/gst/tmpl/gstspideridentity.sgml:
10588         * docs/gst/tmpl/gststatistics.sgml:
10589         * docs/gst/tmpl/gstsystemclock.sgml:
10590         * docs/gst/tmpl/gsttee.sgml:
10591         * docs/gst/tmpl/gstthread.sgml:
10592         * docs/gst/tmpl/gsttypefind.sgml:
10593         * docs/gst/tmpl/gstutils.sgml:
10594           further doc build fixes
10595
10596 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10597
10598         * docs/gst/Makefile.am:
10599           make docs exit on scanning problems
10600           fix nonsrcdir build issues
10601         * docs/gst/gstreamer-sections.txt:
10602           adding stuff from -unused
10603         * gst/gstqueue.h:
10604           create GstQueueSize
10605         * gst/schedulers/cothreads_compat.h:
10606           fix cothread warnings
10607
10608 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10609
10610         * docs/gst/gstreamer-sections.txt:
10611           remove defines deprecated by Benjamin
10612
10613 2004-04-07  Benjamin Otte  <otte@gnome.org>
10614
10615         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10616           when the buffer is complete, don't check if other buffers are needed
10617         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10618           check that the offset is >0 so we don't try to read before the
10619           beginning of the file
10620         * gst/gstpad.c: (gst_pad_set_pad_template):
10621           sink the template, so we don't end up with 130k pad templates
10622
10623 2004-04-06  Benjamin Otte  <otte@gnome.org>
10624
10625         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10626           don't ref the element, adding already reffed it. And we didn't unref
10627           it later anyway... (huge memleak when you used many spider elements)
10628         * gst/gstelement.c: (gst_element_base_class_finalize):
10629         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10630         (gst_element_register):
10631         * gst/gsturi.c: (gst_element_make_from_uri):
10632           use gst_object_(un)ref instead of g_object(un)ref
10633
10634 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10635
10636         * gst/gstbuffer.h:
10637           remove macro that wouldn't work anymore because struct member has
10638           been removed.
10639         * gst/schedulers/entryscheduler.c: (schedule_forward):
10640           fix segfault for unconnected pads
10641         
10642 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10643
10644         reviewed by David Schleef <ds@schleef.org>
10645
10646         * gst/gstinfo.h:
10647           *_FORMAT modifiers should require putting a % in front of them for
10648           consistency reasons.
10649
10650 2004-04-05  Colin Walters  <walters@redhat.com>
10651
10652         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10653         space.
10654
10655 2004-04-05  Benjamin Otte  <otte@gnome.org>
10656
10657         * configure.ac:
10658         * gst/Makefile.am:
10659         * gst/gst_private.h:
10660         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10661           add support for detecting if GStreamer runs inside valgrind.
10662           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10663           print a big message in valgrind that GStreamer has detected it's
10664           running inside and might now use different code.
10665         * gst/gstmemchunk.c: (populate), (free_area),
10666         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10667         (gst_mem_chunk_free):
10668           flag memchunks for valgrind, so it can detect leaking of chunks.
10669           This allows detecting leaks of GstBuffer and GstEvent correctly
10670           inside valgrind.
10671
10672 2004-04-05  David Schleef  <ds@schleef.org>
10673
10674         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10675           jensgr@gmx.net (Jens Granseuer)
10676
10677 2004-04-05  David Schleef  <ds@schleef.org>
10678
10679         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10680         (gst_buffer_default_free), (gst_buffer_default_copy),
10681         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10682         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10683         structures in one place.
10684
10685 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10686
10687         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10688           (GST_TIME_FORMAT, GST_TIME_ARGS)
10689
10690 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10691
10692         * testsuite/elements/Makefile.am:
10693           disable test until it stops breaking make distcheck
10694
10695 2004-04-05  Johan Dahlin  <johan@gnome.org>
10696
10697         * po/sv.po: Updated translation
10698
10699 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10700
10701         * gst/gstplugin.c: (gst_plugin_load_file):
10702           fix segfault for when original plugin was loaded statically
10703
10704 2004-04-05  Benjamin Otte  <otte@gnome.org>
10705
10706         * testsuite/debug/category.c: (main):
10707         * testsuite/debug/commandline.c: (main):
10708         * testsuite/debug/output.c: (main):
10709           fix tests to work again with debugging enabled
10710
10711 2004-04-05  Benjamin Otte  <otte@gnome.org>
10712
10713         * gst/schedulers/gstbasicscheduler.c:
10714         (gst_basic_scheduler_pad_link):
10715           fix to work with recent scheduling changes
10716
10717 2004-04-05  Benjamin Otte  <otte@gnome.org>
10718
10719         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10720         prepareChangeLog doesn't work when cvs indents):
10721           don't throw an error when no element can be scheduled, there's too
10722           many weird reasons why it doesn't work. Return STOPPED instead.
10723           decoupled elemts' schedulability doesn't depend on bufpens.
10724
10725 2004-04-04  Benjamin Otte  <otte@gnome.org>
10726
10727         * gst/schedulers/gstbasicscheduler.c:
10728         (gst_basic_scheduler_pad_select):
10729           fix uninitialized variable warnings
10730
10731 2004-04-04  Benjamin Otte  <otte@gnome.org>
10732
10733         * gst/gstpad.c: (gst_pad_collect_valist):
10734           fix uninitialized variable warning
10735         * gst/schedulers/entryscheduler.c: (schedule_forward):
10736           fix shadowed variable
10737
10738 2004-04-04  Benjamin Otte  <otte@gnome.org>
10739
10740         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10741         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10742         (gst_pad_select):
10743         * gst/gstpad.h:
10744         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10745         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10746         * gst/gstscheduler.h:
10747           implement gst_pad_collect as replacement for gst_pad_select.
10748           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10749           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10750           new pad_select, lock and unlock calls.
10751         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10752         * gst/cothreads.h:
10753         * gst/schedulers/cothreads_compat.h:
10754         * gst/schedulers/gthread-cothreads.h:
10755           remove unused cothread_lock and cothread_unlock calls
10756         * gst/schedulers/entryscheduler.c:
10757         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10758         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10759         (gst_entry_scheduler_pad_select):
10760           update to new API
10761         * gst/schedulers/gstbasicscheduler.c:
10762         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10763         (gst_basic_scheduler_pad_select):
10764           remove useless lock and unlock calls, update pad_select to new API
10765           (untested)
10766         * gst/schedulers/gstoptimalscheduler.c:
10767         (gst_opt_scheduler_class_init):
10768           remove useless select, lock and unlock function calls
10769         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10770           use gst_pad_collect instead of gst_pad_select
10771
10772 2004-04-04  Benjamin Otte  <otte@gnome.org>
10773
10774         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10775         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10776         (schedule_next_element), (print_entry):
10777           add can_schedule_pad to handle element states.
10778           add schedule_forward to select the correct entry to schedule next
10779
10780 2004-04-03  Benjamin Otte  <otte@gnome.org>
10781
10782         * gst/schedulers/entryscheduler.c: 
10783           remove unused variable, fix error inside Rb, fix compile warning in
10784           unreachable code
10785
10786 2004-04-03  Benjamin Otte  <otte@gnome.org>
10787
10788         * gst/schedulers/entryscheduler.c:
10789           completely revamp the inner workings, so it's a lot easier to
10790           understand and extend
10791
10792 2004-04-03  Andy Wingo  <wingo@pobox.com>
10793
10794         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10795         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10796         This allows better introspection of pipeline topology.
10797         (add_to_chain): Don't do trickery to put loop elements first;
10798         rather, queue a chain sort by marking the chain as dirty.
10799         (remove_from_chain): Mark the chain dirty.
10800         (sort_chain): New function. Sorts the group list so that terminal
10801         sinks are first. This means elements on the sink side will be
10802         preferentially sscheduled before elements on the src side of the
10803         pipeline.
10804         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10805         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10806         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10807         (group_inc_link): Change argument and variable names to match the
10808         new link structure member names (src and sink).
10809         (group_dec_link): Add some description
10810
10811 2004-04-03  Benjamin Otte  <otte@gnome.org>
10812
10813         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10814         * gst/gstinfo.h:
10815         * testsuite/debug/category.c: (main):
10816         * testsuite/debug/commandline.c: (main):
10817         * testsuite/debug/output.c: (main):
10818         * testsuite/debug/printf_extension.c: (main):
10819           fix to successfully build and test with --disable-gst-debug
10820           configure switch (fixes #138705)
10821
10822 2004-04-03  Benjamin Otte  <otte@gnome.org>
10823
10824         * docs/pwg/building-boiler.xml:
10825           add cvs login line and s/anonymous/anoncvs/
10826
10827 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10828
10829         reviewed by Benjamin Otte  <otte@gnome.org>
10830
10831         * gst/gststructure.c: (gst_structure_free):
10832           memleak fix: free fields array (partial fix for #134839)
10833
10834 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10835
10836         * docs/random/ds/0.9-suggested-changes:
10837           Add a note to change handoff use in fakesrc to be usable in
10838           a more generic way (fakesrc should be renamed to appsrc or so).
10839         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10840           Change signal type to scope, so we can fill the buffer in the
10841           handoff handler (that's the whole use of this signal...).
10842
10843 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10844
10845         * docs/pwg/other-ntoone.xml:
10846           Document muxers and n-to-1 elements.
10847
10848 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10849
10850         * gst/registries/gstxmlregistry.c
10851         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10852         determine if a file is a G_MODULE. The old one discards paths
10853         containing "so" somewhere in the middle. My home directory is
10854         called "soto". Go figure...
10855
10856 2004-03-31  David Schleef  <ds@schleef.org>
10857
10858         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10859         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10860         * gst/gstbuffer.h:
10861
10862 2004-03-31  David Schleef  <ds@schleef.org>
10863
10864         * gst/gstvalue.c: (gst_value_union_int_int_range),
10865         (gst_value_union_int_range_int_range), (gst_value_can_union),
10866         (gst_value_union), (_gst_value_initialize):  Add some union
10867         implementations.  We didn't have any previously.
10868         * testsuite/caps/Makefile.am:
10869         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10870         (gst_audioscale_getcaps), (test_caps), (main): A little test
10871         that is the same as the caps manipulation in audioscale.
10872
10873 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10874
10875         * docs/faq/general.xml:
10876           add entry about "does gst support format X?"
10877
10878 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10879
10880         * gst/gstthread.c:
10881           fix docs
10882         * gst/gstutils.h:
10883           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10884
10885 2004-03-30  Benjamin Otte  <otte@gnome.org>
10886
10887         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10888           set the offset of the buffer to the requested offset
10889         * gst/elements/gsttypefind.c: (stop_typefinding):
10890           revert patch 1.18 (which I unfortunately don't know the reason for).
10891           This is needed to allow downstream elements to seek. Otherwise
10892           typefind might overwrite a previous seek by downstream elements.
10893           This lead to errors with id3tag and typefind on some mp3s.
10894         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10895         (gst_entry_scheduler_iterate):
10896           be more verbose when debugging
10897
10898 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10899
10900         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10901           make sure we don't get NULL strings
10902
10903 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10904
10905         * gst/gstcaps.c:
10906         * gst/gstelement.c:
10907         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10908         * gst/gstindex.c: (gst_index_resolver_get_type),
10909         (gst_index_get_type), (gst_index_factory_get_type):
10910         * gst/gstinfo.c:
10911         * gst/gstpad.c:
10912         * gst/gstplugin.c:
10913         * gst/gsturi.c: (gst_uri_handler_get_type):
10914         * gst/gstvalue.c:
10915           first batch of documentation fixes
10916
10917 2004-03-29  David Schleef  <ds@schleef.org>
10918
10919         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10920         * docs/gst/gstreamer-docs.sgml:  More hacking
10921         * docs/gst/gstreamer-sections.txt:
10922         * docs/gst/tmpl/cothreads_compat.sgml:
10923         * docs/gst/tmpl/gstcaps.sgml:
10924         * docs/gst/tmpl/gstclock.sgml:
10925         * docs/gst/tmpl/gstelement.sgml:
10926         * docs/gst/tmpl/gstevent.sgml:
10927         * docs/gst/tmpl/gstpad.sgml:
10928         * docs/gst/tmpl/gstutils.sgml:
10929         * docs/gst/tmpl/gstxml.sgml:
10930         * docs/gst/tmpl/gthread-cothreads.sgml:
10931         * docs/random/ds/0.9-suggested-changes:
10932         * gst/elements/gstfakesink.h: doc fixes
10933         * gst/elements/gstfakesrc.h: doc fixes
10934         * gst/gstcaps.c: doc fixes
10935         * gst/gstcaps.h: doc fixes
10936         * gst/gstelement.c: doc fixes
10937         * gst/gstelement.h: doc fixes
10938         * gst/gstindex.c: doc fixes
10939         * gst/gstinfo.c: doc fixes
10940         * gst/gstpad.c: doc fixes
10941         * gst/gstpad.h: doc fixes
10942         * gst/gstplugin.c: doc fixes
10943         * gst/gsttypefind.h: doc fixes
10944         * gst/gsturi.c: doc fixes
10945         * gst/gstvalue.c: doc fixes
10946
10947 2004-03-29  Colin Walters  <walters@redhat.com>
10948
10949         * gst/registries/gstxmlregistry.c (get_time)
10950         (plugin_times_older_than_recurse):
10951         Use the result of stat to determine whether a path is a file,
10952         so we don't attempt to opendir() files.
10953
10954 2004-03-29  Benjamin Otte  <otte@gnome.org>
10955
10956         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10957           print caps in debugging output when setting caps failed
10958         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10959         (schedule_next_element), (get_buffer), (run_chainhandler),
10960         (element_may_start), (gst_entry_scheduler_chain_handler),
10961         (gst_entry_scheduler_get_handler),
10962         (gst_entry_scheduler_state_transition),
10963         (gst_entry_scheduler_pad_link):
10964           make this scheduler a testcase for mandatory
10965           discont-before-first-buffer which is needed if we want to allow apps
10966           to release the sound device.
10967           add SCHED_ASSERT macro to print scheduler state before an assertion
10968           triggers.
10969
10970 2004-03-29  Benjamin Otte  <otte@gnome.org>
10971
10972         * COPYING:
10973           replace by LGPL (former COPYING.LIB). The core is completely
10974           licensed LGPL.
10975         * COPYING.LIB:
10976           remove
10977
10978 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10979
10980         * po/af.po:
10981         * po/sv.po:
10982           updated Afrikaans and Swedish
10983
10984 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10985
10986         * po/LINGUAS:
10987         * po/az.po:
10988           adding Azerbaijani (Mətin Əmirov)
10989
10990 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10991
10992         * gst/gstelement.h: 
10993         * gst/gstelement.c (gst_element_set_time_delay): New function for
10994         setting element time taking into account a hardware buffering
10995         delay.
10996         (gst_element_set_time): Now just an invocation of
10997         gst_element_set_time_delay.
10998         * gst/gstclock.h: 
10999         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11000         allowing to set event times in the future.
11001         (gst_clock_get_event_time): Now just an invocation of
11002         gst_clock_get_event_time_delay.
11003
11004 2004-03-28  Benjamin Otte  <otte@gnome.org>
11005
11006         * gst/gstbin.c: (gst_bin_set_element_sched),
11007         (gst_bin_unset_element_sched):
11008           don't add decoupled elements to schedulers - otherwise it's
11009           impossible to control if a link to a decoupled element was already
11010           removed from a scheduler or not.
11011         * gst/schedulers/cothreads_compat.h:
11012         * gst/schedulers/gthread-cothreads.h:
11013           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11014           is no "unused" warning.
11015         * gst/schedulers/Makefile.am:
11016         * gst/schedulers/entryscheduler.c:
11017           add new scheduler, based on ideas from talking to David and Martin.
11018           It's supposed to be small and correct. Currently it's also slow (but
11019           it's not noticable)
11020         * examples/retag/retag.c: (main):
11021         * testsuite/bytestream/test1.c: (main):
11022           fix missing NULLs at end of variadic functions
11023         * testsuite/elements/.cvsignore:
11024           update
11025
11026 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11027
11028         * gst/gstevent.h:
11029         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11030
11031 2004-03-25  David Schleef  <ds@schleef.org>
11032
11033         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11034         * docs/gst/tmpl/gstaggregator.sgml:
11035         * docs/gst/tmpl/gstautoplugfactory.sgml:
11036         * docs/gst/tmpl/gstbin.sgml:
11037         * docs/gst/tmpl/gstbuffer.sgml:
11038         * docs/gst/tmpl/gstbufferstore.sgml:
11039         * docs/gst/tmpl/gstfakesink.sgml:
11040         * docs/gst/tmpl/gstfakesrc.sgml:
11041         * docs/gst/tmpl/gstmd5sink.sgml:
11042         * docs/gst/tmpl/gstreamer-unused.sgml:
11043         * docs/gst/tmpl/gstsearchfuncs.sgml:
11044         * docs/gst/tmpl/gstshaper.sgml:
11045         * docs/gst/tmpl/gstspider.sgml:
11046         * docs/gst/tmpl/gsttee.sgml:
11047         * docs/gst/tmpl/gstutils.sgml:
11048         * docs/gst/tmpl/gstvalue.sgml:
11049         * docs/gst/tmpl/gstxml.sgml:
11050         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11051         and we don't support it.
11052         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11053         (gst_use_threads), (gst_has_threads): same
11054         * gst/gstthreaddummy.c: same
11055         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11056         * gst/autoplug/gstspider.h: same
11057         * gst/elements/gstaggregator.h: Remove bogus function from header
11058         * gst/elements/gstfakesink.h: same
11059         * gst/elements/gstfakesrc.h: same
11060         * gst/elements/gstmd5sink.h: same
11061         * gst/elements/gstshaper.h: same
11062         * gst/elements/gsttee.h: same
11063         * gst/gstbin.c: doc fixes
11064         * gst/gstbin.h: Remove unused definition.
11065         * gst/gstbuffer.c: doc fixes
11066         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11067         * gst/gstfilter.c: doc fixes
11068         * gst/gsttag.c: doc fixes
11069         * gst/gstvalue.c: doc fixes
11070
11071 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11072
11073         * docs/pwg/advanced-types.xml:
11074           Document typefinding.
11075         * docs/pwg/other-oneton.xml:
11076           Document one-to-n elements, demuxers and parsers.
11077
11078 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11079
11080         reviewed by: David Schleef  <ds@schleef.org>
11081
11082         * configure.ac: Check bison version (bug #127838)
11083
11084 2004-03-25  David Schleef  <ds@schleef.org>
11085
11086         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11087         * docs/gst/gstreamer-sections.txt:
11088         * docs/gst/tmpl/gstautoplug.sgml:
11089         * docs/gst/tmpl/gststaticautoplug.sgml:
11090         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11091         * docs/gst/tmpl/gstutils.sgml:
11092         * docs/gst/tmpl/gstxml.sgml:
11093
11094 2004-03-24  David Schleef  <ds@schleef.org>
11095
11096         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11097         manual being such complete crap, that I decided to do major
11098         hacking of it.  This checkin replaces any fine tuning that
11099         may have been done previously, with the benefit of actually
11100         being complete for much of the API that was changed since
11101         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11102         * docs/gst/gstreamer-sections.txt:
11103         * docs/gst/tmpl/GstBin.sgml:
11104         * docs/gst/tmpl/GstBuffer.sgml:
11105         * docs/gst/tmpl/GstCaps.sgml:
11106         * docs/gst/tmpl/GstClock.sgml:
11107         * docs/gst/tmpl/GstCompat.sgml:
11108         * docs/gst/tmpl/GstData.sgml:
11109         * docs/gst/tmpl/GstElement.sgml:
11110         * docs/gst/tmpl/GstEvent.sgml:
11111         * docs/gst/tmpl/GstIndex.sgml:
11112         * docs/gst/tmpl/GstStructure.sgml:
11113         * docs/gst/tmpl/GstTag.sgml:
11114         * docs/gst/tmpl/cothreads.sgml:
11115         * docs/gst/tmpl/cothreads_compat.sgml:
11116         * docs/gst/tmpl/gettext.sgml:
11117         * docs/gst/tmpl/grammar.tab.sgml:
11118         * docs/gst/tmpl/gst-i18n-app.sgml:
11119         * docs/gst/tmpl/gst-i18n-lib.sgml:
11120         * docs/gst/tmpl/gst.sgml:
11121         * docs/gst/tmpl/gst_private.sgml:
11122         * docs/gst/tmpl/gstaggregator.sgml:
11123         * docs/gst/tmpl/gstarch.sgml:
11124         * docs/gst/tmpl/gstatomic.sgml:
11125         * docs/gst/tmpl/gstatomic_impl.sgml:
11126         * docs/gst/tmpl/gstbin.sgml:
11127         * docs/gst/tmpl/gstbuffer.sgml:
11128         * docs/gst/tmpl/gstbufferstore.sgml:
11129         * docs/gst/tmpl/gstcaps.sgml:
11130         * docs/gst/tmpl/gstclock.sgml:
11131         * docs/gst/tmpl/gstcompat.sgml:
11132         * docs/gst/tmpl/gstconfig.sgml:
11133         * docs/gst/tmpl/gstcpu.sgml:
11134         * docs/gst/tmpl/gstdata.sgml:
11135         * docs/gst/tmpl/gstdata_private.sgml:
11136         * docs/gst/tmpl/gstelement.sgml:
11137         * docs/gst/tmpl/gstenumtypes.sgml:
11138         * docs/gst/tmpl/gsterror.sgml:
11139         * docs/gst/tmpl/gstevent.sgml:
11140         * docs/gst/tmpl/gstfakesink.sgml:
11141         * docs/gst/tmpl/gstfakesrc.sgml:
11142         * docs/gst/tmpl/gstfilesink.sgml:
11143         * docs/gst/tmpl/gstfilter.sgml:
11144         * docs/gst/tmpl/gstindex.sgml:
11145         * docs/gst/tmpl/gstinfo.sgml:
11146         * docs/gst/tmpl/gstinterface.sgml:
11147         * docs/gst/tmpl/gstlog.sgml:
11148         * docs/gst/tmpl/gstmacros.sgml:
11149         * docs/gst/tmpl/gstmarshal.sgml:
11150         * docs/gst/tmpl/gstmd5sink.sgml:
11151         * docs/gst/tmpl/gstmultifilesrc.sgml:
11152         * docs/gst/tmpl/gstobject.sgml:
11153         * docs/gst/tmpl/gstpad.sgml:
11154         * docs/gst/tmpl/gstparse.sgml:
11155         * docs/gst/tmpl/gstpipeline.sgml:
11156         * docs/gst/tmpl/gstplugin.sgml:
11157         * docs/gst/tmpl/gstpluginfeature.sgml:
11158         * docs/gst/tmpl/gstqueue.sgml:
11159         * docs/gst/tmpl/gstreamer-unused.sgml:
11160         * docs/gst/tmpl/gstregistry.sgml:
11161         * docs/gst/tmpl/gstregistrypool.sgml:
11162         * docs/gst/tmpl/gstscheduler.sgml:
11163         * docs/gst/tmpl/gstsearchfuncs.sgml:
11164         * docs/gst/tmpl/gstshaper.sgml:
11165         * docs/gst/tmpl/gstspider.sgml:
11166         * docs/gst/tmpl/gstspideridentity.sgml:
11167         * docs/gst/tmpl/gststructure.sgml:
11168         * docs/gst/tmpl/gstsystemclock.sgml:
11169         * docs/gst/tmpl/gsttag.sgml:
11170         * docs/gst/tmpl/gsttaginterface.sgml:
11171         * docs/gst/tmpl/gsttee.sgml:
11172         * docs/gst/tmpl/gstthread.sgml:
11173         * docs/gst/tmpl/gsttrace.sgml:
11174         * docs/gst/tmpl/gsttrashstack.sgml:
11175         * docs/gst/tmpl/gsttypefind.sgml:
11176         * docs/gst/tmpl/gsttypes.sgml:
11177         * docs/gst/tmpl/gsturi.sgml:
11178         * docs/gst/tmpl/gsturitype.sgml:
11179         * docs/gst/tmpl/gstutils.sgml:
11180         * docs/gst/tmpl/gstvalue.sgml:
11181         * docs/gst/tmpl/gstversion.sgml:
11182         * docs/gst/tmpl/gstxml.sgml:
11183         * docs/gst/tmpl/gstxmlregistry.sgml:
11184         * docs/gst/tmpl/gthread-cothreads.sgml:
11185         * docs/gst/tmpl/types.sgml:
11186
11187 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11188
11189         * docs/pwg/other-sink.xml:
11190         * docs/pwg/other-source.xml:
11191           Documentation on how to write source and sink elements. Other
11192           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11193           manager, autoplugger) are all still pending.
11194
11195 2004-03-25  Benjamin Otte  <otte@gnome.org>
11196
11197         * testsuite/elements/Makefile.am:
11198         * testsuite/elements/gst-compprep-check:
11199           add check to make sure gst-compprep works
11200         * testsuite/elements/gst-inspect-check.in:
11201           improve initialization output
11202         * testsuite/Makefile.am:
11203         * testsuite/gst-inspect-check:
11204           remove old file
11205
11206 2004-03-24  David Schleef  <ds@schleef.org>
11207
11208         * testsuite/elements/Makefile.am:
11209         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11210         to the testsuite.
11211
11212 2004-03-24  Benjamin Otte  <otte@gnome.org>
11213
11214         * libs/gst/control/dparam.c: (gst_dparam_attach),
11215         (gst_dparam_detach):
11216         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11217           fix lvalue casts for real
11218
11219 2004-03-24  Benjamin Otte  <otte@gnome.org>
11220
11221         * gst/schedulers/gstbasicscheduler.c:
11222         (gst_basic_scheduler_src_wrapper):
11223         * gst/schedulers/gstoptimalscheduler.c:
11224         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11225         (pad_clear_queued), (gst_opt_scheduler_add_element),
11226         (gst_opt_scheduler_remove_element):
11227           fix GStreamer to not have issues with lvalue casts anymore (fixes
11228           #136841)
11229
11230 2004-03-24  Benjamin Otte  <otte@gnome.org>
11231
11232         * gst/gstelement.c:
11233           add documentation about a gobject quirk where the object hasn't the
11234           correct class pointer set on initialization
11235         * gst/schedulers/gstbasicscheduler.c:
11236         (gst_basic_scheduler_src_wrapper):
11237           make sure to not run into an infinite loop
11238
11239 2004-03-22  Benjamin Otte  <otte@gnome.org>
11240
11241         * gst/gstutils.c: (gst_util_dump_mem):
11242         * gst/gstutils.h:
11243           first argument of gst_util_dump_mem should be const
11244
11245 2004-03-22  Johan Dahlin  <johan@gnome.org>
11246
11247         * gst/gstvalue.h: Clean up a little bit.
11248
11249 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11250
11251         reviewed by Benjamin Otte  <otte@gnome.org>
11252
11253         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11254         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11255         (gst_aggregator_class_init), (gst_aggregator_init):
11256         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11257         (gst_filesrc_dispose), (gst_filesrc_set_location):
11258         * gst/elements/gstidentity.c: (gst_identity_finalize),
11259         (gst_identity_class_init), (gst_identity_chain):
11260         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11261         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11262         (gst_statistics_class_init):
11263         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11264         (gst_tee_get_property):
11265           clean up used memory in this elements correctly on teardown (closes
11266           #137279)
11267
11268 2004-03-20  Colin Walters  <walters@redhat.com>
11269
11270         * gst/registries/gstxmlregistry.c:
11271         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11272         registry saving atomic.
11273
11274 2004-03-20  Colin Walters  <walters@redhat.com>
11275
11276         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11277         Just use
11278         access() instead of actually creating and deleting files.
11279
11280 2004-03-18  David Schleef  <ds@schleef.org>
11281
11282         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11283         (bug #137625)
11284
11285 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11286
11287         * po/sv.po: updated translation (Christian Rose)
11288
11289 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11290
11291         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11292         (gst_filesink_get_query_types), (_do_init),
11293         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11294           return FALSE silently
11295         * po/af.po: updated translation (Petri Jooste)
11296
11297 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11298
11299         * Makefile.am:
11300         * configure.ac:
11301           dist common properly
11302         * po/af.po:
11303         * po/fr.po:
11304         * po/nl.po:
11305         * po/sr.po:
11306         * po/sv.po:
11307           refreshing translations
11308
11309 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11310
11311         * po/LINGUAS:
11312         * po/sv.po:
11313         * po/af.po:
11314           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11315
11316 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11317
11318         * Makefile.am: use common/release.mak
11319
11320 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11321
11322         * docs/faq/gst-uninstalled:
11323           adding gst-monkeysaudio to the list of possible plugin dirs
11324
11325 2004-03-16  David Schleef  <ds@schleef.org>
11326
11327         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11328         (gst_init_check_with_popt_table):  Fix some gettext strings to
11329         make them easier to translate.  Required making the strings
11330         non-const.
11331
11332 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11333
11334         * configure.ac: bump nano to 1
11335
11336 === release 0.8.0 ===
11337
11338 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11339
11340         * configure.ac: release 0.8.0, "Executive Slacks"
11341
11342 2004-03-16  Johan Dahlin  <johan@gnome.org>
11343
11344         * gst/schedulers/gstoptimalscheduler.c
11345         (gst_opt_scheduler_pad_unlink): Remove double ;,
11346         spotted by Scott Wheeler
11347
11348 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11349
11350         * configure.ac: bump libtool version
11351
11352 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11353
11354         * gst/gstcaps.h:
11355         * gst/gststructure.h:
11356           add reserved padding
11357
11358 2004-03-15  Benjamin Otte  <otte@gnome.org>
11359
11360         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11361           set the first parameter for select call correctly.
11362           (fixes #137230)
11363
11364 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11365
11366         * *.c,*.h: don't mix tabs and spaces
11367
11368 2004-03-15  Johan Dahlin  <johan@gnome.org>
11369
11370         * gst/schedulers/gstoptimalscheduler.c
11371         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11372         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11373
11374         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11375         
11376 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11377
11378         * testsuite/Rules:
11379           fix gst-register rules
11380
11381 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11382
11383         * testsuite/Rules:
11384           use versioned gst-register
11385
11386 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11387
11388         * docs/libs/gstreamer-libs-sections.txt:
11389           remove </SUBSECTION>
11390         * gst/gstplugin.c:
11391         * gst/gstregistry.c: (gst_registry_add_plugin):
11392         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11393         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11394           add debugging and fix some comment blocks
11395
11396 2004-03-15  Johan Dahlin  <johan@gnome.org>
11397
11398         * *.h: Revert indent changes.
11399         
11400 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11401
11402         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11403           g_error_free the g_error
11404         * tools/gst-feedback-m.m:
11405           check for other versions of gstreamer
11406         * tools/gst-indent:
11407           use sh, not bash
11408
11409 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11410
11411         * tools/gst-register.c: do not spill paths when registries are not
11412           writable, until we fix the "user running gst-register" case.
11413
11414 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11415
11416         * *.c, *.h: commit of gst-indent run on core
11417
11418 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11419
11420         * tools/gst-indent:
11421         * tools/Makefile.am:
11422           add our indentation style as a script
11423
11424 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11425
11426         * po/sr.po:
11427         * po/LINGUAS:
11428           added Serbian translation
11429
11430 2004-03-13  Benjamin Otte  <otte@gnome.org>
11431
11432         * gst/gstelement.c:
11433           add documentation note about gst_element_found_tags_for_pad not
11434           being usable in getfunctions. (see #137042)
11435
11436 2004-03-12  David Schleef  <ds@schleef.org>
11437
11438         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11439         change API right now!  Readd gst_caps_is_simple() macro.
11440         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11441         uninitialized variable.  I'd bet this caused crashes.
11442         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11443
11444 2004-03-12  Johan Dahlin  <johan@gnome.org>
11445
11446         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11447         * gst/gstcaps.h: Clean up
11448
11449         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11450         _gst_caps_initalize()
11451
11452         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11453         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11454
11455         * gst/gststructure.c (gst_structure_get_type): Ditto
11456
11457         * gst/gststructure.h: Ditto
11458         
11459 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11460
11461         * gst/gstqueue.c: (gst_queue_init):
11462           Reset default max. values in queues. Reason is simply to avoid
11463           braindead use. If you want wider values, use the properties. The
11464           default is supposed to always work. Wider values would make this
11465           beast a memory hog by default (250 full-PAL RGB32 video frames?
11466           That's 440 MB! No thank you).
11467
11468 2004-03-10  David Schleef  <ds@schleef.org>
11469
11470         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11471         were found.  (bug #136793)
11472
11473 2004-03-10  Johan Dahlin  <johan@gnome.org>
11474
11475         * gst/schedulers/gstoptimalscheduler.c
11476         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11477         links to elements within the same group, so we can finally remove
11478         that annoying warning. Refactor the code a little bit
11479         (group_dec_links_for_element): Split out
11480
11481 2004-03-09  David Schleef  <ds@schleef.org>
11482
11483         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11484         (bug #134863)
11485
11486 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11487
11488         * configure.ac: first bug fix due to major/minor bump
11489
11490 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11491
11492         * configure.ac: bump nano to 1
11493
11494 === release 0.7.6 ===
11495
11496 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11497
11498         * NEWS:
11499         * RELEASE:
11500         * configure.ac:
11501           releasing 0.7.6, "Almost"
11502         * po/fr.po:
11503         * po/nl.po:
11504         * tools/Makefile.am:
11505         * tools/gst-feedback-m.m:
11506           unversioned source
11507
11508 2004-03-09  Johan Dahlin  <johan@gnome.org>
11509
11510         Reviewed by: Thomas Vander Stichele
11511
11512         * gst/gstelement.c (gst_element_class_init): register second
11513         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11514         language bindings can (de)marshall correctly.
11515
11516         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11517
11518         * gst/gsterror.c (gst_g_error_get_type): New function
11519
11520         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11521         with VOID:OBJECT,OBJECT,STRING 
11522
11523 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11524
11525         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11526         Free a leaked g_timer on early returns.
11527
11528 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11529
11530         * docs/pwg/advanced-types.xml:
11531           Add cinepak description.
11532
11533 2004-03-07  David Schleef  <ds@schleef.org>
11534
11535         * docs/random/mimetypes:  Added cinepak description
11536
11537 2004-03-07  Andy Wingo  <wingo@pobox.com>
11538
11539         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11540
11541         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11542         there are no links to other groups when a group is destroyed.
11543         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11544         removed from a group, make sure the link count to elements linked
11545         to other pads is appropriately decremented. This really fixes
11546         #135672.
11547
11548         The 1.60->1.61 patch has been reapplied in light of this fix.
11549
11550         * gst/gstelement.c (gst_element_dispose): Really protect against
11551         multiple invocations this time.
11552
11553 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11554
11555         * docs/gst/gstreamer-sections.txt:
11556         * docs/gst/tmpl/gsttag.sgml:
11557           remove some deprecated functions, document some existing ones
11558         * gst/gsttag.c: (gst_tag_get_flag):
11559         * gst/gsttag.h:
11560           add accessor function
11561
11562 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11563
11564         * docs/gst/gstreamer-sections.txt:
11565         * docs/gst/tmpl/gsttag.sgml:
11566         * docs/gst/tmpl/gstxml.sgml:
11567         * gst/gsttag.c: (gst_tag_get_flag):
11568         * gst/gsttag.h:
11569
11570 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11571
11572         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11573         leak
11574
11575 2004-03-05  David Schleef  <ds@schleef.org>
11576
11577         * REQUIREMENTS: Add bison and flex.
11578         * configure.ac: Fix comment about bison.
11579         * docs/random/ds/0.9-suggested-changes: yer ma
11580         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11581
11582 2004-03-05  Benjamin Otte  <otte@gnome.org>
11583
11584         * gst/gstelement.c: (gst_element_error_full):
11585           revert recent recursive state changing commit - messing with other
11586           elements' states is evil and should be done by apps only.
11587
11588 2004-03-05  Benjamin Otte  <otte@gnome.org>
11589
11590         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11591           check for empty intersection instead of NULL caps
11592         (gst_element_get_compatible_pad_filtered):
11593           remove old workaround that is only a bug nowadays
11594
11595 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11596
11597         * gst/gstelement.c: (gst_element_error_full):
11598           make elements try to recursively change state to PAUSED on all
11599           parents after an error to suppress ensuing warnings
11600         * gst/parse/grammar.y:
11601           make it check if it was able to sync the state, and throw an error
11602           if not, so stuff like
11603           oggdemux ! vorbisdec ! osssink gets caught
11604
11605 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11606
11607         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11608           it contains lib64; use AS_AC_EXPAND to handle it properly
11609
11610 2004-03-05  David Schleef  <ds@schleef.org>
11611
11612         * gst/gstcpuid_i386.s:  Remove unused code
11613         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11614         (gst_getbits_newbuf): Remove MMX code
11615         * libs/gst/getbits/getbits.h: Remove MMX code
11616
11617 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11618
11619         * debian/.cvsignore:
11620         * debian/README.Debian:
11621         * debian/changelog:
11622         * debian/control:
11623         * debian/control.in:
11624         * debian/copyright:
11625         * debian/gstreamer-core-libs-dev.files:
11626         * debian/gstreamer-core-libs.files:
11627         * debian/gstreamer-core.files:
11628         * debian/gstreamer-core.postinst:
11629         * debian/gstreamer-core.postrm:
11630         * debian/gstreamer-doc.files:
11631         * debian/gstreamer-doc.links:
11632         * debian/gstreamer-doc.lintian:
11633         * debian/gstreamer-runtime.files:
11634         * debian/gstreamer-runtime.manpages:
11635         * debian/gstreamer-runtime.postinst:
11636         * debian/gstreamer-runtime.postrm:
11637         * debian/gstreamer-tools.files:
11638         * debian/gstreamer-tools.manpages:
11639         * debian/libgstreamer-dev.files:
11640         * debian/libgstreamer0.4.1.files:
11641         * debian/libgstreamerVERSION.files:
11642         * debian/rules:
11643         Debian package info not maintained here.
11644
11645 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11646
11647         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11648         * gst/gstbin.c: (gst_bin_class_init):
11649         * gst/gstelement.c: (gst_element_class_init):
11650         * gst/gstindex.c: (gst_index_class_init):
11651         * gst/gstobject.c: (gst_object_class_init),
11652         (gst_signal_object_class_init):
11653         * gst/gstpad.c: (gst_pad_template_class_init):
11654         * gst/gstregistry.c: (gst_registry_class_init):
11655         * gst/gsturi.c: (gst_uri_handler_base_init):
11656         * gst/gstxml.c: (gst_xml_class_init):
11657         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11658         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11659           make all signal names use dashes instead of underscore
11660
11661 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11662
11663         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11664
11665 2004-03-03  Benjamin Otte  <otte@gnome.org>
11666
11667         * gst/schedulers/gstoptimalscheduler.c:
11668           revert last commit by Andy Wingo. It causes segfaults on unreffing
11669           in Rhythmbox. (see bug #135672)
11670
11671 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11672
11673         * po/fr.po: fix typo
11674
11675 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11676
11677         * tools/gst-inspect.c: (main): 
11678         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11679
11680 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11681
11682         * configure.ac:
11683           get GLIB_ONLY and POPT flags for the nonversioned binaries
11684         * tools/Makefile.am:
11685           use them
11686
11687 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11688
11689         * gst/gst.c: (init_post):
11690           change so that GST_REGISTRY now is where the global registry gets
11691           saved, since that is where plugins now get attached to first, and
11692           spilled over to the user registry.  Note that in the case of using
11693           GST_REGISTRY env var, we don't want to affect any real registries
11694           beyond the one given by this var, and thus we don't set a user
11695           registry to spill to.  So make sure GST_REGISTRY is writable.
11696
11697 2004-03-01  David Schleef  <ds@schleef.org>
11698
11699         * AUTHORS:  Added some names.  Add yourself if you're missing.
11700
11701 2004-03-01  David Schleef  <ds@schleef.org>
11702
11703         * MAINTAINERS: Add
11704
11705 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11706
11707         * configure.ac:
11708           remove whitespace
11709         * docs/gst/tmpl/gstbuffer.sgml:
11710         * docs/gst/tmpl/gstdata.sgml:
11711         * docs/gst/tmpl/gstreamer-unused.sgml:
11712         * docs/gst/tmpl/gstxml.sgml:
11713           doc update
11714         * docs/manuals.mak:
11715           add a FIXME
11716         * docs/pwg/intro-preface.xml:
11717         * docs/pwg/pwg.xml:
11718           remove GNOME
11719         * gst/gst.c: (init_post):
11720           try GST_PLUGIN_PATH paths for the _global_registry first
11721         * gst/gstelement.h:
11722           add the error message as well, otherwise (null) debug info doesn't
11723           make much sense
11724         * tools/gst-register.c: (main):
11725           spill paths to next registry if this registry is not writable
11726         * po/fr.po:
11727         * po/nl.po:
11728           translation updates
11729
11730 2004-03-01  Johan Dahlin  <johan@gnome.org>
11731
11732         * gst/gstbuffer.c (_gst_buffer_initialize): 
11733         * gst/gstdata.c (gst_data_get_type): 
11734         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11735         instead of ref, since some applications that uses GBoxed
11736         routines depends on a function that actually returns a copy.
11737
11738 2004-02-27  Benjamin Otte  <otte@gnome.org>
11739
11740         * gst/gstbuffer.h:
11741           remove gst_buffer_free, use gst_data_unref
11742         * gst/gstdata.c: (gst_data_get_type):
11743           use refcounting in GstData GBoxed registration
11744         * gst/gstdata.h:
11745           remove gst_data_free, use gst_data_unref
11746
11747 2004-02-27  Johan Dahlin  <johan@gnome.org>
11748
11749         * gst/gstdata.c (gst_data_get_type): New function, register
11750         GstData as a GBoxed type.
11751
11752         * gst/gstdata.h (GST_TYPE_DATA): New macro
11753
11754 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11755
11756         * Makefile.am:
11757         * gstreamer.spec.in:
11758           put back RELEASE
11759         * gst/Makefile.am:
11760           clean up non-disting of built files
11761         * testsuite/debug/commandline.c:
11762           test fix for option rename
11763
11764 2004-02-26  David Schleef  <ds@schleef.org>
11765
11766         * configure.ac:  We don't really need glib-2.3.  Also remove
11767         some unneeded checks for library functions.
11768         * gst/Makefile.am:  Instead, we need to not dist files created
11769         by glib-genmarshal.
11770
11771 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11772
11773         * configure.ac:
11774           bump glib required version to 2.3.0 for g_value_takes_boxed
11775
11776  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11777
11778         * common/m4/gst-docs.m4
11779         change flavour text from enable to disable as enable is our default
11780         closes bug Bug 135304
11781
11782 === release 0.7.5 ===
11783  
11784  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11785  
11786         * NEWS:
11787           instate NEWS file
11788         * Makefile.am:
11789         * gstreamer.spec.in:
11790         * RELEASE:
11791           put back release
11792         * configure.ac:
11793         * docs/random/release:
11794           more updates
11795
11796 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11797
11798         * gst/gsttag.c: (_gst_tag_initialize):
11799         * po/fr.po:
11800         * po/nl.po:
11801           remove hyphen from codec tags
11802
11803 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11804
11805         * gst/parse/Makefile.am:
11806           fix dependency so that a make from a clean build works the first
11807           time
11808
11809 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11810
11811         * docs/random/release:
11812           update release strategy
11813         * po/fr.po:
11814           auto-update po file
11815         * po/nl.po:
11816           update dutch translation
11817
11818 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11819
11820         * docs/manual/debugging.xml:
11821         fix manual for new debugging system
11822
11823 2004-02-25  Andy Wingo  <wingo@pobox.com>
11824
11825         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11826         gst_pad_link_prepare. Please email the list with specific reasons
11827         for reverting.
11828
11829 2004-02-24  Andy Wingo  <wingo@pobox.com>
11830
11831         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11832         invocations.
11833
11834         * gst/schedulers/gstoptimalscheduler.c:
11835         I added a mess of prototypes at the top of the file by way of
11836         documentation. Some of the operations on chains and groups were
11837         re-organized.
11838
11839         (create_group): Added a type argument so if the group is enabled,
11840         the setup_group_scheduler knows what to do.
11841         (group_elements): Added a type argument here, too, to be passed on
11842         to create_group.
11843         (group_element_set_enabled): If an unlinked PLAYING element is
11844         added to a bin, we have to create a new group to hold the element,
11845         and this function will be called before the group is added to the
11846         chain. Thus we have a valid case for group->chain==NULL. Instead
11847         of calling chain_group_set_enabled, just set the flag on the group
11848         (the chain's status will be set when the group is added to it).
11849         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11850         Setup the group scheduler when the group is enabled, not
11851         specifically when an element goes PAUSED->PLAYING. This means
11852         PLAYING elements can be added, linked, and scheduled into a
11853         PLAYING pipeline, as was intended.
11854         (add_to_group): Don't ref the group twice. I don't know when this
11855         double-ref got in here. Removing it has the potential to cause
11856         segfaults if other parts of the scheduler are buggy. If you find
11857         that the scheduler is segfaulting for you, put in an extra ref
11858         here and see if that hacks over the underlying issue. Of course,
11859         then find out what code is unreffing a group it doesn't own...
11860         (create_group): Make the extra refcount floating, and remove it
11861         after adding the element. This means that...
11862         (unref_group): Destroy when the refcount reaches 0, not 1, like
11863         every other refcounted object in the known universe.
11864         (remove_from_group): When a group becomes empty, set it to be not
11865         active, and remove it from its chain. Don't unref it again,
11866         there's no floating reference any more.
11867         (destroy_group): We have to remove the group from the chain in
11868         remove_from_group (rather than here) to break refcounting cycles
11869         (the chain always has a ref on the group). So assert that
11870         group->chain==NULL.
11871         (ref_group_by_count): Removed, it was commented out anyway.
11872         (merge_chains): Use the remove_from_chain and add_to_chain
11873         primitives to do the reparenting, instead of rolling our own
11874         implementation.
11875         (add_to_chain): The first non-disabled group in the chain's group
11876         list will be the entry point for the chain. Because buffers can
11877         accumulate in loop elements' peer bufpens, we preferentially
11878         schedule loop groups before get groups to avoid unnecessary
11879         execution of get-based groups when the bufpens are already full.
11880         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11881         (get_group_schedule_function): Ditto.
11882         (loop_group_schedule_function): Ditto.
11883         (gst_opt_scheduler_loop_wrapper): Ditto.
11884         (gst_opt_scheduler_iterate): Ditto.
11885
11886         I understand the opt scheduler now, yippee!
11887
11888         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11889         (gst_pad_get_name, gst_pad_set_chain_function) 
11890         (gst_pad_set_get_function, gst_pad_set_event_function) 
11891         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11892         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11893         (gst_pad_set_query_function, gst_pad_get_query_types) 
11894         (gst_pad_get_query_types_default) 
11895         (gst_pad_set_internal_link_function) 
11896         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11897         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11898         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11899         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11900         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11901         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11902         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11903         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11904         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11905         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11906         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11907         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11908         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11909         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11910         argument checks, and some doc fixes.
11911
11912         (gst_pad_custom_new_from_template): Um, does anyone
11913         use these functions? Actually make a custom pad instead of a
11914         normal one.
11915         (gst_pad_try_set_caps): Transpose some checks.
11916         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11917         the pad is in negotiation.
11918         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11919         
11920         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11921
11922         * gst/gstelement.h: 
11923         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11924         on the list.
11925
11926 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11927
11928         * gst/gstbin.c: (gst_bin_add):
11929           add error for not being able to add elements
11930
11931 2004-02-22  Julien MOUTTE <julien@moutte.net>
11932
11933         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11934         audio-codec and video-codec.
11935
11936 2004-02-22  Benjamin Otte  <otte@gnome.org>
11937
11938         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11939
11940         * autogen.sh:
11941           replace test -e with test -x for mkinstalldirs to be more portable.
11942           (fixes #134816)
11943
11944 2004-02-22  Benjamin Otte  <otte@gnome.org>
11945
11946         * gst/gstpad.c:
11947           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11948           too noisy
11949         * gst/gsttag.c: (_gst_tag_initialize):
11950         * gst/gsttag.h:
11951           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11952         * libs/gst/control/dparam.c: (gst_dparam_attach):
11953         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11954           check that types for attached dparams match
11955
11956 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11957
11958         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11959         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11960         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11961           fix errors
11962
11963 2004-02-20  Andy Wingo  <wingo@pobox.com>
11964
11965         * gst/gstbin.c:
11966         * gst/gstbuffer.c:
11967         * gst/gstplugin.c:
11968         * gst/registries/gstxmlregistry.c: 
11969         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11970
11971         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11972         (gst_element_add_pad): DEBUG->INFO, some fixes.
11973         (gst_element_get_compatible_pad_template): Just see if the
11974         templates' caps intersect, not if one is a strict subset of the
11975         other. This conforms more to what gst_pad_link_intersect() does.
11976         (gst_element_class_add_pad_template): Don't memcpy the pad
11977         template, just ref it.
11978         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11979
11980         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11981         (gst_pad_link_filtered): Debug changes.
11982         (gst_pad_link_prepare): New function, consolidated from
11983         can_link_filtered and link_filtered.
11984
11985         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11986         look more like that of the functions in gstelement.c
11987
11988         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11989         object, and return the empty string if object is NULL.
11990
11991         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11992         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11993         LOG, not DEBUG. We still get flex info on debug.
11994
11995         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11996         debug string more verbose.
11997         (plugin_times_older_than): DEBUG->LOG.
11998
11999 2004-02-20  Julien MOUTTE <julien@moutte.net>
12000
12001         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12002         will emit found_tag for each stream they demux with the codec.
12003
12004 2004-02-20  Benjamin Otte  <otte@gnome.org>
12005
12006         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12007           copy navigation event correctly. Check freeing tag lists. 
12008         * gst/gstthread.c: (gst_thread_change_state):
12009           don't abort() on state changing mess - it might happen because of
12010           bugs.
12011         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12012           use boxed functions
12013         * gst/gstvalue.h:
12014           fix GST_VALUE_HOLDS_CAPS
12015
12016 2004-02-19  David Schleef  <ds@schleef.org>
12017
12018         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12019         and use it for GST_FUNCTION.  (bug #134750)
12020
12021 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12022
12023         * po/fr.po:
12024         * po/nl.po:
12025           updating translations
12026
12027 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12028
12029         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12030
12031 2004-02-18  kost@imn.htwk-leipzig.de
12032
12033         reviewed by: David Schleef  <ds@schleef.org>
12034
12035         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12036         for libgstcontrol.
12037
12038 2004-02-18  David Schleef  <ds@schleef.org>
12039
12040         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12041         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12042         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12043         * tools/gst-inspect.c: (print_element_info): Support dumping of
12044         double dparam information.
12045
12046 2004-02-17  David Schleef  <ds@schleef.org>
12047
12048         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12049         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12050         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12051         Use GST_TYPE_CAPS in signal prototype.
12052         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12053         Convert GST_TYPE_CAPS to boxed.
12054         * gst/gstelement.c: (gst_element_class_init):
12055         Use GST_TYPE_TAG_LIST in signal prototype.
12056         * gst/gstindex.c: (gst_index_class_init):
12057         * gst/gstindex.h:
12058         Add GST_TYPE_INDEX_ENTRY type.
12059         * gst/gstmarshal.list:
12060         Add necessary marshal types.
12061         * gst/gstpad.c: (gst_real_pad_class_init),
12062         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12063         (gst_pad_recover_caps_error):
12064         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12065         * gst/gststructure.c: (_gst_structure_initialize),
12066         (gst_structure_copy), (_gst_structure_copy_conditional):
12067         * gst/gststructure.h:
12068         Convert GST_TYPE_STRUCTURE to boxed.
12069         * gst/gsttag.c: (gst_tag_list_get_type):
12070         * gst/gsttag.h:
12071         Add GST_TYPE_TAG_LIST type.
12072
12073 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12074
12075         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12076         to what we agreed with david.
12077         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12078
12079 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12080
12081         * po/nl.po: update translation
12082
12083 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12084
12085         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12086           throw an error if spider is trying to play a mime type there is
12087           no decoder for
12088         * po/POTFILES.in:
12089           add gst/autoplug/gstspider.c for translation
12090
12091 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12092
12093         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12094         silently when the pad is negotiating.
12095
12096 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12097
12098         * docs/faq/Makefile.am:
12099           add script to run gstreamer uninstalled 
12100         * docs/faq/faq.xml:
12101         * docs/faq/developing.xml:
12102         * docs/faq/gst-uninstalled:
12103           extract script to run gstreamer uninstalled
12104         * docs/manuals.mak:
12105           add EXTRA_SOURCES variable for Makefile.am's to set to
12106           use additional SOURCE files for the doc build
12107
12108 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12109
12110         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12111
12112 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12113
12114         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12115         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12116         an error was thrown by osssink. Basically a state change failure for
12117         an element in a different scheduling group was considered as
12118         successful, which means that caps nego was going on and weird stuff
12119         happened. Like I wrote in the comment there, if someone wants to
12120         revert that please drop me a mail explaining why because I really see
12121         no point in keeping that broken behaviour there.
12122         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12123         be empty, we then return NULL which will trigger a nice error when 
12124         pulling from the pad.
12125
12126 2004-02-13  David Schleef  <ds@schleef.org>
12127
12128         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12129         (gst_dparam_get_property), (gst_dparam_set_property),
12130         (gst_dparam_do_update_default):
12131         * libs/gst/control/dparam.h:
12132         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12133         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12134         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12135         (gst_dpsmooth_do_update_double):
12136         * libs/gst/control/dparam_smooth.h:
12137         * libs/gst/control/dparammanager.c:
12138         (gst_dpman_inline_direct_update):
12139         Add support for double dparams.
12140
12141 2004-02-13  David Schleef  <ds@schleef.org>
12142
12143         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12144         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12145
12146 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12147
12148         reviewed by: David Schleef  <ds@schleef.org>
12149
12150         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12151         (gst_fdsrc_init), (gst_fdsrc_set_property),
12152         (gst_fdsrc_get_property), (gst_fdsrc_get):
12153         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12154         and sends an EOS event if file descriptor reading times out.
12155
12156 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12157
12158         * configure.ac:
12159           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12160
12161 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12162
12163         * configure.ac: pass required libxml version as argument
12164         (bug reported by Christophe Fergeau)
12165
12166 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12167   
12168         * docs/gst/gstreamer-docs.sgml:
12169         * docs/gst/tmpl/gstxml.sgml:
12170         * docs/libs/gstreamer-libs-docs.sgml:
12171           version API docs
12172
12173 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12174
12175         * gst/gstinfo.c:
12176         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12177         (gst_registry_pool_feature_filter):
12178         * gst/gstthread.c: (gst_thread_class_init):
12179         * gst/gstvalue.c:
12180           add includes exposed by building without libxml
12181         * gst/indexers/Makefile.am:
12182           do not build fileindex when LOADSAVE disabled; we should have
12183           a better libxml check later since fileindex depends on xml, not
12184           LOADSAVE or REGISTRY
12185         * libs/gst/control/Makefile.am:
12186           link with m
12187         * tools/Makefile.am:
12188           fix wrong source code for gst-xmlinspect
12189
12190 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12191
12192         * configure.ac:
12193           fix gcov help output
12194           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12195         * docs/random/release:
12196           some updated releasing notes
12197         * gstreamer.spec.in:
12198           more updates
12199
12200 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12201
12202         * docs/faq/faq.xml:
12203         * docs/manual/manual.xml:
12204         * docs/pwg/pwg.xml:
12205         * docs/pwg/titlepage.xml:
12206           put version in documentation
12207
12208 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12209
12210         * tools/Makefile.am: fix man page installation
12211
12212 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12213
12214         * configure.ac:
12215           don't check for libxml when load/save and registry disabled (#105844)
12216         * gstreamer.spec.in:
12217           sync with fedora candidate spec
12218
12219 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12220
12221         * po/fr.po:
12222         * po/nl.po:
12223           replace multidisksrc with multifilesrc
12224
12225 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12226
12227         * po/POTFILES.in:
12228           update to multidisksrc => multifilesrc file renaming (#134145)
12229
12230 2004-02-11  David Schleef  <ds@schleef.org>
12231
12232         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12233         * docs/gst/tmpl/gstpadtemplate.sgml: same
12234         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12235         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12236         fixing dance.
12237         * gst/gstutils.c: Remove disabled code that uses GstProps.
12238         * gst/registries/gstxmlregistry.h: same
12239         * docs/random/ds/0.9-suggested-changes: random notes
12240
12241 2004-02-11  kost@imn.htwk-leipzig.de
12242
12243         reviewed by: David Schleef  <ds@schleef.org>
12244
12245         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12246         initialisation of clock (bug #134128)
12247
12248 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12249
12250         * configure.ac:
12251         * gst/elements/Makefile.am:
12252         * gst/elements/gstelements.c:
12253         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12254         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12255         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12256         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12257         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12258         * gst/elements/gstmultifilesrc.h:
12259           rename multidisksrc to multifilesrc (part of #122200)
12260
12261 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12262
12263         * docs/manuals.mak:
12264           fix automake complaints
12265         * gst-element-check.m4:
12266           fix unquotedness
12267
12268 2004-02-11  David Schleef  <ds@schleef.org>
12269
12270         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12271         * gst/gstatomic_impl.h: Disable sparc implementation.
12272
12273 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12274
12275         * gst-element-check.m4:
12276           fix underquoted macros as reported by automake 1.8.x (#133800)
12277         * configure.ac:
12278           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12279           by autopoint (fixes #132996)
12280
12281 2004-02-10  Andy Wingo  <wingo@pobox.com>
12282
12283         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12284         way to do inheritance.
12285         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12286         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12287         Routine docs.
12288         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12289         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12290         doc.
12291         (gst_pad_unlink, gst_pad_is_linked): Docs.
12292         (gst_pad_renegotiate): A brief description of capsnego.
12293         (gst_pad_try_set_caps): Document.
12294         (gst_pad_try_set_caps_nonfixed): Document.
12295         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12296         (gst_pad_set_parent): Deprecated (although not out of the API).
12297         (gst_pad_get_parent): Deprecated, although many plugins use this.
12298         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12299         are private and will go away in 0.9.
12300         (gst_pad_perform_negotiate): Doc.
12301         (gst_pad_link_unnegotiate): I think this is meant to be static.
12302         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12303         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12304         (gst_pad_get_peer): Doc updates.
12305         (gst_pad_caps_change_notify): Doc.
12306         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12307         (gst_ghost_pad_new): Doc fixes.
12308
12309         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12310         (gst_object_check_uniqueness): 
12311
12312         * gst/gstelement.c (gst_element_add_pad) 
12313         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12314         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12315         (gst_element_get_static_pad, gst_element_get_pad_list) 
12316         (gst_element_class_get_pad_template_list) 
12317         (gst_element_class_get_pad_template): Work on the docs.
12318         (gst_element_get_pad_template_list): Uses the class method.
12319         (gst_element_get_compatible_pad_template): Docs, and consolidate
12320         some test conditions. 
12321         (gst_element_get_pad_from_template): New static function.
12322         (gst_element_request_compatible_pad): Docs, and work with
12323         non-request compatible templates. 
12324         (gst_element_get_compatible_pad_filtered): Docs and remove
12325         redundant checks.
12326         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12327         (gst_element_link_filtered, gst_element_link_many) 
12328         (gst_element_link, gst_element_link_pads) 
12329         (gst_element_unlink_many): Docs.
12330
12331 2004-02-05  Andy Wingo  <wingo@pobox.com>
12332
12333         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12334         s/pointer/boxed/.
12335
12336         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12337
12338         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12339         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12340         with the type=GST_TYPE_CAPS. This allows language bindings to know
12341         what kind of data they're dealing with.
12342
12343         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12344         to NULL when g_value_init is called. GstCaps, which rolls its own
12345         type implementation, now does the same instead of allocating empty
12346         caps.
12347         (_gst_caps_initialize, _gst_caps_collect_value,
12348         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12349         table methods. This allows G_VALUE_COLLECT to work.
12350
12351 2004-02-05  Andy Wingo  <wingo@pobox.com>
12352
12353         * configure.ac:
12354         * testsuite/Makefile.am (SUBDIRS): 
12355         * testsuite/ghostpads/Makefile.am: 
12356         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12357
12358         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12359         These two routines are the only ones that set
12360         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12361         pad template. They should be made static, depending on ABI needs.
12362         (gst_real_pad_dispose): Handle the case of ghost pads without a
12363         parent. Assert after dealing with ghost pads that the ghost pad
12364         list is empty.
12365         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12366         set after creation.
12367         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12368         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12369         functions. set_property will call add_ghost_pad/remove_ghost_pad
12370         as appropriate.
12371         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12372
12373         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12374         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12375         (gst_element_remove_pad): Handle ghost pads as well.
12376         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12377         depending on API-stability needs).
12378
12379 2004-02-05  Andy Wingo  <wingo@pobox.com>
12380
12381         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12382         of course they're const
12383
12384 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12385
12386         * tools/Makefile.am:
12387         * tools/gst-feedback:
12388         * tools/gst-feedback-0.7:
12389           make gst-feedback versioned too for consistency
12390
12391 2004-02-11  David Schleef  <ds@schleef.org>
12392
12393         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12394         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12395
12396 2004-02-10  Julien MOUTTE <julien@moutte.net>
12397
12398         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12399         the structure does not contain a valid tag list. Adding a safety check
12400         to remove a noisy warning in that case.
12401
12402 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12403
12404         * gst/gst.c: fix name to be in line with others
12405
12406 2004-02-09  Julien MOUTTE <julien@moutte.net>
12407
12408         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12409         not shout that loud when len is 0. Just return 0 silently.
12410
12411 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12412
12413         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12414         because data_unref has one and I prefer the debug to be symetric.
12415         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12416         were refed when added to the queue and unrefed only once when the queue
12417         was flushed. Now the flush handler unref the buffers two times : first
12418         unref for the ref added when pushing in the queue's tail and second
12419         unref to destroy the flushed buffer.
12420
12421 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12422
12423         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12424
12425 2004-02-06  David Schleef  <ds@schleef.org>
12426
12427         * docs/random/ds/0.9-suggested-changes: Random ramblings
12428         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12429         to int before printing.
12430         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12431         * gst/parse/parse.l: same.  See bug #129600
12432
12433 2004-02-06  David Schleef  <ds@schleef.org>
12434
12435         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12436         (gst_index_add_entry), (gst_index_add_associationv),
12437         (gst_index_add_association): Add gst_index_add_associationv()
12438         and clean up gst_index_add_association(). #127133
12439
12440 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12441
12442         * autogen.sh: check out common with right tag if CVS/Tag exists
12443
12444 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12445
12446         * testsuite/ghostpads/ghostpads.c: (main):
12447           fix testsuite from segfaulting
12448
12449 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12450
12451         * Makefile.am: add release target
12452         * configure.ac: bump nano to 1
12453         * docs/random/release:
12454
12455 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12456
12457         * gst/gstcaps.h:
12458         * gst/gstelement.c: (gst_element_base_class_init),
12459         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12460         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12461         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12462         (gst_real_pad_dispose):
12463         * gst/gststructure.c: (gst_structure_free),
12464         (gst_structure_from_string):
12465           put reverted patch back in
12466         * gst/gstelement.c: (gst_element_remove_pad):
12467           free explicit caps if they're set
12468         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12469           copy the structure when fixating
12470
12471 2004-02-05  David Schleef  <ds@schleef.org>
12472
12473         * gst/gstmarshal.list:
12474         * gst/gstpad.c: (gst_real_pad_class_init),
12475         (_gst_real_pad_fixate_accumulator):
12476         Revert POINTER->BOXED change in signal marshaller.
12477
12478 === release 0.7.4 ===
12479                                                                                 
12480 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12481                                                                                 
12482         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12483         * configure.ac: changed for release
12484
12485 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12486
12487         * gstreamer.spec.in:
12488           bump required version of gtk-doc
12489
12490 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12491
12492         * gst/gstcaps.h:
12493         * gst/gstelement.c: (gst_element_base_class_init),
12494         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12495         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12496         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12497         (gst_real_pad_dispose):
12498         * gst/gststructure.c: (gst_structure_free),
12499         (gst_structure_from_string):
12500           revert patch that breaks applications, reapply after release
12501           to get this fixed properly
12502
12503 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12504
12505         * gst/gsttag.c: (_gst_tag_initialize):
12506         * gst/gsttag.h:
12507           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12508
12509 2004-02-04  David Schleef  <ds@schleef.org>
12510
12511         Fix some memleaks:
12512         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12513         (gst_spider_plug_from_srcpad):
12514         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12515
12516 2004-02-04  David Schleef  <ds@schleef.org>
12517
12518         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12519         a GstRealPad before accessing its structure members.
12520
12521 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12522
12523         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12524         (gst_clock_get_speed):
12525         * gst/gstclock.h:
12526           reset padding, remove unused fields
12527
12528 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12529
12530         * gst/autoplug/gstspideridentity.c:
12531         (gst_spider_identity_sink_loop_type_finding):
12532           use get_allowed_caps, not get_caps (fixes #132519)
12533         * gst/elements/gsttypefind.c: (stop_typefinding):
12534           use correct order when sending buffers and seeking
12535
12536 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12537
12538         * configure.ac:
12539         * gst/gstelement.h:
12540         * gst/gstpad.h:
12541         * gst/gstqueue.h:
12542           upgrade libtool CURRENT, reset padding
12543
12544 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12545
12546         * configure.ac:
12547           bump to prerelease
12548           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12549
12550 2004-02-04  David Schleef  <ds@schleef.org>
12551
12552         * docs/random/ds/0.9-suggested-changes: random notes
12553         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12554         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12555         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12556         expansion.
12557         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12558         (gst_filesink_get_query_types): same
12559         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12560         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12561         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12562         to use new GST_PTR_FORMAT.
12563         * gst/gstelement.h: deprecate function factory macros
12564         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12565         These are our last variadic macros that can't be replaced with
12566         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12567         attempting to deprecate gst_element_clock_wait().
12568         * gst/gstevent.h: same
12569         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12570         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12571         * gst/gstpad.h: deprecate function factory macros similar to above.
12572
12573 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12574
12575         * configure.ac:
12576         * tools/Makefile.am:
12577         * tools/gst-run.c: (popt_callback), (hash_print_key),
12578         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12579         (get_candidates), (main):
12580           add new source file to generate non-versioned wrapper binaries
12581           for our tools.
12582
12583 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12584
12585         * gst/gstevent.c: (_gst_event_free):
12586           actually break; inside the switch statement
12587         * gst/parse/grammar.y:
12588           fix memleak where GValues weren't unset
12589
12590 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12591
12592         * gst/gststructure.c: (gst_structure_from_string):
12593           fix huge memleak
12594         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12595         (new_entry), (gst_type_find_element_chain):
12596         * gst/gstelement.c: (gst_element_base_class_init),
12597         (gst_element_class_set_details):
12598         * gst/gstpad.c: (gst_pad_can_link_filtered):
12599           fix smaller memleaks
12600         * gst/gstpad.c: (gst_real_pad_dispose):
12601           check that explicit caps are gone
12602         * gst/gststructure.c: (gst_structure_free):
12603           actually free the structure
12604         * gst/gstelement.c: (gst_element_clear_pad_caps):
12605           unset explicit caps
12606
12607 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12608
12609         * tools/Makefile.am:
12610           use AM_CFLAGS since all the CFLAGS are the same
12611           use AM_LDFAGS
12612
12613 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12614
12615         * docs/manual/gnome.xml:
12616           expand example a little
12617         * gst/gst.c: (gst_init_with_popt_table),
12618         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12619           make sure popt option displays are done with right textdomain
12620           use GstPoptOption type
12621         * gst/gst.h:
12622           create GstPoptOption type
12623
12624 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12625
12626         * gst/gsterror.c: (_gst_stream_errors_init):
12627         * gst/gsterror.h:
12628           adding error type for no codec
12629         * po/POTFILES.in:
12630           add gst-inspect
12631         * po/nl.po:
12632           update dutch translation
12633         * tools/gst-inspect.c: (print_element_list), (main):
12634           do proper internationalization
12635         * tools/gst-launch.c: (idle_func):
12636           remove commented out function call
12637
12638 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12639
12640         * docs/README:
12641           add some error fixing notes
12642         * docs/gst/gstreamer-sections.txt:
12643           remove double entries
12644         * docs/gst/tmpl/gstbin.sgml:
12645         * docs/gst/tmpl/gstclock.sgml:
12646           remove override
12647         * docs/gst/tmpl/gstelement.sgml:
12648         * docs/gst/tmpl/gstindex.sgml:
12649         * docs/gst/tmpl/gstobject.sgml:
12650         * docs/gst/tmpl/gstpadtemplate.sgml:
12651         * docs/gst/tmpl/gstreamer-unused.sgml:
12652         * docs/gst/tmpl/gsttag.sgml:
12653         * docs/gst/tmpl/gstthread.sgml:
12654         * docs/gst/tmpl/gstxml.sgml:
12655         * gst/gsttag.h:
12656           sync header prototypes with c decls
12657         * gst/gsttaginterface.c:
12658           fix doc headers
12659
12660 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12661
12662         * gst/parse/Makefile.am:
12663         * gst/gstobject.h:
12664           get rid of gstmarshal.h dependency. It's not needed.
12665         * gst/gst.h:
12666         * gst/elements/gstfakesink.c:
12667         * gst/elements/gstfakesrc.c:
12668         * gst/elements/gstidentity.c:
12669         * gst/gstbin.c:
12670         * gst/gstelement.c:
12671         * gst/gstindex.c:
12672         * gst/gstobject.c:
12673         * gst/gstpad.c:
12674         * gst/gstthread.c:
12675         * gst/gstxml.c:
12676         * libs/gst/control/dparam.c:
12677         * libs/gst/control/dparammanager.c:
12678           include gstmarshal.h.
12679         Fixes #132045
12680
12681 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12682
12683         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12684         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12685         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12686         * gst/elements/gstfilesrc.h:
12687           don't ref the filesrc when creating mmaped buffers. Don't keep a
12688           list of not-yet-destroyed buffers.
12689         * gst/gstbuffer.h:
12690           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12691
12692 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12693
12694         * gst/gst.c: (init_pre):
12695           remove textdomain
12696
12697 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12698
12699         * docs/pwg/advanced-events.xml:
12700         * docs/pwg/advanced-scheduling.xml:
12701         * docs/pwg/intro-basics.xml:
12702         * docs/pwg/other-manager.xml:
12703         * docs/pwg/other-nton.xml:
12704         * docs/pwg/other-ntoone.xml:
12705         * docs/pwg/other-oneton.xml:
12706         * docs/pwg/pwg.xml:
12707           All sort of documentation... Forgot what. Point is that I want this
12708           in before I leave. The 'other-*' will be the last section and will
12709           explain issues specific to these type of elements.
12710
12711 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12712
12713         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12714         (gst_filesrc_get_read):
12715           set all the values on buffers that we can
12716
12717 2004-02-02  David Schleef  <ds@schleef.org>
12718
12719         Change usage of isblah() to g_ascii_isblah() to be more locale
12720         independent.  (#133076)
12721         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12722         * gst/gstutils.c:
12723         * gst/parse/parse.l:
12724
12725 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12726
12727         reviewed by: David Schleef  <ds@schleef.org>
12728
12729         Fix memory leaks:
12730         * gst/gstcaps.c: (gst_caps_to_string):
12731         * gst/registries/gstxmlregistry.c:
12732         (gst_xml_registry_add_path_list_func),
12733         (gst_xml_registry_parse_padtemplate):
12734
12735 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12736
12737         * gst/gstelement.c: (gst_element_default_error):
12738           suffix error messages with period
12739
12740 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12741
12742         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12743         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12744         * gst/gsterror.c: (gst_error_get_message):
12745           Suffix with dots
12746         * po/fr.po:
12747         * po/nl.po:
12748           Update translation files
12749
12750 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12751
12752         * gst/autoplug/gstspideridentity.c:
12753         (gst_spider_identity_sink_loop_type_finding):
12754         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12755         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12756         (gst_filesink_close_file), (gst_filesink_handle_event),
12757         (gst_filesink_chain):
12758         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12759         (gst_filesrc_get_read), (gst_filesrc_open_file):
12760         * gst/elements/gstidentity.c: (gst_identity_chain):
12761         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12762         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12763         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12764         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12765         * gst/gsterror.c: (_gst_core_errors_init),
12766         (_gst_library_errors_init), (_gst_resource_errors_init),
12767         (_gst_stream_errors_init), (gst_error_get_message):
12768         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12769         (gst_pad_recover_caps_error), (gst_pad_pull):
12770         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12771         * gst/schedulers/gstbasicscheduler.c:
12772         (gst_basic_scheduler_chainhandler_proxy),
12773         (gst_basic_scheduler_gethandler_proxy),
12774         (gst_basic_scheduler_cothreaded_chain):
12775           Suffix error messages with period.
12776           Use (NULL) instead of NULL
12777
12778 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12779
12780         * docs/gst/tmpl/gstelement.sgml:
12781         * docs/gst/tmpl/gstxml.sgml:
12782         * gst/gstelement.c: (gst_element_error_full):
12783           add element path to error
12784
12785 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12786
12787         * docs/random/mimetypes:
12788           update raw int/float info
12789         * gst/gsttag.c: (_gst_tag_initialize):
12790         * gst/gsttag.h:
12791           add GST_TAG_ENCODER
12792
12793 2004-01-30  David Schleef  <ds@schleef.org>
12794
12795         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12796           missing (#132991)
12797
12798 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12799
12800         reviewed by Benjamin Otte 
12801           parts of the patch submitted in bug #113913
12802
12803         * configure.ac:
12804           use AC_C_INLINE. Use = instead of == with test
12805         * examples/plugins/example.c:
12806         * gst/autoplug/gstspideridentity.c:
12807         * gst/elements/gstfdsrc.c:
12808         * gst/elements/gstfilesrc.c:
12809         * gst/elements/gstidentity.c:
12810         * gst/elements/gstmultidisksrc.c:
12811         * gst/elements/gststatistics.c:
12812         * gst/gstelement.c:
12813         * gst/gstobject.c:
12814         * gst/gstpad.c:
12815         * gst/gstpipeline.c:
12816         * gst/gstthread.c:
12817           don't end enums with a comma
12818         * gst/gstindex.c: (gst_index_compare_func):
12819           do explicit casting to gint
12820         * gst/gsttrace.c: (gst_trace_text_flush):
12821           #define strsize as a macro
12822
12823 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12824
12825         * docs/README:
12826         * docs/gst/gstreamer-docs.sgml:
12827         * docs/gst/gstreamer-sections.txt:
12828         * docs/gst/tmpl/gstelement.sgml:
12829         * docs/gst/tmpl/gsterror.sgml:
12830         * docs/gst/tmpl/gstinterface.sgml:
12831         * docs/gst/tmpl/gstreamer-unused.sgml:
12832         * docs/gst/tmpl/gststructure.sgml:
12833         * docs/gst/tmpl/gsttag.sgml:
12834         * docs/gst/tmpl/gsttaginterface.sgml:
12835         * docs/gst/tmpl/gstvalue.sgml:
12836         make sure all API ends up in the built docs
12837         * gst/gstinterface.c:
12838         * gst/gststructure.c: (gst_structure_id_set_value),
12839         (gst_structure_set_value), (gst_structure_id_get_value):
12840         * gst/gststructure.h:
12841         * gst/gstvalue.h:
12842         sync .h with .c declarations
12843
12844 2004-01-30  Julien Moutte  <julien@moutte.net>
12845
12846         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12847         Ronald will fix riffread.
12848
12849 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12850
12851         * docs/pwg/advanced-interfaces.xml:
12852           Added tuner interface docs.
12853
12854 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12855
12856         * docs/random/mimetypes:
12857           correct Theora information
12858         * gst/gstelement.h:
12859           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12860
12861 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12862
12863         * gst/gstelement.c: (gst_element_error_full):
12864         * gst/gstelement.h:
12865           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12866
12867 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12868
12869         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12870         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12871         again and even before DISCONT.
12872         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12873         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12874         bytestream so that it's not stopping to fill the bytestream if events
12875         different than EOS or DISCONT are received. Instead it process them so
12876         that they go downstream.
12877
12878 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12879
12880         * docs/gst/tmpl/gstelement.sgml:
12881         * docs/gst/tmpl/gstreamer-unused.sgml:
12882         * docs/gst/tmpl/gstxml.sgml:
12883         * gst/autoplug/gstspideridentity.c:
12884         (gst_spider_identity_sink_loop_type_finding):
12885         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12886         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12887         (gst_filesink_close_file), (gst_filesink_handle_event),
12888         (gst_filesink_chain):
12889         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12890         (gst_filesrc_get_read), (gst_filesrc_open_file):
12891         * gst/elements/gstidentity.c: (gst_identity_chain):
12892         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12893         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12894         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12895         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12896         * gst/gstelement.h:
12897         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12898         (gst_pad_recover_caps_error), (gst_pad_pull):
12899         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12900         * gst/schedulers/gstbasicscheduler.c:
12901         (gst_basic_scheduler_chainhandler_proxy),
12902         (gst_basic_scheduler_gethandler_proxy),
12903         (gst_basic_scheduler_cothreaded_chain):
12904           gst_element_error -> GST_ELEMENT_ERROR
12905
12906 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12907
12908         * docs/Makefile.am:
12909         * docs/gst/tmpl/gstelement.sgml:
12910         * docs/gst/tmpl/gstxml.sgml:
12911         * docs/manuals.mak:
12912         * docs/pwg/advanced-request.xml:
12913         * docs/pwg/advanced-scheduling.xml:
12914         * docs/pwg/advanced-tagging.xml:
12915           fix non-validating docbook using CDATA
12916           make sure make check-local gets run first to check if it validates
12917
12918 2004-01-29  Julien MOUTTE <julien@moutte.net>
12919
12920         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12921         handling (up and downstream).
12922         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12923         my_filter thing.
12924
12925 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12926
12927         * docs/pwg/advanced-tagging.xml:
12928           Add docs about tag writing.
12929
12930 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12931
12932         * docs/pwg/advanced-tagging.xml:
12933           Add a part about tag reading and application signalling... Tag
12934           writing still needs to be documented.
12935         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12936           We can set file locations in READY, too.
12937
12938 2004-01-29  Julien MOUTTE <julien@moutte.net>
12939
12940         * docs/random/ds/element-checklist: Adding some notes about src
12941         events.
12942
12943 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12944
12945         * docs/random/mimetypes:
12946           Update docs to point to correct elements for various mimetypes, and
12947           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12948           <stephane.loeuillet@tiscali.fr>.
12949
12950 2004-01-28  David Schleef  <ds@schleef.org>
12951
12952         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12953
12954 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12955
12956         * docs/random/mimetypes:
12957           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12958           undefined"
12959         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12960           make it only work in NULL.
12961         * gst/gstcaps.c:
12962           don't posion NULL caps
12963         * gst/gstelement.c: (gst_element_set_time):
12964           add debugging statement
12965         * gst/gstelement.c: (gst_element_emit_found_tag),
12966         (gst_element_found_tag_func), (gst_element_found_tags):
12967         * gst/gstelement.h:
12968           These functions take const taglists
12969         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12970           fix memleak
12971         * gst/gstpad.c: (gst_pad_event_default):
12972           make more effort on handling discont and clocks, g_warn if everything
12973           fails
12974         * gst/gststructure.c: (gst_structure_remove_fields),
12975         (gst_structure_remove_fields_valist):
12976         * gst/gststructure.h:
12977           add gst_structure_remove_fields(_valist)
12978         * gst/gsttag.c:
12979           fix doc glitch
12980
12981 2004-01-28  David Schleef  <ds@schleef.org>
12982
12983         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12984         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12985         Fix memory leakage of gst_caps_to_string().
12986
12987         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12988         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12989         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12990         (gst_spider_identity_sink_loop_type_finding):
12991         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12992         (find_suggest):
12993         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12994         (gst_pad_set_explicit_caps):
12995         * gst/parse/grammar.y:
12996
12997 2004-01-28  David Schleef  <ds@schleef.org>
12998
12999         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13000         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13001         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13002         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13003         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13004         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13005         (gst_debug_log_default), (_gst_info_printf_extension),
13006         (_gst_info_printf_extension_arginfo):  Add printf extension.
13007         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13008         * gst/gststructure.c: (gst_structure_to_string),
13009         (_gst_structure_parse_value): Use gst_value_deserialize() and
13010         remove old code.
13011         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13012         (gst_value_deserialize_boolean), (gst_strtoi),
13013         (gst_value_deserialize_int), (gst_value_deserialize_double),
13014         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13015         a bunch of deserialize functions and gst_value_deserialize.
13016         * gst/gstvalue.h: er, _de_serialize, not unserialize
13017         * testsuite/caps/string-conversions.c: (main): We don't currently
13018         handle (float) in caps, so convert these to (double).
13019         * testsuite/debug/Makefile.am: Add new test for the printf extension
13020         * testsuite/debug/printf_extension.c: (main): same
13021
13022 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13023
13024         * docs/random/company/time:
13025           Add some docs about clocking and time
13026
13027 2004-01-28  Julien MOUTTE <julien@moutte.net>
13028
13029         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13030
13031 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13032
13033         * docs/pwg/advanced-clock.xml:
13034         * docs/pwg/advanced-dparams.xml:
13035         * docs/pwg/advanced-events.xml:
13036         * docs/pwg/advanced-interfaces.xml:
13037         * docs/pwg/advanced-midi.xml:
13038         * docs/pwg/advanced-request.xml:
13039         * docs/pwg/advanced-scheduling.xml:
13040         * docs/pwg/advanced-tagging.xml:
13041         * docs/pwg/advanced-types.xml:
13042         * docs/pwg/appendix-checklist.xml:
13043         * docs/pwg/building-boiler.xml:
13044         * docs/pwg/building-chainfn.xml:
13045         * docs/pwg/building-filterfactory.xml:
13046         * docs/pwg/building-pads.xml:
13047         * docs/pwg/building-props.xml:
13048         * docs/pwg/building-signals.xml:
13049         * docs/pwg/building-state.xml:
13050         * docs/pwg/building-testapp.xml:
13051         * docs/pwg/intro-basics.xml:
13052         * docs/pwg/intro-preface.xml:
13053         * docs/pwg/other-autoplugger.xml:
13054         * docs/pwg/other-sink.xml:
13055         * docs/pwg/other-source.xml:
13056         * docs/pwg/titlepage.xml:
13057           fix up id's
13058
13059 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13060
13061         * docs/95NonPath:
13062         * docs/HACKING:
13063         * docs/README:
13064         * docs/building-the-docs-on-debian:
13065           collect relevant bits of doc info
13066
13067 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13068
13069         * docs/pwg/advanced_tagging.xml:
13070           Half-assed commit so Thomas can re-arrange document IDs here to be
13071           consistent, too.
13072
13073 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13074
13075         * docs/manual/autoplugging.xml:
13076         * docs/manual/bins-api.xml:
13077         * docs/manual/bins.xml:
13078         * docs/manual/buffers-api.xml:
13079         * docs/manual/buffers.xml:
13080         * docs/manual/clocks.xml:
13081         * docs/manual/components.xml:
13082         * docs/manual/cothreads.xml:
13083         * docs/manual/debugging.xml:
13084         * docs/manual/dparams-app.xml:
13085         * docs/manual/dynamic.xml:
13086         * docs/manual/elements-api.xml:
13087         * docs/manual/elements.xml:
13088         * docs/manual/factories.xml:
13089         * docs/manual/gnome.xml:
13090         * docs/manual/goals.xml:
13091         * docs/manual/helloworld.xml:
13092         * docs/manual/helloworld2.xml:
13093         * docs/manual/init-api.xml:
13094         * docs/manual/intro.xml:
13095         * docs/manual/links-api.xml:
13096         * docs/manual/links.xml:
13097         * docs/manual/manual.xml:
13098         * docs/manual/motivation.xml:
13099         * docs/manual/pads-api.xml:
13100         * docs/manual/pads.xml:
13101         * docs/manual/plugins-api.xml:
13102         * docs/manual/plugins.xml:
13103         * docs/manual/programs.xml:
13104         * docs/manual/queues.xml:
13105         * docs/manual/quotes.xml:
13106         * docs/manual/schedulers.xml:
13107         * docs/manual/states-api.xml:
13108         * docs/manual/states.xml:
13109         * docs/manual/threads.xml:
13110         * docs/manual/typedetection.xml:
13111         * docs/manual/xml.xml:
13112           use chapter, part, section or misc as id starts for all bits
13113
13114 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13115
13116         * docs/gst/gstreamer-sections.txt:
13117           Fix up TITLE of the sections
13118
13119 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13120
13121         * docs/pwg/advanced_interfaces.xml:
13122           Add documentation on propertyprobing.
13123         * docs/pwg/advanced_events.xml:
13124         * docs/pwg/advanced_tagging.xml:
13125         * docs/pwg/building_boiler.xml:
13126         * docs/pwg/building_filterfactory.xml:
13127         * docs/pwg/pwg.xml:
13128           Move filterfactory and tagging into their own chapter, add a chapter
13129           on events. all these are empty placeholders that will be filled in
13130           some day.
13131
13132 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13133
13134         * docs/pwg/advanced_interfaces.xml:
13135           Docs for mixer interface. Also a check for website uploading.
13136
13137 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13138
13139         * docs/HACKING:
13140         * docs/Makefile.am:
13141         * docs/faq/Makefile.am:
13142         * docs/gst/Makefile.am:
13143         * docs/gst/tmpl/gstelement.sgml:
13144         * docs/gst/tmpl/gstplugin.sgml:
13145         * docs/gst/tmpl/gstreamer-unused.sgml:
13146         * docs/libs/Makefile.am:
13147         * docs/manual/Makefile.am:
13148         * docs/manuals.mak:
13149         * docs/pwg/Makefile.am:
13150         * docs/upload.mak:
13151           Separate out upload target and make it similar for
13152           both docbook and gtk-doc docs
13153
13154 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13155
13156         * docs/manuals.mak:
13157           Fix upload target to work with freedesktop
13158
13159 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13160
13161         * docs/pwg/advanced_types.xml:
13162           Add notes on creating your own types.
13163         * docs/pwg/building_boiler.xml:
13164         * docs/pwg/building_pads.xml:
13165         * docs/pwg/building_state.xml:
13166           Add some stuff about how to retrieve values from structures, how
13167           that relates to types and change layout slightly again to be almost
13168           perfect.
13169
13170 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13171
13172         * docs/pwg/advanced_dparams.xml:
13173         * docs/pwg/advanced_scheduling.xml:
13174           Change index layout slightly.
13175
13176 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13177
13178         * docs/pwg/advanced_clock.xml:
13179         * docs/pwg/advanced_interfaces.xml:
13180         * docs/pwg/advanced_midi.xml:
13181           General placeholders for now.
13182         * docs/pwg/advanced_request.xml:
13183           Explanation about sometimes and request pads.
13184         * docs/pwg/advanced_scheduling.xml:
13185           Concept of bytestream, loopfunctions and schedulers.
13186         * docs/pwg/building_boiler.xml:
13187           Add something about plugin-init.
13188
13189 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13190
13191         * docs/pwg/building_pads.xml:
13192           Fix broken docbook
13193
13194 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13195
13196         * docs/pwg/advanced_interfaces.xml:
13197         * docs/pwg/pwg.xml:
13198           Add as a placeholder for future filling-in.
13199         * docs/pwg/basics_autoplugging.xml:
13200         * docs/pwg/basics_buffers.xml:
13201         * docs/pwg/basics_elements.xml:
13202         * docs/pwg/basics_events.xml:
13203         * docs/pwg/basics_plugins.xml:
13204         * docs/pwg/basics_types.xml:
13205           Remove, because unused (this is all in intro_basics.xml).
13206         * docs/pwg/building_signals.xml:
13207           Short intro to signals + reference to GObject docs - we really
13208           shouldn't go into these sort of things to deply because we don't
13209           use them that extensively anyway.
13210         * docs/pwg/building_state.xml:
13211           Explanation of states. Benjamin, please check.
13212         * docs/pwg/building_testapp.xml:
13213           Put everything in one page - putting only a few lines of content
13214           per page doesn't really make sense.
13215
13216           Time to get into the advanced topics. ;).
13217
13218 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13219
13220         * docs/pwg/advanced_types.xml:
13221           Finish documenting the current state of mimetypes.
13222         * docs/pwg/building_boiler.xml:
13223         * docs/pwg/building_chainfn.xml:
13224         * docs/pwg/building_pads.xml:
13225         * docs/pwg/building_props.xml:
13226         * docs/pwg/building_testapp.xml:
13227           Start documenting the "how to build a simple audio filter" part
13228           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13229           states and (maybe?) a short introduction to capsnego in the chapter
13230           on pads (building_pads.xml). Capsnego should probably be explained
13231           fully in advanced_capsnego.xml or so.
13232
13233 2004-01-26  David Schleef  <ds@schleef.org>
13234
13235         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13236         * gst/gstpad.h: Add new function to allow element to (somewhat)
13237         specify non-fixed caps on a pad.
13238         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13239         that I added a few weeks ago.
13240
13241 2004-01-26  David Schleef  <ds@schleef.org>
13242
13243         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13244           making try_set_caps() work with non-fixed caps.
13245
13246 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13247
13248         * docs/pwg/advanced_types.xml:
13249         * docs/pwg/intro_basics.xml:
13250         * docs/pwg/intro_preface.xml:
13251         * docs/pwg/pwg.xml:
13252         * docs/pwg/titlepage.xml:
13253           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13254           in here (docs/random/mimetypes), and will from there on work on both
13255           updating outdated parts and adding missing parts.
13256           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13257
13258 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13259
13260         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13261           policy is set
13262
13263 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13264
13265         * gst/gstelement.h:
13266           remove gst_element_factory_get_version. It doesn't exist anymore.
13267         * gst/gstplugin.c:
13268         * gst/gstplugin.h:
13269           remove gst_plugin_set_name and change gst_plugin_get_longname to
13270           gst_plugin_get_description to match code.
13271         * gst/gsterror.h:
13272           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13273         * gst/gstpad.c: (gst_pad_try_set_caps):
13274           make it work with nonfixed caps.
13275           Note that even in the nonfixed case the link function of the pad
13276           that tries to set caps isn't called.
13277
13278 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13279
13280         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13281           fix bug where buffer was not assembled correctly
13282         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13283           silence by default
13284         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13285           only seek if there's no more buffers that could work without seeking
13286
13287 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13288
13289         * gst/gsttag.c: (_gst_tag_initialize):
13290         * gst/gsttag.h:
13291           Add application tag (for encoding/muxing app).
13292
13293 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13294
13295         * autogen.sh:
13296           make autopoint force, and libtoolize not copy
13297         * common/m4/as-docbook.m4:
13298           added docbook xml catalog setup check
13299         * common/m4/gst-doc.m4:
13300           use docbook check
13301
13302 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13303
13304         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13305         * gst/gsttag.h:
13306           add GstTagFlag
13307
13308 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13309
13310         * docs/gst/gstreamer-sections.txt:
13311         * docs/gst/tmpl/gst.sgml:
13312         * docs/gst/tmpl/gstbuffer.sgml:
13313         * docs/gst/tmpl/gstclock.sgml:
13314         * docs/gst/tmpl/gstelement.sgml:
13315         * docs/gst/tmpl/gstreamer-unused.sgml:
13316         * docs/gst/tmpl/gstxml.sgml:
13317           sync latest API changes to docs
13318
13319 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13320
13321         * gst/gstpluginfeature.c:
13322           fix doc snippet
13323         * tools/gst-inspect.c: (print_element_list):
13324           fix output of typefind
13325           add GPL header
13326         * tools/gst-launch.c:
13327           add GPL header
13328
13329 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13330
13331         * gst/elements/Makefile.am:
13332         * gst/elements/gstelements.c:
13333         * gst/elements/gsttypefindelement.c:
13334         * gst/elements/gsttypefindelement.h:
13335         * po/POTFILES.in:
13336         * po/fr.po:
13337         * po/nl.po:
13338           renamed gsttypefindelement to gsttypefind, conserving CVS history
13339
13340 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13341
13342         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13343         * gst/gsttag.h:
13344           add some tags used in ogg as well
13345           fix _ in replaygain tags
13346
13347 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13348
13349         * gst/gsterror.h:
13350           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13351
13352 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13353
13354         * gst/gstelement.c: (gst_element_error_full):
13355         * gst/gstelement.h:
13356           change _extended to _full
13357
13358 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13359
13360         reviewed by: <delete if not using a buddy>
13361
13362         * docs/gst/tmpl/gst.sgml:
13363         * docs/gst/tmpl/gstbuffer.sgml:
13364         * docs/gst/tmpl/gstclock.sgml:
13365         * docs/gst/tmpl/gstelement.sgml:
13366         * docs/gst/tmpl/gstreamer-unused.sgml:
13367         * docs/gst/tmpl/gstxml.sgml:
13368         * gst/gstelement.c: (gst_element_error_full):
13369         * gst/gstelement.h:
13370
13371 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13372
13373         * gst/gstelement.h: fix _gst_element_error_printf prototype
13374
13375 2004-01-20  David Schleef  <ds@schleef.org>
13376
13377         * gst/gststructure.c: (gst_structure_to_string):
13378         Convert function to use gst_value_serialize().
13379         * gst/gstvalue.c: (gst_value_serialize_list),
13380         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13381         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13382         (gst_value_serialize_int), (gst_value_serialize_double),
13383         (gst_string_wrap), (gst_value_serialize_string),
13384         (gst_value_serialize), (gst_value_deserialize):
13385         * gst/gstvalue.h:
13386         Add implementations for serialize.
13387
13388 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13389
13390         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13391         we want to keep that one in the future or change xvidenc.c to use 
13392         another error.
13393
13394 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13395
13396         * gst/gstelement.c: (_gst_element_error_printf):
13397         * gst/gstelement.h:
13398           privatise function
13399
13400 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13401
13402         * docs/random/error:
13403           doc explaining error system
13404         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13405           cleanup
13406
13407 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13408
13409         * gst/gst-i18n-app.h:
13410         * gst/gst-i18n-lib.h:
13411           remove inclusion of config.h
13412         * po/POTFILES.in:
13413         * po/nl.po:
13414           add gst/gstelement.c
13415
13416 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13417
13418         * po/nl.po: updated Dutch translation
13419
13420 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13421
13422         * gst/gsterror.c: (_gst_core_errors_init),
13423         (_gst_library_errors_init), (_gst_resource_errors_init),
13424         (_gst_stream_errors_init):
13425         remove ending punctuation dots
13426
13427 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13428
13429         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13430         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13431         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13432         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13433         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13434         use GST_ERROR_SYSTEM
13435
13436 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13437
13438         * gst/gstelement.c: (gst_element_error_printf),
13439         (gst_element_error_extended):
13440         * gst/gstelement.h:
13441           add a helper printf function so we can have NULL values passed.
13442
13443 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13444
13445         * gst/gstelement.h:
13446           add G_STMT macros to gst_element_error, which isn't strictly
13447           necessary but people tell me to anyway.
13448
13449 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13450
13451         * gst/Makefile.am:
13452         * gst/autoplug/gstspideridentity.c:
13453         (gst_spider_identity_sink_loop_type_finding):
13454         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13455         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13456         (gst_filesink_close_file), (gst_filesink_handle_event),
13457         (gst_filesink_chain):
13458         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13459         (gst_filesrc_map_region), (gst_filesrc_get_read),
13460         (gst_filesrc_open_file):
13461         * gst/elements/gstidentity.c: (gst_identity_chain):
13462         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13463         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13464         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13465         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13466         * gst/gst.h:
13467         * gst/gst_private.h:
13468         * gst/gstelement.c: (gst_element_class_init),
13469         (gst_element_default_error), (gst_element_error_func),
13470         (gst_element_error_extended):
13471         * gst/gstelement.h:
13472         * gst/gsterror.c: (_gst_core_errors_init),
13473         (_gst_library_errors_init), (_gst_resource_errors_init),
13474         (_gst_stream_errors_init), (gst_error_get_message):
13475         * gst/gsterror.h:
13476         * gst/gstinfo.c: (_gst_debug_init):
13477         * gst/gstmarshal.list:
13478         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13479         (gst_pad_recover_caps_error), (gst_pad_pull):
13480         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13481         * gst/schedulers/gstbasicscheduler.c:
13482         (gst_basic_scheduler_chainhandler_proxy),
13483         (gst_basic_scheduler_gethandler_proxy),
13484         (gst_basic_scheduler_cothreaded_chain):
13485         * po/POTFILES.in:
13486         * po/fr.po:
13487         * po/nl.po:
13488           change error signal
13489           add error categories
13490
13491 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13492
13493         * gst/gsttag.c: (_gst_tag_initialize):
13494         * gst/gsttag.h:
13495         Add replaygain tag
13496
13497 2004-01-18  Colin Walters  <walters@verbum.org>
13498
13499         * examples/retag/retag.c: Call gst_init before processing
13500         program args.  Add g_assert to _link_many call.
13501
13502 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13503
13504         * gst/gstpad.c: (gst_pad_alloc_buffer):
13505           Return a newly allocated buffer when the pad has no peer.
13506
13507 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13508
13509         * gst/gstclock.c: (gst_clock_get_time):
13510           make it compile with gcc 2.95 again.
13511           Patch by Scott Wheeler
13512
13513 2004-01-15  David Schleef  <ds@schleef.org>
13514
13515         * gst/gstcaps.h:
13516         Added gst_caps_is_simple() macro.
13517         * testsuite/caps/caps.c: (test1):
13518         * testsuite/caps/intersect2.c: (main):
13519         * testsuite/caps/intersection.c: (main):
13520         Fixes to make 'make check' work again after removing
13521         gst_caps_is_chained().
13522
13523 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13524
13525         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13526         and additions to the MIDI document.
13527
13528 2004-01-15  David Schleef  <ds@schleef.org>
13529
13530         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13531         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13532         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13533
13534 2004-01-15  David Schleef  <ds@schleef.org>
13535
13536         * gst/gstqueue.c:
13537         * gst/gstqueue.h:
13538         Fix the spelling of "treshold" and make min_threshold actually
13539         affect the queue.
13540
13541 2004-01-15  David Schleef  <ds@schleef.org>
13542
13543         * gst/gstcaps.c:
13544         Add lots of documentation.
13545         * gst/gstcaps.h:
13546         Deprecate a few functions.
13547         * gst/gstpad.c:
13548         Removed use of deprecated functions.
13549
13550 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13551
13552         * gst/gstpad.c: (gst_pad_is_linked):
13553         * gst/gstpad.h:
13554           implement gst_pad_is_linked
13555         * gst/gstelement.h:
13556           reserve space for initiate_state_change
13557
13558 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13559
13560         * gst/autoplug/gstspideridentity.c:
13561         (gst_spider_identity_sink_loop_type_finding):
13562           break infinite loop by just returning instead of looping
13563         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13564           set event time difference correctly. Set it to 1 second instead
13565           of 100ms to be more tolerant
13566         * gst/gstelement.c: (gst_element_set_time):
13567           add debugging output
13568
13569 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13570
13571         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13572           query if buffers are inside the pool, ignore events
13573
13574 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13575
13576         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13577         (gst_clock_set_speed), (gst_clock_set_active),
13578         (gst_clock_is_active), (gst_clock_reset),
13579         (gst_clock_handle_discont):
13580         * gst/gstclock.h:
13581           deprecate old interface and disable functions that aren't in use
13582           anymore.
13583         * gst/gstelement.h:
13584         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13585         (gst_element_set_time), (gst_element_adjust_time):
13586           add concept of "element time" and functions to get/set this time.
13587         * gst/gstelement.c: (gst_element_change_state):
13588           update element time correctly.
13589         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13590           This is a debug message, not a g_critical.
13591         * gst/gstpad.c: (gst_pad_event_default):
13592           handle discontinuous events right with element time.
13593         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13594           update to clocking fixes.
13595           set clocks on elements in READY=>PAUSED. The old behaviour caused
13596           a wrong element time on the first element that started playing.
13597         * gst/schedulers/gstbasicscheduler.c:
13598         (gst_basic_scheduler_class_init):
13599         * gst/schedulers/gstoptimalscheduler.c:
13600         (gst_opt_scheduler_class_init):
13601           remove code that just implements the default behaviour.
13602         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13603           update to use new clocking functions
13604         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13605         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13606           update to test new element time.
13607         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13608           use _get_allowed_caps instead of _get_caps. This catches filtered
13609           caps correctly.
13610         * testsuite/debug/commandline.c:
13611           update for new GST_DEBUG syntax.
13612         * testsuite/threads/Makefile.am:
13613           disable a test that only works sometimes.
13614
13615 2004-01-13  Julien MOUTTE <julien@moutte.net>
13616
13617         * po/LINGUAS: Adding fr.
13618         * po/fr.po: Adding french translation.
13619
13620 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13621
13622         * gst/parse/grammar.y:
13623         * po/POTFILES.in:
13624         * po/nl.po:
13625         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13626           translate parsing error messages
13627
13628 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13629
13630         * po/POTFILES.in: adding gst-launch
13631         * po/nl.po: updated translation, all 99 strings translated
13632         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13633         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13634           fix strings for translation
13635
13636 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13637
13638         * gst/gst.c:
13639           - capitalize beginnings of popt options
13640           - fix strings for translation
13641           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13642
13643 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13644
13645         * po/README: add some notes on how to update translations
13646
13647 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13648
13649         * ABOUT-NLS: removed, is autogenerated from autopoint
13650         * autogen.sh: add autopoint stuff
13651         * configure.ac: fix up gettext stuff
13652         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13653         * gst/elements/gsttypefindelement.c: add header include
13654         * gst/gettext.h: add header, copy from system-installed header
13655         * gst/gst-i18n-app.h: to be included by each app having translations
13656         * gst/gst-i18n-lib.h: to be included by each lib having translations
13657         * gst/gst.c: (init_pre): fix up gettext calls
13658         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13659         * po/LINGUAS: the new way to specify translations present
13660         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13661         * po/Makevars: the variables filled in for GStreamer
13662         * po/POTFILES.in: added new files with translations
13663         * po/de.po: has new strings
13664         * po/nl.po: readded, has new strings
13665
13666 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13667
13668         * gst/gsttag.c: fix some strings marked for translation
13669
13670 2004-01-13  Iain <iain@prettypeople.org>
13671
13672         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13673         group when we add an element to it, cos we unref it when we remove one
13674
13675 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13676
13677         * testsuite/debug/commandline.c: (debug_not_reached):
13678         * testsuite/debug/output.c: (check_message):
13679           fix testsuite
13680
13681 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13682
13683         * examples/cutter/.cvsignore:
13684         * examples/helloworld/.cvsignore:
13685         * examples/launch/.cvsignore:
13686         * examples/manual/.cvsignore:
13687         * examples/mixer/.cvsignore:
13688         * examples/pingpong/.cvsignore:
13689         * examples/plugins/.cvsignore:
13690         * examples/queue/.cvsignore:
13691         * examples/queue2/.cvsignore:
13692         * examples/queue3/.cvsignore:
13693         * examples/queue4/.cvsignore:
13694         * examples/retag/.cvsignore:
13695         * examples/thread/.cvsignore:
13696         * examples/typefind/.cvsignore:
13697         * examples/xml/.cvsignore:
13698         * gst/.cvsignore:
13699         * gst/autoplug/.cvsignore:
13700         * gst/elements/.cvsignore:
13701         * gst/indexers/.cvsignore:
13702         * gst/parse/.cvsignore:
13703         * gst/registries/.cvsignore:
13704         * gst/schedulers/.cvsignore:
13705         * libs/gst/bytestream/.cvsignore:
13706         * libs/gst/control/.cvsignore:
13707         * libs/gst/getbits/.cvsignore:
13708         * tests/.cvsignore:
13709         * tests/bufspeed/.cvsignore:
13710         * tests/instantiate/.cvsignore:
13711         * tests/memchunk/.cvsignore:
13712         * tests/muxing/.cvsignore:
13713         * tests/sched/.cvsignore:
13714         * tests/seeking/.cvsignore:
13715         * tests/threadstate/.cvsignore:
13716         * testsuite/.cvsignore:
13717         * testsuite/caps/.cvsignore:
13718         * testsuite/cleanup/.cvsignore:
13719         * testsuite/dynparams/.cvsignore:
13720         * testsuite/plugin/.cvsignore:
13721         * tools/.cvsignore:
13722           update - this is huge, because it includes *.bb, *.bbg and *.da files
13723           which are generated for gcov.
13724
13725 2004-01-11  David Schleef  <ds@schleef.org>
13726
13727         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13728         a function to parse integers in ways that strto[u]l() does not.
13729
13730 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13731
13732         * tools/gst-inspect.c: (print_caps):
13733           improve output of caps a bit
13734
13735 2004-01-11  David Schleef  <ds@schleef.org>
13736
13737         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13738         inherit correct flags (READONLY and DONTKEEP).
13739
13740 2004-01-11  David Schleef  <ds@schleef.org>
13741
13742         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13743         (gst_filesrc_map_region):
13744         * gst/gstbuffer.c: (_gst_buffer_initialize),
13745         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13746         (gst_buffer_new), (gst_buffer_create_sub),
13747         (gst_buffer_is_span_fast), (gst_buffer_span):
13748         * gst/gstbuffer.h:
13749         Change GstBuffer private structure element names. (all files)
13750         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13751         (gst_queue_link):
13752         * gst/gstqueue.h:
13753         Implement getcaps/pad_link functions that handle the case where
13754         there are data in the queue.
13755
13756 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13757
13758         * gst/elements/gstbufferstore.c:
13759           initialize debugging structure correctly
13760         * gst/elements/gsttee.c: (gst_tee_set_property):
13761           g_object_notify when property was changed
13762         * gst/elements/gsttypefindelement.c:
13763         (gst_type_find_element_change_state):
13764           clear caps correctly
13765
13766 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13767
13768         * gst/gstqueue.c: (gst_queue_init):
13769           Use better defaults for when a queue should block. This
13770           gets rid of jerky playback for quite a few files.
13771           It takes more memory.
13772
13773 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13774
13775         (gst_xml_registry_parse_padtemplate):
13776           make critical message slightly more useful
13777
13778 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13779
13780         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13781         (gst_debug_message_get), (gst_debug_log_default):
13782         * gst/gstinfo.h:
13783           Change gst_debug_log(_valist) to take a const format string.
13784           Change prototype of log function and functions using those to 
13785           take a GstDebugMessage instead of a string that requires using
13786           gst_debug_message_get.
13787
13788 2004-01-08  David Schleef  <ds@schleef.org>
13789
13790         * Makefile.am:
13791         * configure.ac:
13792         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13793         and -ftest-coverage, which allows gcov to show information about
13794         testsuite coverage.
13795
13796 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13797
13798         * gst/gstutils.h:
13799           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13800           GST_PARENT_CALL_WITH_DEFAULT
13801         * gst/elements/gstaggregator.c: 
13802         * gst/elements/gstbufferstore.c: 
13803         * gst/elements/gstfakesink.c: 
13804         * gst/elements/gstfakesrc.c: 
13805         * gst/elements/gstfdsink.c: 
13806         * gst/elements/gstfdsrc.c: 
13807         * gst/elements/gstfilesink.c: 
13808         * gst/elements/gstfilesrc.c: 
13809         * gst/elements/gstidentity.c: 
13810         * gst/elements/gstmd5sink.c: 
13811         * gst/elements/gstmultidisksrc.c:
13812         * gst/elements/gstpipefilter.c: 
13813         * gst/elements/gstshaper.c:
13814         * gst/elements/gststatistics.c:
13815         * gst/elements/gsttee.c:
13816         * gst/elements/gsttypefindelement.c:
13817           use them.
13818
13819 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13820
13821         * docs/gst/gstreamer-docs.sgml: remove props
13822         * docs/gst/gstreamer-sections.txt: remove props
13823         * docs/gst/tmpl/gst.sgml:
13824         * docs/gst/tmpl/gstbin.sgml:
13825         * docs/gst/tmpl/gstbuffer.sgml:
13826         * docs/gst/tmpl/gstcaps.sgml:
13827         * docs/gst/tmpl/gstclock.sgml:
13828         * docs/gst/tmpl/gstelement.sgml:
13829         * docs/gst/tmpl/gstindex.sgml:
13830         * docs/gst/tmpl/gstobject.sgml:
13831         * docs/gst/tmpl/gstpad.sgml:
13832         * docs/gst/tmpl/gstpadtemplate.sgml:
13833         * docs/gst/tmpl/gstreamer-unused.sgml:
13834         * docs/gst/tmpl/gstthread.sgml:
13835         * docs/gst/tmpl/gstxml.sgml:
13836           sync with code reorganization
13837
13838 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13839
13840         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13841         Make the 'Could not find compatible pad' message more informative.
13842
13843 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13844                                                                                 
13845         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13846           Fix for if we pass NULL as property to location.
13847         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13848         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13849           Fix for instantiate-test (see below).
13850         * gst/gststructure.c: (_gst_structure_parse_value):
13851           Fix compile error on gcc-2.96.
13852         * configure.ac:
13853         * tests/Makefile.am:
13854         * tests/instantiate/Makefile.am:
13855         * tests/instantiate/create.c: (create_all_elements), (main):
13856           Add a test that instantiates all elements. This makes it easy to
13857           track dead code for old API/design (like setting event functions
13858           on sink pads and so on).
13859
13860 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13861
13862         * gst/gstcaps.c: (gst_caps_append_structure):
13863           Move the poisoning to allow a NULL structure
13864         * gst/gstevent.c: (_gst_event_free):
13865           When freeing a navigation event, free the structure
13866           also
13867
13868 2004-01-04  David Schleef  <ds@schleef.org>
13869
13870         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13871         Remove usage of gst_pad_proxy_fixate.
13872         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13873         (gst_caps_split_one), (gst_caps_replace):
13874         Add poisoning code.
13875         * gst/gstmarshal.list:
13876         Add pointer__pointer for fixate signal
13877         * gst/gstpad.c: (gst_real_pad_class_init),
13878         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13879         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13880         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13881         Add poisoning code. Add fixate signal on RealPad. Change
13882         set_explicit_caps() to take const GstCaps, like try_set_caps().
13883         * gst/gstpad.h:
13884         * testsuite/caps/Makefile.am:
13885         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13886
13887 2004-01-03  David Schleef  <ds@schleef.org>
13888
13889         * gst/elements/gsttypefindelement.c:
13890         (gst_type_find_element_have_type), (gst_type_find_element_init):
13891         Use gst_pad_use_explicit_caps for src pad.
13892         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13893         before using it.
13894
13895 2004-01-03  David Schleef  <ds@schleef.org>
13896
13897         * gst/gstelement.c: (gst_element_link_pads_filtered),
13898         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13899         that linking was successful.
13900         * gst/gstpad.c: (gst_pad_link_free),
13901         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13902         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13903         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13904         GstPadLinkReturn correctly between functions, and don't fail
13905         when DELAYED is used (DELAYED is very important).  Better
13906         cleanup on unlinking and unnegotiation.  Should fix some spider
13907         bugs.
13908
13909 2004-01-02  David Schleef  <ds@schleef.org>
13910
13911         * gst/gstelement.c: (gst_element_class_init),
13912         (gst_element_base_class_init): ->padtemplates should be cleared
13913         in base_init, since we need to have a fresh list for every
13914         class.  (Alternately, we chould copy the list and share the
13915         actual pad templates (not the list), but that would require
13916         changing every plugin to move pad template registration from
13917         base_init to class_init.)
13918
13919 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13920
13921         * gst/gstelement.c: (gst_element_class_add_pad_template):
13922           Refuse registering a pad template if another pad template
13923           with the same name already exists (#114715).
13924
13925 2004-01-02  David Schleef  <ds@schleef.org>
13926
13927         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13928         (gst_caps_is_equal_fixed): Add new function.
13929         * gst/gstcaps.h: ditto.
13930         * gst/gstpad.c: (gst_real_pad_class_init),
13931         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13932         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13933         check new caps against existing caps -- if they're the same, return
13934         OK without renegotiating.  caps-nego-failed signal fixed so that
13935         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13936         to save an extra caps copy.  Don't complete negotiation if a pad
13937         link function returns DELAYED.
13938
13939 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13940
13941         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13942           Fix wrong g_return_if_fail
13943
13944 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13945
13946         * gst/gstbin.c: (gst_bin_class_init):
13947         Change the marshalling of element_added/element_removed
13948         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13949         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13950
13951 2004-01-01  David Schleef  <ds@schleef.org>
13952
13953         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13954         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13955         (gst_pad_use_explicit_caps):
13956         * gst/gstpad.h:
13957         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13958         to use an internal getcaps and link fuction so that negotiation
13959         always results in the explicitly set caps.
13960         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13961         are particularly useful for decoders.
13962
13963 2003-12-31  David Schleef  <ds@schleef.org>
13964
13965         * gst/elements/gstidentity.c: (gst_identity_class_init),
13966         (gst_identity_init), (gst_identity_chain),
13967         (gst_identity_set_property), (gst_identity_get_property):
13968         * gst/elements/gstidentity.h:
13969         * gst/gstqueue.c: (gst_queue_init):
13970           Negotiation fixes.
13971
13972 2003-12-31  David Schleef  <ds@schleef.org>
13973
13974         * gst/gstcaps.c: (gst_caps_intersect),
13975         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13976           Implement gst_caps_normalize().
13977         * testsuite/caps/normalisation.c: (main):
13978           Add an additional test
13979
13980 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13981
13982         * gst/gstqueue.c: (gst_queue_init):
13983           use gst_pad_proxy_getcaps()
13984
13985 2003-12-31  David Schleef  <ds@schleef.org>
13986
13987         * gst/elements/gstshaper.c: (gst_shaper_link):
13988         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13989         * gst/gstqueue.c: (gst_queue_link):
13990           Negotiation fixes.
13991
13992 2003-12-31  David Schleef  <ds@schleef.org>
13993
13994         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13995         * gst/gstpad.h: Add functions that are useful as default pad
13996         link and fixate functions for elements.
13997
13998 2003-12-30  David Schleef  <ds@schleef.org>
13999
14000         * gst/gstpad.c: (gst_pad_link_try):
14001           Fix segfault when attempting to return to old caps
14002
14003 2003-12-29  David Schleef  <ds@schleef.org>
14004
14005         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14006         (gst_caps_structure_simplify), (gst_caps_simplify):
14007         * gst/gstcaps.h:
14008           Add simplify function
14009         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14010         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14011         * gst/gstpad.h:
14012           Copy over srcnotify, sinknotify when calling old pad_link
14013           functions.  Add new is_negotiated() function.
14014         * gst/gststructure.c: (gst_structure_copy):
14015           Fix an incredibly stupid bug that should have been noticed
14016           weeks ago.  _copy() returned the argument, not the new copy.
14017
14018 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14019
14020         * gst/gstcaps.c: (gst_caps_append):
14021           add sanity checks
14022         * gst/gstcaps.h: (gst_caps_debug):
14023           remove, it doesn't exist anymore.
14024         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14025         (gst_element_threadsafe_properties_post_run):
14026           make debugging messages not clutter up THREAD debug category
14027         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14028         (gst_element_change_state):
14029           update to new caps API
14030         * gst/gstinterface.c: (gst_implements_interface_cast):
14031           don't put vital code in g_return_if_fail
14032         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14033         (gst_pad_link_filtered):
14034           add pst_pad_try_link and use it.
14035         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14036           implement correctly, deprecate first one.
14037         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14038           add and implement.
14039         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14040           implement.
14041         (gst_pad_get_negotiated_caps):
14042           add and implement. Make GST_PAD_CAPS call this function.
14043         (gst_pad_get_caps):
14044           remove unneeded check..
14045         (gst_pad_recover_caps_error):
14046           disable, always return FALSE.
14047         (gst_real_pad_dispose):
14048           don't free caps and appfilter anymore, they're unused.
14049         * gst/gstpad.h:
14050           Reflect changes mentioned above.
14051         * gst/gstsystemclock.c: (gst_system_clock_wait):
14052           Make 'clock is way behind' a debugging message.
14053         * gst/gstthread.c: (gst_thread_change_state):
14054           Fix debugging message
14055
14056 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14057
14058         * gst/gstinfo.h:
14059           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14060         * docs/gst/tmpl/gstreamer-unused.sgml:
14061           removed all traces of cvs conflicts
14062
14063 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14064
14065         * configure.ac:
14066         * gst/schedulers/cothreads_compat.h:
14067         * libs/Makefile.am:
14068           remove last instances of wingo cothread usage
14069
14070 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14071
14072         * gst/gstplugin.c:
14073         * gst/gstversion.h.in:
14074         * gst/parse/grammar.y:
14075           change comment block from /** to /* when not gtk-doc comments
14076
14077 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14078
14079         * gst/gst.c: whitespace and doc style fixes
14080
14081 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14082
14083         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14084
14085 2003-12-24  Colin Walters  <walters@verbum.org>
14086
14087         * gst/elements/gsttypefindelement.c:
14088           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14089           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14090           Don't double-free caps.
14091
14092 2003-12-23  David Schleef  <ds@schleef.org>
14093
14094         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14095           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14096           Many little fixes and additions of debug statements to
14097           get rhythmbox working.
14098
14099 2003-12-23  Colin Walters  <walters@verbum.org>
14100
14101         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14102         Use GST_PAD_LINK_SUCCESSFUL.
14103
14104 2003-12-23  David Schleef  <ds@schleef.org>
14105
14106         * gst/elements/gstaggregator.c:
14107         * gst/elements/gsttee.c:
14108           Use gst_pad_proxy_getcaps().
14109         * gst/gstpad.c:
14110         * gst/gstpad.h:
14111           Add gst_pad_proxy_getcaps(), which filter elements can use
14112           as a generic getcaps implementation.
14113           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14114           was advertised.
14115
14116 2003-12-23  David Schleef  <ds@schleef.org>
14117
14118         * gst/gstpad.c:
14119           Rearrange/rewrite much of the pad negotiation code, since it
14120           resembled pasta.  This actually changes the way some
14121           negotiation works, since the previous code was inconsistent
14122           depending on how it was invoked.  Add (internal) structure
14123           GstPadLink, which is used to hold some information (more in
14124           the future) about the link between two pads.  Fixes a number
14125           of bugs, including random lossage of filter caps when the
14126           initial negotiation is delayed.  A few functions are still
14127           unimplemented.
14128         * gst/gstpad.h:
14129           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14130           these when testing GstPadLinkReturn values instead of comparing
14131           directly.
14132
14133 2003-12-23  David Schleef  <ds@schleef.org>
14134
14135         * gst/gstvalue.c: 
14136         * gst/gstvalue.h:
14137           Rearrange lots of code.  Change registration of compare function
14138           into registration of compare/serialize/deserialize functions.
14139           Doesn't include implementation of gst_value_[de]serialize(),
14140           but that should be easy.
14141
14142 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14143
14144         * docs/gst/gstreamer-sections.txt:
14145         * docs/gst/tmpl/gstprops.sgml: removed
14146         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14147           David removed props and caps code, so let's remove their docs as well.
14148           Removed all no longer existing symbols from gstreamer-sections.txt
14149           
14150 2003-12-22  Colin Walters  <walters@verbum.org>
14151
14152         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14153           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14154           of tags directly.
14155
14156 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14157
14158         * gst/elements/gstelements.c:
14159           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14160         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14161           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14162           gst_caps (peer).
14163
14164 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14165
14166         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14167         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14168         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14169         (gst_spider_identity_sink_loop_type_finding):
14170         * gst/autoplug/gstspideridentity.h:
14171           Fix autoplugging in spider element, so it works with new caps.
14172           This was mainly caused by identifying empty caps incorrectly.
14173
14174 2003-12-22  David Schleef  <ds@schleef.org>
14175
14176         * gststructure.c, gstvalue.c, gstvalue.h: Add
14177           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14178           using g_value_copy()
14179
14180 2003-12-21  David Schleef  <ds@schleef.org>
14181
14182         * many, many files: Merge CAPS branch.  This includes:
14183           - implemention of GstValue and several GstValue types
14184           - implemention of GstStructure
14185           - entire rewrite of GstCaps
14186           - removal of GstProps
14187           - many changes to GstPad to compensate for new caps paradigm
14188           - removal of GstBufferpool
14189         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14190         gstvalue.h, gst/gstcaps[2]*.[ch]:
14191           - rename gstcaps2.[ch] to gstcaps.[ch]
14192
14193 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14194
14195         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14196         (gst_queue_chain), (gst_queue_handle_src_event):
14197           implement timeout for sending events. Workaround for if the
14198           pipeline on this queue is not passing any data.
14199
14200 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14201                                                                                 
14202         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14203         * moved CVS to freedesktop.org