make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should be handled by...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * gst/gstelement.h:
4           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
5           be handled by the application and not always printed as well
6
7 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8
9         * check/Makefile.am:
10           set GST_TOOLS_DIR
11         * gst/check/gstcheck.c: (gst_check_message_error):
12         * gst/check/gstcheck.h:
13           add a fail_unless_equals_int
14           add fail_unless for error messages
15
16 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17
18         * check/Makefile.am:
19         * check/gst.supp:
20         * common/Makefile.am:
21         * common/check.mak:
22         * common/gst.supp:
23           factor out some of the common stuff so we can use it
24
25 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26
27         * check/Makefile.am:
28         * check/gst/gstiterator.c: (GST_START_TEST):
29         * check/gst/gstsystemclock.c: (GST_START_TEST),
30         (gst_systemclock_suite):
31         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
32         * gst/gstclock.c:
33           valgrind more tests
34
35 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
36
37         * check/elements/.cvsignore:
38         * check/elements/gstfakesrc.c:
39           rename to name of element
40         * check/elements/identity.c: (chain_func), (event_func),
41         (setup_identity), (cleanup_identity), (GST_START_TEST),
42         (identity_suite), (main):
43           add a test for identity
44         * check/Makefile.am:
45         * pkgconfig/Makefile.am:
46         * pkgconfig/gstreamer-check.pc.in:
47         * pkgconfig/gstreamer-check-uninstalled.pc.in:
48         * gst/check:
49         * gst/Makefile.am:
50         * configure.ac:
51           move the check stuff to a library that gets installed
52         * check/gst-libs/controller.c: (GST_START_TEST):
53         * check/gst-libs/gdp.c:
54         * check/gst/gst.c: (GST_START_TEST):
55         * check/gst/gstbin.c:
56         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
57         * check/gst/gstbus.c:
58         * check/gst/gstcaps.c: (GST_START_TEST):
59         * check/gst/gstelement.c:
60         * check/gst/gstghostpad.c:
61         * check/gst/gstiterator.c:
62         * check/gst/gstmessage.c:
63         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
64         * check/gst/gstobject.c:
65         * check/gst/gstpad.c: (GST_START_TEST):
66         * check/gst/gststructure.c: (GST_START_TEST):
67         * check/gst/gstsystemclock.c: (GST_START_TEST),
68         (gst_systemclock_suite):
69         * check/gst/gsttag.c: (gst_tag_suite):
70         * check/gst/gstvalue.c:
71         * check/pipelines/cleanup.c:
72         * check/pipelines/simple_launch_lines.c:
73         * check/states/sinks.c:
74           change include statement
75
76         * docs/gst/gstreamer-sections.txt:
77         * docs/gst/tmpl/gstpad.sgml:
78           document more pad stuff
79         * gst/gstminiobject.c: (gst_mini_object_ref),
80         (gst_mini_object_unref):
81           debug refcounting
82
83 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
84
85         * docs/gst/tmpl/gst.sgml:
86         * gst/gst.c:
87           eliminate another tmpl file, fix spelling in the long-description
88
89 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
90
91         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
92         (test_event), (timediff), (gstevents_suite):
93           Should fix build on 64-bit arch's
94
95 2005-08-18  Andy Wingo  <wingo@pobox.com>
96
97         Make sure that when a pipeline goes to PLAYING, that data has
98         actually hit the sink.
99
100         * check/states/sinks.c (test_sink): A sink that doesn't get any
101         data shouldn't return SUCCESS for going to either PLAYING or
102         PAUSED. Test also the return values on the way back down.
103
104         * gst/gstelement.c (gst_element_set_state): When changing the
105         state of an element currently changing state asynchronously, go to
106         lost-state after commiting the pending state. Makes future calls
107         to get_state continue to return ASYNC.
108
109         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
110         ASYNC when going to PLAYING if we still don't have preroll, as can
111         happen with live sources.
112
113 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
114
115         * docs/pwg/advanced-types.xml:
116           Hack long paragraph into 2 chunks as a workaround for buggy
117           jadetex version in sid and breezy that loops infinitely and
118           eats all RAM.
119
120 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
121
122         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
123         (test_event), (timediff), (gstevents_suite):
124           Provide more error margin in clock measurements to allow for 
125           g_get_current_time inaccuracies.
126
127 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
128
129         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
130         (test_event), (timediff), (gstevents_suite):
131            Fix error message output so I might be able to tell why the
132            test works here but fails on the build farm.
133
134 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
135
136         * check/Makefile.am:
137         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
138         (test_event), (timediff), (gstevents_suite), (main):
139           I wrote a test!
140
141         * docs/design/part-seeking.txt:
142           Spelling correction
143
144         * docs/gst/tmpl/gstevent.sgml:
145         * docs/gst/tmpl/gstfakesrc.sgml:
146           Docs updates.
147
148         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
149           Treat a buffer-without-newsegment the same as a receiving 
150           a newsegment not in time format, and disable syncing to the clock
151           with a warning.
152
153         * gst/gstbus.c: (gst_bus_set_sync_handler):
154           Assert if anyone tries to replace the existing sync_handler for bus, 
155           as only the owner should be setting it.
156
157         * gst/gstevent.h:
158           Have a fixed set of custom event enums with events identified by
159           their structure name (as in 0.8), rather than a free-for-all
160           allowing collisions between enum values from different plugins.
161
162         * gst/gstpad.c: (gst_pad_class_init):
163           Docs change.
164           
165         * gst/gstqueue.c: (gst_queue_handle_sink_event):
166           Handle out-of-band downstream events from the sending thread.
167
168 2005-08-17  Andy Wingo  <wingo@pobox.com>
169
170         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
171         play-timeout==0 to mean no timeout at all. In that case, don't
172         bother with a get_state or a warning, just return directly, even
173         if it's ASYNC.
174
175         * gst/base/gstbasetransform.c: Debug changes.
176
177         * gst/gstutils.h:
178         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
179         ensure bins post state change messages. A bit of a hack but I can't
180         think of a way to avoid it.
181
182         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
183
184 2005-08-16  Andy Wingo  <wingo@pobox.com>
185
186         * gst/base/gstadapter.h:
187         * gst/base/gstadapter.c (gst_adapter_take): New function, like
188         peek() but you own the data. Not terribly efficient atm.
189
190 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
191
192         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
193         (gst_element_found_tags):
194         * gst/gstutils.h:
195           Add two utility functions for tag handling.
196
197 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
198
199         * docs/manual/advanced-dataaccess.xml:
200         * docs/manual/basics-helloworld.xml:
201           Fix docs to use _bin_add() before _link(), which fixes the examples
202           with recent core versions (reported by Madhan Raj M
203           <raj_madan@rediffmail.com>, #313199).
204
205 2005-08-16  Wim Taymans  <wim@fluendo.com>
206
207         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
208         Added subtract checks.
209
210         * docs/design/part-events.txt:
211         Some more docs about newsegment
212
213         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
214         Fix FIXME
215
216         * gst/gstcaps.c: (gst_caps_to_string):
217         Add comments, cleanups.
218         
219         * gst/gstelement.c: (gst_element_save_thyself):
220         cleanups
221         
222         * gst/gstvalue.c: (gst_value_collect_int_range),
223         (gst_string_unwrap), (gst_value_union_int_int_range),
224         (gst_value_union_int_range_int_range),
225         (gst_value_intersect_int_int_range),
226         (gst_value_intersect_int_range_int_range),
227         (gst_value_intersect_double_double_range),
228         (gst_value_intersect_double_range_double_range),
229         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
230         (gst_value_subtract_int_range_int),
231         (gst_value_subtract_double_range_double),
232         (gst_value_subtract_double_range_double_range),
233         (gst_value_subtract_from_list), (gst_value_subtract_list),
234         (gst_value_can_compare), (gst_value_compare_fraction):
235         Cleanups, add comments, remove unneeded asserts.
236
237 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
238
239         * tools/gst-launch.c: (event_loop):
240           don't convert NULL structures to strings
241
242 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
243
244         * docs/gst/gstreamer-sections.txt:
245           made some defines private
246         * docs/gst/tmpl/gstconfig.sgml:
247         * docs/gst/tmpl/gstqueue.sgml:
248         * docs/gst/tmpl/gsttaglist.sgml:
249         * docs/gst/tmpl/gsttypes.sgml:
250         * docs/gst/tmpl/gstutils.sgml:
251         * docs/pwg/appendix-porting.xml:
252         * gst/base/gstbasesink.h:
253         * gst/base/gstbasesrc.c:
254         * gst/base/gstbasesrc.h:
255         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
256         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
257         * gst/gstelement.c: (gst_element_class_init):
258         * gst/gstpad.c: (gst_pad_class_init):
259         * gst/gstqueue.c: (gst_queue_class_init):
260         * gst/gstxml.c: (gst_xml_class_init):
261           documented all undocumented signal inline
262         * libs/gst/controller/gst-controller.h:
263           added padding
264
265 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
266
267         * docs/pwg/appendix-porting.xml:
268           Document _set_link_function -> _set_setcaps_function.
269
270 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
271
272         * check/Makefile.am:
273           add a .check target for running the check
274         * check/gst-libs/controller.c: (GST_START_TEST):
275           cosmetic fixups
276         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
277           complete checks for gstbuffer; would be nice if I could get the
278           gcov stuff to work so I can see if I actually completed gstbuffer.c
279         * check/gstcheck.h:
280           add ASSERT_BUFFER_REFCOUNT
281
282 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
283
284         * docs/gst/gstreamer-sections.txt:
285         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
286         * gst/gsttag.h:
287           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
288           spew out a warning if a tag that is already registered
289           is re-registered, unless it is re-registered with a 
290           different type (#308438).
291
292 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
293
294         * docs/pwg/appendix-porting.xml:
295         * docs/pwg/building-state.xml:
296           Add some paragraphs about state changes in 0.9 to the PWG
297           and the porting guide, in particular about the new meaning
298           of GST_STATE_PAUSED and how to write state change functions
299           with concurrent access by multiple threads in mind.
300
301 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
302
303         * docs/gst/gstreamer-docs.sgml:
304         * docs/libs/gstreamer-libs-docs.sgml:
305           added deprecation and since indexes
306         * libs/gst/controller/gst-controller.c:
307         * libs/gst/controller/gst-helper.c:
308           added since tags
309
310
311 2005-08-11  Wim Taymans  <wim@fluendo.com>
312
313         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
314         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
315         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
316         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
317         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
318         (gst_ghost_pad_set_target):
319         Actually implement (re)setting the target on a ghostpad
320         as described in the docs.
321
322 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
323
324         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
325           Check whether GST_DEBUG_NO_COLOR environment variable is
326           set and disable coloured debug output if that is the case.
327
328 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
329
330         * gst/base/gsttypefindhelper.c: (helper_find_peek),
331         (gst_type_find_helper):
332           The memory returned by gst_type_find_peek() needs to
333           stay valid until the end of a typefind function, and
334           typefind functions may keep results from different 
335           offsets around, so we can't just unref the buffer from
336           the previous _peek(), but have to save all buffers 
337           returned by _peek() until typefinding is done and only
338           free them then.
339
340 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
341
342         * docs/gst/gstreamer-sections.txt:
343         * gst/gstutils.h:
344           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
345
346 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
347
348         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
349           Fix a pretty good memleak.
350
351 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
352
353         * gst/gstiterator.h:
354           Fix wrong include and 'make distcheck'.
355
356 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
357
358         * gst/gstbin.c: (bin_bus_handler):
359           Use gst_element_post_message() instead.
360
361 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
362
363         * gst/base/gstadapter.h:
364         * gst/base/gstbasesink.h:
365         * gst/base/gstbasesrc.h:
366         * gst/base/gstbasetransform.h:
367         * gst/base/gstcollectpads.h:
368         * gst/base/gstpushsrc.h:
369         * gst/gstiterator.h:
370           Add padding to our base elements' class and instance structs and
371           to GstIterator (you will need to rebuild all plugins and apps!)
372
373 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
374
375         * gst/gstbin.c: (bin_bus_handler):
376           Make default message forwarding from child->bus to bin->bus
377           threadsafe and make it not emit warnings if the parent has no bus.
378
379 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
380
381         * gst/gstelement.c: (activate_pads):
382           On paused->ready, set pad->caps to NULL, as is the documented
383           behaviour in this state change. Fixes playback of series of
384           media files when visualization is enabled in Totem.
385
386 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
387
388         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
389           Allow NULL as filter-caps (which means "any").
390
391 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
392
393         * docs/libs/gstreamer-libs-sections.txt:
394         * libs/gst/controller/gst-controller.c:
395         * libs/gst/controller/gst-controller.h:
396         * libs/gst/controller/gst-helper.c:
397           adding more entries to the docs and fix small doc-bugs
398
399 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
400
401         * docs/gst/gstreamer-docs.sgml:
402         * docs/gst/gstreamer-sections.txt:
403         * docs/gst/gstreamer.types:
404         * docs/gst/tmpl/gstbasesink.sgml:
405         * docs/gst/tmpl/gstbasesrc.sgml:
406         * docs/gst/tmpl/gstbasetransform.sgml:
407         * docs/gst/tmpl/gstfakesrc.sgml:
408         * gst/base/gstcollectpads.c:
409         * gst/base/gstcollectpads.h:
410         * libs/gst/controller/gst-controller.c:
411         * libs/gst/controller/gst-controller.h:
412         * libs/gst/controller/gst-helper.c:
413         * libs/gst/controller/gst-interpolation.c:
414         * libs/gst/controller/lib.c:
415           added long/short desc for controller docs
416           added collectpads base class docs
417           added correct includes to base-class docs
418
419 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
420
421         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
422         (gst_test_mono_source_set_property),
423         (gst_test_mono_source_class_init), (GST_START_TEST),
424         (gst_controller_suite):
425         * docs/gst/gstreamer-docs.sgml:
426         * docs/gst/gstreamer-sections.txt:
427         * docs/gst/gstreamer.types:
428         * docs/libs/gstreamer-libs-docs.sgml:
429         * docs/libs/gstreamer-libs-sections.txt:
430         * gst/base/gstadapter.c:
431         * libs/gst/controller/gst-controller.c:
432         (gst_controlled_property_new), (gst_controlled_property_free),
433         (gst_controller_new_valist),
434         (gst_controller_remove_properties_valist),
435         (gst_controller_sink_values), (_gst_controller_finalize):
436         * libs/gst/controller/gst-controller.h:
437         * libs/gst/controller/gst-helper.c:
438         (gst_object_control_properties), (gst_object_uncontrol_properties),
439         (gst_object_get_controller), (gst_object_set_controller),
440         (gst_object_sink_values), (gst_object_get_value_arrays),
441         (gst_object_get_value_array):
442           more tests (and fixes) for the controller
443           more docs for the controller
444           integrated companies docs for the adapter 
445
446 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
447
448         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
449         (GST_START_TEST), (fakesrc_suite):
450           add tests for sizetype
451
452 2005-08-04  Andy Wingo  <wingo@pobox.com>
453
454         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
455         fixes buffer_alloc proxying among other things.
456
457         * gst/base/gstbasetransform.c:
458         * gst/base/gstbasetransform.h:
459         Revert patch to gstbasetransform from 7-28 removing
460         delay_configure.
461
462         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
463         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
464         Semantics changed, should return not the size of the output buffer
465         but the byte size of a buffer with a given caps.
466
467         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
468         debug object.
469         (gst_base_transform_configure_caps): Don't set out_size here: (in,
470         out) are not the pad caps until setcaps finishes.
471         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
472         not-in-place case as well. Deal with changing from in-place to
473         not-in-place within calling pad_alloc_buffer. Still a bit
474         concerned about the overhead here...
475
476 2005-08-03  Andy Wingo  <wingo@pobox.com>
477
478         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
479         fixating is an error.
480
481 2005-08-04  Edward Hervey  <edward@fluendo.com>
482
483         * gst/base/gstadapter.h: 
484         Added gst_adapter_get_type() to the header
485
486 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
487
488         * check/Makefile.am:
489         * check/gst-libs/controller.c:
490         * libs/gst/controller/gst-controller.c:
491         (gst_controller_new_valist):
492           added check test suite for the controller
493         * gst/base/gstpushsrc.c:
494           fixed a doc typo
495
496 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
497
498         * docs/gst/Makefile.am:
499         * docs/gst/gstreamer-docs.sgml:
500         * docs/gst/gstreamer-sections.txt:
501         * docs/gst/gstreamer.types:
502         * docs/gst/tmpl/gstfakesrc.sgml:
503         * gst/base/README:
504         * gst/base/gstbasesink.c:
505         * gst/base/gstbasesink.h:
506         * gst/base/gstbasesrc.c:
507         * gst/base/gstbasesrc.h:
508         * gst/base/gstbasetransform.c:
509         * gst/base/gstpushsrc.c:
510         * gst/base/gstpushsrc.h:
511           add short/long description docs to base classes
512           add pushsrc to the docs
513           remove consolidated doc fragments
514
515 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
516
517         * configure.ac:
518         * docs/libs/Makefile.am:
519         * docs/libs/gstreamer-libs-docs.sgml:
520         * docs/libs/gstreamer-libs-sections.txt:
521         * docs/libs/gstreamer-libs.types:
522         * examples/Makefile.am:
523         * examples/controller/.cvsignore:
524         * examples/controller/Makefile.am:
525         * examples/controller/audio-example.c: (main):
526         * libs/gst/Makefile.am:
527         * libs/gst/controller/.cvsignore:
528         * libs/gst/controller/Makefile.am:
529         * libs/gst/controller/gst-controller.c:
530         (on_object_controlled_property_changed), (gst_timed_value_compare),
531         (gst_timed_value_find),
532         (gst_controlled_property_set_interpolation_mode),
533         (gst_controlled_property_new), (gst_controlled_property_free),
534         (gst_controller_find_controlled_property),
535         (gst_controller_new_valist), (gst_controller_new),
536         (gst_controller_remove_properties_valist),
537         (gst_controller_remove_properties), (gst_controller_set),
538         (gst_controller_set_from_list), (gst_controller_unset),
539         (gst_controller_get), (gst_controller_get_all),
540         (gst_controller_sink_values), (gst_controller_get_value_arrays),
541         (gst_controller_get_value_array),
542         (gst_controller_set_interpolation_mode),
543         (_gst_controller_finalize), (_gst_controller_init),
544         (_gst_controller_class_init), (gst_controller_get_type):
545         * libs/gst/controller/gst-controller.h:
546         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
547         (g_object_uncontrol_properties), (g_object_get_controller),
548         (g_object_set_controller), (g_object_sink_values),
549         (g_object_get_value_arrays), (g_object_get_value_array):
550         * libs/gst/controller/gst-interpolation.c:
551         (gst_controlled_property_find_timed_value_node),
552         (interpolate_none_get), (interpolate_trigger_get),
553         (interpolate_trigger_get_value_array):
554         * libs/gst/controller/lib.c: (gst_controller_init):
555         * pkgconfig/Makefile.am:
556         * pkgconfig/gstreamer-control-uninstalled.pc.in:
557         * pkgconfig/gstreamer-control.pc.in:
558         * testsuite/Makefile.am:
559         * testsuite/controller/.cvsignore:
560         * testsuite/controller/Makefile.am:
561         * testsuite/controller/interpolator.c: (main):
562           added controller code
563           removed dparam pc files
564
565 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
566         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
567         (gst_collectpads_stop):
568           Broadcast the condition when shutting down, to make sure we wake all
569           threads up. Shut down pads on finalize, for safety.
570
571 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
572         * gst/base/gstbasetransform.c: (gst_base_transform_init),
573         (gst_base_transform_handle_buffer),
574         (gst_base_transform_change_state):
575           Handle PAUSED->READY->PAUSED transition after negotiation
576           occurred already.
577         * gst/gstmessage.c: (gst_message_init):
578           Extra piece of debug for new messages.
579
580 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
581
582         * configure.ac:
583         * docs/gst/tmpl/gstbasesrc.sgml:
584         * docs/gst/tmpl/gstelement.sgml:
585         * docs/gst/tmpl/gstevent.sgml:
586         * docs/gst/tmpl/gstfakesrc.sgml:
587         * docs/gst/tmpl/gstformat.sgml:
588         * docs/gst/tmpl/gstghostpad.sgml:
589         * docs/gst/tmpl/gstpad.sgml:
590         * docs/gst/tmpl/gstquery.sgml:
591         * docs/gst/tmpl/gststructure.sgml:
592         * docs/gst/tmpl/gsttaglist.sgml:
593         * docs/gst/tmpl/gstvalue.sgml:
594         * docs/libs/gstreamer-libs-docs.sgml:
595         * docs/libs/gstreamer-libs-sections.txt:
596         * docs/libs/gstreamer-libs.types:
597         * libs/gst/Makefile.am:
598         * libs/gst/control/.cvsignore:
599         * libs/gst/control/Makefile.am:
600         * libs/gst/control/control.c:
601         * libs/gst/control/control.h:
602         * libs/gst/control/dparam.c:
603         * libs/gst/control/dparam.h:
604         * libs/gst/control/dparam_smooth.c:
605         * libs/gst/control/dparam_smooth.h:
606         * libs/gst/control/dparamcommon.h:
607         * libs/gst/control/dparammanager.c:
608         * libs/gst/control/dparammanager.h:
609         * libs/gst/control/dplinearinterp.c:
610         * libs/gst/control/dplinearinterp.h:
611         * libs/gst/control/unitconvert.c:
612         * libs/gst/control/unitconvert.h:
613         * testsuite/Makefile.am:
614         * testsuite/dynparams/.cvsignore:
615         * testsuite/dynparams/Makefile.am:
616         * testsuite/dynparams/dparamstest.c:
617         * tools/Makefile.am:
618         * tools/gst-inspect.c: (print_element_info), (main):
619         * tools/gst-xmlinspect.c: (print_element_info), (main):
620           deactivate and remove dparams (libgstcontrol)
621
622 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
623
624         * gst/elements/gsttypefindelement.c:
625         (gst_type_find_element_have_type), (gst_type_find_element_init),
626         (stop_typefinding), (gst_type_find_element_handle_event),
627         (gst_type_find_element_chain), (gst_type_find_element_getrange):
628         * gst/elements/gsttypefindelement.h:
629           Set caps on all outgoing buffers, not just the first one.
630
631 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
632
633         * gst/elements/gsttypefindelement.c:
634         (gst_type_find_element_have_type),
635         (gst_type_find_element_check_set_buffer_caps),
636         (gst_type_find_element_init), (stop_typefinding),
637         (gst_type_find_element_handle_event),
638         (gst_type_find_element_chain), (gst_type_find_element_getrange):
639         * gst/elements/gsttypefindelement.h:
640           Set caps on first outgoing buffer when we've found the type.
641
642 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
643
644         * docs/gst/gstreamer-docs.sgml:
645         * docs/gst/gstreamer-sections.txt:
646         * docs/gst/tmpl/gstscheduler.sgml:
647         * docs/gst/tmpl/gstschedulerfactory.sgml:
648           Remove some old cruft from docs.
649
650 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
651
652         * gst/gstpad.h:
653           Fix inline docs for GstPadLinkReturn.
654           
655         * gst/gststructure.c: (gst_structure_has_name):
656         * gst/gststructure.h:
657         * docs/gst/gstreamer-sections.txt:
658           New API: gst_structure_has_name().
659
660 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
661
662         * configure.ac:
663           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
664           and _LARGEFILE_SOURCE in config.h as required. Do not 
665           export those flags in our .pc files any longer (#142209).
666
667           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
668
669         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
670         (gst_file_sink_do_seek), (gst_file_sink_event),
671         (gst_file_sink_get_current_offset), (gst_file_sink_render):
672           Redo seek/tell calls with large file support in mind; add some
673           debugging messages; add log message that tells us when large
674           file support is unavailable or not enabled for some reason.
675
676         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
677           Add log message that tells us when large file support 
678           is unavailable or not enabled for some reason.
679
680 2005-07-29  Wim Taymans  <wim@fluendo.com>
681
682         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
683         Added test for removing an element with ghostpad from a bin.
684         Fixed test as current implementation does the right thing.
685
686         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
687         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
688         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
689         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
690         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
691         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
692         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
693         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
694         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
695         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
696         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
697         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
698         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
699         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
700         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
701         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
702         * gst/gstghostpad.h:
703         Clean up ghostpads, remove properties for internal stuff.
704         Make threadsafe.
705         Fix refcounting.
706         Prepare for switching targets, not all use cases work yet.
707
708 2005-07-29  Wim Taymans  <wim@fluendo.com>
709
710         * docs/design/part-gstghostpad.txt:
711         Small update.
712
713         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
714         (gst_bin_remove_func):
715         Unlinking pads while holding the bin LOCK is not a good
716         idea.
717
718         * gst/gstpad.c: (gst_pad_class_init),
719         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
720         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
721         No prob setting template after creating the pad.
722
723 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
724
725         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
726         (gst_bus_peek), (gst_bus_source_dispatch),
727         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
728         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
729           gst_bus_poll may be called from other threads. Handle
730           this nicely by not making poll_data disappear off the
731           stack once gst_bus_poll returns.
732           gst_bus_peek now increments the refcount on the returned
733           message.
734
735 2005-07-29  Wim Taymans  <wim@fluendo.com>
736
737         * docs/design/part-gstghostpad.txt:
738         Overview of current GhostPad datastructures and use
739         cases for changing the target.
740
741 2005-07-28  Wim Taymans  <wim@fluendo.com>
742
743         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
744         Added checks for hierarchy consistency whan adding linked
745         elements to bins.
746
747         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
748         Added check to test element scheduling without bin/pipeline.
749
750         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
751         First add elements to bin, then link.
752         
753         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
754         (gst_bin_remove_func):
755         Unlink pads from elements added/removed from bin to maintain
756         hierarchy consistency.
757
758 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
759
760         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
761         (gst_base_transform_handle_buffer):
762         * gst/base/gstbasetransform.h:
763           Remove broken delay_configure (fixes renegotiation of software
764           scaling pipelines); remove some leftover printf()s.
765
766 2005-07-28  Wim Taymans  <wim@fluendo.com>
767
768         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
769         Added some more tests for wrong hierarchy
770
771         * docs/design/part-overview.txt:
772         Some updates.
773
774         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
775         Cleanups.
776
777         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
778         (gst_element_dispose):
779         Some more cleanups.
780
781         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
782         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
783         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
784         (gst_pad_set_caps), (gst_pad_send_event):
785         Check for correct hierarchy when linking pads. Moving to
786         strict requirement for ghostpads when linking elements in
787         different bins.
788
789         * gst/gstpad.h:
790         Clean ups. Added WRONG_HIERARCHY return value.
791
792 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
793
794         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
795           Better debug if no transform is possible.
796
797 2005-07-27  Wim Taymans  <wim@fluendo.com>
798
799         * docs/random/wtay/network-transp:
800         Some old doc I had.
801
802 2005-07-27  Wim Taymans  <wim@fluendo.com>
803
804         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
805         (gst_dp_event_from_packet):
806         Fix serialization of seek events.
807
808 2005-07-27  Wim Taymans  <wim@fluendo.com>
809
810         * check/gst-libs/gdp.c: (GST_START_TEST):
811         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
812         Fix compilation and fix event serialization.
813
814 2005-07-27  Wim Taymans  <wim@fluendo.com>
815
816         * CHANGES-0.9:
817         * docs/design/part-TODO.txt:
818         * docs/design/part-events.txt:
819         Some docs updates
820
821         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
822         (gst_base_sink_event), (gst_base_sink_do_sync),
823         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
824         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
825         (gst_base_src_do_seek), (gst_base_src_event_handler),
826         (gst_base_src_loop):
827         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
828         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
829         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
830         (gst_base_transform_event), (gst_base_transform_handle_buffer),
831         (gst_base_transform_set_passthrough),
832         (gst_base_transform_is_passthrough):
833         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
834         * gst/elements/gstfilesink.c: (gst_file_sink_event):
835         Event updates.
836
837         * gst/gstbuffer.h:
838         Use faster casts.
839
840         * gst/gstelement.c: (gst_element_seek):
841         * gst/gstelement.h:
842         Update gst_element_seek.
843
844         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
845         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
846         (gst_event_new_flush_start), (gst_event_new_flush_stop),
847         (gst_event_new_eos), (gst_event_new_newsegment),
848         (gst_event_parse_newsegment), (gst_event_new_tag),
849         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
850         (gst_event_parse_qos), (gst_event_new_seek),
851         (gst_event_parse_seek), (gst_event_new_navigation):
852         * gst/gstevent.h:
853         Make GstEvent use GstStructure. Add parsing code, make sure the
854         API is sufficiently generic.
855         Mark possible directions of events and serialization.
856
857         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
858         (_gst_message_copy), (gst_message_new_segment_start),
859         (gst_message_new_segment_done), (gst_message_new_custom),
860         (gst_message_parse_segment_start),
861         (gst_message_parse_segment_done):
862         Small cleanups.
863
864         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
865         (gst_pad_set_caps), (gst_pad_send_event):
866         Update for new events. 
867         Catch events sent in wrong directions.
868
869         * gst/gstqueue.c: (gst_queue_link_src),
870         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
871         (gst_queue_handle_src_query):
872         Event updates.
873
874         * gst/gsttag.c:
875         * gst/gsttag.h:
876         Remove event code from this file.
877
878         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
879         (gst_dp_event_from_packet):
880         Event updates.
881
882 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
883
884         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
885         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
886         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
887           Make debugging actually useful.
888
889 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
890
891         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
892         (gst_pad_fixate_caps):
893           Implement default fixation once again, so that gst_pad_fixate()
894           actually does anything at all. This probably needs to be some
895           sort of a last resort, and use profile-based fixation first, but
896           since that doesn't exist yet, this is the best we have. Fixes
897           visualization in Totem.
898
899 2005-07-22  Wim Taymans  <wim@fluendo.com>
900
901         * docs/design/part-events.txt:
902         Small update.
903
904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
905         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
906         (gst_base_sink_activate_pull):
907         Some more comments.
908
909         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
910         (gst_fake_src_create):
911         Fix handoff marshall.
912
913         * gst/elements/gstidentity.c: (gst_identity_class_init),
914         (gst_identity_transform_ip):
915         We're a real inplace element.
916
917         * gst/gstbus.c: (gst_bus_post):
918         Added some comments.
919
920         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
921         * tests/muxing/case1.c: (main):
922         * tests/sched/dynamic-pipeline.c: (main):
923         * tests/sched/interrupt1.c: (main):
924         * tests/sched/interrupt2.c: (main):
925         * tests/sched/interrupt3.c: (main):
926         * tests/sched/runxml.c: (main):
927         * tests/sched/sched-stress.c: (main):
928         * tests/seeking/seeking1.c: (event_received), (main):
929         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
930         (main):
931         * tests/threadstate/threadstate3.c: (main):
932         * tests/threadstate/threadstate4.c: (main):
933         * tests/threadstate/threadstate5.c: (main):
934         Fix the tests.
935
936 2005-07-21  Wim Taymans  <wim@fluendo.com>
937
938         * docs/design/part-seeking.txt:
939         Some small additions.
940
941         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
942         (gst_base_sink_get_times), (gst_base_sink_do_sync),
943         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
944         * gst/base/gstbasesink.h:
945         discont values are gint64, handle the math correctly.
946
947         * gst/base/gstbasesrc.c: (gst_base_src_loop):
948         Make the basesrc report error if the source pad is not linked.
949
950         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
951         (gst_queue_loop), (gst_queue_handle_src_query),
952         (gst_queue_src_activate_push):
953         Make queue collect data even if the srcpad is not linked.
954         Start pushing out data as soon as it is linked.
955
956         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
957         * gst/gstutils.h:
958         Added gst_flow_get_name() to ease error reporting.
959
960 2005-07-20  Wim Taymans  <wim@fluendo.com>
961
962         * gst/gstmessage.c: (gst_message_new_segment_start),
963         (gst_message_new_segment_done), (gst_message_parse_segment_start),
964         (gst_message_parse_segment_done):
965         * gst/gstmessage.h:
966         Added a bunch of messages for advanced seeking.
967
968         * gst/parse/grammar.y:
969         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
970         (gst_dpman_state_changed):
971         Fix some new-pad -> pad-added signals
972
973 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
974
975         * docs/manual/appendix-porting.xml:
976         * docs/pwg/appendix-porting.xml:
977           Document new-pad/state-change signal renames and the FixedList
978           type rename.
979
980 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
981
982         * docs/manual/advanced-autoplugging.xml:
983         * docs/manual/basics-helloworld.xml:
984         * docs/manual/basics-pads.xml:
985         * docs/random/ds/0.9-suggested-changes:
986         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
987         * gst/gstelement.h:
988         * gst/gstevent.h:
989         * gst/gstformat.h:
990         * gst/gstquery.h:
991         * gst/gststructure.c: (gst_structure_value_get_generic_type),
992         (gst_structure_parse_array), (gst_structure_parse_value):
993         * gst/gstvalue.c: (gst_type_is_fixed),
994         (gst_value_list_prepend_value), (gst_value_list_append_value),
995         (gst_value_list_get_size), (gst_value_list_get_value),
996         (gst_value_transform_array_string), (gst_value_serialize_array),
997         (gst_value_deserialize_array), (gst_value_intersect_array),
998         (gst_value_is_fixed), (_gst_value_initialize):
999         * gst/gstvalue.h:
1000           GstElement::new-pad -> pad-added, GstElement::state-change ->
1001           state-changed, GstValueFixedList -> GstValueArray, add format and
1002           flags as their own arguments in gst_element_seek() (should improve
1003           "bindeability"), remove function generators since they don't work
1004           under a whole bunch of compilers (they were deprecated already
1005           anyway).
1006
1007 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1008
1009         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1010         (_gst_debug_register_funcptr):
1011         * gst/gstinfo.h:
1012           Fix illegal cast on some platforms (#309253).
1013
1014 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1015
1016         * gst/gstmessage.c: (gst_message_new_custom):
1017         * gst/gstmessage.h:
1018           Add _new_custom, make _new_application a macro to _new_custom.
1019
1020 2005-07-20  Wim Taymans  <wim@fluendo.com>
1021
1022         * gst/base/gstbasesrc.c: (gst_base_src_init),
1023         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1024         * gst/base/gstbasesrc.h:
1025         Add a gboolean to decide when to push out a discont.
1026
1027         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1028         (gst_queue_loop), (gst_queue_handle_src_query),
1029         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1030         (gst_queue_set_property), (gst_queue_get_property):
1031         Some cleanups.
1032
1033         * tests/threadstate/threadstate1.c: (main):
1034         Make a thread test compile and run... very silly..
1035
1036
1037 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1038
1039         * docs/manual/appendix-porting.xml:
1040           Mention removal of libgstgconf-0.9.la and existence of gconf
1041           elements.
1042
1043 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1044
1045         * docs/pwg/advanced-clock.xml:
1046         * docs/pwg/appendix-porting.xml:
1047         * docs/pwg/intro-preface.xml:
1048         * docs/pwg/other-base.xml:
1049         * docs/pwg/other-manager.xml:
1050         * docs/pwg/other-nton.xml:
1051         * docs/pwg/other-ntoone.xml:
1052         * docs/pwg/other-oneton.xml:
1053         * docs/pwg/pwg.xml:
1054           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1055           demuxer), remove n-to-n (was never written), fix some code examples
1056           and links and update the porting section to include all this.
1057
1058 2005-07-19  Wim Taymans  <wim@fluendo.com>
1059
1060         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1061         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1062         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1063         (gst_queue_src_activate_push), (gst_queue_change_state),
1064         (gst_queue_get_property):
1065         * gst/gstqueue.h:
1066         Propagate GstFlowReturn more intelligently upstream and output
1067         an ERROR/EOS when streaming stopped due to fatal error.
1068
1069 2005-07-19  Wim Taymans  <wim@fluendo.com>
1070
1071         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1072         Don't block forever for the state change to complete, the
1073         pipeline already did with a sensible timeout.
1074
1075 2005-07-19  Wim Taymans  <wim@fluendo.com>
1076
1077         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1078         Make sure we never call the create function is we
1079         got deactivated.
1080
1081 2005-07-19  Andy Wingo  <wingo@pobox.com>
1082
1083         * gst/parse/parse.l: Attempt to solve bug #172815.
1084
1085 2005-07-19  Wim Taymans  <wim@fluendo.com>
1086
1087         * docs/design/part-clocks.txt:
1088         * docs/design/part-events.txt:
1089         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1090         Small docs updates.
1091         Only update the seeking values when we are not
1092         busy streaming.
1093
1094 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1095
1096         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1097           Oops, ignore the result of gst_pad_push_event here.
1098
1099 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1100
1101         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1102         (gst_base_src_activate_push):
1103           Send discont event from the loop function, as pads
1104           aren't activated yet in the activate_push handler.
1105
1106         * gst/gstbin.c: (bin_bus_handler):
1107           Don't leak element name.
1108
1109 2005-07-18  Andy Wingo  <wingo@pobox.com>
1110
1111         * configure.ac: Use AS_LIBTOOL_TAGS.
1112
1113 2005-07-18  Wim Taymans  <wim@fluendo.com>
1114
1115         * docs/gst/gstreamer.types:
1116         Remove deleted types.
1117
1118 2005-07-18  Wim Taymans  <wim@fluendo.com>
1119
1120         * check/elements/gstfakesrc.c: (GST_START_TEST):
1121         * configure.ac:
1122         * gst/Makefile.am:
1123         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1124         (init_popt_callback):
1125         * gst/gst.h:
1126         * gst/gst_private.h:
1127         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1128         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1129         * gst/gstbin.h:
1130         * gst/gstbus.h:
1131         * gst/gstconfig.h.in:
1132         * gst/gstelement.c: (gst_element_class_init),
1133         (gst_element_set_base_time), (gst_element_get_base_time),
1134         (iterator_fold_with_resync), (gst_element_change_state),
1135         (gst_element_dispose), (gst_element_get_bus):
1136         * gst/gstelement.h:
1137         * gst/gstelementfactory.h:
1138         * gst/gsterror.c: (_gst_core_errors_init):
1139         * gst/gsterror.h:
1140         * gst/gstevent.h:
1141         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1142         * gst/gstindex.c:
1143         * gst/gstinfo.c: (_gst_debug_init):
1144         * gst/gstmessage.c: (_gst_message_copy):
1145         * gst/gstmessage.h:
1146         * gst/gstminiobject.h:
1147         * gst/gstobject.c:
1148         * gst/gstobject.h:
1149         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1150         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1151         * gst/gstpad.h:
1152         * gst/gstparse.h:
1153         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1154         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1155         (gst_pipeline_get_last_stream_time):
1156         * gst/gstpipeline.h:
1157         * gst/gstpluginfeature.h:
1158         * gst/gstquery.h:
1159         * gst/gstscheduler.c:
1160         * gst/gstscheduler.h:
1161         * gst/gststructure.h:
1162         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1163         (gst_task_finalize), (gst_task_func), (gst_task_create),
1164         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1165         (gst_task_stop), (gst_task_pause):
1166         * gst/gsttask.h:
1167         * gst/gsttypefind.h:
1168         * gst/gsttypes.h:
1169         * gst/registries/gstlibxmlregistry.c: (load_feature),
1170         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1171         * gst/registries/gstxmlregistry.c:
1172         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1173         * gst/schedulers/threadscheduler.c:
1174         * libs/gst/control/dparammanager.h:
1175         * tools/gst-inspect.c: (print_element_list),
1176         (print_plugin_features), (print_element_features):
1177         * tools/gst-xmlinspect.c: (print_element_list),
1178         (print_plugin_info), (main):
1179         Removed plugable schedulers.
1180         Removed Scheduler/Manager from elements.
1181         Removed gsttypes.h, rearranged includes.
1182         Removed dependency pad<->element, element<>pipeline, and
1183         various others,  fix includes.
1184         implement gst_pad_get_parent() with gst_object_get_parent()
1185         Make GstTask sefcontained.
1186         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1187         timeout.
1188         Fix endless loop in iterator_fold_with_resync.
1189
1190
1191 2005-07-18  Wim Taymans  <wim@fluendo.com>
1192
1193         * gst/Makefile.am:
1194         * gst/gstarch.h:
1195         Remove old file.
1196
1197 2005-07-18  Wim Taymans  <wim@fluendo.com>
1198
1199         * gst/Makefile.am:
1200         No more cothreads.h
1201
1202 2005-07-18  Wim Taymans  <wim@fluendo.com>
1203
1204         * gst/cothreads.c:
1205         * gst/cothreads.h:
1206         Let's remove these.
1207
1208 2005-07-18  Wim Taymans  <wim@fluendo.com>
1209
1210         * docs/design/part-dynamic.txt:
1211         * docs/design/part-events.txt:
1212         * docs/design/part-seeking.txt:
1213         Some more docs in the works.
1214
1215         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1216         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1217         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1218         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1219         (gst_base_transform_handle_buffer),
1220         (gst_base_transform_sink_activate_push),
1221         (gst_base_transform_src_activate_pull),
1222         (gst_base_transform_set_passthrough),
1223         (gst_base_transform_is_passthrough):
1224         Refcounting fixes.
1225
1226         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1227         Cleanups.
1228
1229         * gst/gstevent.c: (gst_event_finalize):
1230         Set SRC to NULL.
1231
1232         * gst/gstutils.c: (gst_element_unlink),
1233         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1234         (gst_pad_proxy_setcaps):
1235         * gst/gstutils.h:
1236         Add _get_parent_element() to get a pads parent as an element.
1237
1238 2005-07-18  Wim Taymans  <wim@fluendo.com>
1239
1240         * check/gst/gstbin.c: (GST_START_TEST):
1241         Remove bogus test.
1242
1243 2005-07-18  Wim Taymans  <wim@fluendo.com>
1244
1245         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1246         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1247         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1248         (gst_base_sink_event), (gst_base_sink_do_sync),
1249         (gst_base_sink_chain), (gst_base_sink_loop),
1250         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1251         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1252         Refcounting fixes.
1253         Fix logic for returning ASYNC when not prerolled.
1254
1255 2005-07-18  Wim Taymans  <wim@fluendo.com>
1256
1257         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1258         Fix nasty refcount bug.
1259
1260 2005-07-16 Philippe Khalaf <burger@speedy.org>
1261         * gst/elements/gstfdsrc.c:
1262         * gst/elements/gstfdsrc.h:
1263         * gst/elements/gstelements.c:
1264         * gst/elements/Makefile.am:
1265         Ported fdsrc to 0.9.
1266
1267 2005-07-16  Wim Taymans  <wim@fluendo.com>
1268
1269         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1270         (gst_base_sink_do_sync):
1271         Fix compile error.
1272
1273 2005-07-16  Wim Taymans  <wim@fluendo.com>
1274
1275         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1276         (gst_base_sink_event), (gst_base_sink_get_times),
1277         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1278         * gst/base/gstbasesink.h:
1279         Store and use discont values when syncing buffers as described
1280         in design docs.
1281         
1282         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1283         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1284         (gst_base_src_activate_push):
1285         Push discont event when starting.
1286
1287         * gst/elements/gstidentity.c: (gst_identity_transform):
1288         Small cleanups.
1289
1290         * gst/gstbin.c: (gst_bin_change_state):
1291         Small cleanups in base_time  distribution.
1292
1293         * gst/gstelement.c: (gst_element_set_base_time),
1294         (gst_element_get_base_time), (gst_element_change_state):
1295         * gst/gstelement.h:
1296         Added methods for the base_time of the element.
1297         Some MT fixes.
1298
1299         * gst/gstpipeline.c: (gst_pipeline_send_event),
1300         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1301         (gst_pipeline_get_last_stream_time):
1302         * gst/gstpipeline.h:
1303         MT fixes.
1304         Handle seeking as described in design doc, remove stream_time
1305         hack.
1306         Cleanups clock and stream_time selection code. Added accessors
1307         for the stream_time.
1308         
1309
1310 2005-07-16  Andy Wingo  <wingo@pobox.com>
1311
1312         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1313         (#305291).
1314
1315 2005-07-16  Wim Taymans  <wim@fluendo.com>
1316
1317         * check/gst/gstbin.c: (GST_START_TEST):
1318         Make elements silent as the deep_notify refs the
1319         parent, which might make the test fail.
1320
1321         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1322         Don't hold the lock for too long.
1323
1324 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1325
1326         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1327           Don't unref the caps we passed to gst_caps_make_writable() after
1328           passing them. gst_caps_make_writable() will do that for us.
1329
1330 2005-07-15  Andy Wingo  <wingo@pobox.com>
1331
1332         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1333         (#157311).
1334
1335         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1336         own marshalling function for the handoff signal. Properly type the
1337         buffer as a buffer. Fixes some warnings. Should do a more general
1338         solution.
1339         (gst_identity_class_init): Plug into the right marshaller.
1340
1341 2005-07-15  Wim Taymans  <wim@fluendo.com>
1342
1343         * docs/design/part-TODO.txt:
1344         * docs/design/part-clocks.txt:
1345         * docs/design/part-element-sink.txt:
1346         * docs/design/part-events.txt:
1347         * docs/design/part-gstpipeline.txt:
1348         Updated docs, mostly DISCONT related.
1349
1350 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1351
1352         * docs/pwg/building-pads.xml:
1353           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1354
1355 2005-07-15  Andy Wingo  <wingo@pobox.com>
1356
1357         * tools/gst-typefind.c: Update, add copyright block.
1358
1359         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1360         Normalize and truncate caps before fixation.
1361
1362         * gst/gstcaps.h:
1363         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1364         discards all but the first structure from its argument.
1365
1366 2005-07-15  Wim Taymans  <wim@fluendo.com>
1367
1368         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1369         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1370         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1371         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1372         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1373         (gst_base_transform_chain), (gst_base_transform_change_state),
1374         (gst_base_transform_set_passthrough),
1375         (gst_base_transform_is_passthrough):
1376         * gst/base/gstbasetransform.h:
1377         Make passthrough work using the bufferpools.
1378         Changed API a bit, subclasses have to write into a buffer
1379         provided by the base class.
1380         More debug info in nego functions.
1381         
1382         * gst/elements/gstidentity.c: (gst_identity_init),
1383         (gst_identity_transform):
1384         Port to new base class.
1385
1386 2005-07-15  Wim Taymans  <wim@fluendo.com>
1387
1388         * gst/gstmessage.c: (gst_message_new_state_changed):
1389         * tools/gst-launch.c: (event_loop), (main):
1390         Totally dump messages in -launch with the -m option.
1391         Fix message name for State messages,
1392
1393 2005-07-14  Wim Taymans  <wim@fluendo.com>
1394
1395         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1396         Post error messages on errors.
1397
1398 2005-07-14  Wim Taymans  <wim@fluendo.com>
1399
1400         * gst/gstcaps.c: (gst_caps_do_simplify):
1401         Remove debug info.
1402
1403         * gst/gsterror.h:
1404         Define error for stream stopped.
1405
1406         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1407         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1408         Do proper return values.
1409
1410         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1411         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1412         (gst_pad_get_range):
1413         Better return values.
1414
1415         * gst/gstpad.h:
1416         Reorganise return values, add macro to check for fatal errors.
1417
1418         * gst/gstqueue.c: (gst_queue_chain):
1419         Return proper GstFlowReturn values,
1420
1421 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1422
1423         * docs/gst/gstreamer-sections.txt:
1424         * docs/gst/gstreamer.types:
1425         * docs/gst/tmpl/gst.sgml:
1426         * docs/gst/tmpl/gstbasesink.sgml:
1427         * docs/gst/tmpl/gstbasesrc.sgml:
1428         * docs/gst/tmpl/gstbasetransform.sgml:
1429         * docs/gst/tmpl/gstbin.sgml:
1430         * docs/gst/tmpl/gstbuffer.sgml:
1431         * docs/gst/tmpl/gstcaps.sgml:
1432         * docs/gst/tmpl/gstclock.sgml:
1433         * docs/gst/tmpl/gstcompat.sgml:
1434         * docs/gst/tmpl/gstconfig.sgml:
1435         * docs/gst/tmpl/gstelement.sgml:
1436         * docs/gst/tmpl/gstelementdetails.sgml:
1437         * docs/gst/tmpl/gstelementfactory.sgml:
1438         * docs/gst/tmpl/gstenumtypes.sgml:
1439         * docs/gst/tmpl/gsterror.sgml:
1440         * docs/gst/tmpl/gstevent.sgml:
1441         * docs/gst/tmpl/gstfakesink.sgml:
1442         * docs/gst/tmpl/gstfakesrc.sgml:
1443         * docs/gst/tmpl/gstfilesink.sgml:
1444         * docs/gst/tmpl/gstfilesrc.sgml:
1445         * docs/gst/tmpl/gstfilter.sgml:
1446         * docs/gst/tmpl/gstformat.sgml:
1447         * docs/gst/tmpl/gstghostpad.sgml:
1448         * docs/gst/tmpl/gstimplementsinterface.sgml:
1449         * docs/gst/tmpl/gstindex.sgml:
1450         * docs/gst/tmpl/gstindexfactory.sgml:
1451         * docs/gst/tmpl/gstinfo.sgml:
1452         * docs/gst/tmpl/gstiterator.sgml:
1453         * docs/gst/tmpl/gstmacros.sgml:
1454         * docs/gst/tmpl/gstmemchunk.sgml:
1455         * docs/gst/tmpl/gstminiobject.sgml:
1456         * docs/gst/tmpl/gstobject.sgml:
1457         * docs/gst/tmpl/gstpad.sgml:
1458         * docs/gst/tmpl/gstpadtemplate.sgml:
1459         * docs/gst/tmpl/gstparse.sgml:
1460         * docs/gst/tmpl/gstpipeline.sgml:
1461         * docs/gst/tmpl/gstplugin.sgml:
1462         * docs/gst/tmpl/gstpluginfeature.sgml:
1463         * docs/gst/tmpl/gstquery.sgml:
1464         * docs/gst/tmpl/gstqueue.sgml:
1465         * docs/gst/tmpl/gstregistry.sgml:
1466         * docs/gst/tmpl/gstregistrypool.sgml:
1467         * docs/gst/tmpl/gstscheduler.sgml:
1468         * docs/gst/tmpl/gstschedulerfactory.sgml:
1469         * docs/gst/tmpl/gststructure.sgml:
1470         * docs/gst/tmpl/gstsystemclock.sgml:
1471         * docs/gst/tmpl/gsttaglist.sgml:
1472         * docs/gst/tmpl/gsttagsetter.sgml:
1473         * docs/gst/tmpl/gsttrace.sgml:
1474         * docs/gst/tmpl/gsttrashstack.sgml:
1475         * docs/gst/tmpl/gsttypefind.sgml:
1476         * docs/gst/tmpl/gsttypefindfactory.sgml:
1477         * docs/gst/tmpl/gsttypes.sgml:
1478         * docs/gst/tmpl/gsturihandler.sgml:
1479         * docs/gst/tmpl/gsturitype.sgml:
1480         * docs/gst/tmpl/gstutils.sgml:
1481         * docs/gst/tmpl/gstvalue.sgml:
1482         * docs/gst/tmpl/gstversion.sgml:
1483         * docs/gst/tmpl/gstxml.sgml:
1484         * docs/libs/tmpl/gstcontrol.sgml:
1485         * docs/libs/tmpl/gstdataprotocol.sgml:
1486         * docs/libs/tmpl/gstdparam.sgml:
1487         * docs/libs/tmpl/gstdplinint.sgml:
1488         * docs/libs/tmpl/gstdpman.sgml:
1489         * docs/libs/tmpl/gstdpsmooth.sgml:
1490         * docs/libs/tmpl/gstgetbits.sgml:
1491         * docs/libs/tmpl/gstunitconvert.sgml:
1492         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1493         (gst_push_src_base_init), (gst_push_src_class_init),
1494         (gst_push_src_init), (gst_push_src_create):
1495         * gst/base/gstpushsrc.h:
1496         * gst/elements/gstelements.c:
1497         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1498         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1499         (gst_fake_sink_init), (gst_fake_sink_set_property),
1500         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1501         (gst_fake_sink_event), (gst_fake_sink_preroll),
1502         (gst_fake_sink_render), (gst_fake_sink_change_state):
1503         * gst/elements/gstfakesink.h:
1504         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1505         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1506         (gst_fake_src_base_init), (gst_fake_src_class_init),
1507         (gst_fake_src_init), (gst_fake_src_event_handler),
1508         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1509         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1510         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1511         (gst_fake_src_create_buffer), (gst_fake_src_create),
1512         (gst_fake_src_start), (gst_fake_src_stop):
1513         * gst/elements/gstfakesrc.h:
1514         * gst/elements/gstfilesink.c: (_do_init),
1515         (gst_file_sink_base_init), (gst_file_sink_class_init),
1516         (gst_file_sink_init), (gst_file_sink_dispose),
1517         (gst_file_sink_set_location), (gst_file_sink_set_property),
1518         (gst_file_sink_get_property), (gst_file_sink_open_file),
1519         (gst_file_sink_close_file), (gst_file_sink_query),
1520         (gst_file_sink_event), (gst_file_sink_render),
1521         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1522         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1523         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1524         * gst/elements/gstfilesink.h:
1525         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1526         (gst_file_src_class_init), (gst_file_src_init),
1527         (gst_file_src_finalize), (gst_file_src_set_location),
1528         (gst_file_src_set_property), (gst_file_src_get_property),
1529         (gst_file_src_map_region), (gst_file_src_map_small_region),
1530         (gst_file_src_create_mmap), (gst_file_src_create_read),
1531         (gst_file_src_create), (gst_file_src_is_seekable),
1532         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1533         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1534         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1535         (gst_file_src_uri_handler_init):
1536         * gst/elements/gstfilesrc.h:
1537           more autistic cleanliness in functions/names/defines
1538
1539 2005-07-13  Andy Wingo  <wingo@pobox.com>
1540
1541         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1542         source couldn't negotiate.
1543
1544         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1545         connections again.
1546
1547         * gst/gstutils.h:
1548         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1549         function. I am channeling Hades. Put your boots on suckers!!!
1550
1551 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1552
1553         * testsuite/caps/Makefile.am:
1554         * testsuite/caps/value_compare.c:
1555         * testsuite/caps/value_intersect.c:
1556         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1557           move two testsuite apps over to the check dir
1558
1559 2005-07-12  Wim Taymans  <wim@fluendo.com>
1560
1561         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1562         Added more debug info in the negotiate process.
1563
1564         * gst/gstmessage.h:
1565         Prepare for segment playback.
1566
1567         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1568         Better debugging.
1569
1570         * gst/gstutils.c:
1571         Some more docs.
1572
1573         * tools/gst-launch.c: (main):
1574         NULL pipeline on errors.
1575
1576 2005-07-12  Andy Wingo  <wingo@pobox.com>
1577
1578         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1579         not it comes from a malloc region. Make sure our copy gets freed.
1580
1581 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1582
1583         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1584         * check/gst/gstmessage.c: (GST_START_TEST):
1585         * check/gst/gststructure.c: (GST_START_TEST),
1586         (gst_structure_suite), (main):
1587           more testing
1588         * gst/gstelement.c: (gst_element_message_full):
1589           clean up GError and debug string now that they get copied
1590         * gst/gstmessage.c: (gst_message_new_error),
1591         (gst_message_new_warning), (gst_message_parse_error),
1592         (gst_message_parse_warning):
1593           use GST_TYPE_G_ERROR for structure_new, and take copies of
1594           arguments, so that we don't mess up refcounting
1595
1596 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1597
1598         * check/Makefile.am:
1599           add per-test valgrind targets
1600         * check/gst-libs/gdp.c: (GST_START_TEST),
1601         (gst_data_protocol_suite), (main):
1602           clean up
1603
1604 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1605
1606         * check/Makefile.am:
1607           instate more valgrindable tests
1608         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1609         (GST_START_TEST), (fakesrc_suite):
1610         * check/gst/gstpad.c: (GST_START_TEST):
1611         * check/gst/gststructure.c: (GST_START_TEST):
1612           fix test leaks
1613         * docs/gst/tmpl/gstminiobject.sgml:
1614         * gst/gstpad.c: (gst_pad_finalize):
1615           fix the static mutex leak
1616
1617 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1618
1619         * check/Makefile.am:
1620           add two more tests for valgrinding
1621         * check/gst/gstvalue.c: (GST_START_TEST):
1622           test refcount of deserialized buffer, found a leak
1623         * docs/gst/gstreamer-docs.sgml:
1624         * docs/gst/gstreamer-sections.txt:
1625         * docs/gst/gstreamer.types:
1626         * docs/gst/tmpl/gstminiobject.sgml:
1627           add miniobject to docs
1628         * gst/gstminiobject.c:
1629           add some docs
1630         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1631         (gst_string_unwrap):
1632           fix a hard-to-find invalid write for one of the tests
1633           fix a leak for deserialized buffers
1634
1635 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1636
1637         * docs/pwg/advanced-events.xml:
1638         * docs/pwg/advanced-request.xml:
1639         * docs/pwg/advanced-scheduling.xml:
1640         * docs/pwg/appendix-porting.xml:
1641         * docs/pwg/building-boiler.xml:
1642         * docs/pwg/intro-preface.xml:
1643         * docs/pwg/other-ntoone.xml:
1644           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1645           of example code and explanation for pad activation, loop() and
1646           getrange() functions and a bit more. Remove old comments pointing
1647           to loop-functions.
1648         * examples/pwg/Makefile.am:
1649           Add loop/getrange examples.
1650
1651 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1652
1653         * configure.ac:
1654           check for valgrind binary + some fixes
1655         * check/gst.supp:
1656           valgrind suppressions for the tests
1657         * check/Makefile.am:
1658           add a valgrind: target that valgrinds the unit tests
1659         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1660         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1661         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1662         * check/gst/gstghostpad.c:
1663           added some cleanup
1664         * check/gst/gstdata.c:
1665           removed
1666         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1667         (thread_unref), (gst_mini_object_suite), (main):
1668           added
1669         * gst/gst.c: (gst_deinit):
1670         * gst/gst.h:
1671           add a method to clean up.
1672         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1673         (gst_system_clock_obtain):
1674           allow for disposing the system clock.
1675         * tools/gst-launch.c: (main):
1676           deinit
1677
1678 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1679
1680         * docs/gst/tmpl/gstbasesrc.sgml:
1681         * docs/gst/tmpl/gstfakesrc.sgml:
1682         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1683         (gst_base_src_init), (gst_base_src_set_property),
1684         (gst_base_src_get_property), (gst_base_src_get_range),
1685         (gst_base_src_start):
1686         * gst/base/gstbasesrc.h:
1687           add num-buffers property
1688         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1689         (gst_fakesrc_init), (gst_fakesrc_set_property),
1690         (gst_fakesrc_get_property), (gst_fakesrc_create),
1691         (gst_fakesrc_start):
1692           remove num-buffers property
1693
1694 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1695
1696         * docs/gst/gstreamer-sections.txt:
1697         * docs/gst/tmpl/gstbasesink.sgml:
1698         * docs/gst/tmpl/gstbasesrc.sgml:
1699         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1700         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1701         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1702         (gst_base_sink_set_property), (gst_base_sink_get_property),
1703         (gst_base_sink_handle_object), (gst_base_sink_event),
1704         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1705         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1706         (gst_base_sink_loop), (gst_base_sink_deactivate),
1707         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1708         (gst_base_sink_change_state):
1709         * gst/base/gstbasesink.h:
1710         * gst/base/gstbasesrc.h:
1711         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1712         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1713         (gst_filesink_init):
1714           more macro splitting
1715
1716 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1717
1718         * gst/gstelement.c: (gst_element_get_bus):
1719           add debug
1720         * tools/gst-launch.c: (check_intr), (event_loop):
1721           fix bus leaks
1722
1723 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1724
1725         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1726           fix a caps leak
1727
1728 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1729
1730         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1731         (gst_base_src_finalize):
1732           add finalize method and clean up properly
1733         * gst/gstpipeline.c: (gst_pipeline_dispose):
1734           add debug
1735
1736 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1737
1738         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1739         (gst_bin_suite):
1740           add more things to check
1741         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1742         * gst/gstelement.c:
1743           more debug
1744
1745 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1746
1747         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1748         (GST_START_TEST), (fakesrc_suite):
1749         * check/gst-libs/gdp.c: (GST_START_TEST):
1750         * check/gst/gst.c: (GST_START_TEST):
1751         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1752         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1753         * check/gst/gstbus.c: (GST_START_TEST):
1754         * check/gst/gstcaps.c: (GST_START_TEST):
1755         * check/gst/gstdata.c: (GST_START_TEST):
1756         * check/gst/gstelement.c: (GST_START_TEST):
1757         * check/gst/gstghostpad.c: (GST_START_TEST):
1758         * check/gst/gstiterator.c: (GST_START_TEST):
1759         * check/gst/gstmessage.c: (GST_START_TEST):
1760         * check/gst/gstobject.c: (GST_START_TEST):
1761         * check/gst/gstpad.c: (GST_START_TEST):
1762         * check/gst/gststructure.c: (GST_START_TEST):
1763         * check/gst/gstsystemclock.c: (GST_START_TEST),
1764         (gst_systemclock_suite):
1765         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1766         * check/gst/gstvalue.c: (GST_START_TEST):
1767         * check/pipelines/cleanup.c: (GST_START_TEST):
1768         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1769         * check/states/sinks.c: (GST_START_TEST):
1770         * check/gstcheck.c: (gst_check_init):
1771         * check/gstcheck.h:
1772           add debugging category
1773           use GST_START_TEST now, so we add a debug line
1774
1775 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1776
1777         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1778           add test for state change message on a bin
1779         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1780           add another test
1781         * gst/gstbin.c: (gst_bin_init):
1782         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1783         * gst/gstelement.c: (gst_element_post_message),
1784         (gst_element_set_state):
1785         * gst/gstelementfactory.c: (gst_element_factory_create):
1786         * gst/gstmessage.c: (gst_message_new):
1787         * gst/gstscheduler.c:
1788           various debugging additions and cleanups
1789
1790 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1791
1792         * check/Makefile.am:
1793         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1794         (main):
1795           adding tests for elements
1796         * gst/gstelement.c: (gst_element_dispose):
1797
1798 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1799
1800         * gst/registries/gstlibxmlregistry.c: (load_feature):
1801           plug more leaks.  A simple gst_init() now is leakfree, yay.
1802
1803 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1804
1805         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1806         (gst_xml_registry_load):
1807           plug another memleak
1808
1809 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1810
1811         * configure.ac:
1812           use GST_SET_ERROR_CFLAGS
1813         * docs/faq/cvs.xml:
1814           change to ERROR_CFLAGS
1815
1816 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1817
1818         * configure.ac:
1819           make GST_ERROR_CFLAGS overridable and re-enable Werror
1820         * docs/faq/cvs.xml:
1821           add a note about error CFLAGS
1822         * docs/gst/tmpl/gstfakesrc.sgml:
1823         * gst/elements/gstfakesrc.c:
1824           comment out some unused code
1825         * gst/gst.c: (split_and_iterate):
1826         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1827         (load_feature):
1828           plug some memleaks
1829
1830 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1831
1832         * common/Makefile.am:
1833         * common/gtk-doc.mak:
1834         * docs/gst/Makefile.am:
1835           factor out gtk-doc.mak
1836
1837 2005-07-07  Wim Taymans  <wim@fluendo.com>
1838
1839         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1840         (gst_thread_scheduler_dispose):
1841         Unlock the STREAM_LOCK completely.
1842
1843 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1844
1845         * check/Makefile.am:
1846         * check/elements/.cvsignore:
1847         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1848         (START_TEST), (fakesrc_suite), (main):
1849         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1850         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1851         (gst_fakesrc_create), (gst_fakesrc_start):
1852         * gst/elements/gstfakesrc.h:
1853           adding a first element test
1854
1855 2005-07-07  Andy Wingo  <wingo@pobox.com>
1856
1857         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1858         debug message.
1859
1860 2005-07-07  Wim Taymans  <wim@fluendo.com>
1861
1862         * gst/gstquery.c:
1863         * gst/gstquery.h:
1864         Remove old types
1865
1866 2005-07-07  Wim Taymans  <wim@fluendo.com>
1867
1868         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1869         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1870         Allow subclasses to implement their own negotiation.
1871
1872 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1873
1874         * docs/design/part-gstbin.txt:
1875         * docs/design/part-gstpipeline.txt:
1876           Update design notes to reflect the movement of
1877           responsibility for bus handling from GstPipeline to
1878           GstBin
1879
1880 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1881
1882         * configure.ac:
1883           Remove unnecessary queue2/3/4 examples.
1884
1885 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1886
1887         * examples/Makefile.am:
1888         * examples/helloworld/helloworld.c: (event_loop), (main):
1889         * examples/queue/queue.c: (event_loop), (main):
1890         * examples/queue2/queue2.c: (main):
1891           Update a couple of the examples to work again.
1892
1893         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1894         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1895          Spelling corrections and extra debug.
1896         
1897         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1898         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1899         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1900         * gst/gstbin.h:
1901         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1902         (gst_pipeline_change_state):
1903         * gst/gstpipeline.h:
1904           Move the bus handler for children to the GstBin, and create a
1905           separate bus for receiving messages from children to the one the
1906           bus sends 'upwards' on.
1907
1908 2005-07-06  Wim Taymans  <wim@fluendo.com>
1909
1910         * gst/base/README:
1911         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1912         (gst_base_sink_handle_object), (gst_base_sink_loop),
1913         (gst_base_sink_change_state):
1914         * gst/base/gstbasesink.h:
1915         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1916         (gst_base_src_init), (gst_base_src_setcaps),
1917         (gst_base_src_getcaps), (gst_base_src_loop),
1918         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1919         (gst_base_src_start), (gst_base_src_change_state):
1920         * gst/base/gstbasesrc.h:
1921         Make basesrc negotiate.
1922         Handle the case where preroll fails in basesink.
1923         Update README.
1924
1925 2005-07-06  Wim Taymans  <wim@fluendo.com>
1926
1927         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1928         Implement the fixate function.
1929         Clean up acceptcaps.
1930
1931 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1932
1933         * docs/pwg/building-filterfactory.xml:
1934         * docs/pwg/pwg.xml:
1935           Remove never-written filter-factory chapter; I'll add the various
1936           base classes to part 4 ("other element types") later on.
1937
1938 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1939
1940         * docs/pwg/advanced-negotiation.xml:
1941         * docs/pwg/building-boiler.xml:
1942         * docs/pwg/building-pads.xml:
1943         * docs/pwg/pwg.xml:
1944         * examples/pwg/Makefile.am:
1945           Add a chapter on caps negotiation, simplify the original code
1946           samples a bit w.r.t. caps negotiation, add link to the advanced
1947           section. Add a bunch of examples showing different use cases of
1948           different types of caps negotiation. Upstream renegotiation isn't
1949           fully documented yet since nobody knows how that works.
1950
1951 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1952
1953         * check/gst/gstpad.c:
1954         * check/gstcheck.c:
1955         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1956           if pad has no parent, return NULL as list of internal links
1957
1958 2005-07-05  Andy Wingo  <wingo@pobox.com>
1959
1960         * gst/elements/gstfilesrc.c:
1961         * gst/elements/gstfakesrc.c: 
1962         * gst/base/gstpushsrc.c:
1963         * gst/base/gstbasesrc.h: 
1964         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1965         
1966 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1967
1968         * Makefile.am:
1969           better report generation target (lcov needs a patch)
1970
1971 2005-07-05  Andy Wingo  <wingo@pobox.com>
1972
1973         * gst/elements, testsuite: Null if we got it...
1974
1975 2005-07-05  Wim Taymans  <wim@fluendo.com>
1976
1977         * configure.ac:
1978         * libs/gst/dataprotocol/Makefile.am:
1979         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1980         * libs/gst/dataprotocol/dataprotocol.h:
1981         * pkgconfig/Makefile.am:
1982         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1983         * pkgconfig/gstreamer-dataprotocol.pc.in:
1984         Ported dataprotol to 0.9. 
1985         Added pkgconfig files.
1986
1987 2005-07-05  Andy Wingo  <wingo@pobox.com>
1988
1989         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1990         Default to returning TRUE for the case when tranform_caps returns
1991         a fixed caps, like for identity or volume.
1992
1993         * check/gst/gstbus.c (pound_bus_with_messages): 
1994         * check/gst/gstmessage.c (START_TEST): 
1995         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1996         message API change.
1997
1998         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1999         logic weaks here: always run transform_caps, trying passthrough
2000         operation only if the original caps intersects with the transform.
2001
2002         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2003         source and sink caps.
2004
2005         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2006         Intersect the peer caps with the pad template before going into
2007         transform_caps.
2008         (gst_base_transform_transform_caps): More debugging.
2009
2010         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2011         src argument.
2012
2013 2005-07-04  Edward Hervey  <edward@fluendo.com>
2014
2015         * gst/gstutils.c:
2016         * gst/gstutils.h:
2017         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2018         in bindings.
2019
2020 2005-07-04  Andy Wingo  <wingo@pobox.com>
2021
2022         * check/gst/gstpad.c: Only set explicit caps on pads.
2023
2024 2005-07-01  Andy Wingo  <wingo@pobox.com>
2025
2026         * tests/network-clock.scm: Commentary update.
2027
2028         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2029         Didn't really make sense, not implementable with basetransform,
2030         etc.
2031         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2032         attempt at implementing the sync property, needs an unlock method.
2033
2034         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2035         New func, by default returns the same caps (the identity
2036         transformation).
2037         (gst_base_transform_getcaps): Uses transform_caps to return
2038         something sensible.
2039         (gst_base_transform_setcaps): Complicated logic to get caps on
2040         both pads, even if they are different, and to call set_caps once
2041         for every time both pads get their caps set.
2042         (gst_base_transform_handle_buffer): Give the ref to the transform
2043         function. Allows in-place modification of the buffer.
2044
2045         * gst/base/gstbasetransform.h (transform_caps): New class method.
2046         Given caps on one side, what can I do on the other.
2047         (set_caps): Take two caps, one for each side of the element.
2048
2049         * gst/gstpad.h:
2050         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2051         caps in place. This is safe because we can check the mutability of
2052         the caps, and a good idea because fixate functions are just called
2053         as a matter of last resort. (Not actually implemented.)
2054         (gst_pad_set_caps): If the caps we're setting is actually the same
2055         as the existing pad caps, just update the pointer without calling
2056         setcaps. Assert that caps is either NULL or fixed, as per the
2057         docs.
2058
2059         * gst/gstghostpad.c: Update for fixate changes.
2060
2061 2005-07-02  Andy Wingo  <wingo@pobox.com>
2062
2063         * gst/gstcaps.c:
2064         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2065         two refcounts makes it immutable, which is enough. Doc more.
2066
2067 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2068
2069         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2070           Put the mini_object into GValue as a mini_object,
2071           not a gpointer, since that's how we declared
2072           the signal.
2073
2074 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2075
2076         * examples/pwg/Makefile.am:
2077           Fix buildbot again.
2078
2079 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2080
2081         * docs/pwg/building-testapp.xml:
2082           Add extra check.
2083         * examples/pwg/Makefile.am:
2084           Fix buildbot.
2085
2086 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2087
2088         * configure.ac:
2089         * examples/Makefile.am:
2090         * examples/pwg/Makefile.am:
2091         * examples/pwg/extract.pl:
2092           Enable building the PWG examples.
2093         * docs/pwg/advanced-interfaces.xml:
2094           Add URI interface stub.
2095         * docs/pwg/advanced-types.xml:
2096         * docs/pwg/other-autoplugger.xml:
2097         * docs/pwg/appendix-porting.xml:
2098         * docs/pwg/pwg.xml:
2099           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2100         * docs/pwg/building-boiler.xml:
2101         * docs/pwg/building-chainfn.xml:
2102         * docs/pwg/building-pads.xml:
2103         * docs/pwg/building-props.xml:
2104         * docs/pwg/building-state.xml:
2105         * docs/pwg/building-testapp.xml:
2106           Update the building-*.xml parts for 0.9 changes. All examples
2107           code blocks compile in examples/pwg/*.
2108
2109 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2110
2111         * docs/manual/advanced-autoplugging.xml:
2112         * docs/manual/appendix-checklist.xml:
2113         * docs/manual/appendix-integration.xml:
2114         * docs/manual/highlevel-components.xml:
2115           Fix playbin/decodebin examples, update docs a bit, mention bus
2116           instead of signals in various places, mention kmplayer and
2117           kaffeine since they have a working GStreamer backend in the KDE
2118           section.
2119
2120 2005-06-30  Wim Taymans  <wim@fluendo.com>
2121
2122         * CHANGES-0.9:
2123         * docs/design/draft-ghostpads.txt:
2124         * docs/design/draft-push-pull.txt:
2125         * docs/design/draft-query.txt:
2126         * docs/design/part-TODO.txt:
2127         * docs/design/part-query.txt:
2128         Added CHANGES-0.9 doc, updated status of other docs.
2129         
2130         * gst/gstquery.h:
2131         Remove "hmm" macro
2132
2133 2005-06-30  Wim Taymans  <wim@fluendo.com>
2134
2135         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2136         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2137         (gst_base_sink_change_state):
2138         * gst/base/gstbasesink.h:
2139         Some tweaks, only EOS and a buffer complete a preroll.
2140
2141 2005-06-30  Andy Wingo  <wingo@pobox.com>
2142
2143         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2144         activate_push down to the internal pad as well.
2145
2146 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2147
2148         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2149
2150         * gst/gsttaginterface.c:
2151           Some documentation fixes (#307394 and #307397).
2152
2153 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2154
2155         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2156
2157         * gst/gstvalue.c: (gst_value_intersect_list):
2158           Fix memleak (#309125).
2159
2160 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2161
2162         * docs/manual/advanced-dataaccess.xml:
2163           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2164         * docs/manual/basics-pads.xml:
2165           Add reference for filtered caps to above chapter.
2166
2167 2005-06-30  Wim Taymans  <wim@fluendo.com>
2168
2169         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2170         (gst_bin_change_state):
2171         Probes are gone.
2172         Lame attempt at making the state change function a bit
2173         more readable.
2174
2175 2005-06-30  Wim Taymans  <wim@fluendo.com>
2176
2177         * docs/design/part-clocks.txt:
2178         * docs/design/part-element-sink.txt:
2179         * docs/design/part-events.txt:
2180         * docs/design/part-preroll.txt:
2181         * docs/design/part-states.txt:
2182         Some more tweeks and additions to the docs.
2183
2184 2005-06-30  Wim Taymans  <wim@fluendo.com>
2185
2186         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2187         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2188         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2189         (gst_pad_check_pull_range), (gst_pad_get_range),
2190         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2191         * gst/gstpad.h:
2192         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2193         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2194         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2195         (gst_pad_remove_buffer_probe):
2196         Removed atomic operations, use existing LOCK.
2197         Move exception handling out of main code path.
2198
2199 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2200
2201         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2202         (silly_return_true_function), (gst_pad_class_init),
2203         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2204         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2205         (gst_pad_send_event):
2206           Fix accumulator, add default value by using _emitv() instead
2207           of _emit() for signal emission.
2208
2209 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2210
2211         * docs/manual/advanced-dataaccess.xml:
2212         * examples/manual/Makefile.am:
2213           Add probe example.
2214         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2215           Make work (??).
2216
2217 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2218
2219         * gst/elements/gstfilesink.c: (gst_filesink_render):
2220           Simplify code so that we don't have to handle short
2221           writes and return GST_FLOW_ERROR if an error occured.
2222
2223 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2224
2225         * docs/gst/gstreamer-docs.sgml:
2226           Remove probes more.
2227
2228 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2229
2230         * docs/gst/gstreamer-sections.txt:
2231         * docs/gst/tmpl/gstpad.sgml:
2232         * docs/gst/tmpl/gstprobe.sgml:
2233         * gst/Makefile.am:
2234         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2235         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2236         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2237         (gst_pad_push_event), (gst_pad_send_event):
2238         * gst/gstpad.h:
2239         * gst/gstutils.c: (gst_pad_add_data_probe),
2240         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2241         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2242         (gst_pad_remove_buffer_probe):
2243         * gst/gstutils.h:
2244           Remove old probes, add new g-signal-based probes and some utility
2245           functions.
2246
2247 2005-06-29  Edward Hervey  <edward@fluendo.com>
2248
2249         * gst/gstelementfactory.c:
2250         * gst/gstutils.h:
2251         * gst/gstutils.c:
2252         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2253         the definition to the header file.
2254
2255 2005-06-29  Andy Wingo  <wingo@pobox.com>
2256
2257         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2258         plugins from the source directory.
2259
2260 2005-06-29  Wim Taymans  <wim@fluendo.com>
2261
2262         * docs/gst/tmpl/gstbuffer.sgml:
2263         * docs/gst/tmpl/gstclock.sgml:
2264         Some fixings for blantently wrong text.
2265
2266 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2267
2268         * check/Makefile.am:
2269         * gst/gst.c: (add_path_func), (init_pre):
2270         * gst/gstregistry.c: (gst_registry_add_path):
2271           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2272           only scan the GST_PLUGIN_PATH locations, and not add
2273           system locations
2274
2275 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2276
2277         * docs/gst/gstreamer-sections.txt:
2278         * docs/gst/tmpl/gstbasesrc.sgml:
2279         * gst/gstelement.c:
2280         * gst/gstelement.h:
2281         * gst/gstevent.c:
2282         * gst/gstutils.c:
2283           doc fixes
2284
2285 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2286
2287         * docs/manual/advanced-autoplugging.xml:
2288           Fix autoplugging example.
2289
2290 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2291
2292         * docs/manual/advanced-autoplugging.xml:
2293         * docs/manual/mime-world.fig:
2294           Try to get autoplugging working, fix type detection. Fix text
2295           in hello-world image.
2296
2297 2005-06-29  Wim Taymans  <wim@fluendo.com>
2298
2299         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2300         (gst_base_sink_change_state):
2301         Small debug line.
2302
2303         * gst/gstclock.h:
2304         map SIGNAL and BROADCAST to the right function.
2305
2306         * gst/gstobject.h:
2307         Remove redundant braces.
2308
2309         * gst/gstpad.c: (gst_pad_set_caps):
2310         Don't call setcaps function when reseting caps to NULL.
2311
2312         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2313         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2314         (gst_system_clock_id_unschedule):
2315         Use BROADCAST as this is what we do.
2316
2317 2005-06-29  Wim Taymans  <wim@fluendo.com>
2318
2319         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2320         We are actually prerolling before commiting the state
2321         change. 
2322
2323 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2324
2325         * docs/manual/advanced-clocks.xml:
2326         * docs/manual/advanced-interfaces.xml:
2327         * docs/manual/advanced-metadata.xml:
2328         * docs/manual/advanced-position.xml:
2329         * docs/manual/advanced-schedulers.xml:
2330         * docs/manual/advanced-threads.xml:
2331         * docs/manual/appendix-porting.xml:
2332         * docs/manual/basics-bins.xml:
2333         * docs/manual/basics-bus.xml:
2334         * docs/manual/basics-elements.xml:
2335         * docs/manual/basics-helloworld.xml:
2336         * docs/manual/basics-pads.xml:
2337         * docs/manual/highlevel-components.xml:
2338         * docs/manual/manual.xml:
2339         * docs/manual/thread.fig:
2340           Update (until threads/scheduling) Application Development Manual;
2341           remove GstThread, add GstBus, add simple porting checklist, add
2342           documentation for tag writing, clocks, make all examples until this
2343           part compile and run.
2344         * examples/manual/Makefile.am:
2345           Update from changes to Application Development Manual; add bus
2346           example, remove thread example.
2347
2348 2005-06-28  Wim Taymans  <wim@fluendo.com>
2349
2350         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2351         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2352         (gst_bus_source_dispatch):
2353         Add debugging messages.
2354         Make internal methods static.
2355         Handle the case where the bus is flushed in the handler.
2356         
2357         * gst/gstelement.c: (gst_element_get_bus):
2358         Fix refcount in _get_bus();
2359
2360         * gst/gstpipeline.c: (gst_pipeline_change_state),
2361         (gst_pipeline_get_clock_func):
2362         Clock refcounting fixes.
2363         Handle the case where preroll timed out more gracefully.
2364         
2365         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2366         Clean up the internal thread in dispose. This is needed
2367         for subclasses that actually get disposed.
2368         
2369         * gst/schedulers/threadscheduler.c:
2370         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2371         (gst_thread_scheduler_dispose):
2372         Free thread pool in dispose.
2373
2374 2005-06-28  Andy Wingo  <wingo@pobox.com>
2375
2376         * tests/network-clock-utils.scm (debug, print-event): New utils.
2377
2378         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2379         (*packet-loss*): Unified loss probability.
2380         (network-time): Report out-of-band events.
2381
2382         * tests/plot-data: Add support for out-of-band events. Hack it
2383         into this script instead of passing it down the pipe; should fix
2384         this later.
2385
2386 2005-06-28  Wim Taymans  <wim@fluendo.com>
2387
2388         * docs/gst/gstreamer.types:
2389         * docs/gst/tmpl/gstbasesrc.sgml:
2390         * docs/gst/tmpl/gstpad.sgml:
2391         Docs fixes.
2392
2393 2005-06-28  Wim Taymans  <wim@fluendo.com>
2394
2395         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2396         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2397         (gst_proxy_pad_do_fixatecaps):
2398         Correctly proxy the check_pull_range function.
2399
2400 2005-06-28  Andy Wingo  <wingo@pobox.com>
2401
2402         * tests/network-clock.scm: Removed need for slib.
2403         
2404 2005-06-28  Wim Taymans  <wim@fluendo.com>
2405
2406         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2407         (gst_basesink_preroll_queue_flush):
2408         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2409         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2410         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2411         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2412         (gst_proxy_pad_set_property):
2413         * gst/gstpad.c:
2414         * gst/gstpad.h:
2415         * gst/gstqueue.c: (gst_queue_init):
2416         The deprecated pad loop function is removed now.
2417
2418 2005-06-28  Andy Wingo  <wingo@pobox.com>
2419
2420         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2421         New parameters, simulate network packet loss.
2422
2423         * tests/network-clock-utils.scm: Initialize the RNG.
2424
2425 2005-06-28  Wim Taymans  <wim@fluendo.com>
2426
2427         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2428         (gst_basesink_event), (gst_basesink_deactivate):
2429         Flushing the preroll queue always needs to unlock the waiters.
2430
2431 2005-06-28  Edward Hervey  <edward@fluendo.com>
2432
2433         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2434         Wheen a seek was successful on a pipeline, set the stream_time to the
2435         seek offset in order to have a synchronized stream_time.
2436
2437 2005-06-28  Wim Taymans  <wim@fluendo.com>
2438
2439         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2440         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2441         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2442         (gst_proxy_pad_do_fixatecaps):
2443         Call wrapper function instead of just calling the function
2444         pointers. This takes care of any locking and whatmore.
2445
2446 2005-06-28  Wim Taymans  <wim@fluendo.com>
2447
2448         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2449         (gst_pad_pull_range):
2450         * gst/gstpad.h:
2451         CONNECTED -> LINKED.
2452
2453 2005-06-28  Andy Wingo  <wingo@pobox.com>
2454
2455         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2456         source-munging commit!!!
2457
2458         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2459         (gst_object_sink): Take gpointer arguments, not GstObject --
2460         avoids casts. Like GLib.
2461
2462         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2463         activate.
2464
2465 2005-06-27  Andy Wingo  <wingo@pobox.com>
2466
2467         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2468         remaining buffer.
2469
2470         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2471         returns a sorted copy of the trace list.
2472         (gst_alloc_trace_print_live): New API, only prints traces with
2473         live objects. Sort the list.
2474         (gst_alloc_trace_print_all): Sort the list.
2475         (gst_alloc_trace_print): Align columns.
2476
2477         * gst/elements/gstttypefindelement.c:
2478         * gst/elements/gsttee.c:
2479         * gst/base/gstbasesrc.c:
2480         * gst/base/gstbasesink.c:
2481         * gst/base/gstbasetransform.c:
2482         * gst/gstqueue.c: Adapt for pad activation changes.
2483
2484         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2485         sched.
2486         (gst_pipeline_dispose): Drop ref on sched.
2487
2488         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2489         (gst_pad_activate_default): Push mode by default.
2490         (pre_activate_switch, post_activate_switch): New stubs, things to
2491         do before and after switching activation modes on pads.
2492         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2493         the pad's activate function to choose which mode to activate.
2494         Shortcut on deactivation and call the right function directly.
2495         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2496         mode.
2497         (gst_pad_activate_push): New API, same for push mode.
2498         (gst_pad_set_activate_function) 
2499         (gst_pad_set_activatepull_function) 
2500         (gst_pad_set_activatepush_function): Setters for new API.
2501
2502         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2503         Trace all miniobjects.
2504         (gst_mini_object_make_writable): Unref the arg if we copy, like
2505         gst_caps_make_writable.
2506
2507         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2508
2509         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2510         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2511         Adapt for new pad API.
2512
2513         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2514
2515         * gst/gstelement.h:
2516         * gst/gstelement.c (gst_element_iterate_src_pads) 
2517         (gst_element_iterate_sink_pads): New API functions.
2518         
2519         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2520         should fold into gstiterator.c in some form.
2521         (gst_element_pads_activate): Simplified via use of fold and
2522         delegation of decisions to gstpad->activate.
2523
2524         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2525         help in debugging.
2526
2527         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2528         class once in init, like gstmessage. Didn't run into this issue
2529         but it seems correct. Don't initialize a trace, gstminiobject does
2530         that.
2531
2532         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2533         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2534         to the bus.
2535         (assert_live_count): New util function, uses alloc traces to check
2536         cleanup.
2537
2538         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2539         To be modified when unlink drops the internal pad.
2540
2541 2005-06-27  Wim Taymans  <wim@fluendo.com>
2542
2543         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2544         (gst_bin_change_state):
2545         Cleanup the get_state() function a little, make sure it
2546         iterates the same set of elements.
2547         Added stub iterate_state_order().
2548
2549 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2550
2551         * docs/gst/gstreamer-docs.sgml:
2552         * docs/gst/gstreamer-sections.txt:
2553         * docs/gst/gstreamer.types:
2554         * docs/gst/tmpl/gstbasesink.sgml:
2555         * docs/gst/tmpl/gstbasesrc.sgml:
2556         * docs/gst/tmpl/gstbasetransform.sgml:
2557         * docs/gst/tmpl/gstelement.sgml:
2558         * docs/gst/tmpl/gstiterator.sgml:
2559         * gst/base/gstbasesrc.c:
2560         * gst/base/gstbasesrc.h:
2561         * gst/base/gstbasetransform.h:
2562         * gst/gstelement.c:
2563         * gst/gstiterator.h:
2564           adding basetransform and iterator docs
2565
2566 2005-06-27  Andy Wingo  <wingo@pobox.com>
2567
2568         * docs/design/part-activation.txt: Notes on how activation should
2569         work -- not quite implemented yet.
2570
2571 2005-06-25  Wim Taymans  <wim@fluendo.com>
2572
2573         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2574         At least get the chain function correct, needs more
2575         fixing.
2576
2577 2005-06-25  Wim Taymans  <wim@fluendo.com>
2578
2579         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2580         (gst_basesink_handle_object), (gst_basesink_event),
2581         (gst_basesink_do_sync), (gst_basesink_handle_event),
2582         (gst_basesink_change_state):
2583         * gst/gsttask.h:
2584         Right, two problems here: ghostpads don't take locks and
2585         glib _rec_mutex_lock_full() with depth==0 still locks.
2586         Catch illegal locking and g_warn them.
2587
2588 2005-06-25  Wim Taymans  <wim@fluendo.com>
2589
2590         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2591         Have to check for completion now...
2592
2593 2005-06-25  Wim Taymans  <wim@fluendo.com>
2594
2595         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2596         (gst_basesink_handle_object), (gst_basesink_event),
2597         (gst_basesink_do_sync), (gst_basesink_handle_event),
2598         (gst_basesink_change_state):
2599         * gst/gstpad.h:
2600         Unlock STREAM_LOCK whatever the recursion was.
2601
2602 2005-06-25  Wim Taymans  <wim@fluendo.com>
2603
2604         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2605         (gst_basesink_preroll_queue_empty),
2606         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2607         (gst_basesink_event), (gst_basesink_do_sync),
2608         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2609         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2610         (gst_basesink_change_state):
2611         Reworked the base sink, handle event and buffer serialisation
2612         correctly and removed possible deadlock.
2613         Handle EOS correctly.
2614
2615 2005-06-25  Wim Taymans  <wim@fluendo.com>
2616
2617         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2618         (gst_pipeline_change_state):
2619         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2620         Allow elements to post EOS in the state change function.
2621         Fix up -launch, make it exit the poll loop when the
2622         pipeline actually changed state.
2623         Fix up warning parsing in -launch.
2624
2625 2005-06-25  Wim Taymans  <wim@fluendo.com>
2626
2627         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2628         (gst_tee_sink_activate):
2629         Core takes STREAM_LOCK for us now.
2630
2631 2005-06-25  Wim Taymans  <wim@fluendo.com>
2632
2633         * gst/gstelement.c: (gst_element_get_state_func),
2634         (gst_element_set_state):
2635         * gst/gstelement.h:
2636         * gst/gstmessage.c: (gst_message_parse_error),
2637         (gst_message_parse_warning):
2638         Keep track of current target state while performing a state
2639         change so that subclasses can do something interesting.
2640         Fix parsing of warning/error messages when GError is NULL.
2641
2642 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2643
2644         * docs/gst/Makefile.am:
2645         * docs/gst/gstreamer-docs.sgml:
2646         * docs/gst/gstreamer-sections.txt:
2647         * docs/gst/gstreamer.types:
2648         * docs/gst/tmpl/gstbasesink.sgml:
2649         * docs/gst/tmpl/gstbasesrc.sgml:
2650         * docs/gst/tmpl/gstbin.sgml:
2651         * docs/gst/tmpl/gstcompat.sgml:
2652         * docs/gst/tmpl/gstfakesink.sgml:
2653         * docs/gst/tmpl/gstfakesrc.sgml:
2654         * docs/gst/tmpl/gstfilesink.sgml:
2655         * docs/gst/tmpl/gstfilesrc.sgml:
2656         * docs/gst/tmpl/gstindex.sgml:
2657         * docs/manual/appendix-quotes.xml:
2658         * gst/base/gstbasesrc.h:
2659         * gst/elements/gstfakesrc.h:
2660         * gst/gstmessage.h:
2661           start pulling in base classes and elements in our docs
2662
2663 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2664
2665         * docs/gst/Makefile.am:
2666         * docs/libs/Makefile.am:
2667           fixed make distcheck with gtk-doc 1.3
2668
2669 2005-06-23  Wim Taymans  <wim@fluendo.com>
2670
2671         * gst/gstelement.c: (gst_element_get_state_func),
2672         (gst_element_set_state), (gst_element_change_state):
2673         When the state did not change, also report NO_PREROLL
2674         when it matters.
2675
2676 2005-06-23  Wim Taymans  <wim@fluendo.com>
2677
2678         * gst/gstpad.c: (gst_pad_event_default):
2679         * gst/gstqueue.c: (gst_queue_loop):
2680         No unsafe task pausing please.
2681
2682 2005-06-23  Wim Taymans  <wim@fluendo.com>
2683
2684         * gst/schedulers/threadscheduler.c:
2685         (gst_thread_scheduler_task_start),
2686         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2687         Ref the task before pushing it on the threadpool. This
2688         makes sure that we have a ref when the threadfunction is
2689         actually called.
2690
2691 2005-06-23  Andy Wingo  <wingo@pobox.com>
2692
2693         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2694         offset is greater than the file's size.
2695
2696         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2697         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2698         * gst/gstobject.c (gst_object_class_init): Make the class lock
2699         recursive. Wim won't let me drop deep_notify. Decodebin works
2700         again, whoopdy doo.
2701
2702         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2703         internal pad, and hacks accordingly. Doesn't do it on the target
2704         pad because we change its caps. Probably catches all cases of
2705         interest tho.
2706         (gst_ghost_pad_set_property): Connect to notify::caps as
2707         appropritate.
2708
2709         * tests/network-clock.scm (plot-simulation): Pipe data to the
2710         elite python skript.
2711
2712         * tests/network-clock-utils.scm (define-parameter): New macro,
2713         defines a parameter that can be set via the command line.
2714         (set-parameter!, parse-parameter-arguments): Command line args
2715         parser.
2716
2717         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2718         stdin.
2719
2720 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2721
2722         * gst/elements/gsttypefindelement.c:
2723         (gst_type_find_element_handle_event):
2724           Don't restart typefinding on a discont.
2725         * gst/gstelement.c: (gst_element_set_state):
2726           Debug spelling fix.
2727         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2728           Allow changing mode of an active pad.
2729           Debug output fixes.
2730         * gst/registries/gstlibxmlregistry.c: (load_feature):
2731           Don't cast a static pad template to a normal pad template.
2732
2733 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2734
2735         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2736         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2737           remove gst_strtoll completely, since it didn't actually do
2738           anything more than what g_ascii_strtoull already does.
2739           check for range errors when deserializing
2740           do a cast for the unsigned cases; but further fixing needs
2741           a decision on what the interpretation of "(int)" and
2742           deserialization should be for values that fall outside the
2743           type's boundaries (ie, refuse, or interpret as casting)
2744
2745 2005-06-23  Wim Taymans  <wim@fluendo.com>
2746
2747         * check/Makefile.am:
2748         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2749         * docs/design/part-live-source.txt:
2750         * docs/design/part-states.txt:
2751         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2752         (gst_basesrc_set_live), (gst_basesrc_is_live),
2753         (gst_basesrc_get_range), (gst_basesrc_activate),
2754         (gst_basesrc_change_state):
2755         * gst/base/gstbasesrc.h:
2756         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2757         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2758         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2759         * gst/gstelement.c: (gst_element_get_state_func),
2760         (gst_element_set_state):
2761         * gst/gstelement.h:
2762         * gst/gsttypes.h:
2763         * tools/gst-launch.c: (event_loop), (main):
2764         Added support for live sources and other elements that
2765         cannot do preroll.
2766         Updated design docs, added live-source design doc.
2767         Implemented live source functionality in basesrc
2768         Fix error condition in _bin_get_state()
2769         Implement live source handling in -launch.
2770         Added check for live sources.
2771         Fixed case in GstBin where elements were changed state
2772         multiple times.
2773
2774
2775 2005-06-23  Andy Wingo  <wingo@pobox.com>
2776
2777         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2778         borken refcounting.
2779
2780         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2781         gst_caps_replace takes care of this for us.
2782
2783         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2784         gst_pad_set_caps on the target, not just its setcaps() function.
2785
2786         * tests/network-clock.scm: 
2787         * tests/network-clock-utils.scm: A network clock simulator.
2788         Something of an algorithmic testbed before doing something in C.
2789
2790 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2791
2792         * check/Makefile.am:
2793         * check/gst/capslist.h:
2794           copy over from 0.8, and add two with bitmasks specified with
2795           (int) 0xFF...
2796         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2797           add test to parse everything from capslist.h
2798         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2799         (main):
2800           add test for structure deserialization
2801         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2802           add tests for deserialization of strings to int types
2803         * gst/gststructure.c: (gst_structure_nth_field_name):
2804         * gst/gststructure.h:
2805           add a way to get the name of a field referenced by index
2806         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2807           instead of checking if the resulting long long lies between
2808           min and max, we check if the long long would fit into
2809           a number of bytes for the final type.
2810           This fixes cases where a string represents 2^32 - 1, which
2811           when cast to int would be the (valid) -1, but is bigger than
2812           G_MAXINT
2813
2814 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2815
2816         * gst/parse/grammar.y:
2817           add a log line for type deserialization
2818
2819 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2820
2821         * check/gst/gstvalue.c: (START_TEST):
2822         * gst/gstvalue.c: (gst_value_deserialize):
2823           return long long, not int, so gint64 deserialization actually
2824           works.  Is there any flag that makes the compiler check this ?
2825           Fixes #308559
2826
2827 2005-06-22  Wim Taymans  <wim@fluendo.com>
2828
2829         * gst/gstbuffer.h:
2830         Added convenience macros for setting buffers in GValue.
2831
2832 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2833
2834         * check/gst/.cvsignore:
2835         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2836           add a test deserializing int64, and comment part out because
2837           it fails, yay !
2838
2839 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2840
2841         * check/Makefile.am:
2842         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2843         * testsuite/Makefile.am:
2844         * testsuite/caps/Makefile.am:
2845         * testsuite/caps/value_serialize.c:
2846         * testsuite/test_gst_init.c:
2847           move a value_serialize test over
2848
2849 2005-06-20  Wim Taymans  <wim@fluendo.com>
2850
2851         * gst/gstpad.c:
2852         Small doc updates.
2853         
2854         * gst/gstvalue.c: (gst_value_compare_buffer),
2855         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2856         (gst_value_compare_flags), (gst_value_serialize_flags),
2857         (gst_value_deserialize_flags), (_gst_value_initialize):
2858         Fix serialisation of buffers, they are not boxed types anymore
2859
2860 2005-06-20  Wim Taymans  <wim@fluendo.com>
2861
2862         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2863         Testcase to show error in buffer-on-caps serialisation.
2864
2865 2005-06-20  Andy Wingo  <wingo@pobox.com>
2866
2867         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2868         will be adding to later.
2869
2870         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2871         if its socks fill with rocks.
2872         (gst_system_clock_obtain): Set the name on object construction.
2873         Avoid double-checked locking.
2874
2875 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2876
2877         * gst/gsturi.c: (gst_element_make_from_uri):
2878           Fix potential endless loop.
2879
2880 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2881
2882         * check/Makefile.am:
2883           add gsttag
2884         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2885         (main):
2886           move over from testsuite dir and clean up
2887         * configure.ac:
2888         * gst/gsttag.c:
2889         * testsuite/Makefile.am:
2890         * testsuite/tags/.cvsignore:
2891         * testsuite/tags/Makefile.am:
2892         * testsuite/tags/merge.c:
2893           remove testsuite/tags
2894
2895 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2896
2897         * docs/gst/gstreamer-sections.txt:
2898         * docs/gst/tmpl/gstenumtypes.sgml:
2899         * win32/gstenumtypes.c:
2900           clean up documentation build a little
2901
2902 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2903
2904         * check/gstcheck.h:
2905           add macros for checking refcounts on objects and caps
2906         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2907           add some more unit tests
2908         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2909         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2910           fix leaked refcounts (I hope :)) so unittest works
2911         * gst/gstpad.h:
2912           whitespace removal
2913
2914 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2915
2916         * configure.ac: back to HEAD
2917
2918 === release 0.9.1 ===
2919
2920 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2921
2922         * NEWS:
2923         * RELEASE:
2924           updated
2925
2926 2005-06-17  Andy Wingo  <wingo@pobox.com>
2927
2928         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2929         assert; it's always possible that the pad gets deactivated in
2930         between the checks in gstpad.c and the implementation. Rely on
2931         finish_preroll() to return a FLUSHING or similar instead of on the
2932         assert.
2933         
2934         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2935         clock and post an EOS message if we come out of finish_preroll in
2936         the playing state.
2937
2938 2005-06-16  David Schleef  <ds@schleef.org>
2939
2940         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2941         (gst_capsfilter_set_property): Allow NULL as possible value
2942         for filter_caps property, indicating GST_CAPS_ANY.
2943
2944 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2945
2946         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2947           fix debug output
2948         * gst/schedulers/Makefile.am:
2949           use libgst prefix
2950         * gstreamer.spec.in:
2951           fix spec for it
2952
2953 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2954
2955         * gstreamer.spec.in:
2956           clean up
2957
2958 2005-06-08  Andy Wingo  <wingo@pobox.com>
2959
2960         * gst/gstutils.c: RPAD fixes all around.
2961         (gst_element_link_pads): Refcounting fixes.
2962
2963         * tools/gst-inspect.c:
2964         * tools/gst-xmlinspect.c:
2965         * parse/grammar.y:
2966         * gst/base/gsttypefindhelper.c:
2967         * gst/base/gstbasesink.c:
2968         * gst/gstqueue.c: RPAD fixes.
2969
2970         * gst/gstghostpad.h:
2971         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2972         pads. The tricky thing is they provide both source and sink
2973         interfaces, since they proxy the internal pad for the external
2974         pad, and vice versa. Implement with lower-level ProxyPad objects,
2975         with the interior proxy pad as a child of the exterior ghost pad.
2976         Should write a doc on this.
2977         
2978         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2979         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2980         gst_object API.
2981         
2982         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2983         pads are real pads. No ghost pads in this file. Not documenting
2984         the myriad s/RPAD/PAD/ and REALIZE fixes.
2985         (gst_pad_class_init): Add properties for "direction" and
2986         "template". Both are construct-only, so they can't change during
2987         the life of the pad. Fixes properly deriving from GstPad.
2988         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2989         derived objects, just set properties when creating the objects via
2990         g_object_new.
2991         (gst_pad_get_parent): Implement as a function, return NULL if the
2992         parent is not an element.
2993         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2994         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2995         
2996         * gst/gstobject.c (gst_object_class_init): Make name a construct
2997         property. Don't set it in the object init.
2998
2999         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3000         with UNKNOWN direction.
3001         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3002         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3003         (gst_element_remove_pad): Remove ghost-pad special cases.
3004         (gst_element_pads_activate): Remove rpad cruft.
3005
3006         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3007         catch the pad's-parent-not-an-element case.
3008
3009         * gst/gst.h: Include gstghostpad.h.
3010
3011         * gst/gst.c (init_post): No more real, ghost pads.
3012
3013         * gst/Makefile.am: Add gstghostpad.[ch].
3014
3015         * check/Makefile.am:
3016         * check/gst/gstbin.c:
3017         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3018         into a bin creates ghost pads, and that the refcounts are right.
3019         Partly moved from gstbin.c.
3020
3021 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3022
3023         * check/gst-libs/.cvsignore:
3024         * check/gst/.cvsignore:
3025         * check/pipelines/.cvsignore:
3026           ignore more
3027         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3028         (START_TEST), (cleanup_suite), (main):
3029           add some tests related to cleanup after running pipelines
3030
3031 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3032
3033         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3034           add a testsuite for GstBuffer
3035
3036 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3037
3038         * gst/gstminiobject.h:
3039           add defines for accessing the refcount
3040
3041 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3042
3043         * Makefile.am: added support for html unit test coverage reports
3044
3045 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3046
3047         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3048           Free existing caps if the capsfilter changes. Add a FIXME about
3049           setting those caps on the pads.
3050
3051         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3052           Before adding a ghost pad to a parent bin, check that there isn't
3053           already one for the element on the bin. Prevents infinite recursion
3054           when using decodebin in parse pipelines. Andy says he'll rewrite the
3055           way this works anyway, so ignore the hack.
3056
3057 2005-06-02  Andy Wingo  <wingo@pobox.com>
3058
3059         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3060         file size, pass it on to the type find helper.
3061
3062         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3063         segment_start and segment_end properly according to the seek
3064         method. Segment_end is still a bit flaky because offset can be
3065         negative for CUR and END cases, but it takes -1 as an "unset"
3066         value.
3067
3068 2005-06-02  Wim Taymans  <wim@fluendo.com>
3069
3070         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3071         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3072         (gst_basesink_activate):
3073         * gst/base/gstbasesink.h:
3074         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3075         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3076         (gst_pad_query), (gst_pad_start_task):
3077         * gst/gstpad.h:
3078         * gst/gstqueue.c: (gst_queue_bufferalloc),
3079         (gst_queue_handle_sink_event), (gst_queue_chain):
3080         Bufferalloc: return GstFlowReturn to more accuratly report
3081         why allocation failed.
3082
3083 2005-06-02  Wim Taymans  <wim@fluendo.com>
3084
3085         * gst/gstpipeline.c: (gst_pipeline_send_event):
3086         Take snapshot of state without blocking.
3087
3088 2005-06-02  Wim Taymans  <wim@fluendo.com>
3089
3090         * docs/design/part-TODO.txt:
3091         * docs/design/part-caps.txt:
3092         * docs/design/part-clocks.txt:
3093         * docs/design/part-negotiation.txt:
3094         * docs/design/part-preroll.txt:
3095         Small doc updates 
3096
3097 2005-05-30  Wim Taymans  <wim@fluendo.com>
3098
3099         * gst/elements/gstidentity.c: (gst_identity_event),
3100         (gst_identity_transform), (gst_identity_get_property):
3101         Protect last_message property as it is accessed from
3102         multiple threads.
3103
3104 2005-05-30  Wim Taymans  <wim@fluendo.com>
3105
3106         * gst/gstelement.c: (gst_element_init),
3107         (gst_element_pads_activate), (gst_element_change_state):
3108         Slicker pad activation code.
3109
3110 2005-05-30  Wim Taymans  <wim@fluendo.com>
3111
3112         * gst/Makefile.am:
3113         * gst/gstelement.h:
3114         * gst/gstelementfactory.h:
3115         * gst/gsttypes.h:
3116         Move elementfactory methods to separate .h file.
3117
3118 2005-05-30  Wim Taymans  <wim@fluendo.com>
3119
3120         * docs/design/part-overview.txt:
3121         * gst/gstsystemclock.h:
3122         Small typo fixes, doc updates.
3123
3124 2005-05-30  Wim Taymans  <wim@fluendo.com>
3125
3126         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3127         (init_popt_callback):
3128         Remove cpu-opt flag.
3129
3130 2005-05-30  Wim Taymans  <wim@fluendo.com>
3131
3132         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3133         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3134         * gst/gstbuffer.h:
3135         Avoid typechecking in places where not needed.
3136         Added accessor for malloc_data.
3137
3138 2005-05-30  Wim Taymans  <wim@fluendo.com>
3139
3140         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3141         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3142         (gst_pad_configure_sink), (gst_pad_configure_src),
3143         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3144         (gst_pad_start_task):
3145         Propagate errors from _set_caps() in configure_src/sink
3146         functions instead of returning TRUE.
3147         FLUSH events can travel up and downstream
3148
3149
3150 2005-05-30  Wim Taymans  <wim@fluendo.com>
3151
3152         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3153         (gst_basesink_activate):
3154         Handle EOS in preroll.
3155
3156 2005-05-30  Wim Taymans  <wim@fluendo.com>
3157
3158         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3159         (gst_queue_loop), (gst_queue_handle_src_event):
3160         Remove old pieces of code
3161         Flushing the queue in an upstream event is a very bad idea.
3162
3163 2005-05-26  Andy Wingo  <wingo@pobox.com>
3164
3165         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3166         gst_value_set_mini_object so as to add a ref on the object (which
3167         will be removed when the value is unset).
3168
3169         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3170         arg type in ::handoff.
3171
3172         * gst/gstelement.c (gst_element_change_state): Also deactivate
3173         pads in READY->NULL, just in case the element didn't make it to
3174         PAUSED. Wingo tested, Wim approved.
3175
3176 2005-05-26  Wim Taymans  <wim@fluendo.com>
3177
3178         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3179         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3180         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3181         A flushing pad cannot be used to alloc_buffer from.
3182
3183 2005-05-26  Wim Taymans  <wim@fluendo.com>
3184
3185         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3186         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3187         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3188         (gst_bus_create_watch), (gst_bus_add_watch_full):
3189         * gst/gstbus.h:
3190         Implement a real GSource and use g_main_context_wakeup() to
3191         signal new messages instead of the socketpair.
3192
3193 2005-05-25  Wim Taymans  <wim@fluendo.com>
3194
3195         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3196         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3197         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3198         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3199         (gst_pad_send_event), (gst_pad_start_task):
3200         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3201         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3202         (gst_queue_sink_activate), (gst_queue_src_activate),
3203         (gst_queue_change_state):
3204         * gst/gstqueue.h:
3205         Fix state changes for non sinks. We now change sinks, then elements
3206         with unconnected srcpads, then the rest.
3207         More efficient queue unlocking in flush and state changes.
3208         Set the pad activate mode even if it does not have an activate
3209         function.
3210
3211 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3212
3213         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3214           Don't go in pull mode for non-seekable sources.
3215         * gst/elements/gsttypefindelement.h:
3216         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3217         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3218         (free_entry), (stop_typefinding),
3219         (gst_type_find_element_handle_event), (find_peek),
3220         (gst_type_find_element_chain), (do_pull_typefind),
3221         (gst_type_find_element_change_state):
3222           Allow typefinding (w/o seeking) in push-mode, simplified version
3223           of what was in 0.8.
3224         * gst/gstutils.c: (gst_buffer_join):
3225         * gst/gstutils.h:
3226           gst_buffer_join() from 0.8.
3227
3228 2005-05-25  Wim Taymans  <wim@fluendo.com>
3229
3230         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3231         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3232         (gst_pad_send_event), (gst_pad_start_task):
3233         Disable attempt at mode switching until it is figured out.
3234
3235 2005-05-25  Wim Taymans  <wim@fluendo.com>
3236
3237         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3238         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3239         (gst_basesink_finish_preroll), (gst_basesink_chain),
3240         (gst_basesink_loop), (gst_basesink_activate),
3241         (gst_basesink_change_state):
3242         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3243         (gst_basesrc_get_range), (gst_basesrc_loop),
3244         (gst_basesrc_activate):
3245         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3246         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3247         (gst_real_pad_init), (gst_real_pad_set_property),
3248         (gst_real_pad_get_property), (gst_pad_set_active),
3249         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3250         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3251         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3252         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3253         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3254         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3255         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3256         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3257         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3258         (gst_pad_stop_task):
3259         * gst/gstpad.h:
3260         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3261         (gst_queue_loop), (gst_queue_src_activate):
3262         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3263         (gst_task_get_state):
3264         * gst/gsttask.h:
3265         * gst/schedulers/threadscheduler.c:
3266         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3267         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3268         in task function.
3269         Remove ACTIVE pad flag, use FLUSHING everywhere
3270         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3271         functions.
3272         Add locks around IS_FLUSHING when reading.
3273         Take STREAM lock in chain(), get_range() functions so plugins
3274         don't need to take it anymore.
3275         
3276
3277
3278 2005-05-25  Wim Taymans  <wim@fluendo.com>
3279
3280         * tools/gst-launch.c: (event_loop):
3281         Unref message after using its contents instead of
3282         before.
3283
3284 2005-05-24  Wim Taymans  <wim@fluendo.com>
3285
3286         * docs/design/draft-ghostpads.txt:
3287         * docs/design/draft-push-pull.txt:
3288         * docs/design/draft-query.txt:
3289         * docs/design/part-overview.txt:
3290         Docs updates, added general overview doc.
3291
3292 2005-05-21  David Schleef  <ds@schleef.org>
3293
3294         * docs/gst/tmpl/old/GstBin.sgml:
3295         * docs/gst/tmpl/old/GstBuffer.sgml:
3296         * docs/gst/tmpl/old/GstCaps.sgml:
3297         * docs/gst/tmpl/old/GstClock.sgml:
3298         * docs/gst/tmpl/old/GstCompat.sgml:
3299         * docs/gst/tmpl/old/GstData.sgml:
3300         * docs/gst/tmpl/old/GstElement.sgml:
3301         * docs/gst/tmpl/old/GstEvent.sgml:
3302         * docs/gst/tmpl/old/GstIndex.sgml:
3303         * docs/gst/tmpl/old/GstStructure.sgml:
3304         * docs/gst/tmpl/old/GstTag.sgml:
3305         * docs/gst/tmpl/old/cothreads.sgml:
3306         * docs/gst/tmpl/old/cothreads_compat.sgml:
3307         * docs/gst/tmpl/old/gettext.sgml:
3308         * docs/gst/tmpl/old/gobject2gtk.sgml:
3309         * docs/gst/tmpl/old/grammar.tab.sgml:
3310         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3311         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3312         * docs/gst/tmpl/old/gst_private.sgml:
3313         * docs/gst/tmpl/old/gstaggregator.sgml:
3314         * docs/gst/tmpl/old/gstarch.sgml:
3315         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3316         * docs/gst/tmpl/old/gstbufferstore.sgml:
3317         * docs/gst/tmpl/old/gstdata_private.sgml:
3318         * docs/gst/tmpl/old/gstdisksink.sgml:
3319         * docs/gst/tmpl/old/gstdisksrc.sgml:
3320         * docs/gst/tmpl/old/gstelementfactory.sgml:
3321         * docs/gst/tmpl/old/gstextratypes.sgml:
3322         * docs/gst/tmpl/old/gstfakesink.sgml:
3323         * docs/gst/tmpl/old/gstfakesrc.sgml:
3324         * docs/gst/tmpl/old/gstfdsink.sgml:
3325         * docs/gst/tmpl/old/gstfdsrc.sgml:
3326         * docs/gst/tmpl/old/gstfilesink.sgml:
3327         * docs/gst/tmpl/old/gstfilesrc.sgml:
3328         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3329         * docs/gst/tmpl/old/gstidentity.sgml:
3330         * docs/gst/tmpl/old/gstindexfactory.sgml:
3331         * docs/gst/tmpl/old/gstmarshal.sgml:
3332         * docs/gst/tmpl/old/gstmd5sink.sgml:
3333         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3334         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3335         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3336         * docs/gst/tmpl/old/gstpipefilter.sgml:
3337         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3338         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3339         * docs/gst/tmpl/old/gstshaper.sgml:
3340         * docs/gst/tmpl/old/gstspider.sgml:
3341         * docs/gst/tmpl/old/gstspideridentity.sgml:
3342         * docs/gst/tmpl/old/gststatistics.sgml:
3343         * docs/gst/tmpl/old/gsttee.sgml:
3344         * docs/gst/tmpl/old/gsttimecache.sgml:
3345         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3346         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3347         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3348         * docs/gst/tmpl/old/types.sgml:
3349           I didn't intend to add these or check them in.
3350
3351 2005-05-19  David Schleef  <ds@schleef.org>
3352
3353         * configure.ac: Use -no-common everywhere.  In a sane world, it
3354           would be the default in libtool, because without it, you can't
3355           build DLLs on Windows.
3356         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3357         * docs/gst/gstreamer-sections.txt:
3358         * docs/gst/tmpl/gstcpu.sgml:
3359         * docs/gst/tmpl/gstdata.sgml:
3360         * docs/gst/tmpl/gstthread.sgml:
3361
3362 2005-05-19  David Schleef  <ds@schleef.org>
3363
3364         * gst/gstminiobject.c: (gst_value_set_mini_object),
3365         (gst_value_take_mini_object), (gst_value_get_mini_object):
3366         * gst/gstminiobject.h: Add GValue set/get functions.
3367
3368 2005-05-19  Wim Taymans  <wim@fluendo.com>
3369
3370         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3371         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3372         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3373         * gst/gstbuffer.h:
3374         * gst/gstbus.c: (gst_bus_post):
3375         * gst/gstelement.c: (gst_element_get_random_pad):
3376         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3377         Make subbufer unref the parent in finalize.
3378         some more debugging info.
3379
3380
3381 2005-05-19  Wim Taymans  <wim@fluendo.com>
3382
3383         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3384         (gst_basesink_init), (gst_basesink_finalize),
3385         (gst_basesink_activate), (gst_basesink_change_state):
3386         Don't free preroll queue too early.
3387
3388 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3389
3390         * gst/Makefile.am:
3391         * gst/ROADMAP:
3392           Hi, I'm outdated. Please shoot me.
3393
3394 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3395
3396         * gst/gstpipeline.c: (gst_pipeline_send_event):
3397           Do not access variables after they have been deleted.
3398
3399 2005-05-19  Wim Taymans  <wim@fluendo.com>
3400
3401         * tools/gst-inspect.c: (print_plugin_features):
3402         A plugin feature does unfortunatly not use the
3403         object name yet...
3404
3405 2005-05-18  Wim Taymans  <wim@fluendo.com>
3406
3407         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3408         Port _span() functions to new subbuffers.
3409
3410 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3411
3412         * gst/gstbin.c: (gst_bin_add_func):
3413           Fix clock settery in bins when adding kids after the clock has
3414           been selected.
3415
3416 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3417
3418         * gst/elements/gstidentity.c: (gst_identity_class_init):
3419           Workaround until signals support GstMiniObject.
3420
3421 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3422
3423         * gst/gstbuffer.c:
3424         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3425
3426 2005-05-18  Wim Taymans  <wim@fluendo.com>
3427
3428         * gst/base/Makefile.am:
3429         * gst/base/gstadapter.c: (gst_adapter_base_init),
3430         (gst_adapter_class_init), (gst_adapter_init),
3431         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3432         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3433         (gst_adapter_flush), (gst_adapter_available),
3434         (gst_adapter_available_fast):
3435         * gst/base/gstadapter.h:
3436         Ported and added adapter to the base classes.
3437
3438 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3439
3440         * gst/gst.c:
3441         * gst/gstmessage.c:
3442           Make sure the class is reffed/unreffed once before threads can be
3443           used.  Fixes #304551.
3444
3445 2005-05-17  Wim Taymans  <wim@fluendo.com>
3446
3447         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3448         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3449         * gst/gstminiobject.c: (gst_mini_object_get_type),
3450         (gst_mini_object_free):
3451         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3452         (gst_pad_push), (gst_pad_push_event):
3453         * gst/gstqueue.c: (gst_queue_change_state):
3454         Don't queue buffers in basesink when we are flushing.
3455         Unref buffer when flushing in basesink.
3456         Flush queue when going to READY
3457         Unref buffer when _push() returns an error.
3458         Don't free MiniObject instance when refcount is incremented
3459         in _finalize() so that we can recover objects.
3460
3461 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3462
3463         * docs/manual/advanced-schedulers.xml:
3464         * docs/manual/appendix-checklist.xml:
3465         * docs/pwg/advanced-clock.xml:
3466         * docs/pwg/advanced-interfaces.xml:
3467         * docs/pwg/advanced-request.xml:
3468         * docs/pwg/advanced-types.xml:
3469         * docs/pwg/intro-preface.xml:
3470         * examples/plugins/example.c: (gst_example_get_type),
3471         (gst_example_class_init), (gst_example_chain),
3472         (gst_example_set_property), (gst_example_get_property),
3473         (gst_example_change_state), (plugin_init):
3474         * examples/plugins/example.h:
3475           small doc fixes
3476
3477 2005-05-17  Wim Taymans  <wim@fluendo.com>
3478
3479         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3480         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3481         * gst/gstqueue.c: (gst_queue_change_state):
3482         Clear queue when going to READY.
3483         Remove IN_SETCAPS flag too.
3484
3485 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3486
3487         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3488           Remove implicit cast from gboolean to GstElementStateReturn;
3489           make sure we still return failure in paused => ready case if
3490           the parent class fails to change state and our own stop 
3491           vfunc succeeds.
3492
3493 2005-05-17  Wim Taymans  <wim@fluendo.com>
3494
3495         * tools/gst-launch.c: (event_loop):
3496         Message was unreffed too soon.
3497
3498 2005-05-16  Andy Wingo  <wingo@pobox.com>
3499
3500         * gst/gstbin.c (sink_iterator_filter): Err... um...
3501
3502         * check/gst/gstbin.c (test_ghost_pads): New test for the
3503         ghosting-if-elements-not-in-same-bin behavior.
3504
3505 2005-05-16  David Schleef  <ds@schleef.org>
3506
3507         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3508         accessing refcount directly.
3509
3510 2005-05-15  David Schleef  <ds@schleef.org>
3511
3512         * check/Makefile.am: remove GstData checks
3513         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3514         * gst/Makefile.am: add miniobject, remove data
3515         * gst/gst.h: add miniobject, remove data
3516         * gst/gstdata.c: remove
3517         * gst/gstdata.h: remove
3518         * gst/gstdata_private.h: remove
3519         * gst/gsttypes.h: remove GstEvent and GstMessage
3520         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3521         * gst/gstmarshal.list: change BOXED -> OBJECT
3522
3523         Implement GstMiniObject.
3524         * gst/gstminiobject.c:
3525         * gst/gstminiobject.h:
3526
3527         Modify to be subclasses of GstMiniObject.
3528         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3529         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3530         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3531         (gst_subbuffer_get_type), (gst_subbuffer_init),
3532         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3533         (gst_buffer_span):
3534         * gst/gstbuffer.h:
3535         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3536         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3537         (_gst_event_copy), (gst_event_new):
3538         * gst/gstevent.h:
3539         * gst/gstmessage.c: (_gst_message_initialize),
3540         (gst_message_get_type), (gst_message_class_init),
3541         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3542         (gst_message_new), (gst_message_new_error),
3543         (gst_message_new_warning), (gst_message_new_tag),
3544         (gst_message_new_state_changed), (gst_message_new_application):
3545         * gst/gstmessage.h:
3546         * gst/gstprobe.c: (gst_probe_perform),
3547         (gst_probe_dispatcher_dispatch):
3548         * gst/gstprobe.h:
3549         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3550         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3551         (_gst_query_copy), (gst_query_new):
3552
3553         Update elements for GstData -> GstMiniObject changes
3554         * gst/gstquery.h:
3555         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3556         (gst_queue_chain), (gst_queue_loop):
3557         * gst/elements/gstbufferstore.c:
3558         (gst_buffer_store_add_buffer_func),
3559         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3560         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3561         (gst_fakesink_render):
3562         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3563         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3564         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3565         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3566         (gst_filesrc_create_read):
3567         * gst/elements/gstidentity.c: (gst_identity_class_init):
3568         * gst/elements/gsttypefindelement.c:
3569         (gst_type_find_element_src_event), (free_entry_buffers),
3570         (gst_type_find_element_handle_event):
3571         * libs/gst/dataprotocol/dataprotocol.c:
3572         (gst_dp_header_from_buffer):
3573         * libs/gst/dataprotocol/dataprotocol.h:
3574         * libs/gst/dataprotocol/dp-private.h:
3575
3576 2005-05-15  David Schleef  <ds@schleef.org>
3577
3578         * gst/elements/gstelements.c: Don't include headers that were
3579         just removed.
3580
3581 2005-05-15  David Schleef  <ds@schleef.org>
3582
3583         * gst/elements/Makefile.am: Remove some elements that don't
3584         need to be in the core (or even exist at all).
3585         * gst/elements/gstaggregator.c:
3586         * gst/elements/gstaggregator.h:
3587         * gst/elements/gstmd5sink.c:
3588         * gst/elements/gstmd5sink.h:
3589         * gst/elements/gstmultifilesrc.c:
3590         * gst/elements/gstmultifilesrc.h:
3591         * gst/elements/gstpipefilter.c:
3592         * gst/elements/gstpipefilter.h:
3593         * gst/elements/gstshaper.c:
3594         * gst/elements/gstshaper.h:
3595         * gst/elements/gststatistics.c:
3596         * gst/elements/gststatistics.h:
3597         * po/POTFILES.in: Remove above files.
3598
3599 2005-05-14  Andy Wingo  <wingo@pobox.com>
3600
3601         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3602         so as to get the refs right.
3603         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3604         unreffing objects that don't pass the filter.
3605
3606         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3607         gst_element_set_bus.
3608         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3609         normal cases, this will destroy the bus.
3610
3611         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3612         object.
3613
3614         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3615         has no sinks.
3616
3617 2005-05-13  Andy Wingo  <wingo@pobox.com>
3618
3619         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3620         gst_pad_link, call pad_link_maybe_ghosting,
3621         (pad_link_maybe_ghosting): Links pads, making sure that the
3622         elements being linked are in the same bin.
3623         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3624         Helpers for pad_link_maybe_ghosting.
3625
3626 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3627
3628         * configure.ac:
3629           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3630
3631 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3632
3633         * docs/design/part-element-source.txt:
3634           Mention GstPushSrc
3635
3636 2005-05-12  Wim Taymans  <wim@fluendo.com>
3637
3638         * gst/base/gstbasesink.c: (gst_basesink_init),
3639         (gst_basesink_activate):
3640         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3641         (gst_basesrc_is_seekable):
3642         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3643         (bin_element_is_sink), (gst_bin_change_state):
3644         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3645         * gst/gstelement.h:
3646         Identify sinks by their flag to avoid overly complicated
3647         checks (fow now).
3648         Do state changes even for elements not reachable from the
3649         sinks.
3650         BaseSink is a sink now :)
3651         Some more debugging info in the basesrc.
3652
3653
3654 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3655
3656         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3657           Implement _query on a bin, similar to _send_event.
3658
3659 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3660
3661         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3662           Discont event offset format should be GST_FORMAT_BYTES,
3663           not GST_FORMAT_TIME.
3664
3665 2005-05-12  Wim Taymans  <wim@fluendo.com>
3666
3667         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3668         Same fix as Ronald's but without the signal. 
3669
3670 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3671
3672         * gst/gstutils.c: (gst_element_query_position):
3673           No, an element is not a pad.
3674
3675 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3676
3677         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3678         (gst_bin_get_state):
3679           If a child is removed from a bin while we remove the child from
3680           the bin and while we're retrieving its state, signal this to the
3681           get_state function so we abort the wait (instead of waiting for
3682           a timeout) and can immediately re-iterate over all other elements.
3683
3684 2005-05-12  Wim Taymans  <wim@fluendo.com>
3685
3686         * gst/base/Makefile.am:
3687         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3688         (gst_basesrc_start):
3689         * gst/base/gstbasesrc.h:
3690         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3691         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3692         (gst_pushsrc_init), (gst_pushsrc_create):
3693         * gst/base/gstpushsrc.h:
3694         Added is_seekable to BaseSrc
3695         Added simple PushSrc.
3696
3697 2005-05-11  Wim Taymans  <wim@fluendo.com>
3698
3699         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3700         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3701         (gst_element_link_pads), (gst_element_query_position),
3702         (gst_element_query_convert), (intersect_caps_func),
3703         (gst_pad_query_position), (gst_pad_query_convert):
3704         Fix refcounting in utils function.
3705         No point in trying to activate a pad when it's added, it could
3706         be added from the state change function and then we deadlock, the
3707         element has to decide what to do.
3708
3709 2005-05-10  Andy Wingo  <wingo@pobox.com>
3710
3711         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3712         *all* the arguments.
3713
3714         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3715         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3716         lock (according to the docs -- if this is wrong change the docs).
3717
3718         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3719         flush messages in the NULL state.
3720
3721         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3722         message immediately and return.
3723         (gst_bus_set_flushing): New function. If a bus is flushing, it
3724         flushes out any queued messages and immediately unrefs new
3725         messages. This is so when an element goes to NULL, all of the
3726         unhandled messages coming from it can be freed, and their
3727         references to the element dropped. In other words: message source
3728         ref considered harmful :P
3729
3730         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3731         we're finished with it.
3732
3733         * gst/gstmessage.c (gst_message_new_state_changed): 
3734
3735 2005-05-10  Wim Taymans  <wim@fluendo.com>
3736
3737         * gst/gstvalue.c: (gst_value_compare_flags),
3738         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3739         (_gst_value_initialize):
3740         Added flags serialize/deserialize/compare code.
3741
3742 2005-05-09  Andy Wingo  <wingo@pobox.com>
3743
3744         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3745         Intersect the peer's caps with our caps.
3746
3747 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3748
3749         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3750         * gst/elements/gsttypefindelement.c: (find_peek):
3751           Handle negative offsets better. Fixes decodebin.
3752
3753 2005-05-09  Wim Taymans  <wim@fluendo.com>
3754
3755         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3756         (gst_base_transform_event):
3757         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3758         Implement accept_caps.
3759         Fix silly lock/unlock mismatch in base class.
3760
3761 2005-05-09  Wim Taymans  <wim@fluendo.com>
3762
3763         * docs/design/draft-push-pull.txt:
3764         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3765         * gst/elements/gstfilesink.c: (gst_filesink_init),
3766         (gst_filesink_query):
3767         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3768         (gst_type_find_handle_src_query), (find_element_get_length):
3769         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3770         * gst/gstelement.h:
3771         * gst/gstmessage.c:
3772         * gst/gstmessage.h:
3773         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3774         (gst_real_pad_get_caps_unlocked),
3775         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3776         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3777         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3778         (gst_real_pad_dispose), (gst_real_pad_finalize),
3779         (gst_pad_load_and_link), (gst_pad_save_thyself),
3780         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3781         (gst_pad_check_pull_range), (gst_pad_pull_range),
3782         (gst_pad_template_get_type), (gst_pad_template_class_init),
3783         (gst_pad_template_init), (gst_pad_template_dispose),
3784         (name_is_valid), (gst_static_pad_template_get),
3785         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3786         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3787         (gst_pad_get_element_private), (gst_pad_start_task),
3788         (gst_pad_pause_task), (gst_pad_stop_task),
3789         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3790         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3791         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3792         (gst_ghost_pad_new):
3793         * gst/gstpad.h:
3794         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3795         (gst_query_new_position), (gst_query_set_position),
3796         (gst_query_parse_position), (gst_query_new_convert),
3797         (gst_query_set_convert), (gst_query_parse_convert):
3798         * gst/gstquery.h:
3799         * gst/gstqueryutils.c:
3800         * gst/gstqueryutils.h:
3801         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3802         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3803         (gst_queue_handle_src_query):
3804         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3805         (gst_element_query_position), (gst_element_query_convert),
3806         (intersect_caps_func), (gst_pad_query_position),
3807         (gst_pad_query_convert):
3808         * gst/gstutils.h:
3809         * tools/gst-inspect.c: (print_pad_info):
3810         * tools/gst-xmlinspect.c: (print_element_info):
3811         Remove old query functions. Ported old code.
3812         Added position/convert helper functions to gstutils.
3813         Reordered gstpad.c code, grouping relevant things.
3814         Remove gst_message_new(), always need to speficy a specific
3815         message.
3816
3817
3818 2005-05-09  Andy Wingo  <wingo@pobox.com>
3819
3820         * gst/gstiterator.h: Add some includes.
3821
3822         * gst/gstqueryutils.h: Include more headers.
3823
3824         * gst/gstpad.h:
3825         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3826         some uses of gst_pad_query.
3827
3828         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3829         NULL out parameters.
3830         (gst_query_new_position): New proc, allocates a new position
3831         query.
3832
3833         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3834         gstqueryutils.c to the build.
3835
3836         * gst/gststructure.c (gst_structure_set_valist): Implement with
3837         the generic G_VALUE_COLLECT.
3838         
3839 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3840
3841         * gst/Makefile.am: (gst_headers):
3842         Added gstqueryutils.h to the list of headers to install, that was
3843         a 'nachty' move wingo :)
3844
3845 2005-05-06  Andy Wingo  <wingo@pobox.com>
3846
3847         * gst/gstquery.h
3848         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3849         GstData, init a memchunk.
3850         (standard_definitions): Add a few query types, deprecate a few.
3851         (gst_query_get_type): New proc.
3852         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3853         implementation.
3854         (gst_query_new_application, gst_query_get_structure): New public
3855         procs.
3856
3857         * docs/design/draft-query.txt: Removed LINKS from the query types,
3858         because all the rest can be dispatched to other pads -- seemed
3859         ugly to have a query that couldn't be dispatched. internal_links
3860         is fine as a pad method.
3861
3862         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3863         in gstpad.c, but maintain binary compatibility for the moment.
3864         Will fix before 0.9 is out.
3865
3866         * gst/gstqueryutils.c: 
3867         * gst/gstqueryutils.h: New files, implement 3 methods for each
3868         query type: parse_query, parse_response, and set. Probably need an
3869         allocator as well.
3870
3871         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3872
3873         * gst/elements/gstfilesink.c (gst_filesink_query2):
3874         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3875         query_types, and formats methods.
3876
3877         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3878         (gst_pad_set_query2_function): New functions.
3879         (gst_real_pad_init): Set query2_default as the default query2
3880         function. Basically just dispatches to internally linked pads.
3881
3882         Needs review!
3883         
3884         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3885         without using the atomic operations. Only one thread can possibly
3886         be accessing the data at this point. Changed so as to avoid
3887         gst_atomic operations.
3888
3889 2005-05-06  Wim Taymans  <wim@fluendo.com>
3890
3891         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3892         Also set caps if we use the fallback buffer alloc.
3893
3894 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3895
3896         * docs/gst/Makefile.am:
3897         * docs/gst/gstreamer-docs.sgml:
3898         * docs/gst/gstreamer-sections.txt:
3899         * docs/gst/tmpl/gstatomic.sgml:
3900         * docs/gst/tmpl/gstmemchunk.sgml:
3901         * testsuite/elements/struct_i386.h:
3902         * win32/GStreamer.vcproj:
3903         * win32/Makefile:
3904           Purge GstAtomic stuff from docs and win32 makefiles as well
3905
3906 2005-05-06  Wim Taymans  <wim@fluendo.com>
3907
3908         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3909         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3910         * gst/gstpad.c: (gst_pad_peer_get_caps):
3911         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3912         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3913         (gst_queue_src_activate), (gst_queue_change_state):
3914         * gst/gstqueue.h:
3915         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3916         (intersect_caps_func):
3917         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3918         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3919         Some fixes for the peer_get_caps() change.
3920
3921 2005-05-06  Wim Taymans  <wim@fluendo.com>
3922
3923         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3924         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3925         (gst_basesink_activate):
3926         Actually do something with error codes returned from the push
3927         functions.
3928
3929 2005-05-06  Wim Taymans  <wim@fluendo.com>
3930
3931         * docs/design/part-element-sink.txt:
3932         * docs/design/part-element-source.txt:
3933         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3934         (gst_basesink_event), (gst_basesink_activate):
3935         * gst/base/gstbasesink.h:
3936         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3937         (gst_basesrc_activate):
3938         * gst/base/gstbasesrc.h:
3939         * gst/gstelement.c: (gst_element_pads_activate):
3940         Some more documentation.
3941         Fixed scheduling decision in _pads_activate().
3942
3943 2005-05-05  Andy Wingo  <wingo@pobox.com>
3944
3945         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3946         the test suite.
3947
3948 2005-05-05  Wim Taymans  <wim@fluendo.com>
3949
3950         * gst/base/Makefile.am:
3951         * gst/base/gstbasesink.h:
3952         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3953         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3954         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3955         (gst_collectpads_class_init), (gst_collectpads_init),
3956         (gst_collectpads_finalize), (gst_collectpads_new),
3957         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3958         (find_pad), (gst_collectpads_remove_pad),
3959         (gst_collectpads_is_active), (gst_collectpads_collect),
3960         (gst_collectpads_collect_range), (gst_collectpads_start),
3961         (gst_collectpads_stop), (gst_collectpads_peek),
3962         (gst_collectpads_pop), (gst_collectpads_available),
3963         (gst_collectpads_read), (gst_collectpads_flush),
3964         (gst_collectpads_chain):
3965         * gst/base/gstcollectpads.h:
3966         * gst/elements/Makefile.am:
3967         * gst/elements/gstelements.c:
3968         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3969         (gst_fakesink_get_times), (gst_fakesink_event),
3970         (gst_fakesink_preroll), (gst_fakesink_render):
3971         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3972         (gst_filesink_init), (gst_filesink_set_location),
3973         (gst_filesink_open_file), (gst_filesink_close_file),
3974         (gst_filesink_pad_query), (gst_filesink_event),
3975         (gst_filesink_render), (gst_filesink_change_state):
3976         * gst/elements/gstfilesink.h:
3977         Added object to help in making collect pad based elements.
3978         Ported filesink.
3979         Make event function in sink baseclass return gboolean.
3980
3981 2005-05-05  Wim Taymans  <wim@fluendo.com>
3982
3983         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3984         (gst_bin_get_by_name):
3985         * gst/gstbuffer.h:
3986         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3987         (gst_clock_finalize):
3988         * gst/gstdata.c: (gst_data_replace):
3989         * gst/gstdata.h:
3990         * gst/gstelement.c: (gst_element_request_pad),
3991         (gst_element_pads_activate):
3992         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3993         (gst_object_unref):
3994         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3995         (gst_pad_set_checkgetrange_function),
3996         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3997         (gst_pad_check_pull_range), (gst_pad_pull_range),
3998         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3999         (gst_pad_pause_task), (gst_pad_stop_task):
4000         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4001         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4002         Fix name lookup in GstBin.
4003         Added _data_replace() function and _buffer_replace()
4004         Use finalize method to clean up clock.
4005         Fix refcounting on request pads.
4006         Fix pad schedule mode error.
4007         Some more object refcounting debug info,
4008
4009
4010 2005-05-04  Andy Wingo <wingo@pobox.com>
4011
4012         * check/Makefile.am:
4013         * docs/gst/tmpl/gstatomic.sgml:
4014         * docs/gst/tmpl/gstplugin.sgml:
4015         * gst/base/gstbasesink.c: (gst_basesink_activate):
4016         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4017         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4018         (gst_basesrc_query), (gst_basesrc_set_property),
4019         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4020         (gst_basesrc_activate):
4021         * gst/base/gstbasesrc.h:
4022         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4023         (gst_base_transform_src_activate):
4024         * gst/elements/gstelements.c:
4025         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4026         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4027         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4028         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4029         (gst_type_find_element_checkgetrange),
4030         (gst_type_find_element_activate):
4031         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4032         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4033         (gst_caps_load_thyself):
4034         * gst/gstelement.c: (gst_element_pads_activate),
4035         (gst_element_save_thyself), (gst_element_restore_thyself):
4036         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4037         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4038         * gst/gstpad.h:
4039         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4040         (gst_xml_parse_file), (gst_xml_parse_memory),
4041         (gst_xml_get_element), (gst_xml_make_element):
4042         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4043         (_file_index_id_save_xml), (gst_file_index_commit):
4044         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4045         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4046         (load_paths):
4047         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4048         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4049         * tools/gst-complete.c: (main):
4050         * tools/gst-compprep.c: (main):
4051         * tools/gst-inspect.c: (print_element_properties_info):
4052         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4053         * tools/gst-xmlinspect.c: (print_element_properties):
4054         GCC 4 fixen.
4055         
4056 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4057
4058         * gst/gstplugin.c: (gst_plugin_check_module),
4059         (gst_plugin_check_file), (gst_plugin_load_file):
4060             apply patch from #172526 to make register work on MacOSX
4061
4062 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4063
4064         * docs/gst/tmpl/gstconfig.sgml:
4065         * gst/gstconfig.h.in:
4066           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4067         * testsuite/debug/printf_extension.c: (main):
4068           Do not use GST_PTR_FORMAT on pointers to types with
4069           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4070         * testsuite/elements/property.h:
4071           use correct printf format
4072
4073 2005-05-02  Wim Taymans  <wim@fluendo.com>
4074
4075         * docs/design/draft-push-pull.txt:
4076         * docs/design/draft-query.txt:
4077         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4078         (gst_basesrc_start):
4079         Added draft for new query API.
4080         Added draft for better selecting scheduling methods.
4081         Make basesrc ignore length if the subclass does not support
4082         it.
4083
4084 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4085
4086         * gst/Makefile.am:
4087           possible fixes for automake-1.5 - _LIBADD is reserved
4088
4089 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4090
4091         * docs/faq/Makefile.am:
4092         * docs/manual/Makefile.am:
4093         * docs/manuals.mak:
4094         * docs/pwg/Makefile.am:
4095         * gst/Makefile.am:
4096           possible fixes for automake-1.5
4097
4098 2005-04-28  Wim Taymans  <wim@fluendo.com>
4099
4100         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4101         (gst_basesink_pad_getcaps), (gst_basesink_init),
4102         (gst_basesink_do_sync):
4103         * gst/gstclock.c: (gst_clock_entry_new):
4104         * gst/gstevent.c: (gst_event_discont_get_value):
4105         * gst/gstpipeline.c: (pipeline_bus_handler),
4106         (gst_pipeline_change_state):
4107         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4108         Better debugging of clocking info.
4109         Allow NULL values when getting discont values.
4110
4111 2005-04-27  Wim Taymans  <wim@fluendo.com>
4112
4113         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4114         * check/gst/gstpad.c: (gst_pad_suite):
4115         Increase timeout for checks.
4116
4117 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4118
4119         * check/Makefile.am:
4120           fix the broken rule for cleanup.  Apparently this rule is
4121           only needed on FC2, so maybe this warrants further autotool
4122           inspection.
4123
4124 2005-04-26  Wim Taymans  <wim@fluendo.com>
4125
4126         * gst/gsttrashstack.h:
4127         Ooohh. a nasty one! After having a failed pop() from the stack,
4128         it's possible that the stack is empty. In that case, don't
4129         follow the NULL pointer.
4130
4131 2005-04-25  Wim Taymans  <wim@fluendo.com>
4132
4133         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4134         (gst_pad_set_checkgetrange_function),
4135         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4136         (gst_pad_check_pull_range), (gst_pad_pull_range),
4137         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4138         (gst_pad_pause_task), (gst_pad_stop_task):
4139         * gst/gstplugin.c: (gst_plugin_load):
4140         * gst/gstplugin.h:
4141         Remove gst_library_load as it does more harm than good with
4142         the new g_module flags.
4143         Revert bogus caps template check in pad linking, pad caps
4144         are important when linking not the template, which is more
4145         general than the current caps.
4146
4147 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4148
4149         * gst/autoplug/.cvsignore:
4150         * gst/autoplug/Makefile.am:
4151         * gst/autoplug/gstsearchfuncs.c:
4152         * gst/autoplug/gstsearchfuncs.h:
4153         * gst/autoplug/gstspider.c:
4154         * gst/autoplug/gstspider.h:
4155         * gst/autoplug/gstspideridentity.c:
4156         * gst/autoplug/gstspideridentity.h:
4157         * gst/autoplug/spidertest.c:
4158           Die, spider, die.
4159
4160 2005-04-25  Wim Taymans  <wim@fluendo.com>
4161
4162         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4163         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4164         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4165         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4166         * gst/gstpad.h:
4167         Added stubs for unimplemented functions. 
4168
4169 2005-04-24  David Schleef  <ds@schleef.org>
4170
4171         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4172         please fix.
4173
4174 2005-04-24  David Schleef  <ds@schleef.org>
4175
4176         Convert everything from GstAtomicInt to g_atomic_int_*, and
4177         remove gstatomic.
4178         * gst/Makefile.am:
4179         * gst/gstatomic.c:
4180         * gst/gstatomic.h:
4181         * gst/gstatomic_impl.h:
4182         * gst/gstbuffer.c:
4183         * gst/gstcaps.c:
4184         * gst/gstcaps.h:
4185         * gst/gstclock.c:
4186         * gst/gstclock.h:
4187         * gst/gstdata.c:
4188         * gst/gstdata.h:
4189         * gst/gstdata_private.h:
4190         * gst/gstevent.c:
4191         * gst/gstinfo.c:
4192         * gst/gstinfo.h:
4193         * gst/gstmessage.c:
4194         * gst/gstobject.c:
4195         * gst/gstobject.h:
4196         * gst/gststructure.c:
4197         * gst/gststructure.h:
4198         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4199         * gst/gstutils.h:
4200
4201 2005-04-24  David Schleef  <ds@schleef.org>
4202
4203         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4204         make the regressions tests work.  Remove some code that is no
4205         longer true.
4206         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4207         Disable warning for pads without templates.
4208
4209 2005-04-24  David Schleef  <ds@schleef.org>
4210
4211         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4212         functions that handle filtered links.
4213         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4214         removed functions.
4215         * gst/gstutils.c: Fix/remove utility functions that handle
4216         filtered caps.
4217         * gst/gstutils.h:
4218         * gst/gstvalue.c: Add serialization/deserialization of caps
4219         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4220         requires fixing so that the filter caps notation creates
4221         a capsfilter element and sets the filter_caps property.  I
4222         think everyone probably wants to keep the shorthand notation.
4223         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4224         * docs/gst/tmpl/gstpad.sgml:
4225
4226         * gst/elements/gstelements.c: Register capsfilter element.
4227         * gst/Makefile.am: fix spacing
4228         * docs/random/ds/0.9-suggested-changes: random
4229
4230 2005-04-23  David Schleef  <ds@schleef.org>
4231
4232         * gst/elements/Makefile.am:
4233         * gst/elements/gstcapsfilter.c: New element that acts like an
4234         identity, but filters caps.  Will eventually replace filtered
4235         caps in pad linking.
4236         * gst/gstutils.c: (gst_element_create_all_pads): New function
4237         to create all the ALWAYS pads that are registered with an
4238         element class.  This functionality should eventually be
4239         merged in with GstElement initialization.
4240         * gst/gstutils.h:
4241         * testsuite/trigger/README: part of trigger test code that should
4242         have been checked in a long time ago.
4243
4244 2005-04-23  David Schleef  <ds@schleef.org>
4245
4246         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4247         needed with new versions of libtool (nobody will confirm this),
4248         and hard to carry around.
4249         * gst/autoplug/Makefile.am:
4250         * gst/base/Makefile.am:
4251         * gst/elements/Makefile.am:
4252         * gst/indexers/Makefile.am:
4253         * gst/schedulers/Makefile.am:
4254         * libs/gst/bytestream/Makefile.am:
4255         * libs/gst/control/Makefile.am:
4256         * libs/gst/dataprotocol/Makefile.am:
4257         * libs/gst/getbits/Makefile.am:
4258
4259 2005-04-21  Wim Taymans  <wim@fluendo.com>
4260
4261         * docs/design/draft-push-pull.txt:
4262         * docs/design/part-MT-refcounting.txt:
4263         * docs/design/part-TODO.txt:
4264         * docs/design/part-caps.txt:
4265         * docs/design/part-events.txt:
4266         * docs/design/part-gstbus.txt:
4267         * docs/design/part-gstpipeline.txt:
4268         * docs/design/part-messages.txt:
4269         * docs/design/part-push-pull.txt:
4270         * docs/design/part-query.txt:
4271         Some more docs.
4272
4273 2005-04-21  Wim Taymans  <wim@fluendo.com>
4274
4275         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4276         (gst_message_new), (gst_message_new_error),
4277         (gst_message_new_warning), (gst_message_new_tag),
4278         (gst_message_new_state_changed), (gst_message_new_application),
4279         (gst_message_get_structure):
4280         * gst/gstmessage.h:
4281         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4282         (gst_structure_copy_conditional):
4283         Use parent refcount in GstMessage to ensure GstStructure
4284         consistency.
4285         Cleaned up headers a bit.
4286         
4287
4288 2005-04-20  Wim Taymans  <wim@fluendo.com>
4289
4290         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4291         (gst_basesink_pad_getcaps), (gst_basesink_init),
4292         (gst_basesink_chain_unlocked):
4293         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4294         (gst_type_find_helper):
4295         * gst/elements/gsttypefindelement.c:
4296         (gst_type_find_element_have_type), (gst_type_find_element_init),
4297         (stop_typefinding), (gst_type_find_element_handle_event),
4298         (find_suggest), (gst_type_find_element_chain),
4299         (gst_type_find_element_checkgetrange),
4300         (gst_type_find_element_getrange), (do_typefind),
4301         (gst_type_find_element_activate):
4302         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4303         (gst_buffer_default_free), (gst_buffer_default_copy),
4304         (gst_buffer_set_caps):
4305         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4306         (gst_caps_replace):
4307         * gst/gstmessage.c: (gst_message_new),
4308         (gst_message_new_state_changed):
4309         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4310         (gst_pad_set_checkgetrange_function),
4311         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4312         (gst_pad_set_caps), (gst_pad_check_pull_range),
4313         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4314         * gst/gstpad.h:
4315         * gst/gsttypefind.c: (gst_type_find_register):
4316         Make gst_caps_replace() work like other _replace() functions.
4317         Use _caps_replace() where possible.
4318         Make sure _message_new() initialises its field.
4319         Add gst_static_pad_template_get_caps()
4320
4321
4322 2005-04-18  Andy Wingo  <wingo@pobox.com>
4323
4324         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4325         on the peer, not the pad. I think that was a typo. Pass an extra
4326         arg to see if random access is possible. Activate the pads as
4327         PULL_RANGE if possible.
4328
4329         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4330
4331         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4332         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4333         to PROP_....
4334
4335 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4336
4337         * docs/faq/using.xml:
4338           Add note on gstreamer-properties (#154996).
4339
4340 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4341
4342         * docs/random/bbb/optional-properties:
4343           Some analysis on optional properties.
4344
4345 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4346
4347         * docs/gst/tmpl/gstelementfactory.sgml:
4348         * gst/gstelement.h:
4349         * gst/gstelementfactory.c: (gst_element_factory_init),
4350         (gst_element_factory_cleanup), (gst_element_register),
4351         (__gst_element_factory_add_static_pad_template),
4352         (gst_element_factory_get_static_pad_templates),
4353         (gst_element_factory_can_src_caps),
4354         (gst_element_factory_can_sink_caps):
4355         * gst/registries/Makefile.am:
4356         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4357         (gst_xml_registry_class_init), (gst_xml_registry_init),
4358         (gst_xml_registry_new), (gst_xml_registry_set_property),
4359         (gst_xml_registry_get_property), (get_time), (make_dir),
4360         (gst_xml_registry_get_perms_func),
4361         (plugin_times_older_than_recurse), (plugin_times_older_than),
4362         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4363         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4364         (add_to_char_array), (read_string), (read_uint), (read_enum),
4365         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4366         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4367         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4368         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4369         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4370         (gst_xml_registry_rebuild):
4371         * gst/registries/gstlibxmlregistry.h:
4372         * tools/gst-compprep.c: (main):
4373         * tools/gst-inspect.c: (print_pad_templates_info):
4374         * tools/gst-xmlinspect.c: (print_element_info):
4375           Use libxml2 for registry parsing, use staticpadtemplates in
4376           elementfactories. Makes gst_init() +/- 10x faster.
4377
4378 2005-04-12  Wim Taymans  <wim@fluendo.com>
4379
4380         * gst/base/Makefile.am:
4381         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4382         (gst_basesink_pad_getcaps), (gst_basesink_init),
4383         (gst_basesink_event), (gst_basesink_change_state):
4384         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4385         (gst_basesrc_init), (gst_basesrc_query),
4386         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4387         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4388         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4389         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4390         (gst_basesrc_stop), (gst_basesrc_activate),
4391         (gst_basesrc_change_state):
4392         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4393         (helper_find_suggest), (gst_type_find_helper):
4394         * gst/base/gsttypefindhelper.h:
4395         * gst/elements/Makefile.am:
4396         * gst/elements/gstelements.c:
4397         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4398         (gst_fakesink_get_times), (gst_fakesink_event),
4399         (gst_fakesink_preroll), (gst_fakesink_render):
4400         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4401         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4402         (gst_fakesrc_get_property), (gst_fakesrc_create),
4403         (gst_fakesrc_start), (gst_fakesrc_stop):
4404         * gst/elements/gstfakesrc.h:
4405         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4406         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4407         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4408         (gst_filesrc_create_read), (gst_filesrc_create),
4409         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4410         (gst_filesrc_start):
4411         * gst/elements/gsttypefindelement.c:
4412         (gst_type_find_element_have_type), (gst_type_find_element_init),
4413         (start_typefinding), (stop_typefinding), (push_buffer_store),
4414         (gst_type_find_element_handle_event),
4415         (gst_type_find_element_chain),
4416         (gst_type_find_element_checkgetrange),
4417         (gst_type_find_element_getrange), (do_typefind),
4418         (gst_type_find_element_activate),
4419         (gst_type_find_element_change_state):
4420         * gst/elements/gsttypefindelement.h:
4421         * gst/gstpipeline.c: (pipeline_bus_handler):
4422         Added typefind helper.
4423         Small preroll fix in the base sink.
4424         Disable typefind code in basesrc.
4425         Crude port of typefindelement.
4426         Fakesrc cleanups.
4427
4428
4429 2005-04-11  Wim Taymans  <wim@fluendo.com>
4430
4431         * check/gst/gstbus.c: (gstbus_suite):
4432         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4433         * check/gstcheck.h:
4434           Fix up the timeout so that the test does not fail.
4435
4436 2005-04-06  Wim Taymans  <wim@fluendo.com>
4437
4438         * gst/base/README:
4439         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4440         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4441         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4442         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4443         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4444         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4445         (gst_basesrc_stop), (gst_basesrc_activate),
4446         (gst_basesrc_change_state), (basesrc_find_peek),
4447         (basesrc_find_suggest), (gst_basesrc_type_find):
4448         * gst/base/gstbasesrc.h:
4449         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4450         (gst_filesrc_class_init), (gst_filesrc_init),
4451         (gst_filesrc_finalize), (gst_filesrc_set_location),
4452         (gst_filesrc_set_property), (gst_filesrc_get_property),
4453         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4454         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4455         (gst_filesrc_create_read), (gst_filesrc_create),
4456         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4457         * gst/elements/gstfilesrc.h:
4458         * gst/gstelement.c: (gst_element_get_state_func),
4459         (gst_element_lost_state), (gst_element_pads_activate):
4460         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4461         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4462         (gst_pad_pull_range):
4463         * gst/gstpad.h:
4464         More work on the generic source base class, implement seeking,
4465         query.
4466         Make filesrc extend the base source class.
4467         Added gst_pad_set_checkgetrange_function to GstPad.
4468
4469 2005-04-06  Andy Wingo  <wingo@pobox.com>
4470
4471         * pkgconfig/gstreamer-base.pc.in:
4472         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4473
4474         * pkgconfig/Makefile.am:
4475         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4476
4477 2005-04-04  Wim Taymans  <wim@fluendo.com>
4478
4479         * gst/base/Makefile.am:
4480         * gst/base/README:
4481         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4482         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4483         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4484         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4485         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4486         (gst_basesrc_base_init), (gst_basesrc_class_init),
4487         (gst_basesrc_init), (gst_basesrc_get_formats),
4488         (gst_basesrc_get_query_types), (gst_basesrc_query),
4489         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4490         (gst_basesrc_set_property), (gst_basesrc_get_property),
4491         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4492         (gst_basesrc_loop), (gst_basesrc_activate),
4493         (gst_basesrc_change_state):
4494         * gst/base/gstbasesrc.h:
4495         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4496         (gst_fakesrc_class_init), (gst_fakesrc_init),
4497         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4498         (gst_fakesrc_get_property), (gst_fakesrc_create):
4499         * gst/elements/gstfakesrc.h:
4500         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4501         (gst_filesrc_open_file), (gst_filesrc_loop),
4502         (gst_filesrc_activate), (filesrc_find_peek),
4503         (gst_filesrc_type_find):
4504         Made base source class, make fakesrc extend it.
4505         Add comments to basesink class.
4506         Some filesrc cleanup.
4507
4508 2005-03-31  David Schleef  <ds@schleef.org>
4509
4510         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4511         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4512         expected to link against libgstreamer.
4513         * gst/base/Makefile.am: link against libgstreamer
4514         * gst/elements/Makefile.am: same
4515
4516 2005-03-31  Andy Wingo  <wingo@pobox.com>
4517
4518         * tests/instantiate/Makefile.am:
4519         * tests/instantiate/caps.c: Add test to test speed of caps copy
4520         and free.
4521
4522         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4523         GMemChunk to be fair.
4524
4525         * gst/gsttrashstack.h: Remove warning about using the fallback
4526         trash stack implementation, it's still faster than malloc.
4527
4528 2005-03-30  Andy Wingo  <wingo@pobox.com>
4529
4530         * tests/complexity.c: Add a copyright.
4531
4532 2005-03-31  Wim Taymans  <wim@fluendo.com>
4533
4534         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4535         (gst_base_transform_class_init), (gst_base_transform_init),
4536         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4537         (gst_base_transform_get_property),
4538         (gst_base_transform_sink_activate),
4539         (gst_base_transform_src_activate),
4540         (gst_base_transform_change_state):
4541         * gst/base/gstbasetransform.h:
4542         * gst/elements/gstidentity.c: (gst_identity_class_init),
4543         (gst_identity_event), (gst_identity_check_perfect),
4544         (gst_identity_transform), (gst_identity_start),
4545         (gst_identity_stop):
4546         Added start/stop methods to transform base class so subclasses 
4547         don't need to deal with state changes even.
4548
4549 2005-03-31  Wim Taymans  <wim@fluendo.com>
4550
4551         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4552         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4553         * gst/gstevent.h:
4554         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4555         (gst_pad_pull_range):
4556         Added rate to the discont event to prepare for variable speed
4557         and reverse playback.
4558
4559 2005-03-29  David Schleef  <ds@schleef.org>
4560
4561         * configure.ac:
4562         * testsuite/trigger/Makefile.am:
4563         * testsuite/trigger/trigger.c: A little example program to show
4564         how trigger-based elements can work.
4565
4566 2005-03-29  Wim Taymans  <wim@fluendo.com>
4567
4568         * gst/base/Makefile.am:
4569         * gst/base/README:
4570         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4571         (gst_basesink_base_init), (gst_basesink_class_init),
4572         (gst_basesink_pad_getcaps), (gst_basesink_init),
4573         (gst_basesink_activate), (gst_basesink_change_state):
4574         * gst/base/gstbasesink.h:
4575         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4576         (gst_base_transform_base_init), (gst_base_transform_finalize),
4577         (gst_base_transform_class_init), (gst_base_transform_init),
4578         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4579         (gst_base_transform_event), (gst_base_transform_getrange),
4580         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4581         (gst_base_transform_set_property),
4582         (gst_base_transform_get_property),
4583         (gst_base_transform_sink_activate),
4584         (gst_base_transform_src_activate),
4585         (gst_base_transform_change_state):
4586         * gst/base/gstbasetransform.h:
4587         * gst/elements/gstidentity.c: (gst_identity_finalize),
4588         (gst_identity_class_init), (gst_identity_init),
4589         (gst_identity_event), (gst_identity_check_perfect),
4590         (gst_identity_transform), (gst_identity_set_property),
4591         (gst_identity_get_property), (gst_identity_change_state):
4592         * gst/elements/gstidentity.h:
4593         * gst/gstelement.c: (gst_element_get_state_func),
4594         (gst_element_lost_state), (gst_element_pads_activate):
4595         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4596         (gst_pad_check_pull_range), (gst_pad_pull_range):
4597         * gst/gstpad.h:
4598         Simplify pad activation.
4599         Added function to check if pull_range can be performed.
4600         Error out when pulling inactive or flushing pads.
4601         Removed const from refcounted types as it does not make sense.
4602         Simplify pad templates in basesink
4603         Added base class for simple 1-to-1 transforms.
4604         Make identity subclass the base transform.
4605
4606 2005-03-29  Andy Wingo  <wingo@pobox.com>
4607
4608         * docs/libs/gstreamer-libs-overrides.txt: 
4609         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4610         really don't understand what's going on, but like whatever. I want
4611         green buildbot!
4612
4613         * docs/gst/Makefile.am:
4614         * docs/libs/Makefile.am: Dist the overrides files.
4615
4616         * check/Makefile.am (clean-local): Remove .libs directories.
4617
4618         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4619         elements to EXTRA_DIST, so po/ files are happy.
4620
4621         * po/POTFILES.in: Er, remove it here.
4622
4623         * po/POTFILES: Remove gstspider.c.
4624
4625         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4626
4627         * docs/libs/gstreamer-libs-docs.sgml: 
4628         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4629         bytestream.
4630
4631         * tests/complexity.c (main): Set the length of the preroll queue
4632         on the sinks to prevent a lockup.
4633
4634         * libs/gst/dataprotocol/Makefile.am: 
4635         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4636         the same as the one in check/gst-libs/gdp.c.
4637
4638         * po/, docs/gst/: Commit automatic changes to docs and po files.
4639
4640         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4641         the versioned libgstbase.
4642
4643         * check/Makefile.am: Depend on an unversioned gst-register, seems
4644         to make autoconf happier.
4645
4646         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4647
4648 2005-03-28  Wim Taymans  <wim@fluendo.com>
4649
4650         * configure.ac:
4651         * docs/design/part-gstelement.txt:
4652         * docs/design/part-negotiation.txt:
4653         * docs/design/part-preroll.txt:
4654         * docs/design/part-scheduling.txt:
4655         * docs/design/part-states.txt:
4656         * gst/Makefile.am:
4657         * gst/base/Makefile.am:
4658         * gst/base/README:
4659         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4660         (gst_basesink_base_init), (gst_basesink_class_init),
4661         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4662         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4663         (gst_basesink_set_pad_functions),
4664         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4665         (gst_basesink_set_property), (gst_basesink_get_property),
4666         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4667         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4668         (gst_basesink_preroll_queue_push),
4669         (gst_basesink_preroll_queue_empty),
4670         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4671         (gst_basesink_event), (gst_basesink_get_times),
4672         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4673         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4674         (gst_basesink_loop), (gst_basesink_activate),
4675         (gst_basesink_change_state):
4676         * gst/base/gstbasesink.h:
4677         * gst/elements/Makefile.am:
4678         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4679         (gst_fakesink_class_init), (gst_fakesink_init),
4680         (gst_fakesink_set_property), (gst_fakesink_get_property),
4681         (gst_fakesink_get_times), (gst_fakesink_event),
4682         (gst_fakesink_preroll), (gst_fakesink_render),
4683         (gst_fakesink_change_state):
4684         * gst/elements/gstfakesink.h:
4685         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4686         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4687         * gst/gstelement.c: (gst_element_add_pad),
4688         (gst_element_get_state_func), (gst_element_abort_state),
4689         (gst_element_commit_state), (gst_element_lost_state),
4690         (gst_element_set_state), (gst_element_pads_activate):
4691         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4692         * gst/gstpipeline.c: (gst_pipeline_send_event),
4693         (gst_pipeline_change_state):
4694         Added state change code.
4695         Added/updated docs.
4696         Added sink base class, make fakesink extend the base class.
4697         Small cleanups in GstPipeline.
4698
4699 2005-03-26  David Schleef  <ds@schleef.org>
4700
4701         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4702         is broken and should be implemented in a different library.
4703         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4704         * gst/gst.h: remove gstcpu.h
4705         * gst/gstcpu.c: remove
4706         * gst/gstcpu.h: remove
4707         * gst/Makefile.am.future: Remove this file.  It's ancient.
4708
4709 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4710
4711         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4712         (gst_bin_send_event):
4713           Add default event/set_manager handlers. The set_manager handler
4714           takes care that the manager is distributed over kids that were
4715           already in the bin before the manager was set. The event handler
4716           is a utility virtual function that sends the event over all sinks,
4717           so that gst_element_send_event (bin, event); has the expected
4718           behaviour.
4719         * gst/gstpad.c: (gst_pad_event_default):
4720           Re-install default event handling for discontinuities, so that
4721           seeking works without requiring hacks in applications or extra
4722           code in sinks.
4723         * gst/gstpipeline.c: (gst_pipeline_class_init),
4724         (gst_pipeline_send_event):
4725           Half hack, half utility: set a pipeline to PAUSED for seek events,
4726           since that is the only way we can guarantee a/v sync. Means that
4727           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4728           and it "just works".
4729
4730 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4731
4732         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4733           Lock/unlock mismatch.
4734
4735 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4736
4737         * docs/faq/gst-uninstalled:
4738           add gst-plugins-base
4739         * docs/gst/Makefile.am:
4740           don't error out until docs are fixed
4741         * docs/gst/gstreamer.types:
4742           remove thread
4743
4744 2005-03-22  Wim Taymans  <wim@fluendo.com>
4745
4746         * check/Makefile.am:
4747         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4748         * gst/gststructure.c: (gst_structure_set_valist),
4749         (gst_structure_copy_conditional):
4750         Activated more tests.
4751         Added message test.
4752         Added G_TYPE_POINTER to GstStructure.
4753         
4754
4755 2005-03-22  Wim Taymans  <wim@fluendo.com>
4756
4757         * docs/design/part-TODO.txt:
4758         * docs/design/part-events.txt:
4759         * docs/design/part-gstbin.txt:
4760         * docs/design/part-gstbus.txt:
4761         * docs/design/part-gstpipeline.txt:
4762         * docs/design/part-messages.txt:
4763         * gst/gstbus.c:
4764         * gst/gstmessage.c:
4765         Docs updates
4766
4767 2005-03-21  Wim Taymans  <wim@fluendo.com>
4768
4769         * gst/gstbus.c: (gst_bus_post):
4770         Fix copy-and-paste error.
4771
4772 2005-03-21  Wim Taymans  <wim@fluendo.com>
4773
4774         * check/Makefile.am:
4775         * gst/Makefile.am:
4776         * gst/elements/Makefile.am:
4777         * gst/elements/gstelements.c:
4778         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4779         (gst_fakesink_event), (gst_fakesink_chain):
4780         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4781         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4782         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4783         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4784         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4785         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4786         (gst_fakesrc_loop), (gst_fakesrc_activate),
4787         (gst_fakesrc_change_state):
4788         * gst/elements/gstfakesrc.h:
4789         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4790         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4791         (gst_filesrc_open_file), (gst_filesrc_loop),
4792         (gst_filesrc_activate), (gst_filesrc_change_state),
4793         (filesrc_find_peek), (filesrc_find_suggest),
4794         (gst_filesrc_type_find):
4795         * gst/elements/gstidentity.c: (gst_identity_finalize),
4796         (gst_identity_class_init), (gst_identity_init),
4797         (gst_identity_proxy_getcaps), (identity_queue_push),
4798         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4799         (gst_identity_getrange), (gst_identity_chain),
4800         (gst_identity_sink_loop), (gst_identity_src_loop),
4801         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4802         (gst_identity_set_property), (gst_identity_get_property),
4803         (gst_identity_change_state):
4804         * gst/elements/gstidentity.h:
4805         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4806         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4807         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4808         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4809         (gst_tee_sink_activate):
4810         * gst/elements/gsttee.h:
4811         * gst/gst.c: (gst_register_core_elements), (init_post):
4812         * gst/gst.h:
4813         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4814         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4815         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4816         (gst_bin_change_state):
4817         * gst/gstbin.h:
4818         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4819         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4820         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4821         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4822         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4823         (bus_watch_callback), (bus_watch_destroy),
4824         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4825         (poll_timeout), (gst_bus_poll):
4826         * gst/gstbus.h:
4827         * gst/gstcaps.h:
4828         * gst/gstdata.h:
4829         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4830         (gst_element_post_message), (gst_element_message_full),
4831         (gst_element_get_state_func), (gst_element_get_state),
4832         (gst_element_abort_state), (gst_element_commit_state),
4833         (gst_element_lost_state), (gst_element_set_state),
4834         (gst_element_pads_activate), (gst_element_change_state),
4835         (gst_element_dispose), (gst_element_set_manager_func),
4836         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4837         (gst_element_set_manager), (gst_element_get_manager),
4838         (gst_element_set_bus), (gst_element_get_bus),
4839         (gst_element_set_scheduler), (gst_element_get_scheduler):
4840         * gst/gstelement.h:
4841         * gst/gstevent.c: (gst_event_new_segment_seek),
4842         (gst_event_new_flush):
4843         * gst/gstevent.h:
4844         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4845         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4846         (gst_message_new_eos), (gst_message_new_error),
4847         (gst_message_new_warning), (gst_message_new_tag),
4848         (gst_message_new_state_changed), (gst_message_new_application),
4849         (gst_message_get_structure), (gst_message_parse_tag),
4850         (gst_message_parse_state_changed), (gst_message_parse_error),
4851         (gst_message_parse_warning):
4852         * gst/gstmessage.h:
4853         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4854         (gst_real_pad_set_property), (gst_pad_set_active),
4855         (gst_pad_is_active), (gst_pad_set_blocked_async),
4856         (gst_pad_set_blocked), (gst_pad_is_blocked),
4857         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4858         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4859         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4860         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4861         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4862         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4863         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4864         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4865         (gst_pad_set_caps), (gst_pad_configure_sink),
4866         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4867         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4868         (gst_real_pad_dispose), (gst_real_pad_finalize),
4869         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4870         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4871         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4872         * gst/gstpad.h:
4873         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4874         (pipeline_bus_handler), (gst_pipeline_change_state),
4875         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4876         * gst/gstpipeline.h:
4877         * gst/gstprobe.h:
4878         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4879         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4880         (gst_queue_link_src), (gst_queue_bufferalloc),
4881         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4882         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4883         (gst_queue_loop), (gst_queue_handle_src_event),
4884         (gst_queue_handle_src_query), (gst_queue_src_activate),
4885         (gst_queue_change_state):
4886         * gst/gstqueue.h:
4887         * gst/gstscheduler.c: (gst_scheduler_init),
4888         (gst_scheduler_dispose), (gst_scheduler_create_task),
4889         (gst_scheduler_factory_create):
4890         * gst/gstscheduler.h:
4891         * gst/gststructure.c: (gst_structure_get_type),
4892         (gst_structure_copy_conditional):
4893         * gst/gststructure.h:
4894         * gst/gsttaginterface.h:
4895         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4896         (gst_task_init), (gst_task_dispose), (gst_task_create),
4897         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4898         (gst_task_pause):
4899         * gst/gsttask.h:
4900         * gst/gstthread.c:
4901         * gst/gstthread.h:
4902         * gst/gsttypes.h:
4903         * gst/schedulers/Makefile.am:
4904         * gst/schedulers/cothreads_compat.h:
4905         * gst/schedulers/entryscheduler.c:
4906         * gst/schedulers/faircothreads.c:
4907         * gst/schedulers/faircothreads.h:
4908         * gst/schedulers/fairscheduler.c:
4909         * gst/schedulers/gstbasicscheduler.c:
4910         * gst/schedulers/gstoptimalscheduler.c:
4911         * gst/schedulers/gthread-cothreads.h:
4912         * gst/schedulers/threadscheduler.c:
4913         (gst_thread_scheduler_task_get_type),
4914         (gst_thread_scheduler_task_class_init),
4915         (gst_thread_scheduler_task_init),
4916         (gst_thread_scheduler_task_start),
4917         (gst_thread_scheduler_task_stop),
4918         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4919         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4920         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4921         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4922         (plugin_init):
4923         * libs/gst/Makefile.am:
4924         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4925         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4926         (gst_file_pad_parent_set):
4927         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4928         (gst_dp_event_from_packet):
4929         * tests/complexity.c: (main):
4930         * tests/mass_elements.c: (main):
4931         * testsuite/states/locked.c: (message_received), (main):
4932         * testsuite/states/parent.c: (main):
4933         * tools/gst-inspect.c: (print_element_flag_info),
4934         (print_implementation_info), (print_pad_info):
4935         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4936         (main):
4937         * tools/gst-md5sum.c: (event_loop), (main):
4938         * tools/gst-typefind.c: (main):
4939         * tools/gst-xmlinspect.c: (print_element_info):
4940         Next big merge.
4941         Added GstBus for mainloop integration.
4942         Added GstMessage for sending notifications on the bus.
4943         Added GstTask as an abstraction for pipeline entry points.
4944         Removed GstThread.
4945         Removed Schedulers.
4946         Simplified GstQueue for multithreaded core.
4947         Made _link threadsafe, removed old capsnego.
4948         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4949         Added pad blocking functions.
4950         Reworked scheduling functions in GstPad to prepare for
4951         scheduling updates soon.
4952         Moved events out of data stream.
4953         Simplified GstEvent types.
4954         Added return values to push/pull.
4955         Removed clocking from GstElement.
4956         Added prototypes for state change function for next merge.
4957         Removed iterate from bins and state change management.
4958         Fixed some elements, disabled others for now.
4959         Fixed -inspect and -launch.
4960         Added check for GstBus.
4961
4962 2005-03-10  Wim Taymans  <wim@fluendo.com>
4963
4964         * docs/design/part-MT-refcounting.txt:
4965         * docs/design/part-clocks.txt:
4966         * docs/design/part-gstelement.txt:
4967         * docs/design/part-gstobject.txt:
4968         * docs/design/part-standards.txt:
4969         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4970         (gst_bin_remove_func), (gst_bin_remove):
4971         * gst/gstbin.h:
4972         * gst/gstbuffer.c:
4973         * gst/gstcaps.h:
4974         * testsuite/clock/clock1.c: (main):
4975         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4976         (main):
4977         * testsuite/dlopen/loadgst.c: (do_test):
4978         * testsuite/refcounting/bin.c: (add_remove_test1),
4979         (add_remove_test2), (main):
4980         * testsuite/refcounting/element.c: (main):
4981         * testsuite/refcounting/element_pad.c: (main):
4982         * testsuite/refcounting/pad.c: (main):
4983         * tools/gst-launch.c: (sigint_handler_sighandler):
4984         * tools/gst-typefind.c: (main):
4985         Doc updates.
4986         Added doc about clock.
4987         removed gst_bin_iterate_recurse_up(), marked methods
4988         for removal.
4989         Fix more testsuites.
4990
4991 2005-03-09  Wim Taymans  <wim@fluendo.com>
4992
4993         * gst/gstpad.c: (gst_pad_get_direction),
4994         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4995         (gst_pad_collect_valist):
4996         * testsuite/bins/interface.c: (main):
4997         * testsuite/caps/audioscale.c: (test_caps):
4998         * testsuite/caps/caps.c: (test1), (test2), (test3):
4999         * testsuite/caps/deserialize.c: (main):
5000         * testsuite/caps/enumcaps.c: (main):
5001         * testsuite/caps/filtercaps.c: (main):
5002         * testsuite/caps/intersect2.c: (main):
5003         * testsuite/caps/random.c: (main):
5004         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5005         * testsuite/caps/sets.c: (check_caps):
5006         * testsuite/caps/simplify.c: (check_caps), (main):
5007         * testsuite/caps/subtract.c: (check_caps):
5008         Fix _pad_get_direction wrt ghostpads.
5009         Fix caps testsuite.
5010
5011 2005-03-09  Wim Taymans  <wim@fluendo.com>
5012
5013         * check/Makefile.am:
5014         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5015         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5016         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5017         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5018         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5019         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5020         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5021         (bin_element_is_sink), (gst_bin_iterate_sinks),
5022         (gst_bin_iterate_all_by_interface):
5023         * gst/gstbin.h:
5024         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5025         (gst_element_change_state), (gst_element_dispose),
5026         (gst_element_finalize), (gst_element_set_loop_function):
5027         * gst/gstelement.h:
5028         * gst/gstiterator.c: (find_custom_fold_func):
5029         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5030         (gst_pad_collectv), (gst_pad_collect_valist),
5031         (gst_pad_template_new):
5032         * gst/gstpipeline.c: (gst_pipeline_class_init),
5033         (gst_pipeline_dispose), (gst_pipeline_set_property),
5034         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5035         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5036         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5037         * gst/gstutils.h:
5038         * gst/schedulers/entryscheduler.c:
5039         * gst/schedulers/gstbasicscheduler.c:
5040         (gst_basic_scheduler_cothreaded_chain),
5041         (gst_basic_scheduler_chain_add_element):
5042         * testsuite/bins/interface.c: (main):
5043         Added GstBin test.
5044         Added GstSystemClock test.
5045         Implemented clock distribution code in GstBin.
5046         Implemented iterate sinks method for future use.
5047         Rearranged gstelement.h
5048         Fix GstIterator comparison bug.
5049         Moved some code to GstPipeline, mostly clocking related.
5050
5051 2005-03-09  Wim Taymans  <wim@fluendo.com>
5052
5053         * configure.ac:
5054         * gst/gst_private.h:
5055         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5056         (gst_bin_remove_func), (gst_bin_remove),
5057         (gst_bin_get_by_name_recurse_up):
5058         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5059         (gst_clock_id_compare_func), (gst_clock_id_wait),
5060         (gst_clock_id_wait_async), (gst_clock_init),
5061         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5062         * gst/gstelement.h:
5063         * gst/gstinfo.c: (_gst_debug_init):
5064         * gst/gstobject.h:
5065         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5066         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5067         * gst/gstpad.h:
5068         Bump version number, we're now 0.9.0
5069         Add future debugging category.
5070         Fix NULL _unref() in _get_by_name_recurse_up
5071         Rearrange gstpad.h.
5072         Update some docs.
5073
5074 2005-03-08  Wim Taymans  <wim@fluendo.com>
5075
5076         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5077         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5078         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5079         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5080         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5081         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5082         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5083         * gst/elements/gstidentity.c: (gst_identity_class_init):
5084         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5085         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5086         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5087         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5088         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5089         (gst_tee_link):
5090         * gst/gstelement.c: (gst_element_class_init),
5091         (gst_element_base_class_init), (gst_element_init),
5092         (gst_element_get_random_pad), (gst_element_wait_state_change),
5093         (gst_element_change_state), (gst_element_dispose),
5094         (gst_element_finalize), (gst_element_set_loop_function):
5095         * gst/gstelement.h:
5096         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5097         * gst/gstthread.c: (gst_thread_class_init),
5098         (gst_thread_release_children_locks), (gst_thread_change_state):
5099         * gst/schedulers/gstbasicscheduler.c:
5100         (gst_basic_scheduler_loopfunc_wrapper),
5101         (gst_basic_scheduler_chain_wrapper),
5102         (gst_basic_scheduler_src_wrapper),
5103         (gst_basic_scheduler_remove_element):
5104         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5105         Remove threadsafe properties. Fix elements because GObject
5106         complains when installing a property before declaring a
5107         set/get_property handler.
5108         Rearrange gstelement.h file, use STATE macros for state locks.
5109         Free mutexes in the finalize method instead of dispose.
5110
5111 2005-03-08  Wim Taymans  <wim@fluendo.com>
5112
5113         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5114         * gst/gstthread.c: (gst_thread_release_children_locks):
5115         Added parentage check.
5116         Fix build og GstThread again.
5117
5118 2005-03-08  Wim Taymans  <wim@fluendo.com>
5119
5120         * docs/design/part-MT-refcounting.txt:
5121         * docs/design/part-conventions.txt:
5122         * docs/design/part-gstobject.txt:
5123         * docs/design/part-relations.txt:
5124         * docs/design/part-standards.txt:
5125         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5126         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5127         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5128         (gst_bin_iterate_all_by_interface):
5129         * gst/gstbuffer.h:
5130         * gst/gstclock.h:
5131         * gst/gstelement.c: (gst_element_class_init),
5132         (gst_element_change_state), (gst_element_set_loop_function):
5133         * gst/gstelement.h:
5134         * gst/gstiterator.c:
5135         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5136         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5137         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5138         (gst_object_set_parent), (gst_object_unparent),
5139         (gst_object_check_uniqueness):
5140         * gst/gstobject.h:
5141         Docs updates, clean up some headers.
5142
5143 2005-03-07  Wim Taymans  <wim@fluendo.com>
5144
5145         * check/.cvsignore:
5146         * check/Makefile.am:
5147         * check/gst-libs/.cvsignore:
5148         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5149         * check/gst/.cvsignore:
5150         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5151         (START_TEST), (gstbus_suite), (main):
5152         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5153         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5154         (gst_data_suite), (main):
5155         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5156         (add_fold_func), (gstiterator_suite), (main):
5157         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5158         (thread_name_object), (thread_name_object_default),
5159         (gst_object_name_compare), (gst_object_suite), (main):
5160         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5161         (gst_pad_suite), (main):
5162         * check/gstcheck.c: (gst_check_log_message_func),
5163         (gst_check_log_critical_func), (gst_check_init):
5164         * check/gstcheck.h:
5165         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5166         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5167         Added checks.
5168
5169 2005-03-07  Wim Taymans  <wim@fluendo.com>
5170
5171         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5172         (gst_list_iterator_next), (gst_list_iterator_resync),
5173         (gst_list_iterator_free), (gst_iterator_new_list),
5174         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5175         (gst_iterator_free), (gst_iterator_push), (filter_next),
5176         (filter_resync), (filter_uninit), (filter_free),
5177         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5178         (gst_iterator_foreach), (find_custom_fold_func),
5179         (gst_iterator_find_custom):
5180         * gst/gstiterator.h:
5181         Added missing files.
5182
5183 2005-03-07  Wim Taymans  <wim@fluendo.com>
5184
5185         * Makefile.am:
5186         * configure.ac:
5187         * docs/design/part-MT-refcounting.txt:
5188         * docs/design/part-conventions.txt:
5189         * docs/design/part-gstobject.txt:
5190         * docs/design/part-relations.txt:
5191         * examples/mixer/mixer.c: (main):
5192         * examples/thread/thread.c: (eos), (main):
5193         * gst/Makefile.am:
5194         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5195         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5196         (gst_spider_plug_from_srcpad):
5197         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5198         (gst_spider_identity_change_state),
5199         (gst_spider_identity_sink_loop_type_finding):
5200         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5201         * gst/elements/gstidentity.c: (gst_identity_init):
5202         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5203         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5204         * gst/elements/gsttypefindelement.c: (free_entry):
5205         * gst/gst.c:
5206         * gst/gst.h:
5207         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5208         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5209         (gst_bin_set_index), (gst_bin_set_element_sched),
5210         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5211         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5212         (gst_bin_iterate_elements), (iterate_child_recurse),
5213         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5214         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5215         (compare_interface), (gst_bin_get_by_interface),
5216         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5217         * gst/gstbin.h:
5218         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5219         (gst_buffer_default_free), (gst_buffer_default_copy),
5220         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5221         (gst_buffer_create_sub):
5222         * gst/gstbuffer.h:
5223         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5224         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5225         (gst_caps_unref), (gst_static_caps_get),
5226         (gst_caps_remove_and_get_structure), (gst_caps_append),
5227         (gst_caps_append_structure), (gst_caps_remove_structure),
5228         (gst_caps_copy_nth), (gst_caps_set_simple),
5229         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5230         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5231         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5232         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5233         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5234         (gst_caps_structure_figure_out_union),
5235         (gst_caps_switch_structures), (gst_caps_do_simplify),
5236         (gst_caps_replace), (gst_caps_from_string),
5237         (gst_caps_copy_conditional):
5238         * gst/gstcaps.h:
5239         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5240         (_gst_clock_id_free), (gst_clock_id_unref),
5241         (gst_clock_id_compare_func), (gst_clock_id_wait),
5242         (gst_clock_id_wait_async), (gst_clock_class_init),
5243         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5244         (gst_clock_get_time), (gst_clock_set_time_adjust),
5245         (gst_clock_set_property), (gst_clock_get_property):
5246         * gst/gstclock.h:
5247         * gst/gstcompat.h:
5248         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5249         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5250         * gst/gstdata.h:
5251         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5252         (gst_element_requires_clock), (gst_element_provides_clock),
5253         (gst_element_set_clock), (gst_element_clock_wait),
5254         (gst_element_wait), (gst_element_set_time_delay),
5255         (gst_element_is_indexable), (gst_element_add_pad),
5256         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5257         (pad_compare_name), (gst_element_get_static_pad),
5258         (gst_element_request_pad), (gst_element_get_request_pad),
5259         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5260         (gst_element_class_get_pad_template_list),
5261         (gst_element_class_get_pad_template), (gst_element_error_func),
5262         (gst_element_get_random_pad), (gst_element_get_event_masks),
5263         (gst_element_send_event), (gst_element_seek),
5264         (gst_element_get_query_types), (gst_element_query),
5265         (gst_element_get_formats), (gst_element_convert),
5266         (gst_element_is_locked_state), (gst_element_set_locked_state),
5267         (gst_element_sync_state_with_parent), (gst_element_change_state),
5268         (gst_element_finalize), (gst_element_yield),
5269         (gst_element_interrupt), (gst_element_set_scheduler),
5270         (gst_element_get_scheduler), (gst_element_set_loop_function):
5271         * gst/gstelement.h:
5272         * gst/gstevent.h:
5273         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5274         (gst_format_get_by_nick), (gst_format_get_details),
5275         (gst_format_iterate_definitions):
5276         * gst/gstformat.h:
5277         * gst/gstindex.c: (gst_index_gtype_resolver):
5278         * gst/gstinfo.c:
5279         * gst/gstinfo.h:
5280         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5281         (gst_mem_chunk_free):
5282         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5283         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5284         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5285         (gst_object_dispatch_properties_changed),
5286         (gst_object_set_name_default), (gst_object_set_name),
5287         (gst_object_get_name), (gst_object_set_name_prefix),
5288         (gst_object_get_name_prefix), (gst_object_set_parent),
5289         (gst_object_get_parent), (gst_object_unparent),
5290         (gst_object_check_uniqueness), (gst_object_save_thyself),
5291         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5292         (gst_object_set_property), (gst_object_get_property),
5293         (gst_object_get_path_string):
5294         * gst/gstobject.h:
5295         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5296         (gst_real_pad_init), (gst_real_pad_get_property),
5297         (gst_pad_custom_new), (gst_pad_get_direction),
5298         (gst_pad_set_active), (gst_pad_is_active),
5299         (gst_pad_set_event_function), (gst_pad_is_linked),
5300         (gst_pad_link_free), (gst_pad_link_intersect),
5301         (gst_pad_link_fixate), (gst_pad_set_caps),
5302         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5303         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5304         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5305         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5306         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5307         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5308         (gst_pad_realize), (gst_pad_get_allowed_caps),
5309         (gst_real_pad_dispose), (gst_real_pad_finalize),
5310         (gst_pad_collectv), (gst_pad_collect_valist),
5311         (gst_pad_template_dispose), (gst_pad_template_new),
5312         (gst_pad_get_internal_links):
5313         * gst/gstpad.h:
5314         * gst/gstpipeline.c: (gst_pipeline_dispose),
5315         (gst_pipeline_change_state):
5316         * gst/gstpipeline.h:
5317         * gst/gstplugin.c:
5318         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5319         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5320         * gst/gstpluginfeature.h:
5321         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5322         * gst/gstquery.c: (_gst_query_type_initialize),
5323         (gst_query_type_register), (gst_query_type_get_by_nick),
5324         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5325         * gst/gstquery.h:
5326         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5327         * gst/gstscheduler.c: (gst_scheduler_add_element),
5328         (gst_scheduler_factory_create):
5329         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5330         (gst_structure_free), (gst_structure_set_name),
5331         (gst_structure_id_set_value), (gst_structure_set_value),
5332         (gst_structure_set_valist), (gst_structure_remove_field),
5333         (gst_structure_remove_fields),
5334         (gst_structure_remove_fields_valist),
5335         (gst_structure_remove_all_fields), (gst_structure_foreach),
5336         (gst_structure_map_in_place),
5337         (gst_caps_structure_fixate_field_nearest_int),
5338         (gst_caps_structure_fixate_field_nearest_double):
5339         * gst/gststructure.h:
5340         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5341         (gst_system_clock_init), (gst_system_clock_dispose),
5342         (gst_system_clock_async_thread),
5343         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5344         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5345         * gst/gstsystemclock.h:
5346         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5347         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5348         * gst/gsttaginterface.c:
5349         * gst/gstthread.c: (gst_thread_dispose),
5350         (gst_thread_release_children_locks), (gst_thread_change_state),
5351         (gst_thread_main_loop):
5352         * gst/gsttrashstack.h:
5353         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5354         * gst/gsttypes.h:
5355         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5356         (gst_element_request_pad), (gst_element_get_pad_from_template),
5357         (gst_element_request_compatible_pad),
5358         (gst_element_get_compatible_pad_filtered),
5359         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5360         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5361         (gst_element_link_many), (gst_element_link),
5362         (gst_element_link_pads), (gst_element_unlink_pads),
5363         (gst_element_unlink_many), (gst_element_unlink),
5364         (gst_pad_can_link_filtered), (gst_pad_can_link),
5365         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5366         (gst_object_default_error), (gst_bin_add_many),
5367         (gst_bin_remove_many), (gst_element_populate_std_props),
5368         (gst_element_class_install_std_props), (gst_buffer_merge),
5369         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5370         (link_fold_func), (gst_pad_proxy_setcaps):
5371         * gst/gstutils.h:
5372         * gst/gstvalue.c: (gst_value_deserialize_string):
5373         * gst/parse/grammar.y:
5374         * gst/schedulers/gstbasicscheduler.c:
5375         (gst_basic_scheduler_cothreaded_chain),
5376         (gst_basic_scheduler_chain_recursive_add),
5377         (gst_basic_scheduler_pad_link):
5378         * gst/schedulers/gstoptimalscheduler.c:
5379         (get_group_schedule_function),
5380         (gst_opt_scheduler_state_transition),
5381         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5382         * libs/gst/bytestream/bytestream.c:
5383         * libs/gst/dataprotocol/dataprotocol.c:
5384         (gst_dp_header_from_buffer):
5385         * po/nb.po:
5386         * po/ru.po:
5387         * tests/threadstate/threadstate2.c: (eos):
5388         * tools/gst-compprep.c: (main):
5389         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5390         (print_pad_info), (print_children_info):
5391         * tools/gst-launch.c: (idle_func), (main):
5392         * tools/gst-md5sum.c: (idle_func), (main):
5393         * tools/gst-xmlinspect.c: (print_element_info):
5394         First THREADED backport attempt, focusing on adding locks and
5395         making sure the API is threadsafe. Needs more work. More docs
5396         follow this week.
5397
5398 2005-02-24  Andy Wingo  <wingo@pobox.com>
5399
5400         * tests/bench-complexity.scm:
5401         * tests/complexity.gnuplot: New files, good for running complexity
5402         benchmarks.
5403
5404         * tests/Makefile.am:
5405         * tests/complexity.c: New test, sets up N elements, at each level
5406         teeing into M streams per element. Eeeenteresting.
5407
5408         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5409         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5410         running bench-mass_elements.scm.
5411
5412         * tests/bench-mass_elements.scm: New script, runs mass_elements
5413         for various numbers of identities, outputting the results to a
5414         file. Requires guile 1.6. Just for testing.
5415
5416 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5417
5418         * gst/schedulers/fairscheduler.c:
5419           compile with debug disabled
5420
5421 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5422
5423         * configure.ac:
5424           hunting season on 0.9 is now OPEN
5425
5426 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5427
5428         * docs/libs/tmpl/gstcontrol.sgml:
5429         * docs/libs/tmpl/gstdparam.sgml:
5430         * docs/libs/tmpl/gstdplinint.sgml:
5431         * docs/libs/tmpl/gstdpman.sgml:
5432         * docs/libs/tmpl/gstdpsmooth.sgml:
5433         * docs/libs/tmpl/gstunitconvert.sgml:
5434           more docs for the state of dparams
5435
5436 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5437
5438         * gst/gstelementfactory.c: (gst_element_factory_create):
5439         * gst/gstobject.c: (gst_object_init),
5440         (gst_object_set_name_default), (gst_object_set_name):
5441           name objects by default, not in gst_element_factory_create. Allows
5442           using elements created with g_object_new. (fixes #167283)
5443
5444 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5445
5446         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5447           make the time that debugging functions print relative to when
5448           gst_init was called
5449
5450 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5451
5452         * gst/gsttaginterface.c:
5453           Fix inline docs: tag setter vararg functions are NULL-terminated,
5454           GST_TAG_INVALID doesn't exist any more.
5455
5456 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5457
5458         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5459         Allocate the 1 byte more memory that was forgotten!!!!!
5460         fixes memory corruption on 64bit platforms
5461
5462 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5463
5464         * docs/pwg/building-pads.xml:
5465         * docs/pwg/intro-basics.xml:
5466           fixed a few typos, relabeled introductionary list of types
5467         * docs/random/ensonic/dparams.txt:
5468           more notes abut dparam changes
5469         * libs/gst/control/dparam.c: (gst_dparam_attach):
5470         * libs/gst/control/dparammanager.c:
5471         * libs/gst/control/dparammanager.h:
5472           - many comments and notes on dparam implementation
5473           - new dparams are were not initialized to the default value
5474             from param spec
5475
5476 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5477
5478         submitted by: Peter Astakhov
5479
5480         * po/LINGUAS:
5481         * po/ru.po:
5482           adding Russian translation
5483
5484 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5485
5486         * configure.ac:
5487         * docs/gst/Makefile.am:
5488         * docs/libs/Makefile.am:
5489           make sure popt is added to gtk-doc flags.  Fixes #147782.
5490
5491 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5492
5493         * docs/faq/using.xml:
5494           Fix typo in FAQ (artssink => artsdsink)
5495
5496 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5497
5498         * tools/gst-launch.1.in:
5499           Fix typo (#166699).
5500
5501 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5502
5503         * docs/faq/using.xml:
5504           Add -v argument to fakesrc/fakesink gst-launch line,
5505           so that the promised output will actually show up.
5506
5507 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5508
5509         * gst/gstthread.c: (gst_thread_change_state):
5510           Implement state-change error handling (#166073).
5511
5512 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5513
5514         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5515           Release interrupt after handling (#166250).
5516
5517 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5518
5519         * configure.ac:
5520           back to HEAD
5521
5522 === release 0.8.9 ===
5523
5524 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5525
5526         * NEWS:
5527         * RELEASE:
5528         * configure.ac:
5529           releasing 0.8.9, "Like Eating Glass"
5530
5531 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5532
5533         submitted by: Clytie Siddall
5534
5535         * po/vi.po: Added Vietnamese translation
5536
5537 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5538
5539         patch by: Tim Philipp-Müller
5540
5541         * configure.ac:
5542         * gst/gstpad.c:
5543           unref data when probe function returns FALSE.  Fixes #166362
5544
5545 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5546
5547         * gst/gst.c: (gst_init_get_popt_table):
5548           Fix typo (#166269).
5549
5550 2005-02-04  Andy Wingo  <wingo@pobox.com>
5551
5552         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5553         the debugging on whether the caps are compatible.
5554
5555 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5556
5557         * docs/manual/basics-elements.xml:
5558           Fix two typos.
5559
5560 2005-02-02  Wim Taymans  <wim@fluendo.com>
5561
5562         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5563         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5564         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5565         Remove some FIXMEs after analysing and commenting why they
5566         are not issues.
5567
5568 2005-02-02  Wim Taymans  <wim@fluendo.com>
5569
5570         * gst/schedulers/gstoptimalscheduler.c:
5571         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5572         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5573         (get_invalid_call), (chain_invalid_call),
5574         (get_group_schedule_function), (loop_group_schedule_function),
5575         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5576         (gst_opt_scheduler_state_transition),
5577         (gst_opt_scheduler_add_element),
5578         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5579         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5580         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5581         (gst_opt_scheduler_show):
5582         Added lock to protect scheduler data structures.
5583
5584 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5585
5586         * testsuite/threads/threadi.c: (cb_data):
5587           Fix buglet in test.
5588
5589 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5590
5591         * testsuite/threads/Makefile.am:
5592         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5593           On Wim's request, split the test in three separately-compiled
5594           tests that each test a very specific bug. Two of them still fail,
5595           will create bugs for those. threadi.c indicates why they fail.
5596
5597 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5598
5599         * gst/schedulers/gstoptimalscheduler.c:
5600         (get_group_schedule_function):
5601           Try to work with the threading mess that queue_link is.
5602
5603 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5604
5605         * gst/gstbin.c: (gst_bin_remove_func):
5606           Explicitely make an element release locks in a group when being
5607           remove from a bin.
5608         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5609           If there's no scheduler, always return immediately (similar to
5610           gst_element_interrupt).
5611
5612 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5613
5614         * gst/gstbin.c: (gst_bin_child_state_change_func):
5615           Remove a piece of code that could never be reached.
5616         * docs/gst/gstreamer-sections.txt:
5617         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5618         (gst_pad_call_get_function):
5619         * gst/gstpad.h:
5620         * testsuite/pad/Makefile.am:
5621           Fix #150546, enable tests.
5622
5623 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5624
5625         * docs/pwg/advanced-types.xml:
5626           Fix description for buffer-frames=0.
5627         * docs/gst/tmpl/gstbin.sgml:
5628         * gst/gstbin.c: (gst_bin_child_state_change_func),
5629         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5630         * gst/gstbin.h:
5631         * testsuite/threads/Makefile.am:
5632         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5633         (cb_state), (cb_play), (main):
5634           Fix non-recursive state changes to *really* change the state
5635           of the object, and not just call parent_class->state_change.
5636           Fix a lot of lockups caused by this. Fixes #132775. Add test
5637           for the problem. Also enable test to show #142588 (fixed).
5638         * gst/gstthread.c: (gst_thread_change_state),
5639         (gst_thread_child_state_change):
5640           Don't exit the thread if we go to NULL and are inside thread
5641           context. Instead, return control to the main thread context
5642           and exit from there.
5643         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5644           Don't unset virtual functions, since those may still be used.
5645           That's not necessarily correct, but suffices for now.
5646         * configure.ac:
5647         * testsuite/Makefile.am:
5648         * testsuite/pad/Makefile.am:
5649         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5650         (gst_test_sink_base_init), (gst_test_sink_chain),
5651         (gst_test_sink_init), (main):
5652         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5653         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5654         (main):
5655         * testsuite/pad/link.c: (gst_test_element_class_init),
5656         (gst_test_element_base_init), (gst_test_src_get),
5657         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5658         (gst_test_filter_loop), (gst_test_filter_init),
5659         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5660         (cb_error), (main):
5661           Add tests to show #150546. Pass, but should fail (currently
5662           disabled from the testsuite).
5663         * gst/gstscheduler.c: (gst_scheduler_dispose):
5664           Dereference child schedulers on dispose (#94464).
5665         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5666           Fix typo.
5667         * testsuite/threads/thread.c: (main):
5668           Add more debug.
5669
5670 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5671
5672         * gst/gstpad.c: (gst_pad_push):
5673           Oops, revert previous commit, broke testsuite...
5674
5675 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5676
5677         * gst/gstpad.c: (gst_pad_push):
5678           Add check that the pad on which the push is performed is not a
5679           get-based pad (#150546).
5680
5681 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5682
5683         * gst/elements/gsttypefindelement.c:
5684         (gst_type_find_element_handle_event):
5685           Fix buffer pushing if stream EOSes during typefinding.
5686
5687 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5688
5689         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5690
5691         * gst/gstvalue.c: (gst_string_wrap):
5692           Allow NULL-strings as argument (#165365).
5693
5694 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5695
5696         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5697
5698         * gst/schedulers/faircothreads.c:
5699         (gst_fair_scheduler_cothread_queue_show):
5700           Fix build without debug enabled.
5701
5702 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5703
5704         * docs/gst/gstreamer-sections.txt:
5705         * docs/libs/gstreamer-libs-docs.sgml:
5706         * docs/libs/gstreamer-libs-sections.txt:
5707         * docs/libs/tmpl/gstcontrol.sgml:
5708         * docs/libs/tmpl/gstdparam.sgml:
5709         * docs/libs/tmpl/gstdplinint.sgml:
5710         * docs/libs/tmpl/gstdpman.sgml:
5711         * docs/libs/tmpl/gstdpsmooth.sgml:
5712         * docs/libs/tmpl/gstputbits.sgml:
5713         * docs/libs/tmpl/gstunitconvert.sgml:
5714         * libs/gst/control/dparam.c:
5715         * libs/gst/control/dparam.h:
5716         * libs/gst/control/dparammanager.c:
5717         (gst_dpman_add_required_dparam_callback),
5718         (gst_dpman_add_required_dparam_direct),
5719         (gst_dpman_add_required_dparam_array),
5720         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5721         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5722         (gst_dpman_get_manager)
5723           restructured DParam docs
5724
5725 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5726
5727         * gst-element-check.m4:
5728           Only check for gst-inspect if we haven't already
5729           found it in previous element check runs
5730
5731 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5732
5733         * docs/gst/Makefile.am:
5734         * docs/libs/Makefile.am:
5735           fixed install rules to treat style.css as optional
5736
5737 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5738
5739         * docs/gst/Makefile.am:
5740         * docs/libs/Makefile.am:
5741           install style.css along with docs
5742         * docs/gst/tmpl/gstbin.sgml:
5743         * docs/gst/tmpl/gstclock.sgml:
5744         * docs/gst/tmpl/gstdata.sgml:
5745         * docs/gst/tmpl/gstelement.sgml:
5746         * gst/gstbin.h:
5747         * gst/gstelement.c: (gst_element_class_init):
5748         * gst/gstelement.h:
5749           fixing incomplete docs
5750
5751 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5752
5753         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5754           Don't unref seek event twice when fflush() fails
5755           
5756 2005-01-22  David Schleef  <ds@schleef.org>
5757
5758         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5759
5760 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5761
5762         * docs/gst/Makefile.am:
5763         * docs/libs/Makefile.am:
5764           added params for deprecation guards
5765         * gst/gst.c:
5766         * gst/gst.h:
5767         * gst/gsterror.c: (_gst_resource_errors_init),
5768         (_gst_stream_errors_init):
5769         * gst/gsterror.h:
5770           documented some more enums
5771
5772 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5773         * gst/autoplug/gstspideridentity.c:
5774         Cosmetic fix - spider_find_peek should be static
5775         * gst/parse/parse.l:
5776         Applying fix for #164261
5777
5778 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5779
5780         * docs/gst/gstreamer-sections.txt:
5781         * docs/gst/tmpl/gstplugin.sgml:
5782         * docs/libs/gstreamer-libs-sections.txt:
5783         * docs/libs/tmpl/gstcontrol.sgml:
5784         * gst/gstbuffer.h:
5785         * gst/gsttag.h:
5786         * gst/gstvalue.c:
5787           added docs for the TAG defines
5788
5789 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5790
5791         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5792           Only unref entry if there is an entry.
5793
5794 2005-01-17  Wim Taymans  <wim@fluendo.com>
5795
5796         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5797         (remove_from_group), (schedule_group), (normalize_group),
5798         (gst_opt_scheduler_iterate):
5799         Also ref/unref decoupled elements before iterating the
5800         group since they are not added to the list of elements.
5801
5802 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5803
5804         * docs/manual/highlevel-components.xml:
5805           Add subtitle/streamselection as new features to playbin.
5806
5807 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5808
5809         * docs/manual/manual.xml:
5810           Re-enable dataaccess docs (oops).
5811
5812 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5813
5814         * docs/pwg/advanced-types.xml:
5815         * docs/random/mimetypes:
5816           Add documentation on libsndfile types (#163309), by Steve Baker
5817           <steve@stevebaker.org>.
5818         * gst/gstelement.c: (gst_element_release_request_pad):
5819           If an element has no explicit function, just remove the pad.
5820
5821 2005-01-17  Luca Ognibene  <luogni@tin.it>
5822
5823         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5824
5825         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5826           Fix memleak (#163801).
5827
5828 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5829
5830         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5831           I think this is actually more correct...
5832
5833 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5834
5835         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5836           Another workaround for memory access while destroyed in callback.
5837           Please, someone with refcount knowledge, have a look at this.
5838
5839 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5840
5841         * docs/faq/faq.xml:
5842         * docs/faq/legal.xml:
5843           move the legal Q&A here
5844
5845 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5846
5847         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5848         (gst_tee_request_new_pad):
5849           Fix negotiation.
5850
5851 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5852
5853         * docs/random/omega/caps2:
5854         * testsuite/caps/caps_strings:
5855           replace framerate aproximations by their real value
5856           (24000/1001, 30000/1001, 60000/1001)
5857           Partially fixes bug #164049
5858
5859 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5860
5861         * docs/gst/Makefile.am:
5862           don't fail on the stupid GstPoptOption
5863
5864 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5865
5866         * gst/gstpad.h:
5867         * gst/gstprobe.c:
5868           allow probes to work on ghost pads by realizing the pad
5869           probe debugging
5870
5871 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5872
5873         * docs/gst/gstreamer-sections.txt:
5874         * docs/gst/tmpl/gstpad.sgml:
5875         * gst/gstpad.c: (gst_pad_set_active_recursive):
5876         * gst/gstpad.h:
5877           Add gst_pad_set_active_recursive().
5878
5879 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5880
5881         * docs/random/release:
5882           updates
5883         * gst/gst_private.h:
5884         * gst/gstinfo.c:
5885         * gst/gstobject.c:
5886           move deep_notify logging to a new category
5887         * gst/gstprobe.c:
5888         * gst/gstprobe.h:
5889           add stuff so bindings can wrap probes
5890
5891 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5892
5893         * gst/gstplugin.c: (gst_plugin_load):
5894           Fix plugin loading if plugin/lib was already loaded. Fixes
5895           #163383
5896
5897 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5898
5899         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5900
5901         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5902           Protect plugin loading by a mutex so it's threadsafe. Fixes
5903           #163234.
5904
5905 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5906
5907         * gst/gstevent.c: (_gst_event_copy):
5908           Reference source object when copying events, since it'll be
5909           dereferenced on event dereferencing as well.
5910
5911 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5912
5913         * docs/gst/gstreamer-sections.txt:
5914         * docs/gst/tmpl/gstevent.sgml:
5915         * gst/gstevent.c: (gst_event_new_filler_stamped),
5916         (gst_event_filler_get_duration):
5917         * gst/gstevent.h:
5918           Add two new functions for filler events (which are used to
5919           synchronize streams if one of them is not having any data
5920           for a while) without interrupting the actual data-stream.
5921           Basically a no-op.
5922         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5923         (gst_queue_link_sink), (gst_queue_link_src),
5924         (gst_queue_change_state):
5925           Allow for renegotiation while filled. Required for stream
5926           switching while playing.
5927
5928 2005-01-08  Benjamin Otte  <otte@gnome.org>
5929
5930         * gst/gstelement.c: (gst_element_link_many):
5931           fix up g_return_if_fail's
5932         * po/LINGUAS:
5933         * po/de.po:
5934           add German translation, that was somehow not included
5935
5936 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5937
5938         * docs/random/mimetypes:
5939           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5940           do not add them to riff-lib as they are not common
5941
5942 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5943
5944         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5945           Check for existence of probe after performing the probe before
5946           re-accessing it to prevent segfaults caused by removal of the
5947           probe in the callback.
5948
5949 2005-01-05  David Schleef  <ds@schleef.org>
5950
5951         * testsuite/registry/Makefile.am:
5952         * testsuite/registry/gst-print-formats.c:
5953         (print_pad_templates_info), (print_element_list),
5954         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5955         (g_list_uniqify), (get_pad_templates_info),
5956         (get_element_mime_list), (print_mime_list), (main): A little
5957         program that looks through the registry to find elements of
5958         a given type.  Not particularly interesting as a test, except
5959         that there's no other test covering the same area.
5960
5961 2005-01-05  David Schleef  <ds@schleef.org>
5962
5963         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5964         (fault_handler_sigaction), (fault_spin),
5965         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5966         in signal.h-type signal handlers by not calling forbidden functions,
5967         including gst_element_set_state().
5968
5969 2005-01-05  David Schleef  <ds@schleef.org>
5970
5971         * gst/gstvalue.h: Mark _gst_reserved[] as private
5972
5973 2005-01-05  David Schleef  <ds@schleef.org>
5974
5975         * gst/gstvalue.c: Fix doc build problem.
5976
5977 2005-01-05  David Schleef  <ds@schleef.org>
5978
5979         * gst/gstvalue.c: Add some documentation
5980
5981 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5982
5983         * docs/README:
5984           another shell oneliner for empty return value docs
5985         * gst/gstcaps.c:
5986         * gst/gstvalue.c:
5987         * libs/gst/control/dparam.c:
5988           more doc fixes (parameters and return values)
5989
5990 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5991
5992         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5993
5994         * gst/gstregistry.h:
5995         * gst/registries/gstxmlregistry.c:
5996           Fix macro's for Mingw (fixes #162276).
5997
5998 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5999
6000         * docs/README:
6001           quick shell oneliner to find undocumented members
6002         * docs/gst/tmpl/gstplugin.sgml:
6003         * docs/gst/tmpl/gstscheduler.sgml:
6004         * docs/gst/tmpl/gstthread.sgml:
6005           more enumtypes cleanup
6006         * gst/gsterror.h:
6007           activated documentation comments, now someone needs to document
6008           the enums :(
6009
6010 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6011
6012         * docs/manual/manual.xml:
6013           Add dataaccess part (doh!).
6014
6015 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6016
6017         * docs/manual/advanced-autoplugging.xml:
6018           Fix typo (intiate -> initiate).
6019
6020 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6021
6022         * docs/random/bbb/streamselection:
6023           Add some notes on how to handle multi-subtitle/-audio streams.
6024
6025 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6026
6027         * docs/gst/gstreamer-docs.sgml:
6028         * docs/gst/gstreamer-sections.txt:
6029         * docs/gst/tmpl/gstenumtypes.sgml:
6030         * docs/gst/tmpl/gsterror.sgml:
6031         * docs/gst/tmpl/gstevent.sgml:
6032         * docs/gst/tmpl/gstpad.sgml:
6033         * docs/gst/tmpl/gstpadtemplate.sgml:
6034         * docs/gst/tmpl/gstthread.sgml:
6035           removed gstenumtypes section from docs and put all the enums into
6036           their sections
6037
6038 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6039
6040         * gst/gstplugin.c:
6041           document gst_library_load a bit more (riff special case + return
6042           value if already loaded)
6043         * testsuite/bytestream/filepadsink.c:
6044           plugin name is 'gstbytestream', not 'bytestream'
6045
6046 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6047
6048         * docs/random/bbb/subtitles:
6049           Add some first mind rumblings on proper subtitle support.
6050
6051 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6052
6053         * po/ca.po:
6054         * po/sv.po:
6055           updated translations
6056
6057 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6058
6059         * docs/manual/advanced-dataaccess.xml:
6060           Add section on how to use fakesrc/fakesink/identity in your
6061           application, plus section on how to embed plugins. Also mention
6062           probes.
6063         * docs/manual/appendix-checklist.xml:
6064         * docs/manual/appendix-debugging.xml:
6065         * docs/manual/appendix-gnome.xml:
6066         * docs/manual/appendix-integration.xml:
6067           Debug -> checklist, GNOME -> integration, add sections on Linux,
6068           KDE integration and add other things useful for application
6069           development.
6070         * docs/manual/manual.xml:
6071           Remove some fixmes, update some file pointers.
6072         * docs/pwg/appendix-checklist.xml:
6073           Fix typo.
6074         * docs/pwg/building-boiler.xml:
6075           Remove ugly header and add commented fixme.
6076         * docs/pwg/pwg.xml:
6077           Add fixme.
6078         * examples/manual/Makefile.am:
6079           Add example for added docs.
6080
6081 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6082
6083         * configure.ac:
6084           back to HEAD
6085
6086 === release 0.8.8 ===
6087
6088 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6089
6090         * NEWS:
6091         * RELEASE:
6092         * configure.ac:
6093           Releasing 0.8.8, "I'll Take Care Of You"
6094
6095 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6096
6097         * configure.ac:
6098           second prerelease
6099
6100 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6101
6102         patch by: Wim Taymans
6103
6104         * gst/gstbin.c:
6105           Fix for #159852 - make iterate emission threadsafe
6106
6107 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6108
6109         * docs/faq/cvs.xml:
6110           notes about new fdo account request
6111
6112 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6113
6114         * docs/gst/gstreamer-docs.sgml:
6115         * docs/gst/tmpl/gstenumtypes.sgml:
6116         * docs/gst/tmpl/gstplugin.sgml:
6117         * docs/libs/gstreamer-libs-docs.sgml:
6118           Added missing short docs. Added ids for navigation.
6119
6120 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6121
6122         * docs/manual/advanced-autoplugging.xml:
6123         * docs/manual/advanced-schedulers.xml:
6124         * docs/manual/advanced-threads.xml:
6125           Rewrites. Remove cothreads, go a bit into opt specifically,
6126           document threads and their gotchas, and do some technical stuff
6127           on autoplugging plus add some working examples. Fixes #157395.
6128         * examples/manual/Makefile.am:
6129           Add typefind/autoplugger example (one that actually works).
6130           Remove queue example since it's a duplicate of the thread one.
6131
6132 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6133
6134         * gst/gstvalue.c: (gst_value_deserialize_string):
6135           use deprecated g_value_set_string_take_ownership to keep compatible
6136           with glib 2.2
6137
6138 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6139
6140         * gst/gstvalue.c: (gst_value_deserialize_string):
6141           revert last patch, only dom a g_utf8_validate now before accepting
6142           the string - caps parsing strips " from strings so we can't rely on
6143           them
6144         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6145           disable a test that tested the above and comment it
6146
6147 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6148
6149         Patch reviewed by David Schleef  <ds@schleef.org>
6150
6151         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6152         bug #153882)
6153         * win32/gstenumtypes.h: same
6154
6155 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6156
6157         * gst/gstpad.c: (gst_pad_query):
6158           Do query on realized pad, similar to how convert/send_event handle
6159           this. Also makes sense, since this pad belongs to the function to
6160           which this query will be sent. Fixes #158163.
6161
6162 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6163
6164         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6165
6166 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6167
6168         * docs/faq/general.xml: fix pipeline to actually work
6169
6170 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6171
6172         * gst/gstvalue.c: (gst_value_deserialize_string):
6173           check that a simple string that gets deserialized does not contain
6174           invalid characters
6175         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6176           remove a test that tested a wring behaviour
6177
6178 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6179
6180         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6181
6182         * docs/manual/intro-motivation.xml:
6183           Fix typos.
6184
6185 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6186
6187         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6188
6189         * docs/gst/tmpl/gstprobe.sgml:
6190           Fix documentation of probe callback - it is supposed to return
6191           FALSE, not TRUE, to remove data from the stream (#159087).
6192
6193 2004-12-16  Daniel Gazard  <dany42@free.fr>
6194
6195         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6196
6197         * gst/gstelementfactory.c: (gst_element_factory_create):
6198           Fix compile failure if compiling without libxml2 support (#149936).
6199
6200 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6201
6202         * docs/manual/advanced-autoplugging.xml:
6203         * docs/manual/highlevel-components.xml:
6204           Move spider from autoplugging to components. Autoplugging is for
6205           internals, not for solutions. ;-).
6206
6207 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6208
6209         * docs/random/ds/0.9-suggested-changes:
6210           Make note on device/location/uri property names.
6211
6212 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6213
6214         * docs/manual/advanced-autoplugging.xml:
6215         * docs/manual/advanced-clocks.xml:
6216         * docs/manual/advanced-interfaces.xml:
6217         * docs/manual/advanced-metadata.xml:
6218         * docs/manual/advanced-position.xml:
6219         * docs/manual/advanced-schedulers.xml:
6220         * docs/manual/advanced-threads.xml:
6221         * docs/manual/appendix-gnome.xml:
6222         * docs/manual/appendix-programs.xml:
6223         * docs/manual/appendix-quotes.xml:
6224         * docs/manual/autoplugging.xml:
6225         * docs/manual/basics-bins.xml:
6226         * docs/manual/basics-data.xml:
6227         * docs/manual/basics-elements.xml:
6228         * docs/manual/basics-helloworld.xml:
6229         * docs/manual/basics-init.xml:
6230         * docs/manual/basics-pads.xml:
6231         * docs/manual/basics-plugins.xml:
6232         * docs/manual/bins-api.xml:
6233         * docs/manual/bins.xml:
6234         * docs/manual/buffers-api.xml:
6235         * docs/manual/buffers.xml:
6236         * docs/manual/clocks.xml:
6237         * docs/manual/components.xml:
6238         * docs/manual/cothreads.xml:
6239         * docs/manual/debugging.xml:
6240         * docs/manual/dparams-app.xml:
6241         * docs/manual/dynamic.xml:
6242         * docs/manual/elements-api.xml:
6243         * docs/manual/elements.xml:
6244         * docs/manual/factories.xml:
6245         * docs/manual/gnome.xml:
6246         * docs/manual/goals.xml:
6247         * docs/manual/helloworld.xml:
6248         * docs/manual/helloworld2.xml:
6249         * docs/manual/highlevel-components.xml:
6250         * docs/manual/highlevel-xml.xml:
6251         * docs/manual/init-api.xml:
6252         * docs/manual/intro-basics.xml:
6253         * docs/manual/intro-motivation.xml:
6254         * docs/manual/intro-preface.xml:
6255         * docs/manual/intro.xml:
6256         * docs/manual/links-api.xml:
6257         * docs/manual/links.xml:
6258         * docs/manual/manual.xml:
6259         * docs/manual/motivation.xml:
6260         * docs/manual/pads-api.xml:
6261         * docs/manual/pads.xml:
6262         * docs/manual/plugins-api.xml:
6263         * docs/manual/plugins.xml:
6264         * docs/manual/programs.xml:
6265         * docs/manual/queues.xml:
6266         * docs/manual/quotes.xml:
6267         * docs/manual/schedulers.xml:
6268         * docs/manual/states-api.xml:
6269         * docs/manual/states.xml:
6270         * docs/manual/threads.xml:
6271         * docs/manual/typedetection.xml:
6272         * docs/manual/win32.xml:
6273         * docs/manual/xml.xml:
6274           Try 2. This time, include a short preface as a "general
6275           introduction", also add code blocks around all code samples
6276           so they get compiled. We still need a way to tell readers
6277           the filename of the code sample. In some cases, don't show
6278           all code in the documentation, but do include it in the generated
6279           code. This allows for focussing on specific bits in the docs,
6280           while still having a full test application available.
6281         * examples/manual/Makefile.am:
6282           Fix up examples for new ADM. Add several of the new examples that
6283           were either added or were missing from the build system.
6284         * examples/manual/extract.pl:
6285           Allow nameless blocks.
6286
6287 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6288
6289         * docs/manual/elements-api.xml:
6290         * docs/manual/helloworld.xml:
6291         * examples/manual/extract.pl:
6292           fix last example.  Add example of adding code blocks that are not
6293           shown in docbook output.
6294
6295 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6296
6297         * docs/manual/dynamic.xml:
6298         * docs/manual/elements-api.xml:
6299         * docs/manual/gnome.xml:
6300         * docs/manual/helloworld2.xml:
6301         * docs/manual/init-api.xml:
6302         * docs/manual/queues.xml:
6303         * docs/manual/threads.xml:
6304         * docs/manual/xml.xml:
6305         * examples/manual/extract.pl:
6306           Make it possible to extract example code from separate blocks.
6307           Should make Ronald happy.
6308
6309 2004-12-15  Wim Taymans  <wim@fluendo.com>
6310
6311         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6312         (remove_from_group), (group_elements_set_visited),
6313         (normalize_group), (gst_opt_scheduler_iterate):
6314         Fix bug where a flag was not updated on a decoupled entry point 
6315         because we were just checking the group element list and decoupled
6316         elements are not in that list..
6317
6318 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6319
6320         * docs/manual/advanced-autoplugging.xml:
6321         * docs/manual/advanced-clocks.xml:
6322         * docs/manual/advanced-dparams.xml:
6323         * docs/manual/advanced-interfaces.xml:
6324         * docs/manual/advanced-metadata.xml:
6325         * docs/manual/advanced-position.xml:
6326         * docs/manual/advanced-schedulers.xml:
6327         * docs/manual/advanced-threads.xml:
6328         * docs/manual/appendix-debugging.xml:
6329         * docs/manual/appendix-gnome.xml:
6330         * docs/manual/appendix-programs.xml:
6331         * docs/manual/appendix-quotes.xml:
6332         * docs/manual/appendix-win32.xml:
6333         * docs/manual/autoplugging.xml:
6334         * docs/manual/basics-bins.xml:
6335         * docs/manual/basics-data.xml:
6336         * docs/manual/basics-elements.xml:
6337         * docs/manual/basics-helloworld.xml:
6338         * docs/manual/basics-init.xml:
6339         * docs/manual/basics-pads.xml:
6340         * docs/manual/basics-plugins.xml:
6341         * docs/manual/bins-api.xml:
6342         * docs/manual/bins.xml:
6343         * docs/manual/buffers-api.xml:
6344         * docs/manual/buffers.xml:
6345         * docs/manual/clocks.xml:
6346         * docs/manual/components.xml:
6347         * docs/manual/cothreads.xml:
6348         * docs/manual/debugging.xml:
6349         * docs/manual/dparams-app.xml:
6350         * docs/manual/dynamic.xml:
6351         * docs/manual/elements-api.xml:
6352         * docs/manual/elements.xml:
6353         * docs/manual/factories.xml:
6354         * docs/manual/gnome.xml:
6355         * docs/manual/goals.xml:
6356         * docs/manual/helloworld.xml:
6357         * docs/manual/helloworld2.xml:
6358         * docs/manual/highlevel-components.xml:
6359         * docs/manual/highlevel-xml.xml:
6360         * docs/manual/init-api.xml:
6361         * docs/manual/intro-motivation.xml:
6362         * docs/manual/intro-preface.xml:
6363         * docs/manual/intro.xml:
6364         * docs/manual/links-api.xml:
6365         * docs/manual/links.xml:
6366         * docs/manual/manual.xml:
6367         * docs/manual/motivation.xml:
6368         * docs/manual/pads-api.xml:
6369         * docs/manual/pads.xml:
6370         * docs/manual/plugins-api.xml:
6371         * docs/manual/plugins.xml:
6372         * docs/manual/programs.xml:
6373         * docs/manual/queues.xml:
6374         * docs/manual/quotes.xml:
6375         * docs/manual/schedulers.xml:
6376         * docs/manual/states-api.xml:
6377         * docs/manual/states.xml:
6378         * docs/manual/threads.xml:
6379         * docs/manual/typedetection.xml:
6380         * docs/manual/win32.xml:
6381         * docs/manual/xml.xml:
6382           First try at rewriting the ADM. Needs lotsamore work, but some
6383           parts might already be somewhat useful.
6384         * docs/pwg/advanced-interfaces.xml:
6385           Remove properties interface, it never actually existed (except for
6386           on my HD...).
6387
6388 2004-12-13  David Schleef  <ds@schleef.org>
6389
6390         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6391         be NULL (bug #160220).
6392
6393 2004-12-13  David Schleef  <ds@schleef.org>
6394
6395         * configure.ac: remove all mmx stuff, because it's not used.
6396         * docs/random/ds/0.9-suggested-changes: additional notes
6397         * include/Makefile.am: we don't use these anymore
6398         * include/mmx.h: remove
6399         * include/sse.h: remove
6400
6401 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6402
6403         * docs/random/mimetypes:
6404           Add FOURCC code for h264 codec (VSSH)
6405           Add alternate FOURCC codes for h263 related codecs
6406
6407 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6408
6409         * docs/manual/programs.xml:
6410           Added more gst-launch examples.
6411
6412 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6413
6414         * gst/gstqueue.c: (gst_queue_handle_src_query):
6415           Check for availability again.
6416
6417 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6418
6419         * gst/gstcaps.c: (gst_caps_compare_structures):
6420           Simple caps go first. This has the nice side-effect of fixing an
6421           obscure warning.
6422
6423 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6424
6425         * gst/gstversion.h.in:
6426           Protect header.
6427
6428 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6429
6430         * gst/schedulers/gstoptimalscheduler.c:
6431         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6432         (gst_opt_scheduler_get_wrapper):
6433           When we're recursing into a chain run, only run the directly
6434           related group, not all queued ones. This will fix a possible
6435           deadlock in chains with more than two groups.
6436
6437 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6438
6439         * autogen.sh:
6440           remove patch if autopoint fails
6441
6442 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6443
6444         * docs/gst/gstreamer-sections.txt:
6445           Document Thomas' addition, fix build, make Luis the sheriff happy.
6446
6447 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6448
6449         * gst/gstplugin.c:
6450         * gst/gstplugin.h:
6451           add accessor for version field
6452
6453 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6454
6455         submitted by: Luca Ferretti <elle.uca@infinito.it>
6456
6457         * po/LINGUAS:
6458         * po/it.po:
6459           New tranlation added: Italian
6460
6461 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6462
6463         * gst/gstpad.c: (gst_pad_is_negotiated),
6464         (gst_pad_get_negotiated_caps):
6465           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6466           it doesn't actually check the contents), so be sure to hand it
6467           a RealPad else we'll crash.
6468
6469 2004-12-03  Wim Taymans  <wim@fluendo.com>
6470
6471         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6472         (gst_queue_link), (gst_queue_handle_src_query):
6473         Reverted to 1.110 until this makes the testsuite and various
6474         apps work.
6475
6476 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6477
6478         * docs/upload.mak: fix included CVS conflict strings
6479
6480 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6481
6482         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6483
6484         * gst/gstelement.c: (gst_element_error_full):
6485           Use g_error_new_literal because error text may have
6486           percentage signs in it. Fixes #160019.
6487
6488 2004-12-01  Benjamin Otte  <otte@gnome.org>
6489
6490         * gst/elements/gstbufferstore.c:
6491         (gst_buffer_store_add_buffer_func):
6492           don't try to make subbuffers bigger than they can be. (fixes
6493           #159970)
6494
6495 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6496
6497         * docs/gst/gstreamer-sections.txt:
6498         * docs/gst/tmpl/gstvalue.sgml:
6499           Add new function to docs to fix build.
6500
6501 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6502
6503         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6504         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6505         (_gst_pad_default_fixate_foreach):
6506         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6507         * gst/gstvalue.h:
6508           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6509           in some cases (arrays), the fixedness depends on the content.
6510         * gst/gstqueue.c: (gst_queue_handle_src_query):
6511           Check for availability before doing something.
6512
6513 2004-11-29  Wim Taymans  <wim@fluendo.com>
6514
6515         * testsuite/threads/Makefile.am:
6516         * testsuite/threads/signals.c: (gst_test_get_type),
6517         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6518         (gst_test_set_property), (gst_test_get_property),
6519         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6520         (gst_test_do_prop), (run_thread), (main):
6521         Added a bunch of testcases that show threadsafety bugs in glib.
6522
6523 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6524
6525         * docs/manual/programs.xml:
6526           Added a first batch of gst-launch examples, as provided by Ronald
6527           and others from the devel-mlist
6528
6529 2004-11-28  Benjamin Otte  <otte@gnome.org>
6530
6531         * gst/gstelement.c: (gst_element_negotiate_pads):
6532           simplify
6533         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6534         (gst_value_serialize_string), (gst_value_deserialize_string):
6535           add unwrapping of previously wrapped strings. Fix bug in wrapping
6536           while at it.
6537         * testsuite/caps/value_serialize.c: (test1),
6538         (test_string_serialization), (test_string_deserialization), (main):
6539           add tests for string (de)serialization
6540
6541 2004-11-26  Wim Taymans  <wim@fluendo.com>
6542
6543         * testsuite/threads/159566.c: (object_deep_notify), (main):
6544         * testsuite/threads/Makefile.am:
6545         Added testsuite to show bug #159566
6546
6547 2004-11-25  Wim Taymans  <wim@fluendo.com>
6548
6549         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6550         (gst_thread_child_state_change), (gst_thread_main_loop):
6551         Ref the thread object in the GThread mainloop. Break out of the
6552         thread mainloop if it holds the last ref. This properly exits
6553         the threads when disposing the thread from its own context. It
6554         also avoids possible deadlocks in the dispose function.
6555
6556 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6557
6558         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6559         it is necessary to wait.
6560
6561 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6562
6563         * docs/pwg/building-boiler.xml:
6564           Make description somewhat clearer.
6565
6566 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6567
6568         * docs/upload.mak:
6569           Apparently docs changed location on FDO's server.
6570
6571 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6572
6573         * docs/pwg/appendix-checklist.xml:
6574           Add some random notes on things to check when writing an element.
6575           This list can be extended as people see fit.
6576
6577 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6578
6579         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6580         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6581         pad. The queue will now wait until it is empty and forward the new
6582         caps to the source.
6583         * gst/gstbin.c (gst_bin_set_element_sched)
6584         (gst_bin_unset_element_sched): Make sure that all elements and
6585         links are registered and unregistered with the scheduler exactly
6586         once. This elaborates on a fix by Benjamin Otte, but
6587         guarantees that decoupled elements are also registered.
6588
6589 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6590
6591         * docs/manual/quotes.xml:
6592           add a quote
6593         * configure.ac:
6594         * gst/gst.c:
6595         * gst/gstinfo.c:
6596           add LIBDIR and move init message higher up so it's at the start
6597
6598 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6599
6600         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6601         * gstreamer.spec.in: add fair
6602
6603 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6604
6605         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6606         * gst/elements/gstidentity.c: (gst_identity_class_init):
6607           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6608           <teuf@gnome.org> (#157263).
6609         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6610         (gst_type_find_handle_src_query):
6611           Subtract size of internally stored data from position queries.
6612
6613 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6614
6615         * gst/schedulers/fairscheduler.c:
6616         * gst/schedulers/faircothreads.c:
6617         * gst/schedulers/faircothreads.h:
6618         New cothread based scheduler: Fair scheduler.
6619         * gst/schedulers/gthread-cothreads.h: 
6620         Add the standard #if around the whole file.
6621         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6622         compilation of the functions defined in this file. This is
6623         necessary to be able to use this file as a normal header.
6624         * gst/schedulers/Makefile.am: Add compiling support for fair
6625         scheduler.
6626         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6627         scheduler cothreads layer from documentation generation.
6628
6629 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6630
6631         * gst/autoplug/gstspideridentity.c:
6632         (gst_spider_identity_sink_loop_type_finding):
6633           Don't crash if that function is not implemented.
6634
6635 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6636
6637         * docs/pwg/advanced-types.xml:
6638           Another typo.
6639
6640 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6641
6642         * docs/pwg/intro-preface.xml:
6643           Hm, ok, so the brackets weren't really useful...
6644         * docs/pwg/other-ntoone.xml:
6645           Fix embarassing typo.
6646
6647 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6648
6649         * docs/pwg/intro-preface.xml:
6650           Rewrite preface.
6651
6652 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6653
6654         * docs/pwg/advanced-scheduling.xml:
6655         * docs/pwg/advanced-tagging.xml:
6656         * docs/pwg/advanced-types.xml:
6657         * docs/pwg/building-boiler.xml:
6658         * docs/pwg/building-chainfn.xml:
6659         * docs/pwg/building-signals.xml:
6660         * docs/pwg/building-state.xml:
6661         * docs/pwg/building-testapp.xml:
6662         * docs/pwg/intro-basics.xml:
6663         * docs/pwg/other-manager.xml:
6664         * docs/pwg/other-source.xml:
6665           Typo fixes.
6666         * docs/pwg/other-manager.xml:
6667           Add some first content. No example code yet.
6668         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6669           Remove double newlines.
6670
6671 2004-11-04  Wim Taymans  <wim@fluendo.com>
6672
6673         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6674         (remove_from_group), (normalize_group), (group_migrate_connected),
6675         (gst_opt_scheduler_iterate):
6676         * testsuite/schedulers/.cvsignore:
6677         * testsuite/schedulers/Makefile.am:
6678         * testsuite/schedulers/queue_link.c: (main):
6679         Added testcase for scheduler segfault.
6680         Fix scheduler segfault when removing a decoupled
6681         entry point as the last element from a group.
6682
6683 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6684
6685         * gst/gstmarshal.list: add missing marshaller, fixes build
6686
6687 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6688
6689         * docs/random/signal: added notes about using BOXED for GstBuffer
6690         signal marshallers, not POINTER
6691
6692 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6693
6694         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6695         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6696         POINTER=>BOXED changes to marshal GstBuffers
6697
6698 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6699
6700         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6701         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6702
6703 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6704
6705         * docs/gst/gstreamer-sections.txt:
6706         * docs/gst/tmpl/gstcaps.sgml:
6707         * docs/gst/tmpl/gsterror.sgml:
6708         * docs/gst/tmpl/gstinfo.sgml:
6709         * docs/gst/tmpl/gstmacros.sgml:
6710         * docs/gst/tmpl/gstutils.sgml:
6711         * docs/random/ensonic/interfaces.txt:
6712         * gst/gstinfo.h:
6713           added some more docs, removed two obsolete defines
6714
6715 2004-11-02  Kjartan Maraas <as at gnome.org>
6716
6717         reviewed by: Wim Taymans, Ronald Bultje.
6718
6719         * gst/cothreads.c: (cothread_create):
6720         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6721         (gst_bin_child_state_change_func):
6722         * gst/gstbuffer.c: (gst_buffer_span):
6723         * gst/gstelement.c: (gst_element_get_index),
6724         (gst_element_get_event_masks), (gst_element_get_query_types),
6725         (gst_element_get_formats):
6726         * gst/gsterror.c: (_gst_core_errors_init),
6727         (_gst_library_errors_init), (_gst_resource_errors_init),
6728         (_gst_stream_errors_init):
6729         * gst/gstobject.c: (gst_object_default_deep_notify):
6730         * gst/gstpad.c: (gst_pad_get_event_masks),
6731         (gst_pad_get_internal_links_default):
6732         * gst/gstplugin.c: (gst_plugin_register_func),
6733         (gst_plugin_get_module):
6734         * gst/gststructure.c: (gst_structure_get_string),
6735         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6736         (gst_structure_to_abbr):
6737         * gst/gstutils.c: (gst_print_element_args):
6738         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6739         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6740         Aplied part of patch #157127: Cleanup of issues reported by 
6741         sparse.
6742         Also do not try to use cothreads when there is no cothread
6743         context yet.
6744
6745 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6746
6747         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6748         (gst_opt_scheduler_iterate):
6749         Applied patch #154061. Running a pipeline in which an element 
6750         calls GST_ELEMENT_ERROR in the chain function, the opt 
6751         scheduler doesn't unref the chain so it never gets freed.
6752
6753 2004-11-02  Wim Taymans  <wim@fluendo.com>
6754
6755         * gst/gststructure.c: (gst_structure_get_abbrs),
6756         (gst_structure_from_abbr), (gst_structure_to_abbr):
6757         Remove that ugly if-then thing in the code that converts
6758         between strings and types.
6759
6760 2004-11-02  Wim Taymans  <wim@fluendo.com>
6761
6762         * gst/gstscheduler.c: (gst_scheduler_add_element),
6763         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6764         Aplied clock distribution patch, this should fix bug
6765         #148787.
6766
6767 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6768
6769         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6770
6771         * po/LINGUAS:
6772         * po/nb.po:
6773           Added Norwegian Bokmaal translation
6774
6775 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6776
6777         * tools/gst-inspect.c: (print_signal_info):
6778           print signal arguments as pointers if they are
6779
6780 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6781
6782         * docs/pwg/building-boiler.xml:
6783           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6784
6785 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6786
6787         * gst/parse/parse.l:
6788         * testsuite/parse/parse1.c: (main):
6789         Since parse can do 'element name=a:b' make 'a:b.' work as
6790         well. 
6791         Added testcase to verify fix.
6792
6793 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6794
6795         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6796         Use the realpad when printing the direction.
6797         Add extra \n when printing extensions of typefind factories.
6798
6799 2004-10-13  David Schleef  <ds@schleef.org>
6800
6801         * examples/manual/Makefile.am: $< isn't portable in Makefile
6802         rules.
6803
6804 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6805
6806         * docs/gst/tmpl/gstobject.sgml:
6807         * docs/gst/tmpl/gstplugin.sgml:
6808         * docs/gst/tmpl/gstpluginfeature.sgml:
6809         * docs/gst/tmpl/gstregistry.sgml:
6810         * docs/gst/tmpl/gstversion.sgml:
6811         * gst/gstbin.c:
6812           more api documentation
6813         * gst/gstplugin.c: (gst_plugin_register_func),
6814         (gst_plugin_check_file), (gst_plugin_load_file):
6815           better error signaling and logging
6816
6817 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6818
6819         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6820           Subtract current queue contents from position queries.
6821
6822 2004-10-11  Johan Dahlin  <johan@gnome.org>
6823
6824         * gst/gsturi.c (gst_uri_get_location): unescape string
6825         (gst_uri_construct): escape string.
6826
6827 2004-10-11  Benjamin Otte  <otte@gnome.org>
6828
6829         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6830         (gst_pad_try_set_caps_nonfixed):
6831           allow renegotiation of unconnected pads (as inside spider). Simply
6832           return OK if unconnected - mimic try_set_caps there.
6833
6834 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6835
6836         * gst/gstbin.c: (gst_bin_sync_children_state):
6837           Add missing break.
6838
6839 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6840
6841         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6842         Set element to EOS before sending EOS event
6843
6844 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6845
6846         * gst/elements/gsttypefindelement.c:
6847         (gst_type_find_element_handle_event):
6848         Handle EOS events when doing the transition from
6849         typefind to data passing. This should fix the
6850         infinite loops in short files.
6851
6852 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6853
6854         * gst/gstthread.c: (gst_thread_change_state),
6855         (gst_thread_child_state_change):
6856         Make sure no iteration happens while performing
6857         the state change as it could mess up the internal
6858         consistency of the thread state.
6859
6860 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6861
6862         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6863         (gst_thread_change_state), (gst_thread_child_state_change):
6864         Do not try to grab the iterate lock in the state change method
6865         when we are in the same thread as the iterate or else we
6866         could deadlock. Some other cleanups.
6867
6868 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6869
6870         * configure.ac:
6871           bump nano to cvs
6872
6873 === release 0.8.7 ===
6874
6875 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6876
6877         * configure.ac:
6878         * NEWS:
6879         * RELEASE:
6880         * configure.ac:
6881           releasing 0.8.7, "A Cruise"
6882
6883 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6884
6885         * docs/random/mimetypes:
6886         Add an entry for Sony ATRAC3 audio format with mime-type
6887         used by rmdemux et riff-read
6888
6889 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6890
6891         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6892         Push the buffer store instead of clearing it in case that
6893         the stream is not seekable.
6894
6895 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6896
6897         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6898         (gst_thread_main_loop):
6899         Lock the iteration and the state change so that automatic
6900         negotiation and fixation does not happen at the same time
6901         as the in stream negotiation.
6902
6903 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6904
6905         * configure.ac:
6906           bump nano to cvs
6907
6908 === release 0.8.6 ===
6909
6910 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6911
6912         * configure.ac:
6913         * NEWS:
6914         * RELEASE:
6915         * configure.ac:
6916           releasing 0.8.6, "Narc"
6917
6918 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6919
6920         * configure.ac:
6921           prerel bump
6922
6923 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6924
6925         patch by: Steve Lhomme
6926
6927         * gst/elements/gstfakesrc.c:
6928         * gst/elements/gstidentity.c:
6929         * gst/gstthread.c:
6930           Fix for #153881
6931
6932 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6933
6934         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6935         Fix threadsafety of the crc checking function.
6936
6937 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6938
6939         patch by: Ronald Bultje
6940
6941         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6942         (gst_type_find_element_handle_event),
6943         (gst_type_find_element_chain):
6944         * gst/elements/gsttypefindelement.h:
6945          #153657.
6946          Filter out discont event from seekable sources when typefind
6947          asks them to seek.  Fixes typefind with demuxers for
6948          avi, asf and matroska.
6949
6950 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6951
6952         * docs/gst/gstreamer-sections.txt:
6953         * gst/gstcaps.c:
6954         * gst/gstcaps.h:
6955         * gst/gstpad.c:
6956           Revert preferred caps: (#147789)
6957
6958 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6959
6960         * win32/dirent.c:
6961           fix a memory leak
6962
6963 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6964
6965         * configure.ac:
6966           bump for prerelease
6967
6968 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6969
6970         * docs/Makefile.am:
6971         * docs/manual/elements-api.xml:
6972           restructure so that common stuff is shown first
6973         * docs/manual/init-api.xml:
6974           convert to examples
6975         * docs/manual/manual.xml:
6976         * docs/manuals.mak:
6977         * docs/url.entities:
6978           link to API on the website, possibly override later in build
6979         * examples/manual/.cvsignore:
6980           ignore more
6981         * examples/manual/Makefile.am:
6982           add more examples
6983         * examples/manual/extract.pl:
6984           error out on failure
6985
6986 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6987
6988         * docs/gst/tmpl/gstthread.sgml:
6989         * docs/manual/init-api.xml:
6990         * examples/manual/Makefile.am:
6991           convert two code bits to examples
6992
6993 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6994
6995         * gst/gstelement.c: (gst_element_change_state):
6996           Well, actually, I was about to remove this insane assert when
6997           I noticed Wim already did that. A warning is nice so we can
6998           fix actual ugs (using --g-fatal-warnings and backtraces), so
6999           I added that instead.
7000
7001 2004-09-06  Wim Taymans  <wim@fluendo.com>
7002
7003         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7004         (gst_element_threadsafe_properties_post_run),
7005         (gst_element_set_state), (gst_element_change_state):
7006         Added extra refcounting around various places. 
7007
7008 2004-09-06  Wim Taymans  <wim@fluendo.com>
7009
7010         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7011         Fix debug info.
7012
7013 2004-09-06  Wim Taymans  <wim@fluendo.com>
7014
7015         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7016         (remove_from_group):
7017         Some more debug info.
7018
7019 2004-09-03  Wim Taymans  <wim@fluendo.com>
7020
7021         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7022         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7023         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7024         (gst_fakesrc_get), (gst_fakesrc_change_state):
7025         * gst/elements/gstfakesrc.h:
7026         * gst/elements/gstidentity.c: (gst_identity_class_init),
7027         (gst_identity_init), (gst_identity_chain),
7028         (gst_identity_set_property), (gst_identity_get_property),
7029         (gst_identity_change_state):
7030         * gst/elements/gstidentity.h:
7031         Added datarate properties to limit the datarate.
7032
7033 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7034
7035         * gst/autoplug/gstspider.c: (plugin_init):
7036           don't set a rank. We don't want to autoplug by inserting spiders.
7037
7038 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7039
7040         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7041         (gst_spider_identity_plug):
7042           add a template for spider's sink
7043         * gst/gst.c: (gst_register_core_elements):
7044           queue's rank should be NULL, we don't want spider to add it.
7045
7046 2004-08-18  David Schleef  <ds@schleef.org>
7047
7048         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7049         * docs/libs/Makefile.am: same
7050         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7051         * docs/random/ds/0.9-planning: random additions
7052         * docs/random/ds/0.9-suggested-changes: same
7053         * gst/gstxml.h: remove vestigal GstXMLNs definition
7054
7055         Preferred caps: (#147789)
7056         * docs/gst/gstreamer-sections.txt: Add symbols
7057         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7058         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7059         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7060         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7061         (gst_caps_get_preferred), (gst_caps_set_preferred),
7062         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7063         (gst_caps_use_preferred): Handle caps preferences
7064         * gst/gstcaps.h: Add caps preferences
7065         * gst/gstpad.c: (gst_pad_link_get_preferred),
7066         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7067         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7068         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7069         negotiation.
7070
7071 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7072
7073         * gst/autoplug/gstspideridentity.c:
7074         (gst_spider_identity_request_new_pad):
7075         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7076         (gst_aggregator_init):
7077         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7078         (gst_fakesink_init):
7079         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7080         (gst_fakesrc_init):
7081         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7082         (gst_fdsink_init):
7083         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7084         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7085         (gst_filesink_init):
7086         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7087         (gst_filesrc_init):
7088         * gst/elements/gstidentity.c: (gst_identity_base_init),
7089         (gst_identity_init):
7090         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7091         (gst_multifilesrc_init):
7092         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7093         (gst_pipefilter_init):
7094         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7095         (gst_statistics_init):
7096         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7097         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7098           s/gst_pad_new/&_from_template/
7099           register pad templates in the base_init function
7100           add static pad template definitions
7101
7102 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7103
7104         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7105         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7106         * testsuite/refcounting/pad.c: (main):
7107         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7108           s/gst_pad_new/&_from_template/
7109           prepare deprecation of gst_pad_new
7110
7111 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7112
7113         patch by: Luca Ognibene <skaboy81@virgilio.it>
7114
7115         * gst/gstcaps.c:
7116         * gst/gstelement.c:
7117         * gst/gstpad.c:
7118         * gst/gstxml.c:
7119           fix memleaks.  Fixes #150001
7120
7121 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7122
7123         * docs/random/ds/0.9-suggested-changes:
7124           add notes - mostly about pad templates
7125
7126 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7127
7128         * win32/GStreamer.vcproj:
7129           temporary locale files are .gmo not .mo
7130
7131 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7132
7133         * configure.ac: bump nano to cvs
7134
7135 === release 0.8.5 ===
7136
7137 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7138
7139         * configure.ac:
7140           releasing 0.8.5, "Stuttgart"
7141         * NEWS:
7142         * RELEASE:
7143         * configure.ac:
7144         * docs/random/release:
7145           updates for release
7146
7147 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7148
7149         patch by: Wim Taymans (wim@fluendo.com)
7150
7151         * gst/gstbuffer.c:
7152         * gst/gstindex.h:
7153         * libs/gst/dataprotocol/dataprotocol.c:
7154           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7155
7156 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7157
7158         * Makefile.am:
7159         * win32/MANIFEST:
7160           add win32 dir to the build.  Fixes #149981.
7161
7162 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7163
7164         * configure.ac:
7165           bump libtool versioning
7166         * gst/gststructure.c:
7167           mark function as static
7168         * po/af.po:
7169         * po/az.po:
7170         * po/ca.po:
7171         * po/cs.po:
7172         * po/en_GB.po:
7173         * po/fr.po:
7174         * po/nl.po:
7175         * po/sq.po:
7176         * po/sr.po:
7177         * po/sv.po:
7178         * po/tr.po:
7179         * po/uk.po:
7180           translations update
7181         * win32/README.txt:
7182           trademark protection
7183
7184 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7185
7186         * configure.ac:
7187           fix GST_ORIGIN
7188           set GST_PACKAGE to source, and distinguish between release and other
7189         * tools/gst-inspect.c:
7190           print out plugin an element factory is part of so we see this info
7191
7192 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7193
7194         * docs/gst/gstreamer-sections.txt:
7195         * docs/gst/tmpl/gstbuffer.sgml:
7196         * docs/gst/tmpl/gstschedulerfactory.sgml:
7197           reorder docs a little, make GstBuffer's more sensible.
7198         * gst/gstbuffer.h:
7199           API: added GST_BUFFER_FLAG_DELTA_UNIT
7200         * gst/gstscheduler.c:
7201           comment API addition
7202
7203 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7204
7205         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7206           work with non-regular files that can be mmapped (like /dev/zero)
7207         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7208           get rid of typefinds that require a seek when we can't seek instead
7209           of trying them over and over again
7210         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7211           return non-zero failure value when the pipeline was interrupted or
7212           an error occurred
7213
7214 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7215
7216         * win32/config.h:
7217         * win32/GStreamer.vcproj:
7218           compile and install the locales
7219
7220 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7221
7222         * gst/gstvalue.c:
7223           fix a possible memory leak under Windows
7224
7225 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7226
7227         * win32/GStreamer.vcproj:
7228           fix a memory leak that occured under Windows
7229         * win32/gstreamer.def:
7230           add gst_scheduler_register
7231
7232 2004-08-11  Benjamin Otte  <otte@gnome.org>
7233
7234         * docs/gst/gstreamer-sections.txt:
7235         * gst/gstscheduler.c: (gst_scheduler_register):
7236         * gst/gstscheduler.h:
7237           API:
7238           add gst_scheduler_register shortcut similar to gst_element_register
7239         * gst/schedulers/entryscheduler.c: (plugin_init):
7240         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7241         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7242           use it
7243
7244 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7245
7246         * gst/gstvalue.h:
7247           fix a memory leak that occured under Windows
7248
7249 2004-08-10  Colin Walters  <walters@redhat.com>
7250
7251         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7252         Don't use O_EXCL to open temporary registry.  It will prevent
7253         registry creation if a temporary one already exists, which
7254         is unnecessary.
7255
7256 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7257
7258         * docs/gst/gstreamer-sections.txt:
7259         * docs/gst/tmpl/gstvalue.sgml:
7260           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7261
7262 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7263
7264         * win32/gstbytestream.vcproj:
7265         * win32/gstelements.vcproj:
7266         * win32/gstgetbits.vcproj:
7267         * win32/gst-inspect.vcproj:
7268         * win32/gst-launch.vcproj:
7269         * win32/gstoptimalscheduler.vcproj:
7270         * win32/GStreamer.vcproj:
7271         * win32/gst-register.vcproj:
7272         * win32/gstspider.vcproj:
7273           update the include and lib dirs to fit standard libraries as
7274           described in the Win32 manual
7275
7276 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7277
7278         * win32/config.h:
7279         * win32/gstversion.h:
7280           enable NLS again, push the version number for the coming 0.8.5 release
7281
7282 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7283
7284         * gst/gstvalue.h:
7285           export gst_type_XXX for windows DLLs
7286
7287 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7288
7289         * docs/faq/gst-uninstalled:
7290           fix PKG_CONFIG_PATH and PYTHONPATH
7291         * gst/schedulers/Makefile.am:
7292           cleanup
7293         * libs/gst/bytestream/bytestream.c:
7294           remove newline
7295         * po/LINGUAS:
7296         * po/sq.po:
7297           adding Albanian translation (Laurent Dhima)
7298         * po/cs.po:
7299           updated
7300
7301 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7302
7303         * po/ca.po:
7304         * po/sv.po:
7305           updated translations
7306
7307 2004-08-04  Benjamin Otte  <otte@gnome.org>
7308
7309         * tests/mass_elements.c: (main):
7310           allow specifying src and sink element explicitly, so I can test
7311           videotestsrc instead of fakesrc
7312
7313 2004-08-04  Benjamin Otte  <otte@gnome.org>
7314
7315         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7316         (gst_structure_id_empty_new), (gst_structure_empty_new),
7317         (gst_structure_copy):
7318           add gst_structure_id_empty_new_with_size to allow preallocating
7319           value array sizes. Use this in gst_structure_copy to get rid of
7320           reallocs.
7321           don't do quark=>string=>quark when copying structures
7322
7323 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7324
7325         * docs/manual/win32.xml:
7326         * win32/README.txt:
7327           update documentation with the clean version of dependencies
7328
7329 2004-08-03  Benjamin Otte  <otte@gnome.org>
7330
7331         * gst/schedulers/entryscheduler.c:
7332         (gst_entry_scheduler_remove_element):
7333           fix for GST_DISABLE_DEBUG
7334         * tools/gst-launch.c: (print_tag):
7335           fixes for G_DISABLE_ASSERT
7336
7337 2004-08-03  Benjamin Otte  <otte@gnome.org>
7338
7339         * gst/gst.c: (gst_register_core_elements):
7340           fix for G_DISABLE_ASSERT
7341         * gst/gstinfo.c: (__gst_in_valgrind):
7342           add for GST_DISABLE_DEBUG
7343
7344 2004-08-03  Benjamin Otte  <otte@gnome.org>
7345
7346         * gst/parse/parse.l:
7347           fix for G_DISABLE_ASSERT
7348
7349 2004-08-03  Wim Taymans  <wim@fluendo.com>
7350
7351         * gst/gstbin.c: (gst_bin_get_type),
7352         (gst_bin_child_state_change_func):
7353         * gst/gstthread.c: (gst_thread_change_state):
7354         Backported some debug logging from a reverted patch
7355         Don't try to destroy the thread twice. Added some more
7356         debugging in GstThread. Unlock and signal even if we
7357         are in the thread context.
7358
7359 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7360
7361         * po/uk.po:
7362           updated translation
7363
7364 2004-07-30  David Schleef  <ds@schleef.org>
7365
7366         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7367
7368 2004-07-29  David Schleef  <ds@schleef.org>
7369
7370         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7371         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7372
7373 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7374
7375         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7376         (gst_bin_add_func), (gst_bin_remove_func),
7377         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7378         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7379         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7380         (gst_bin_sync_children_state):
7381         * gst/gstbin.h:
7382         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7383         (gst_thread_change_state):
7384         * testsuite/states/Makefile.am:
7385           revert state change patches as agreed so we can rework them
7386           gradually
7387
7388 2004-07-29  Benjamin Otte  <otte@gnome.org>
7389
7390         * libs/gst/control/Makefile.am:
7391           link to libgstreamer (fixes Debian bug 262019, see
7392           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7393
7394 2004-07-29  Wim Taymans  <wim@fluendo.com>
7395
7396         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7397         (check_from_fraction_convert), (transform_test), (main):
7398         Make the test less pedantic about float roundoff errors.
7399
7400 2004-07-29  Benjamin Otte  <otte@gnome.org>
7401
7402         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7403         (gst_filesrc_srcpad_event):
7404           make seek events to before start/after end of file not fail, but
7405           seek to start/end instead
7406         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7407           add more output
7408
7409 2004-07-29  Benjamin Otte  <otte@gnome.org>
7410
7411         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7412           check that caps are fixed
7413         * gst/gstpad.c: (gst_pad_template_new):
7414           don't try to simplify caps, costs too much time on gst_init
7415         * gst/gstplugin.c: (gst_plugin_add_feature):
7416           G_ERROR if features are added twice
7417         * gst/gsttypefind.c: (gst_type_find_register):
7418         * gst/gstelementfactory.c: (gst_element_register):
7419           don't add features twice
7420         * docs/random/ds/0.9-suggested-changes:
7421           add note about possible gst_init optimization
7422
7423 2004-07-28  David Schleef  <ds@schleef.org>
7424
7425         * testsuite/elements/Makefile.am:
7426         * testsuite/elements/struct_i386.h:
7427         * testsuite/elements/struct_size.c: (main):  A little test
7428         to keep distcheck from working if someone changes a structure
7429         size accidentally.
7430
7431 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7432
7433         * docs/libs/Makefile.am:
7434         * docs/libs/gstreamer-libs-docs.sgml:
7435         * docs/libs/gstreamer-libs-sections.txt:
7436         * docs/libs/tmpl/gstbytestream.sgml:
7437         * docs/libs/tmpl/gstcontrol.sgml:
7438         * docs/libs/tmpl/gstdataprotocol.sgml:
7439         * docs/libs/tmpl/gstgetbits.sgml:
7440         * libs/gst/bytestream/Makefile.am:
7441         * libs/gst/bytestream/bytestream.c:
7442         * libs/gst/bytestream/bytestream.h:
7443         * libs/gst/control/Makefile.am:
7444         * libs/gst/dataprotocol/Makefile.am:
7445         * libs/gst/getbits/Makefile.am:
7446         * libs/gst/getbits/getbits.h:
7447           various doc and style fixes, adding bytestream to libs docs.
7448
7449 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7450
7451         * docs/gst/gstreamer-docs.sgml:
7452         * docs/libs/Makefile.am:
7453         * docs/libs/gstreamer-libs-docs.sgml:
7454         * docs/libs/gstreamer-libs-sections.txt:
7455         * libs/gst/control/dparam.c:
7456           more doc fixes.  gst-libs docs now build the same way as gst.
7457
7458 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7459
7460         * configure.ac:
7461         * testsuite/Makefile.am:
7462         * testsuite/bins/Makefile.am:
7463         * testsuite/caps/Makefile.am:
7464         * testsuite/cleanup/Makefile.am:
7465         * testsuite/clock/Makefile.am:
7466         * testsuite/debug/Makefile.am:
7467         * testsuite/dlopen/Makefile.am:
7468         * testsuite/dynparams/Makefile.am:
7469         * testsuite/elements/.cvsignore:
7470         * testsuite/elements/Makefile.am:
7471         * testsuite/enumcaps/Makefile.am:
7472         * testsuite/enumcaps/enumcaps.c:
7473         * testsuite/ghostpads/Makefile.am:
7474         * testsuite/indexers/Makefile.am:
7475         * testsuite/negotiation/Makefile.am:
7476         * testsuite/parse/Makefile.am:
7477         * testsuite/plugin/Makefile.am:
7478         * testsuite/refcounting/Makefile.am:
7479         * testsuite/schedulers/.cvsignore:
7480         * testsuite/states/Makefile.am:
7481         * testsuite/tags/Makefile.am:
7482         * testsuite/threads/Makefile.am:
7483           fold enumcaps into caps dir
7484           clean up Makefile.am's for testsuite
7485
7486 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7487
7488         * docs/gst/Makefile.am:
7489         * docs/libs/Makefile.am:
7490           clean up docs build.  Fixes needless rebuilding of template files.
7491
7492 2004-07-28  Wim Taymans  <wim@fluendo.com>
7493
7494         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7495         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7496         Make sure that a bin state change tries to keep the children
7497         in sync. 
7498         Added debug logging to the thread.
7499
7500 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7501
7502         * win32/GStreamer.vcproj:
7503         * win32/gstreamer.def:
7504           more exports for the plugins
7505
7506 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7507
7508         * win32/gstgetbits.vcproj:
7509         * win32/gstgetbits.def:
7510         * win32/msvc71.sln:
7511           add support for the getbits plugin
7512
7513 2004-07-27  Wim Taymans  <wim@fluendo.com>
7514
7515         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7516         (gst_value_transform_fraction_double), (_gst_value_initialize):
7517         * testsuite/caps/Makefile.am:
7518         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7519         (check_from_fraction_convert), (transform_test), (main):
7520         Added transform functions between double and fraction.
7521         Added testcase to verify transforms
7522
7523 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7524
7525         * win32/GStreamer.vcproj:
7526           rename GStreamer-0.8.lib to libgstreamer.lib
7527
7528 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7529
7530         * win32/gstelements.vcproj:
7531         * win32/gstoptimalscheduler.vcproj:
7532           fixes for the Release build
7533
7534 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7535
7536         * win32/config.h:
7537           update the version number
7538
7539 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7540
7541         * win32/GStreamer.vcproj:
7542           add gstinterface to the build
7543
7544 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7545
7546         * win32/gstreamer.def:
7547           add many definitions needed by plugins,
7548           GST_CAT_DEFAULT only available in the Debug build ?
7549
7550 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7551
7552         * gst/gstelement.c: (gst_element_set_eos_recursive):
7553           various whitespace fixes.
7554           doc fix, fixes #148497
7555
7556 2004-07-25  Benjamin Otte  <otte@gnome.org>
7557
7558         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7559           don't delay links on the sink elements, it causes unnegotiated
7560           links.
7561         * gst/elements/gsttypefindelement.c:
7562         (gst_type_find_element_base_init):
7563           add our padtemplates, we indeed do have some.
7564         * gst/elements/gsttypefindelement.c:
7565         (gst_type_find_element_handle_event),
7566         (gst_type_find_element_chain):
7567           don't push data when typefinding failed.
7568         * gst/gstpad.c: (gst_pad_link_fixate):
7569           check that no fixate function returns empty caps.
7570         * gst/gstpad.c: (gst_pad_push):
7571           check that the link is negotiated before data gets pushed.
7572         * tools/gst-register.c: (main):
7573           don't assert (fixes #148283)
7574
7575 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7576
7577         * docs/gst/gstreamer-sections.txt:
7578         * docs/gst/tmpl/gstconfig.sgml:
7579           add GST_PLUGIN_EXPORT definition
7580
7581 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7582
7583         * gst/gstplugin.h:
7584         * gst/gstconfig.h.in:
7585         * win32/gstconfig.h:
7586         * win32/gstelements.def:
7587         * win32/gstelements.vcproj:
7588         * win32/gstoptimalscheduler.def:
7589         * win32/gstoptimalscheduler.vcproj:
7590         * win32/gstspider.def:
7591         * win32/gstspider.vcproj:
7592           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7593
7594 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7595
7596         * docs/gst/gstreamer-sections.txt:
7597           remove GST_CAT_DEFAULT because the type has changed
7598
7599 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7600
7601         * win32/gstbytestream.vcproj:
7602         * win32/gstelements.vcproj:
7603         * win32/gst-inspect.vcproj:
7604         * win32/gst-launch.vcproj:
7605         * win32/gstoptimalscheduler.vcproj:
7606         * win32/GStreamer.vcproj:
7607         * win32/gst-register.vcproj:
7608         * win32/gstspider.vcproj:
7609         * win32/msvc71.sln:
7610           Copy the files where needed after building, The testsuite will be
7611           built separately
7612
7613 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7614
7615         * win32/config.h:
7616         * win32/README.txt:
7617         * docs/manual/win32.xml:
7618         Fixed the plugin and GStreamer location
7619
7620 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7621
7622         * win32/gstreamer.def:
7623         More exports for the plugins
7624
7625 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7626
7627         * gst/gstinfo.h:
7628         Marc was right, we need to export literally GST_CAT_DEFAULT
7629
7630 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7631
7632         * win32/config.h:
7633         NLS crashes in gettext, disabled until this is solved
7634
7635 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7636
7637         * win32/gst-inspect.vcproj:
7638         * win32/gst-launch.vcproj:
7639         Should use NLS when available
7640
7641 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7642
7643         * gst/registries/gstxmlregistry.c:
7644         removing the file doesn't seem to be a good idea on Linux
7645
7646 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7647
7648         * gst/registries/gstxmlregistry.c:
7649         Remove the registry before renaming the tempfile (needed for Windows)
7650
7651 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7652
7653         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7654         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7655         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7656         * gst/elements/gstmultifilesrc.h:
7657         Added newmedia property so it generates newmedia events between each
7658         file when property is set, as well as fixed eos handling
7659
7660 2004-07-22  David Schleef  <ds@schleef.org>
7661
7662         * gst/gststructure.c: (gst_structure_id_empty_new),
7663         (gst_structure_empty_new):  Set type field correctly.
7664         * gst/gststructure.h: Check type field correctly.
7665         * testsuite/caps/Makefile.am:
7666         * testsuite/caps/structure.c: (test1), (main): Add a very small
7667         test for structures.
7668
7669 2004-07-22  David Schleef  <ds@schleef.org>
7670
7671         * docs/random/ds/0.9-suggested-changes: more comments
7672         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7673
7674 2004-07-22  Benjamin Otte  <otte@gnome.org>
7675
7676         * gst/gstelementfactory.c: (gst_element_register):
7677           set the factory in the class struct, so gst_element_get_factory
7678           actually works
7679         * gst/parse/grammar.y:
7680           set element to playing when it gets unlocked as we can't rely on the
7681           bin state - all elements in the bin state might still be locked in
7682           NULL)
7683
7684 2004-07-22  Benjamin Otte  <otte@gnome.org>
7685
7686         * gst/gstelement.c: (gst_element_set_state_func):
7687           make this a static function
7688
7689 2004-07-22  Wim Taymans  <wim@fluendo.com>
7690
7691         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7692         (gst_opt_scheduler_pad_link):
7693         fix 147894-2 and the group_link problem.
7694
7695 2004-07-22  Wim Taymans  <wim@fluendo.com>
7696
7697         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7698         (handoff_identity), (main):
7699         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7700         (handoff_identity), (main):
7701         * testsuite/schedulers/Makefile.am:
7702         * testsuite/schedulers/group_link.c: (main):
7703         Show bug in scheduler when linking chain and loop based element 
7704         where the chain based element was not yet in a group.
7705
7706 2004-07-21  Benjamin Otte  <otte@gnome.org>
7707
7708         * gst/.cvsignore:
7709         * gst/autoplug/.cvsignore:
7710         * gst/elements/.cvsignore:
7711         * gst/indexers/.cvsignore:
7712         * libs/gst/bytestream/.cvsignore:
7713         * libs/gst/control/.cvsignore:
7714         * libs/gst/getbits/.cvsignore:
7715         * testsuite/states/.cvsignore:
7716         * testsuite/threads/.cvsignore:
7717           keep this up to date, since I seem to be the only one who cares
7718           about not missing files on commits (editor's note: no you don't,
7719           but feel free to change them at the time you add stuff instead
7720           of later on)
7721
7722 2004-07-21  Benjamin Otte  <otte@gnome.org>
7723
7724         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7725         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7726         (gst_bin_child_state_change_func), (set_kid_state_func),
7727         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7728           make state changes work correctly and reentrant (so removing
7729           elements from bins during state changes of bins doesn't cause
7730           segfaults or even wrong states)
7731           add debugging category and debugging output to print children states
7732         * gst/gstbin.c: (gst_bin_dispose): 
7733           add some assertion checks
7734         * gst/gstbin.h:
7735         * gst/gstbin.c: (gst_bin_sync_children_state):
7736           deprecate this function - it just does gst_bin_set_state (bin,
7737           GST_STATE (bin)) 
7738         * testsuite/threads/queue.c: (main):
7739           don't use gst_bin_sync_children_state anymore
7740         * testsuite/states/Makefile.am:
7741         * testsuite/states/bin.c:
7742           test that the state changes of bins work as expected
7743         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7744           some adjustments to change states correctly, too
7745         * gst/gstthread.c: (gst_thread_change_state):
7746           don't enable/disable "threadsafe" properties, they're unused and
7747           cause random segfaults
7748         * testsuite/threads/Makefile.am:
7749           the queue check randomly passes now, ignore it
7750
7751 2004-07-21  Benjamin Otte  <otte@gnome.org>
7752
7753         * gst/gstpad.c:
7754           check if data is NULL before outputting debug info. (fixes #145100)
7755
7756 2004-07-21  Benjamin Otte  <otte@gnome.org>
7757
7758         * gst/schedulers/entryscheduler.c:
7759         (gst_entry_scheduler_loop_wrapper),
7760         (gst_entry_scheduler_chain_wrapper),
7761         (gst_entry_scheduler_get_wrapper):
7762           reset the state when the cothread starts, so we don't get assertion
7763           failures on restarting of cothreads
7764
7765 2004-07-20  Benjamin Otte  <otte@gnome.org>
7766
7767         * gst/gstelement.c: (gst_element_link_pads_filtered):
7768           use correct sinkpad, if only sinkpad is specified, but not srcpad
7769           (fixes #147889)
7770         * gst/gstelement.c: (gst_element_set_state_func),
7771         (gst_element_change_state): ref/unref the element, signal handlers
7772         could get rid of the element otherwise
7773
7774 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7775
7776         * docs/random/ds/0.9-suggested-changes:
7777           Make note about renaming fixed-list to array.
7778         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7779         (_gst_value_initialize):
7780           Add array intersections.
7781         * testsuite/caps/intersect2.c: (main):
7782           Add test for array intersections.
7783
7784 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7785
7786         * configure.ac: back to cvs
7787
7788 === release 0.8.4 ===
7789
7790 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7791
7792         * configure.ac:
7793           releasing 0.8.4, "Paella"
7794           bump libtool versioning
7795
7796 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7797
7798         * po/LINGUAS:
7799         * po/ca.po:
7800           adding Catalan translation (Jordi Mallach)
7801
7802 2004-07-20  Wim Taymans  <wim@fluendo.com>
7803
7804         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7805         (handoff_identity), (main):
7806         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7807         (handoff_identity), (main):
7808         * testsuite/schedulers/Makefile.am:
7809         Added failing testcase for variant of #147894
7810
7811 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7812
7813         patch by: David Moore
7814
7815         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7816         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7817         (group_migrate_connected):
7818         * testsuite/schedulers/Makefile.am:
7819           fix for #142813 (Deadlock in optimal scheduler)
7820
7821 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7822
7823         patch by: Wim Taymans
7824
7825         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7826         (gst_opt_scheduler_schedule_run_queue),
7827         (gst_opt_scheduler_get_wrapper), (get_group),
7828         (group_migrate_connected):
7829         * testsuite/schedulers/Makefile.am:
7830           fix for #147819 (Add some checks in the opt scheduler)
7831
7832 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7833
7834         patch by: Benjamin Otte
7835
7836         * gst/gstelementfactory.c: (__gst_element_details_set):
7837           fix for #147929: running gst-register in non-utf8 locale can cause
7838           invalid registry
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_num_elements),
7845         (group_has_element), (element_get_reachables_func),
7846         (group_migrate_connected):
7847           fix for #147894 (opt scheduler decoupled elements mismanagement)
7848         * testsuite/schedulers/Makefile.am:
7849           testsuite app now passes
7850
7851 2004-07-19  Wim Taymans  <wim@fluendo.com>
7852
7853         * testsuite/schedulers/147819.c: (handoff_identity1),
7854         (handoff_identity2), (main):
7855         * testsuite/schedulers/Makefile.am:
7856         Added testcase for bug 147819
7857
7858 2004-07-19  Wim Taymans  <wim@fluendo.com>
7859
7860         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7861         (handoff_identity), (main):
7862         * testsuite/schedulers/Makefile.am:
7863         Added testcase for bug 147894
7864
7865 2004-07-16  Wim Taymans  <wim@fluendo.com>
7866
7867         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7868         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7869         * testsuite/schedulers/Makefile.am:
7870         Added testsuite for bug 142183 in its two incarnations. Refcount
7871         is not increased for scheduled elements and threadsafe properties
7872         mutexes are not properly unlocked.
7873
7874 2004-07-16  Wim Taymans  <wim@fluendo.com>
7875
7876         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7877         (create_chain), (destroy_chain), (create_group), (destroy_group),
7878         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7879         (group_dec_link), (gst_opt_scheduler_pad_link),
7880         (group_inc_links_for_element), (group_migrate_connected):
7881         Call group_inc_link with the proper src->sink ordering -- 
7882         break this, and we break sort_chain. patch from wingo for bug
7883         147713.
7884         Partially revert patch 1.89. When adding a loop based element to 
7885         the scheduler, the links to other groups are automatically followed
7886         and incremented. This should not happen because the bin will call
7887         pad_link explicitly for those connection, resulting in them counted 
7888         twice. Results in assertion failure on pipeline cleanup.
7889
7890 2004-07-16  Wim Taymans  <wim@fluendo.com>
7891
7892         * testsuite/schedulers/143777-2.c: (main):
7893         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7894         (main):
7895         * testsuite/schedulers/Makefile.am:
7896         Added cleanup code to testcase 143777-2.
7897         Added testcase to show bug 147713, does not really show the
7898         deadlock as I can't figure out how to trigger it, but it does
7899         demonstrate bad ordering in the scheduler.
7900
7901 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7902
7903         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7904           change strndup to g_strndup.  Fixes #147707
7905
7906 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7907
7908         * po/af.po:
7909         * po/az.po:
7910         * po/cs.po:
7911         * po/en_GB.po:
7912         * po/fr.po:
7913         * po/nl.po:
7914         * po/sr.po:
7915         * po/sv.po:
7916         * po/tr.po:
7917         * po/uk.po:
7918           updated translations
7919
7920 2004-07-16  Benjamin Otte  <otte@gnome.org>
7921
7922         * gst/gstvalue.c: (gst_greatest_common_divisor):
7923           use ints and return ints, fractions only use ints, too, so this
7924           avoids accidently casting multiplications to unsigned
7925         (gst_value_lcopy_fraction): it's ints, not uint32
7926         (gst_value_set_fraction): disallow minint, multiplying and negation
7927           are broken with it
7928         (gst_value_fraction_multiply): fix to make large numbers work and get
7929         rid of the assumption that the multiplication of two ints fits an
7930         int64 - dunno if that's true for all systems
7931         * testsuite/caps/Makefile.am:
7932         * testsuite/caps/fraction-multiply-and-zero.c:
7933         (check_multiplication), (check_equal), (zero_test), (main):
7934           add tests for all the stuff above
7935         * testsuite/caps/value_compare.c: (test1):
7936           fix comment
7937         * tests/.cvsignore:
7938         * testsuite/caps/.cvsignore:
7939         * testsuite/debug/.cvsignore:
7940         * testsuite/dlopen/.cvsignore:
7941         * testsuite/states/.cvsignore:
7942           get up to date
7943
7944 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7945
7946         * docs/manual/bins-api.xml:
7947         * docs/manual/factories.xml:
7948         * docs/manual/helloworld.xml:
7949         * docs/manual/links-api.xml: 
7950           fixes for out of date info, incorrect info and grammar
7951
7952 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7953
7954         * docs/manual/pads.xml:
7955         * docs/manual/pads-api.xml: grammar fix
7956
7957 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7958
7959         * docs/manual/pads-api.xml: typo + grammar fix
7960
7961 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7962
7963         * docs/gst/gstreamer-sections.txt:
7964           add new symbols
7965         * docs/gst/tmpl/gstelement.sgml:
7966         * docs/gst/tmpl/gstpad.sgml:
7967         * docs/gst/tmpl/gsttypes.sgml:
7968         * docs/gst/tmpl/gstvalue.sgml:
7969           update docs
7970         * gst/gststructure.c: (gst_structure_set_valist),
7971         (gst_structure_from_abbr), (gst_structure_to_abbr):
7972         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7973         (gst_greatest_common_divisor), (gst_value_init_fraction),
7974         (gst_value_copy_fraction), (gst_value_collect_fraction),
7975         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7976         (gst_value_get_fraction_numerator),
7977         (gst_value_get_fraction_denominator),
7978         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7979         (gst_value_deserialize_fraction),
7980         (gst_value_transform_fraction_string),
7981         (gst_value_transform_string_fraction),
7982         (gst_value_compare_fraction), (_gst_value_initialize):
7983         * gst/gstvalue.h:
7984           adding GstFraction GValue type, get/set, and multiply
7985         * testsuite/caps/Makefile.am:
7986         * testsuite/caps/fraction.c: (test), (main):
7987         * testsuite/caps/string-conversions.c: (main):
7988         * testsuite/caps/value_compare.c: (test1), (main):
7989           add regression tests for GstFraction
7990
7991 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7992         
7993         * docs/manual/init-api.xml: Grammar fix
7994
7995 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7996
7997         * docs/manual/states.xml: Fix inconsistent information
7998
7999 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8000
8001         * gst/gstelement.c: (gst_element_set_state):
8002         * gst/gstpad.c: (gst_pad_try_set_caps):
8003         * gst/gststructure.c:
8004         * gst/gstthread.c: (gst_thread_child_state_change):
8005         * gst/gstvalue.c: (gst_value_compare_double):
8006         * gst/gstvalue.h:
8007         * testsuite/parse/parse1.c: (main):
8008           debugging additions and style cleanups
8009
8010 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8011
8012         * docs/manual/states.xml: Grammar fix
8013
8014 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8015
8016         * docs/manual/pads.xml: Grammar fix
8017
8018 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8019
8020         * docs/manual/elements.xml: Fixed image reference
8021
8022 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8023
8024         * docs/manual/goals.xml: Grammar fix
8025
8026 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8027
8028         * docs/manual/motivation.xml:
8029         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8030
8031 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8032
8033         * docs/manual/motivation.xml: Fix spelling
8034
8035 2004-07-15  Benjamin Otte  <otte@gnome.org>
8036
8037         * gst/gstelement.h: 
8038           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8039           strings.
8040         * gst/gstelement.c (gst_element_class_init):
8041           GError's are boxed, not objects
8042         * gst/gstmarshal.list:
8043           update list for the fixed error signal
8044
8045 2004-07-14  Andy Wingo  <wingo@pobox.com>
8046
8047         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8048         there all along, but the function wasn't. (guile-gstreamer's build
8049         system uses the address of the function -- I wasn't actually
8050         trying to use this.)
8051
8052 2004-07-14  Andy Wingo  <wingo@pobox.com>
8053
8054         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8055         as gst_pad_proxy_pad_link) just link to every other pad when they
8056         are called. In the case where the graph has cycles, this will mean
8057         that a call to try_set_caps will recurse. Allow this recursion
8058         and return OK, while we wait for the first try_set_caps to give a
8059         proper return value.
8060         (gst_pad_link_call_link_functions): Since this function is the
8061         only one to set the NEGOTIATING flag on a pad, if the flag is set
8062         it means that the link functions have indirectly recursed. If this
8063         happens, error out to avoid infinite recursion and an eventual
8064         SEGV.
8065         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8066         (gst_pad_proxy_getcaps): Intersect the result with the template
8067         caps to ensure that the return value is valid.
8068
8069 2004-07-14  Andy Wingo  <wingo@pobox.com>
8070
8071         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8072         one refcount, the calling function is the owner of the buffer.
8073
8074 2004-07-14  Wim Taymans  <wim@fluendo.com>
8075
8076         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8077         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8078         Fix stupid warning when an element is to be migrated but
8079         is already migrated.
8080
8081 2004-07-14  Wim Taymans  <wim@fluendo.com>
8082
8083         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8084         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8085         Make sure that a single non-loop-based element does not 
8086         end up in a group. This fixes the testsuite again.
8087
8088 2004-07-14  Wim Taymans  <wim@fluendo.com>
8089
8090         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8091         (add_to_group), (merge_groups), (schedule_group),
8092         (gst_opt_scheduler_get_wrapper), (group_elements),
8093         (group_dec_link), (gst_opt_scheduler_pad_link),
8094         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8095         (gst_opt_scheduler_iterate):
8096         move isolated groups to a new chain.
8097         Emit a warning instead of segfaulting in some error cases.
8098         Fix a bug where the link count between groups was not calculated 
8099         correctly. Fixes #144510.
8100
8101 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8102         * gst/elements/gstfilesrc.c:
8103           Binary files support under Windows now OK
8104       
8105 2004-07-13  Benjamin Otte  <otte@gnome.org>
8106
8107           compatibility fixes for Solaris 8/gcc 2.95
8108         * configure.ac:
8109           include libintl libs in LDFLAGS
8110         * gstvalue.c (gst_value_deserialize_buffer):
8111           cast isxdigit stuff to int to silence compiler warning
8112
8113 2004-07-12  Benjamin Otte  <otte@gnome.org>
8114
8115         * gst/gsttypes.h:
8116           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8117           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8118           just causes support madness
8119         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8120           make it work without this
8121         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8122         (gst_file_index_commit):
8123           glib IO channels don't want binary mode
8124         * testsuite/bytestream/filepadsink.c: (main):
8125         * testsuite/bytestream/test1.c: (read_param_file):
8126           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8127
8128 2004-07-12  Benjamin Otte  <otte@gnome.org>
8129
8130         * gst/gstelement.c: (gst_element_class_init),
8131         (gst_element_set_state), (gst_element_set_state_func):
8132           virutalize gst_element_set_state, use set_state member in class
8133           struct that was already added in 0.7 for this.
8134         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8135         (gst_bin_change_state):
8136           make gst_bin_foreach works similar to other foreach functions, plug
8137           memleaks in it. Make functions using it work with the new approach.
8138           Document gst_bin_foreach, so it can be exported if we want to
8139         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8140           use virtualized set_state to make set_state on bins set the state of
8141           all its children.
8142
8143 2004-07-12  Benjamin Otte  <otte@gnome.org>
8144
8145         * configure.ac:
8146           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8147           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8148         * gst/gstpad.c: (gst_pad_alloc_buffer):
8149           allow buffer_alloc functions to return NULL and allocate a normal
8150           buffer in that case
8151
8152 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8153         * gst/elements/gstfilesink.c:
8154         * gst/elements/gstfilesrc.c:
8155         * gst/indexers/gstfileindex.c:
8156         * gst/gsttypes.h:
8157         * testsuite/bytestream/filepadsink.c:
8158         * testsuite/bytestream/test1.c:
8159           Handle binary files under Windows
8160
8161 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8162         * docs/manual/win32.xml:
8163         * win32/config.h:
8164         * win32/gst-register.vcproj:
8165         * win32/gstreamer.def:
8166           Update to another gettext public build
8167
8168 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8169         * gst/gstplugin.c:
8170           Fix an impossible C syntax
8171         * win32/config.h:
8172           Disable i18n under Windows for the moment
8173         * win32/gst-register.vcproj:
8174           Use this configuration
8175
8176 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8177         * docs/manual/quotes.xml:
8178           Keep the quotes file alive
8179         * docs/random/ds/0.9-suggested-changes:
8180           Add the suggestion of including a 'rowstride' as part of video
8181           format caps
8182
8183 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8184
8185         * gst/gstelement.c: (gst_element_set_state),
8186         (gst_element_change_state):
8187           d'oh.  Set PENDING state correctly before forcing bin to change.
8188         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8189         (gst_structure_parse_fixed_list):
8190         * gst/schedulers/gstoptimalscheduler.c:
8191         (gst_opt_scheduler_state_transition):
8192         * testsuite/states/parent.c: (main):
8193           remove comment now that it's fixed.
8194
8195 2004-07-11  Benjamin Otte  <otte@gnome.org>
8196
8197         * gst/gstclock.h:
8198           GST_SECOND shouldn't cause a conversion to unsigned.
8199         * testsuite/clock/.cvsignore:
8200         * testsuite/clock/Makefile.am:
8201         * testsuite/clock/signedness.c: (main):
8202           make sure it never will again
8203
8204 2004-07-11  Andy Wingo  <wingo@pobox.com>
8205
8206         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8207         whose state is higher than the bin state, raise the bin state to
8208         ensure that bin state := highest child state.
8209         
8210 2004-07-11  Andy Wingo  <wingo@pobox.com>
8211
8212         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8213         procedure on the children of a bin. Assumes that the procedure can
8214         change the set of children.
8215         (set_kid_state_func): New static function.
8216         (gst_bin_change_state): Use gst_bin_foreach to call
8217         set_kid_state_func. Fixes a bug: if a child had a state-change
8218         handler that removes it from the bin, there would be a segfault.
8219         Hopefully it should also work in the case where the state-change
8220         handler on one child adds or removes other children. In any case,
8221         fixes should go to gst_bin_foreach.
8222
8223 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8224
8225         * gst/gstelement.c: (gst_element_set_state):
8226           compatibility fix for latest plugins release.  Change loop back
8227           to while {}
8228
8229 2004-07-09  Wim Taymans  <wim@fluendo.com>
8230
8231         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8232         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8233         (gst_thread_main_loop):
8234         Since remove is virtual in GstBin we must not assume the 
8235         elements GList to have anothing useful.
8236         Add some more logging to GstThread and be a bit more paranoid
8237         when resetting the scheduler.
8238         Set the state of the bin to NULL before removing the children.
8239
8240 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8241
8242         * testsuite/threads/Makefile.am:
8243         * testsuite/threads/threadg.c:
8244           added test to check if problem when removing all elements from a
8245           GstThread before setting GstThread state to NULL
8246
8247 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8248
8249         * docs/gst/tmpl/gstelement.sgml:
8250         * docs/gst/tmpl/gsttypes.sgml:
8251         * gst/gstbin.c: (gst_bin_change_state):
8252         * gst/gstelement.c: (gst_element_set_state),
8253         (gst_element_change_state):
8254           rework so that for bins we try to set the state on all children
8255           as well even if the bin is in the correct state already.
8256           change while to do so at least one iteration is done.
8257           For regular elements, we fall back to the previous behaviour for
8258           now since we first need a new plugins release.
8259         * testsuite/states/parent.c: (main):
8260           test for this case
8261           Fixes #123774
8262
8263 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8264
8265         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8266         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8267         (gst_queue_release_locks), (gst_queue_change_state),
8268         (gst_queue_set_property):
8269           add proper lock debugging.  Change dispose to finalize, since
8270           we're freeing mutexes and other stuff which should happen only once.
8271
8272 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8273
8274         * docs/gst/tmpl/gstelement.sgml:
8275         * docs/gst/tmpl/gstplugin.sgml:
8276         * docs/gst/tmpl/gsttypes.sgml:
8277         * docs/pwg/building-state.xml:
8278         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8279         * gst/gstelement.c: (gst_element_change_state):
8280         * gst/gstthread.c: (gst_thread_change_state):
8281           catch wrong state changes in element base class.
8282
8283 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8284
8285         * gst/gstinfo.h:
8286           clean up layout a little.
8287
8288 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8289
8290         * configure.ac:
8291         * testsuite/Makefile.am:
8292         * testsuite/states/Makefile.am:
8293         * testsuite/states/parent.c: (main):
8294           re-enable states testsuite dir.  Add test for state changes and
8295           parent behaviour
8296
8297 2004-07-09  Wim Taymans  <wim@fluendo.com>
8298
8299         * gst/schedulers/gstoptimalscheduler.c:
8300         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8301         (element_get_reachables_func), (element_get_reachables),
8302         (debug_element), (rechain_group), (group_migrate_connected),
8303         (gst_opt_scheduler_pad_unlink):
8304         Do not try to migrate decoupled elements to a new group since
8305         they are not added to groups.
8306
8307 2004-07-08  Benjamin Otte  <otte@gnome.org>
8308
8309         * gst/gstelement.c: (gst_element_error_func):
8310           make reentrant (= allow removing elements in error handler)
8311
8312 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8313
8314         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8315         (gst_pad_send_event), (gst_pad_call_chain_function):
8316           events sent to elements below PAUSED cannot be handled, so
8317           don't try to
8318
8319 2004-07-08  Wim Taymans  <wim@fluendo.com>
8320
8321         * gst/schedulers/gstoptimalscheduler.c:
8322         (chain_recursively_migrate_group), (create_group),
8323         (schedule_group), (gst_opt_scheduler_pad_link),
8324         (group_elements_set_visited), (element_get_reachables_func),
8325         (element_get_reachables), (group_can_reach_group), (debug_element),
8326         (rechain_group), (group_migrate_connected),
8327         (gst_opt_scheduler_pad_unlink):
8328         * testsuite/schedulers/Makefile.am:
8329         Implemented group splitting and rechaining.
8330         Fixes 143777 and 143777-2 in the testsuite.
8331
8332 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8333
8334         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8335           extra debugging
8336         * gst/gstevent.h:
8337         * gst/gstinfo.c: (gst_debug_log_default):
8338           print time nicely.  add thread pointer until someone figures out
8339           a completely portable way of getting at thread id's.
8340         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8341         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8342         (gst_pad_call_chain_function):
8343           extra debugging
8344         * gst/schedulers/gstoptimalscheduler.c:
8345         (get_group_schedule_function), (loop_group_schedule_function),
8346         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8347         (pad_clear_queued), (gst_opt_scheduler_iterate):
8348           rename BUFPEN and friends to DATAPEN since that's what they are.
8349
8350 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8351
8352         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8353         * gst/gstbuffer.h:
8354         * gst/gstpad.c:
8355           cleanups and debugging
8356
8357 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8358
8359         * configure.ac:
8360         * gst/gstvalue.c: (gst_value_compare_enum),
8361         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8362         (gst_value_can_compare), (gst_value_compare):
8363         * testsuite/Makefile.am:
8364         * testsuite/enumcaps/Makefile.am:
8365         * testsuite/enumcaps/enumcaps.c:
8366           Fix enum serialization, deserialization, comparison in caps, add
8367           a test to ensure that this continues working in the future.
8368
8369 2004-07-06  David Schleef  <ds@schleef.org>
8370
8371         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8372         Fix memleak.
8373
8374 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8375
8376         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8377         * gst/gstplugin.h:
8378         * gst/registries/gstxmlregistry.c:
8379         (plugin_times_older_than_recurse), (plugin_times_older_than),
8380         (gst_xml_registry_parse_padtemplate):
8381           only rebuild registry when actual plugins have a newer time than
8382           the registry.  Fixes #145520
8383
8384 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8385
8386         * docs/manual/manual.xml:
8387         * docs/manual/win32.xml:
8388           add chapter on win32 building.  fixes #142422
8389
8390 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8391
8392         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8393
8394         * gst/autoplug/gstspider.c: (gst_spider_init),
8395         (gst_spider_dispose):
8396           fix spider memleaks.  fixes #137863
8397
8398 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8399
8400         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8401
8402         * gst/schedulers/gstoptimalscheduler.c:
8403         (gst_opt_scheduler_pad_unlink):
8404           fix SIGBUS error, fixes #145338
8405
8406 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8407
8408         * gst/gstobject.c: (gst_object_replace):
8409         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8410         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8411           clean up clock lifecycle.  Fixes #109831
8412
8413 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8414
8415         * po/LINGUAS:
8416         * po/cs.po:
8417           added Czech translation (Miloslav Trmac)
8418
8419 2004-07-04  David Schleef  <ds@schleef.org>
8420
8421         * tools/Makefile.am:
8422         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8423
8424 2004-07-04  David Schleef  <ds@schleef.org>
8425
8426         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8427
8428 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8429
8430         * gst/gstbin.c: (gst_bin_restore_thyself):
8431           chain to parent restore so the bins get restored correctly
8432           in the editor
8433
8434 2004-07-03  David Schleef  <ds@schleef.org>
8435
8436         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8437         Actually do something in these functions, like before the big
8438         caps change.  (bug #145137)
8439
8440 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8441
8442         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8443         (gst_element_get_compatible_pad_filtered):
8444         * gst/gstthread.c: (gst_thread_main_loop):
8445           more debugging
8446
8447 2004-07-02  David Schleef  <ds@schleef.org>
8448
8449         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8450         * gst/gstobject.h:
8451         * gst/gstparse.h:
8452         * gst/gsttrace.h:
8453         * gst/gstxml.h:
8454
8455 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8456
8457         * gst/gstpad.c: (gst_pad_check_schedulers),
8458         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8459         (gst_pad_link_prepare):
8460           revert until testsuite is fixed
8461
8462 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8463
8464         * testsuite/Makefile.am:
8465         * testsuite/caps/filtercaps.c: (main):
8466         * testsuite/clock/clock1.c: (main):
8467         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8468           fix some more tests
8469
8470 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8471
8472         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8473         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8474         * testsuite/cleanup/cleanup4.c: (main):
8475           fix testsuite
8476
8477 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8478
8479         * libs/gst/control/control.c:
8480         * libs/gst/control/dparam.c:
8481         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8482         * libs/gst/control/dparammanager.c:
8483         * libs/gst/control/dparammanager.h:
8484         * testsuite/dynparams/Makefile.am:
8485         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8486         (gst_dptest_change_state), (gst_dptest_chain), (main):
8487           fix testcase for dparams
8488           add debugging category
8489
8490 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8491
8492         * testsuite/Rules:
8493           change path
8494
8495 2004-07-02  Benjamin Otte  <otte@gnome.org>
8496
8497         * tests/.cvsignore:
8498         * tests/Makefile.am:
8499         * tests/mass_elements.c: (gst_get_current_time), (main):
8500           add simple benchmark to test various speeds of fakesrc ! identity !
8501           identity ! ... ! fakesink.
8502           Usage: mass_elements [num_identities] [num_buffers]
8503           If not specified they default to 1000.
8504
8505 2004-07-02  Benjamin Otte  <otte@gnome.org>
8506
8507         * gst/gstpad.c: (gst_pad_check_schedulers),
8508         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8509         (gst_pad_link_prepare):
8510           check that pads that get linked belong to the same manager. The old
8511           code allowed linking elements before putting them into bins, so it
8512           worked to link them and then put them in different threads, which
8513           lead to weird behaviour.
8514           Since this effectively disallows linking elements before putting
8515           them in a bin, some applications might not work after this and error
8516           out. If these applications are too critical, we might need to revert
8517           that patch. Please test this before the next release...
8518
8519 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8520
8521         * gst/gstpad.c: (gst_pad_get_caps):
8522           throw an error if the getcaps function does not return a subset of
8523           the template caps.
8524         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8525           make disconts without position info an error in debugging
8526         * tests/spidey_bench.c: (handoff), (main):
8527           don't count first try when averaging
8528
8529 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8530
8531         * gst/gstplugin.c: (gst_plugin_load_file):
8532           figure out problem with dynamic test
8533
8534 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8535
8536         * docs/gst/Makefile.am:
8537           fix docs build
8538
8539 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8540
8541         * po/POTFILES.in:
8542         * po/af.po:
8543         * po/az.po:
8544         * po/en_GB.po:
8545         * po/fr.po:
8546         * po/nl.po:
8547         * po/sr.po:
8548         * po/sv.po:
8549         * po/tr.po:
8550         * po/uk.po:
8551         * tools/gst-register.c: (plugin_added_func), (main):
8552           i18n-ize -register, fix plural
8553
8554 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8555
8556         * gst/elements/gstidentity.c: (gst_identity_class_init),
8557         (gst_identity_init), (gst_identity_chain),
8558         (gst_identity_set_property), (gst_identity_get_property):
8559         * gst/elements/gstidentity.h:
8560           check for perfect stream
8561
8562 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8563
8564         * gst/elements/gstidentity.c: (gst_identity_chain):
8565           print offset_end
8566
8567 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8568
8569         * docs/gst/Makefile.am:
8570         * docs/gst/gstreamer-docs.sgml:
8571           doc fixes
8572
8573 2004-06-24  David Schleef  <ds@schleef.org>
8574
8575         * autogen.sh:  Remove call to env, since the buildbot isn't
8576         broken anymore.
8577
8578 2004-06-24  Wim Taymans  <wim@fluendo.com>
8579
8580         * gst/elements/Makefile.am:
8581         * gst/elements/gstelements.c:
8582         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8583         (gst_multifdsink_class_init), (gst_multifdsink_init),
8584         (gst_multifdsink_add), (gst_multifdsink_remove),
8585         (gst_multifdsink_clear), (gst_multifdsink_chain),
8586         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8587         * gst/elements/gstmultifdsink.h:
8588         Added an element that writes to multiple filedescriptors at once.
8589
8590 2004-06-24  Benjamin Otte  <otte@gnome.org>
8591
8592         * gst/parse/grammar.y:
8593           don't try to link elements before they have been added to bins
8594
8595 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8596
8597         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8598         (gst_file_pad_get_length):
8599         * libs/gst/bytestream/filepad.h:
8600           add 2 new functions
8601
8602 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8603
8604         * docs/gst/gstreamer-sections.txt:
8605         remove from docs, the define that Benjamin removed from gstelement.h
8606
8607 2004-06-22  Benjamin Otte  <otte@gnome.org>
8608
8609         * gst/gstelement.h:
8610           remove define that referenced a nonexisting GstElement struct member
8611
8612 2004-06-20  Benjamin Otte  <otte@gnome.org>
8613
8614         * gst/gstdata.c: (gst_data_is_writable):
8615           whoops, return values were wrong, so writable data was marked as
8616           non-writable and vice versa. (fixes #143953, spotted by Francis
8617           Labonte)
8618           Shows how rarely we need to copy data ;)
8619
8620 2004-06-20  Benjamin Otte  <otte@gnome.org>
8621
8622         * testsuite/schedulers/.cvsignore:
8623         * testsuite/schedulers/Makefile.am:
8624         * testsuite/schedulers/143777-2.c: (main):
8625           add test for opt breakage in bug #143777
8626
8627 2004-06-20  Benjamin Otte  <otte@gnome.org>
8628
8629         * gst/gstpad.c: (gst_pad_call_chain_function):
8630           check for if we were unlinked while inside the chainfunction (fixes
8631           entrygthread having issues with #143777)
8632         * testsuite/schedulers/143777.c: (main):
8633         * testsuite/schedulers/Makefile.am:
8634           add a test for that fix
8635
8636 2004-06-20  Benjamin Otte  <otte@gnome.org>
8637
8638         * gst/gstvalue.c: (gst_value_set_int_range):
8639           test that start is smaller then end
8640         * libs/gst/bytestream/Makefile.am:
8641         * libs/gst/bytestream/filepad.c: 
8642         * libs/gst/bytestream/filepad.h:
8643           add GstFilePad - a pad that behaves like a FILE*
8644         * testsuite/bytestream/.cvsignore:
8645         * testsuite/bytestream/Makefile.am:
8646         * testsuite/bytestream/filepadsink.c: 
8647           test for the GstFilePad
8648
8649 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8650
8651         * gst/elements/gstidentity.c: (gst_identity_class_init),
8652         (gst_identity_init), (gst_identity_set_clock),
8653         (gst_identity_chain), (gst_identity_set_property),
8654         (gst_identity_get_property):
8655         * gst/elements/gstidentity.h:
8656         * gst/gstclock.c: (gst_clock_id_wait):
8657           add a "sync" property to sync to the clock
8658
8659 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8660
8661         * gst/gstelementfactory.c: (gst_element_factory_create):
8662           make the freakin "elementfactory bla has no type" message more
8663           useful. So we actually can do something when someone shows up
8664           complaining about it.
8665
8666 2004-06-15  Johan Dahlin  <johan@gnome.org>
8667
8668         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8669         found. This matches the old behavior better. Thanks to Thomas for
8670         pointing out.
8671
8672 2004-06-14  David Schleef  <ds@schleef.org>
8673
8674         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8675         -fomit-frame-pointer.  Appears to generate correct code in
8676         other cases as well.
8677
8678 2004-06-14  Johan Dahlin  <johan@gnome.org>
8679
8680         * tools/gst-inspect.c (main): Add two new command line options: -a
8681         to print all elements and -n to print the name on each line. Also
8682         fix some error reporting.
8683         (main): Simplify, remove -n and always print names if -a is specified
8684
8685 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8686
8687         * win32/gstconfig.h:
8688         * win32/GSTreamer.vcproj:
8689         * win32/Makefile:
8690         * gst/gstconfig.h.in:
8691         * gst/gst.h:
8692         * gst/gstbin.h:
8693         * gst/gstelement.h:
8694         * gst/gstevent.h:
8695         * gst/gstobject.h:
8696         * gst/gstpad.h:
8697         * docs/gst/gstreamer-sections.txt:
8698         * docs/gst/tmpl/gstconfig.sgml:
8699           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8700
8701 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8702         * docs/gst/gstreamer-sections.txt:
8703         * docs/gst/tmpl/gstconfig.sgml:
8704         Add the GSTREAMER_EXPORT macro to the docs
8705
8706 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8707
8708         * tools/gst-compprep.c: (handle_xmlerror), (main):
8709         Add a check for the version that introduced SetStructuredError to fix
8710         the build on FC1
8711
8712 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8713
8714         * win32/msvc71.sln:
8715         * win32/testsuite/:
8716           prepare to compile the testsuite with MSVC
8717
8718 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8719
8720         * docs/manual/win32.xml:
8721           attempt to transform the Win32 README into an XML doc
8722
8723 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8724
8725         * gst/gst.c:
8726         * gst/gstbin.*:
8727         * gst/config.h.in:
8728         * gst/gstelement.*:
8729         * gst/gstevent.h:
8730         * gst/gstobject.*:
8731         * gst/gstpad.h:
8732         * tools/gst-register.c:
8733         * win32/gstreamer.def:
8734           extern symbols are now exported for the Windows DLL
8735
8736 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8737
8738         * gst/gstinfo.h:
8739           fix a problem to enable/disable DEBUG under MSVC
8740
8741 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8742
8743         * win32/:
8744           enable more debug code in DEBUG build
8745
8746 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8747
8748         * win32/config.h:
8749         * gst/gst-i18n-app.h:
8750           enable NLS under Windows
8751
8752 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8753         * tools/gst-compprep.c: (handle_xmlerror), (main):
8754           Make an error that baffled me a bit clearer
8755
8756 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8757
8758         * gst/gstqueue.c:
8759           don't use g_queue_get_length () because it's 2.4, use ->length
8760
8761 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8762
8763         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8764
8765         * tools/gst-inspect.c: (print_signal_info):
8766           don't free random data twice. (fixes #144185)
8767
8768 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8769
8770         * gst/gstqueue.c:
8771         * gst/gstqueue.h:
8772           fix removing from the wrong queue on event timeout
8773           fix disposing of the event queue by casting correctly
8774           add mutexes for handling the event queue
8775           someone was sleeping when fixing queue last time around :)
8776
8777 2004-06-10  Johan Dahlin  <johan@gnome.org>
8778
8779         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8780         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8781
8782 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8783
8784         * docs/random/gdp:
8785         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8786         * libs/gst/dataprotocol/dataprotocol.c:
8787         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8788         (gst_dp_buffer_from_header):
8789         * libs/gst/dataprotocol/dataprotocol.h:
8790         * libs/gst/dataprotocol/dp-private.h:
8791           rev version to 0.1, add buffer flags and copy them
8792
8793 2004-06-09  Johan Dahlin  <johan@gnome.org>
8794
8795         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8796         the flags from the buffer we're copying.
8797
8798 2004-06-09  Wim Taymans  <wim@fluendo.com>
8799
8800         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8801         * gst/elements/gstidentity.c: (gst_identity_init),
8802         (gst_identity_chain):
8803         Print more buffer info in fakesink.
8804         Make identity output similar to fakesink.
8805
8806 2004-06-07  Daniel Gazard  <dany42@free.fr>
8807
8808         reviewed by Benjamin Otte  <otte@gnome.org>
8809
8810         * configure.ac:
8811           fix cross compiling not working. (fixes #143741)
8812
8813 2004-06-07  Benjamin Otte  <otte@gnome.org>
8814
8815         * gst/gstelement.c: (gst_element_set_time_delay):
8816           add failure check
8817         * gst/gstinfo.h:
8818           put brackets around macro arguments of GST_TIME_ARGS, add note to
8819           move it to correct header in 0.9
8820
8821 2004-06-07  Benjamin Otte  <otte@gnome.org>
8822
8823         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8824         (gst_file_index_load), (_file_index_id_save_entries),
8825         (gst_file_index_commit), (gst_file_index_add_association),
8826         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8827         (gst_file_index_plugin_init):
8828           make debugging use a default category
8829
8830 2004-06-06  David Moore  <dcm@acm.org>
8831
8832         reviewed by Benjamin Otte  <otte@gnome.org>
8833
8834         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8835         (gst_fdsrc_change_state):
8836           reset offset counter when going READY => PAUSED. (fixes #142903)
8837
8838 2004-06-06  ed@catmur.co.uk
8839
8840         reviewed by Benjamin Otte  <otte@gnome.org>
8841
8842         * gst/registries/gstxmlregistry.c:
8843         (gst_xml_registry_rebuild_recurse):
8844           don't rely on g_dir_open to figure out if a file is a directory, use
8845           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8846           directories. (fixes #142850)
8847
8848 2004-06-06  Benjamin Otte  <otte@gnome.org>
8849
8850         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8851           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8852         * libs/gst/bytestream/adapter.c:
8853         * libs/gst/bytestream/adapter.h:
8854           fix copyright in header and typo in debugging category name
8855
8856 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8857
8858         * configure.ac:
8859           bump nano to cvs
8860
8861 === release 0.8.3 ===
8862
8863 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8864
8865         * configure.ac:
8866           update libtool versioning
8867           do a new release
8868         * docs/gst/tmpl/gstelement.sgml:
8869         * docs/gst/tmpl/gsttypes.sgml:
8870         * gst/gstinfo.c: (_gst_debug_init):
8871           put back GST_CAT_DATAFLOW to fix API breakage
8872
8873 2004-06-04  David Schleef  <ds@schleef.org>
8874
8875         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8876
8877 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8878
8879         * configure.ac:
8880           bump nano to cvs
8881
8882 === release 0.8.2 ===
8883
8884 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8885
8886         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8887           check GST_DEBUG environment variable which is parsed the same way
8888           as --gst-debug=
8889
8890 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8891
8892         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8893                             gstmd5sink.c gstshaper.c gsttee.c
8894                             gsttypefindelement.c
8895         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8896
8897           - removing trailing commas at end of enums
8898             it is correct C99 code but C90 compilers would complain
8899             (AIX, Forte, ...)
8900             ('should' fix #143290, at least partially)
8901
8902 2004-05-27  Wim Taymans  <wim@fluendo.com>
8903
8904         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8905         (chain_group_set_enabled), (create_group), (add_to_group),
8906         (merge_groups), (setup_group_scheduler), (group_elements),
8907         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8908         Don't try to follow the pad connections with other groups
8909         when a loop based element is added to the scheduler because
8910         the bin will inform the scheduler about the pad links a little
8911         later.
8912
8913 2004-05-27  Wim Taymans  <wim@fluendo.com>
8914
8915         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8916         (remove_from_chain), (chain_group_set_enabled),
8917         (setup_group_scheduler), (group_element_set_enabled),
8918         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8919         (gst_opt_scheduler_show):
8920         Elements without a group can do a state change as well, just wait
8921         with the setup of the scheduling function when it is added to a
8922         chain.
8923
8924 2004-05-27  Wim Taymans  <wim@fluendo.com>
8925
8926         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8927         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8928         (merge_groups), (setup_group_scheduler),
8929         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8930         (gst_opt_scheduler_show):
8931         Fixes to maintain internal consistency of the scheduler data
8932         structures. 
8933          - adding an enabled group to a chain should increment the
8934            number of enabled elements in that chain.
8935          - removing an enabled group from a chain could disable the
8936            chain.
8937          - removing a disabled group from a chain could enable the
8938            chain.
8939          - add g_assert when internal inconsistency is detected.
8940          - adding an element to a group could increase the number of
8941            links this group has with other groups.
8942          - merging two groups also merges the chains.
8943          - also show group links in the _show method.
8944            
8945
8946 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8947
8948         * gst/gstcaps.c: (gst_caps_structure_simplify):
8949           don't print error messages when there is no error
8950         * gst/gstvalue.c: (gst_value_compare_int_range):
8951           compare the second value, too
8952         * testsuite/caps/Makefile.am:
8953         * testsuite/caps/random.c: (assert_on_error), (main):
8954           add tests to make sure the two things above are checked for
8955
8956 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8957
8958         * configure.ac:
8959         * libs/gst/dataprotocol/Makefile.am:
8960         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8961         * libs/gst/dataprotocol/dataprotocol.h:
8962           wrap header in GST_ENABLE_NEW.  make code use it
8963
8964 2004-05-23  Johan Dahlin  <johan@gnome.org>
8965
8966         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8967         so verbose and print GstElement signal names all the time.
8968
8969 2004-05-22  David Schleef  <ds@schleef.org>
8970
8971         * gst/registries/gstxmlregistry.c:
8972         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8973         (bug #142957)
8974
8975 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8976
8977         * configure.ac:
8978           scrub cflags for glib2 so gcc doesn't complain when glib is in
8979           /usr/local
8980
8981 2004-05-21  Johan Dahlin  <johan@gnome.org>
8982
8983         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8984         __GNUC__, patch from Brian Cameron, fixes bug #142804
8985
8986 2004-05-20  David Schleef  <ds@schleef.org>
8987
8988         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8989         comparison code.  (bug #142819)
8990
8991 2004-05-20  Wim Taymans  <wim@fluendo.com>
8992
8993         * gst/gstbuffer.c: (gst_buffer_default_copy):
8994         * gst/gstbuffer.h:
8995         Added Comment to a flag.
8996         copy relevant flags in _buffer_copy.
8997
8998 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8999
9000         reviewed by: Wim Taymans <wim at fluendo dot com>
9001
9002         * gst/gstbuffer.h:
9003           add GST_BUFFER_IN_CAPS buffer flag
9004         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9005         (gst_structure_parse_any_list), (gst_structure_parse_list),
9006         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9007         * gst/gstvalue.c: (gst_value_serialize_any_list),
9008         (gst_value_transform_any_list_string),
9009         (gst_value_list_prepend_value), (gst_value_list_append_value),
9010         (gst_value_list_get_size), (gst_value_list_get_value),
9011         (gst_value_transform_list_string),
9012         (gst_value_transform_fixed_list_string),
9013         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9014         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9015         (_gst_value_initialize):
9016         * gst/gstvalue.h:
9017           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9018           < , > as a format.
9019         * testsuite/caps/string-conversions.c: (main):
9020           add regression tests for < >
9021
9022 2004-05-20  Johan Dahlin  <johan@gnome.org>
9023
9024         * docs/gst/Makefile.am (all-local): Re-add
9025
9026 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9027
9028         * docs/gst/Makefile.am:
9029         * docs/gst/gstreamer-docs.sgml:
9030         * docs/libs/Makefile.am:
9031         * docs/libs/gstreamer-libs-docs.sgml:
9032           fix distcheck issues
9033
9034 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9035
9036         * libs/gst/dataprotocol/Makefile.am:
9037           add to autotest
9038
9039 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9040
9041         * libs/gst/dataprotocol/Makefile.am:
9042         * libs/gst/dataprotocol/dataprotocol.c:
9043         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9044         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9045         * libs/gst/dataprotocol/dp-private.h:
9046           use GST macros to read/write fixed length ints
9047           add some more asserts
9048
9049 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9050
9051         * docs/libs/gstreamer-libs-docs.sgml:
9052         * docs/libs/gstreamer-libs-sections.txt:
9053           remove idct and putbits
9054         * configure.ac:
9055         * docs/libs/tmpl/gstdataprotocol.sgml:
9056         * libs/gst/Makefile.am:
9057         * libs/gst/dataprotocol/Makefile.am:
9058         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9059         (buffer_test), (caps_test), (event_test), (main):
9060         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9061         (gst_dp_dump_byte_array), (gst_dp_init),
9062         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9063         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9064         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9065         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9066         (gst_dp_validate_header), (gst_dp_validate_payload),
9067         (gst_dp_validate_packet), (plugin_init):
9068         * libs/gst/dataprotocol/dataprotocol.h:
9069         * libs/gst/dataprotocol/dp-private.h:
9070           add dataprotocol
9071
9072 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9073
9074         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9075           fix int variable deserialization and add a helper so we can actually
9076           debug this.
9077
9078 2004-05-18  David Schleef  <ds@schleef.org>
9079
9080         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9081           argv[0].  Calling yourself is probably not the best way to
9082           construct a test like this, btw.
9083
9084 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9085
9086         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9087           don't claim to be more intelligent than a scheduler when the
9088           scheduler claims the pipeline is stopped
9089         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9090         (safe_cothread_destroy),
9091         (gst_entry_scheduler_remove_all_cothreads),
9092         (gst_entry_scheduler_reset), (_remove_cothread),
9093         (gst_entry_scheduler_state_transition):
9094           hold off cothread destruction if we're not in main cothread
9095         * configure.ac:
9096         * testsuite/Makefile.am:
9097           add new test dir
9098         * testsuite/schedulers/.cvsignore:
9099         * testsuite/schedulers/Makefile.am:
9100           add tests
9101         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9102           check relinking and adding/removing elements from a running pipeline
9103         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9104           check unlinking in a running pipeline
9105         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9106           check unreffing a running pipeline
9107         * testsuite/schedulers/useless_iteration.c: (main):
9108           check iterating a pipeline that contains running threads works
9109
9110 2004-05-18  David Schleef  <ds@schleef.org>
9111
9112         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9113           is false.
9114
9115 2004-05-18  Wim Taymans  <wim@fluendo.com>
9116
9117         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9118         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9119         Fixed an error introduced with patch for 1.63. When setting
9120         a get based element as the entry point in a group, make sure
9121         to mark the group as GET based.
9122
9123 2004-05-18  Wim Taymans  <wim@fluendo.com>
9124
9125         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9126         (setup_group_scheduler), (loop_group_schedule_function),
9127         (gst_opt_scheduler_pad_link):
9128         Added some more debug info and fixed a bug where the group
9129         type was set to LOOP but it was in fact unknown.
9130
9131 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9132
9133         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9134           make resetting scheduler work twice in a row
9135
9136 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9137
9138         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9139         (CREATE_USERIALIZATION), (_gst_value_initialize),
9140         (gst_value_compare_float), (gst_value_serialize_float),
9141         (gst_value_deserialize_float), (gst_value_compare_enum),
9142         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9143           add serialization and comparison functions for long, int64, enum and
9144           float values
9145         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9146           use best serialization function in type hierarchy instead of only a
9147           matching one. This is required for enums to work.
9148         * gst/parse/grammar.y:
9149           use gst_caps_deserialize
9150         * testsuite/parse/Makefile.am:
9151           parse1 now works
9152         * testsuite/parse/parse1.c: (main):
9153           remove aggregator check, aggregator is broken, this test works now
9154           but fails because of bug #138012
9155         * testsuite/parse/parse2.c: (main):
9156           s/xvideosink/xvimagesink - this test looks a lot like we should
9157           disable it
9158
9159 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9160
9161         * gst/gstelement.c: (gst_element_class_init):
9162           whoops, store the signal id correctly
9163         * gst/schedulers/gstbasicscheduler.c:
9164         (gst_basic_scheduler_chain_wrapper):
9165           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9166           chain function isn't linked
9167
9168 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9169         * configure.ac:
9170         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9171         support until we decide where the flags should be used
9172         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9173         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9174         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9175         Output refused caps in the debug info
9176
9177 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9178
9179         * gst/elements/gstidentity.c: (gst_identity_chain):
9180           add duration debug
9181         * gst/gstinfo.c: (gst_debug_log_default):
9182           add timestamp
9183
9184 2004-05-13  Benjamin Otte  <otte@gnome.org>
9185
9186         * gst/gstpipeline.c: (gst_pipeline_dispose),
9187         (gst_pipeline_change_state):
9188           call gst_scheduler_reset on dispose (fixes #141416)
9189
9190 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9191
9192         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9193           compute mapsize correctly
9194         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9195           use correct datatypes when calling a varargs function
9196         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9197           push a DISCONT event as first thing
9198         * gst/gst_private.h:
9199         * gst/gstinfo.c: (_gst_debug_init):
9200           remove GST_DATAFLOW debugging category
9201         * gst/gstbin.c: (gst_bin_iterate):
9202           use GST_SCHEDULING category
9203         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9204         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9205         (gst_pad_call_get_function):
9206           add GST_DATAFLOW to easily track flow of buffers or events.
9207         * gst/gstqueue.c: (gst_queue_get_type),
9208         (gst_queue_handle_pending_events), (gst_queue_chain),
9209         (gst_queue_get), (gst_queue_handle_src_event):
9210           use own static debugging category GST_DATAFLOW for dataflow,
9211           use DEBUG category for showing which path events go, use LOG
9212           category for buffers.
9213
9214 2004-05-10  David Schleef  <ds@schleef.org>
9215
9216         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9217
9218 2004-05-10  David Schleef  <ds@schleef.org>
9219
9220         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9221         symbols, because otherwise we don't know what they are.  Thanks,
9222         the GStreamer team.
9223         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9224
9225 2004-05-10  David Schleef  <ds@schleef.org>
9226
9227         (from Steve Lhomme)
9228         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9229         are deleted.  Fix.
9230         * win32/Makefile.inspect:
9231         * win32/Makefile.launch:
9232         * win32/Makefile.register:
9233
9234 2004-05-10  David Schleef  <ds@schleef.org>
9235
9236         * gst/gstinfo.h: Add missing inline function.
9237         * gst/gsttrace.c: add include
9238         * gst/parse/grammar.y: remove unused code
9239         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9240         more portable.
9241         * tools/gst-register.c: wrap unistd.h
9242         
9243         More additions/fixes from Steve for the MSVC build.
9244         * win32/GStreamer.vcproj:
9245         * win32/Makefile:
9246         * win32/Makefile.inspect:
9247         * win32/Makefile.launch:
9248         * win32/Makefile.register:
9249         * win32/README.txt:
9250         * win32/gst-inspect.vcproj:
9251         * win32/gst-launch.vcproj:
9252         * win32/gst-register.vcproj:
9253         * win32/gstbytestream.def:
9254         * win32/gstbytestream.vcproj:
9255         * win32/gstconfig.h:
9256         * win32/gstelements.def:
9257         * win32/gstelements.vcproj:
9258         * win32/gstenumtypes.c:
9259         * win32/gstenumtypes.h:
9260         * win32/gstoptimalscheduler.def:
9261         * win32/gstoptimalscheduler.vcproj:
9262         * win32/gstreamer.def:
9263         * win32/gstspider.def:
9264         * win32/gstspider.vcproj:
9265         * win32/gstversion.h:
9266         * win32/msvc71.sln:
9267
9268 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9269
9270         * gst/gstelement.c: (gst_element_class_init),
9271         (gst_element_no_more_pads):
9272         * gst/gstelement.h:
9273           add gst_element_no_more_pads and the "no-more-pads" signal
9274
9275 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9276
9277         * gst/gstregistry.c: (gst_registry_add_plugin):
9278           refuse to add plugins when a plugin with same name is already
9279           registered. Fixes a bunch of "How to remove plugins?" issues.
9280           May lead to other problems though, let's test
9281
9282 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9283
9284         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9285         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9286         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9287
9288 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9289
9290         * tests/Makefile.am: fix am16 issue
9291
9292 2004-05-09  Benjamin Otte  <otte@gnome.org>
9293
9294         * libs/gst/bytestream/Makefile.am:
9295           we should indeed add .c files to makefiles or they won't be built
9296           (d'oh)
9297
9298 2004-05-08  Benjamin Otte  <otte@gnome.org>
9299
9300         * gst/gstpad.c: (gst_pad_proxy_fixate):
9301           really reduce the set of caps
9302
9303 2004-05-08  Benjamin Otte  <otte@gnome.org>
9304
9305         * tests/Makefile.am:
9306         * tests/spidey_bench.c: (handoff), (main):
9307           add benchmark to test how long spider needs to create a pipeline
9308
9309 2004-05-08  Benjamin Otte  <otte@gnome.org>
9310
9311         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9312           mark links as unengaged when unnegotiating instead of deactivating.
9313           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9314
9315 2004-05-08  Benjamin Otte  <otte@gnome.org>
9316
9317         * docs/manual/helloworld.xml:
9318           s/audiosink/osssink (patch by Patrick Guimond)
9319
9320 2004-05-07  David Schleef  <ds@schleef.org>
9321
9322         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9323         since it contains important stuff.
9324
9325 2004-05-07  David Schleef  <ds@schleef.org>
9326
9327         * testsuite/caps/caps.c: (test3), (main): A check for appending
9328         ANY caps.
9329
9330 2004-05-07  David Schleef  <ds@schleef.org>
9331
9332         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9333         which may contain commas.  Fixes detection of -Wa,-mregnames
9334
9335 2004-05-06  David Schleef  <ds@schleef.org>
9336
9337         Changes to handle compilers that don't have variadic macro
9338         support.  In particular, glib headers define some inlines
9339         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9340         builds.
9341         * gst/Makefile.am:
9342         * gst/cothreads.c:
9343         * gst/elements/gstfdsink.c:
9344         * gst/elements/gstfdsrc.c:
9345         * gst/elements/gstfilesink.c:
9346         * gst/elements/gstfilesrc.c:
9347         * gst/gst_private.h:
9348         * gst/gstatomic.c:
9349         * gst/gstcaps.c: (gst_caps_append):
9350         * gst/gstcpu.c: (gst_cpuid_i386):
9351         * gst/gstelement.c:
9352         * gst/gsterror.c:
9353         * gst/gstfilter.c:
9354         * gst/gstinfo.h:
9355         * gst/gstprobe.c:
9356         * gst/gstquery.c:
9357         * gst/gstregistry.c:
9358         * gst/gststructure.c:
9359         * gst/gsttaginterface.c:
9360         * gst/gsttrace.c: (gst_trace_new):
9361         * gst/gsttrashstack.c:
9362         * gst/gsturi.c:
9363         * gst/gstvalue.c:
9364         * gst/parse/grammar.y:
9365         * gst/parse/parse.l:
9366         * tools/gst-inspect.c: (main):
9367         * tools/gst-launch.c: (main):
9368         * tools/gst-xmlinspect.c: (PUT_STRING):
9369
9370 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9371
9372         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9373         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9374         * gst/elements/gstfilesrc.h:
9375           send NEW_MEDIA events correctly
9376         * gst/elements/gsttypefindelement.c: (start_typefinding),
9377         (gst_type_find_element_handle_event):
9378           restart typefinding when we get a NEW_MEDIA event
9379         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9380         (gst_bin_dispose):
9381           don't die when someone removes elements in callbacks
9382         * gst/gstelement.c: (gst_element_change_state):
9383           improve debugging
9384         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9385           we need a NEW_MEDIA event to engage a link
9386         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9387           don't g_print debugging stuff
9388         * testsuite/caps/simplify.c: (check_caps):
9389
9390 2004-05-04  Benjamin Otte  <otte@gnome.org>
9391
9392         * gst/parse/grammar.y:
9393           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9394
9395 2004-05-04  Benjamin Otte  <otte@gnome.org>
9396
9397         * testsuite/caps/renegotiate.c: (main):
9398           improve output in error case
9399
9400 2004-05-04  Benjamin Otte  <otte@gnome.org>
9401
9402         * gst/parse/grammar.y:
9403           fix assert to not trigger when there's no error argument
9404         * gst/parse/parse.l:
9405           fix definition of caps to allow more than two structures
9406         * testsuite/caps/Makefile.am:
9407         * testsuite/caps/renegotiate.c: (main):
9408           it's sinesrc and works in that case
9409
9410 2004-05-04  Wim Taymans  <wim@fluendo.com>
9411
9412         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9413         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9414         when removing an element from a group, we always need to
9415         decrement the link count that this group had with other 
9416         groups through the element.
9417         added an extra assert to catch inconsistencies when decrementing
9418         the link count.
9419
9420 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9421
9422         * configure.ac:
9423         * docs/gst/Makefile.am:
9424         * docs/gst/gstreamer-sections.txt:
9425         * docs/gst/tmpl/gstcompat.sgml:
9426         * examples/appreader/Makefile.am:
9427         * examples/cutter/Makefile.am:
9428         * examples/events/Makefile.am:
9429         * examples/helloworld/Makefile.am:
9430         * examples/helloworld2/Makefile.am:
9431         * examples/launch/Makefile.am:
9432         * examples/manual/Makefile.am:
9433         * examples/mixer/Makefile.am:
9434         * examples/pingpong/Makefile.am:
9435         * examples/plugins/Makefile.am:
9436         * examples/queue/Makefile.am:
9437         * examples/queue2/Makefile.am:
9438         * examples/queue3/Makefile.am:
9439         * examples/queue4/Makefile.am:
9440         * examples/retag/Makefile.am:
9441         * examples/thread/Makefile.am:
9442         * examples/typefind/Makefile.am:
9443         * examples/xml/Makefile.am:
9444         * gst/Makefile.am:
9445         * gst/autoplug/Makefile.am:
9446         * gst/elements/Makefile.am:
9447         * gst/gstcompat.h:
9448         * gst/indexers/Makefile.am:
9449         * gst/parse/Makefile.am:
9450         * gst/registries/Makefile.am:
9451         * gst/schedulers/Makefile.am:
9452         * libs/gst/bytestream/Makefile.am:
9453         * libs/gst/control/Makefile.am:
9454         * libs/gst/getbits/Makefile.am:
9455         * po/af.po:
9456         * po/az.po:
9457         * po/en_GB.po:
9458         * po/fr.po:
9459         * po/nl.po:
9460         * po/sr.po:
9461         * po/sv.po:
9462         * po/tr.po:
9463         * po/uk.po:
9464         * tests/Makefile.am:
9465         * tests/bufspeed/Makefile.am:
9466         * tests/instantiate/Makefile.am:
9467         * tests/memchunk/Makefile.am:
9468         * tests/muxing/Makefile.am:
9469         * tests/negotiation/Makefile.am:
9470         * tests/probes/Makefile.am:
9471         * tests/sched/Makefile.am:
9472         * tests/seeking/Makefile.am:
9473         * tests/threadstate/Makefile.am:
9474         * testsuite/caps/Makefile.am:
9475         * testsuite/cleanup/Makefile.am:
9476         * testsuite/dlopen/Makefile.am:
9477         * testsuite/dynparams/Makefile.am:
9478         * testsuite/plugin/Makefile.am:
9479         * testsuite/states/Makefile.am:
9480         * tools/Makefile.am:
9481           reorganize compile/link flags to be consistent
9482           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9483
9484 2004-05-04  David Schleef  <ds@schleef.org>
9485
9486         The "once more, with feeling" check-in.
9487         * testsuite/caps/Makefile.am: dist caps_strings
9488         * testsuite/caps/renegotiate.c: (main): This test triggers a
9489           segfault in the core.  Marking as failing.
9490
9491 2004-05-03  David Schleef  <ds@schleef.org>
9492
9493         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9494           by the build bots.
9495         * testsuite/caps/renegotiate.c: (main): Same.
9496
9497 2004-05-03  David Schleef  <ds@schleef.org>
9498
9499         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9500
9501 2004-05-03  David Schleef  <ds@schleef.org>
9502
9503         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9504           variable to find our source file.
9505
9506 2004-05-03  David Schleef  <ds@schleef.org>
9507
9508         * configure.ac:  Link plugins with libgstreamer and dependent
9509           libraries
9510         * testsuite/caps/Makefile.am:
9511         * testsuite/caps/caps_strings:
9512         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9513           through a file of caps strings and test each one
9514
9515 2004-05-04  Benjamin Otte  <otte@gnome.org>
9516
9517         * libs/gst/bytestream/Makefile.am:
9518         * libs/gst/bytestream/adapter.c: 
9519         * libs/gst/bytestream/adapter.h:
9520           add GstAdapter, similar to bytestream, but doesn't require ugly event
9521           handling or uglier loopbased elements
9522
9523 2004-05-03  David Schleef  <ds@schleef.org>
9524
9525         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9526         * testsuite/caps/erathostenes.c:
9527         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9528
9529 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9530
9531         * docs/pwg/pwg.xml:
9532           remove hardcoded stylesheet path (duh)
9533         * docs/random/release:
9534         * docs/gst/gstreamer-sections.txt:
9535         * gst/Makefile.am:
9536         * gst/gst.h:
9537         * gst/gst_private.h:
9538         * gst/gstcaps.c:
9539         * gst/gstevent.c:
9540         * gst/gstformat.c:
9541         * gst/gstinfo.c:
9542         * gst/gstinfo.h:
9543         * gst/gstinterface.c:
9544         * gst/gstmemchunk.c:
9545         * gst/gstprobe.c:
9546         * gst/gstquery.c:
9547         * gst/gstregistry.c:
9548         * gst/gstregistrypool.c:
9549         * gst/gststructure.c:
9550         * gst/gsttaginterface.c:
9551         * gst/gstthread.c:
9552         * gst/gsttrace.c:
9553         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9554         * gst/gsturi.c:
9555         * gst/gstvalue.c:
9556           deprecate gst_info; remove gstlog.h
9557    
9558
9559 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9560
9561         * Makefile.am:
9562         * po/en_GB.po:
9563         * po/sv.po:
9564         * po/uk.po:
9565           updated translations
9566
9567 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9568
9569         * gst/gstbin.c: (gst_bin_dispose):
9570           better debugging
9571
9572 2004-05-03  Johan Dahlin  <johan@gnome.org>
9573
9574         * gst/schedulers/gstoptimalscheduler.c
9575         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9576         really is a GstElement. Avoids critical when running gst-launch -v
9577         and a oggdemux/decoding pipeline.
9578
9579 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9580
9581         * docs/gst/tmpl/gstpipeline.sgml :
9582         * docs/manual/elements-api.xml :
9583                 doc fix by Patrick Guimond (Protector) from devel ML
9584                 reviewed by ronald
9585
9586 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9587
9588         * docs/gst/Makefile.am :
9589         * docs/libs/Makefile.am :
9590                 apply a patch from Arwed v. Merkatz so that gtk-doc
9591                 generated docs install (same for .devhelp file)
9592                 (fixes part 1 of #138836)
9593
9594 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9595
9596         * docs/faq/dependencies.xml: typo
9597         * docs/faq/getting.xml :
9598             - fix download URL for new gstreamer site
9599             - hide sf.net download page as latest version aren't there
9600             - fix apt URLs
9601             - fill "get via CVS" paragraph (link to dev page on the site)
9602         * docs/faq/general.xml:
9603             hide status tables as they no more exists
9604             change case on plugins license file to reflect reality
9605         * docs/faq/troubleshooting.xml:
9606             remove the wiki question/answer as there is no more wiki
9607
9608 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * gst/gsterror.h:
9611           include the headers needed for declarations used in this header
9612
9613 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9614
9615         * docs/random/uraeus/gstreamer_and_midi.txt :
9616           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9617           (fixes #132288)
9618
9619 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9620
9621         reviewed by Benjamin Otte  <otte@gnome.org>
9622
9623         * gst/schedulers/gthread-cothreads.h:
9624           free allocated data for main cothread, too when destroying context
9625           (fixes #141417)
9626
9627 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9628
9629         * docs/manual/goals.xml : remove duplicated paragraph at end 
9630         of doc page (fixes #141448)
9631
9632 2004-04-29  David Schleef  <ds@schleef.org>
9633
9634         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9635         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9636
9637 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9638
9639         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9640           fix property
9641         * gst/gstcaps.c:
9642           fix doc string
9643         * po/POTFILES.in:
9644           rename typefind source file
9645
9646 2004-04-28  David Schleef  <ds@schleef.org>
9647
9648         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9649         * win32/GStreamer.vcproj:
9650         * win32/Makefile:
9651         * win32/config.h:
9652         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9653         (_trewinddir), (_ttelldir), (_tseekdir):
9654         * win32/dirent.h:
9655         * win32/gst-inspect.vcproj:
9656         * win32/gst-launch.vcproj:
9657         * win32/gst-register.vcproj:
9658         * win32/gstbytestream.vcproj:
9659         * win32/gstelements.vcproj:
9660         * win32/gstoptimalscheduler.vcproj:
9661         * win32/gstspider.vcproj:
9662         * win32/gtchar.h:
9663         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9664         * win32/mman.h:
9665         * win32/mman.inl:
9666         * win32/msvc71.sln:
9667
9668 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9669
9670         * gst/gst.c: (init_post):
9671         * gst/gstinfo.c:
9672           remove useless _gst_progname stuff
9673         * tools/gst-inspect.c: (print_field), (print_caps):
9674           improve caps output
9675
9676 2004-04-28  David Schleef  <ds@schleef.org>
9677
9678         Disable parsing of a lot of files that aren't part of the
9679         exported API.  Move corresponding template files to old/,
9680         waiting for removal when they don't contain anything
9681         interesting.
9682         * docs/gst/Makefile.am:
9683         * docs/gst/gstreamer-sections.txt:
9684         * docs/gst/tmpl/cothreads.sgml:
9685         * docs/gst/tmpl/cothreads_compat.sgml:
9686         * docs/gst/tmpl/gettext.sgml:
9687         * docs/gst/tmpl/gobject2gtk.sgml:
9688         * docs/gst/tmpl/grammar.tab.sgml:
9689         * docs/gst/tmpl/gst-i18n-app.sgml:
9690         * docs/gst/tmpl/gst-i18n-lib.sgml:
9691         * docs/gst/tmpl/gst_private.sgml:
9692         * docs/gst/tmpl/gstaggregator.sgml:
9693         * docs/gst/tmpl/gstarch.sgml:
9694         * docs/gst/tmpl/gstatomic_impl.sgml:
9695         * docs/gst/tmpl/gstbufferstore.sgml:
9696         * docs/gst/tmpl/gstdata_private.sgml:
9697         * docs/gst/tmpl/gstdisksink.sgml:
9698         * docs/gst/tmpl/gstdisksrc.sgml:
9699         * docs/gst/tmpl/gstelementfactory.sgml:
9700         * docs/gst/tmpl/gstextratypes.sgml:
9701         * docs/gst/tmpl/gstfakesink.sgml:
9702         * docs/gst/tmpl/gstfakesrc.sgml:
9703         * docs/gst/tmpl/gstfdsink.sgml:
9704         * docs/gst/tmpl/gstfdsrc.sgml:
9705         * docs/gst/tmpl/gstfilesink.sgml:
9706         * docs/gst/tmpl/gstfilesrc.sgml:
9707         * docs/gst/tmpl/gsthttpsrc.sgml:
9708         * docs/gst/tmpl/gstidentity.sgml:
9709         * docs/gst/tmpl/gstindexfactory.sgml:
9710         * docs/gst/tmpl/gstmarshal.sgml:
9711         * docs/gst/tmpl/gstmd5sink.sgml:
9712         * docs/gst/tmpl/gstmultidisksrc.sgml:
9713         * docs/gst/tmpl/gstmultifilesrc.sgml:
9714         * docs/gst/tmpl/gstpadtemplate.sgml:
9715         * docs/gst/tmpl/gstpipefilter.sgml:
9716         * docs/gst/tmpl/gstschedulerfactory.sgml:
9717         * docs/gst/tmpl/gstsearchfuncs.sgml:
9718         * docs/gst/tmpl/gstshaper.sgml:
9719         * docs/gst/tmpl/gstspider.sgml:
9720         * docs/gst/tmpl/gstspideridentity.sgml:
9721         * docs/gst/tmpl/gststatistics.sgml:
9722         * docs/gst/tmpl/gsttee.sgml:
9723         * docs/gst/tmpl/gsttimecache.sgml:
9724         * docs/gst/tmpl/gsttypefind.sgml:
9725         * docs/gst/tmpl/gsttypefindfactory.sgml:
9726         * docs/gst/tmpl/gstxmlregistry.sgml:
9727         * docs/gst/tmpl/gthread-cothreads.sgml:
9728         * docs/gst/tmpl/old/cothreads.sgml:
9729         * docs/gst/tmpl/old/cothreads_compat.sgml:
9730         * docs/gst/tmpl/old/gettext.sgml:
9731         * docs/gst/tmpl/old/gobject2gtk.sgml:
9732         * docs/gst/tmpl/old/grammar.tab.sgml:
9733         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9734         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9735         * docs/gst/tmpl/old/gst_private.sgml:
9736         * docs/gst/tmpl/old/gstaggregator.sgml:
9737         * docs/gst/tmpl/old/gstarch.sgml:
9738         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9739         * docs/gst/tmpl/old/gstbufferstore.sgml:
9740         * docs/gst/tmpl/old/gstdata_private.sgml:
9741         * docs/gst/tmpl/old/gstdisksink.sgml:
9742         * docs/gst/tmpl/old/gstdisksrc.sgml:
9743         * docs/gst/tmpl/old/gstelementfactory.sgml:
9744         * docs/gst/tmpl/old/gstextratypes.sgml:
9745         * docs/gst/tmpl/old/gstfakesink.sgml:
9746         * docs/gst/tmpl/old/gstfakesrc.sgml:
9747         * docs/gst/tmpl/old/gstfdsink.sgml:
9748         * docs/gst/tmpl/old/gstfdsrc.sgml:
9749         * docs/gst/tmpl/old/gstfilesink.sgml:
9750         * docs/gst/tmpl/old/gstfilesrc.sgml:
9751         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9752         * docs/gst/tmpl/old/gstidentity.sgml:
9753         * docs/gst/tmpl/old/gstindexfactory.sgml:
9754         * docs/gst/tmpl/old/gstmarshal.sgml:
9755         * docs/gst/tmpl/old/gstmd5sink.sgml:
9756         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9757         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9758         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9759         * docs/gst/tmpl/old/gstpipefilter.sgml:
9760         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9761         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9762         * docs/gst/tmpl/old/gstshaper.sgml:
9763         * docs/gst/tmpl/old/gstspider.sgml:
9764         * docs/gst/tmpl/old/gstspideridentity.sgml:
9765         * docs/gst/tmpl/old/gststatistics.sgml:
9766         * docs/gst/tmpl/old/gsttee.sgml:
9767         * docs/gst/tmpl/old/gsttimecache.sgml:
9768         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9769         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9770         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9771         * docs/gst/tmpl/old/types.sgml:
9772         * docs/gst/tmpl/types.sgml:
9773
9774         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9775         gtkdoc-scan doesn't like files with the same name in different
9776         directories.
9777         * gst/elements/Makefile.am:
9778         * gst/elements/gstelements.c:
9779         * gst/elements/gsttypefind.c: 
9780         * gst/elements/gsttypefind.h:
9781         * gst/elements/gsttypefindelement.c:
9782         * gst/elements/gsttypefindelement.h:
9783
9784 2004-04-28  David Schleef  <ds@schleef.org>
9785
9786         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9787         patch (bug #141317):
9788         * gst/gst-i18n-lib.h: Allow disabling gettext.
9789         * gst/gstatomic_impl.h: disable warning when it's dumb.
9790         * gst/gstclock.c: fix include
9791         * gst/gstcompat.h: fix variadic macro
9792         * gst/gstinfo.c: fix include
9793         * gst/gstmacros.h: add defines for inlines on MSVC
9794         * gst/gstplugin.c: fix includes
9795         * gst/gstregistry.c: fix includes
9796         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9797         * gst/gstsystemclock.c: fix include
9798         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9799         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9800         * gst/registries/gstxmlregistry.c:
9801         (gst_xml_registry_parse_element_factory): fix use of non-portable
9802         functions
9803         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9804         * libs/gst/control/dparammanager.h: same
9805
9806 2004-04-28  David Schleef  <ds@schleef.org>
9807
9808         Move a bunch of unused files to old/ with names that are
9809         not case-insensitive-unique.  These files still contain some
9810         useful information that needs to be merged into gstbin.sgml,
9811         etc., so they shouldn't be deleted yet.
9812         * docs/gst/tmpl/GstBin.sgml:
9813         * docs/gst/tmpl/GstBuffer.sgml:
9814         * docs/gst/tmpl/GstCaps.sgml:
9815         * docs/gst/tmpl/GstClock.sgml:
9816         * docs/gst/tmpl/GstCompat.sgml:
9817         * docs/gst/tmpl/GstData.sgml:
9818         * docs/gst/tmpl/GstElement.sgml:
9819         * docs/gst/tmpl/GstEvent.sgml:
9820         * docs/gst/tmpl/GstIndex.sgml:
9821         * docs/gst/tmpl/GstStructure.sgml:
9822         * docs/gst/tmpl/GstTag.sgml:
9823         * docs/gst/tmpl/old/GstBin.sgml:
9824         * docs/gst/tmpl/old/GstBuffer.sgml:
9825         * docs/gst/tmpl/old/GstCaps.sgml:
9826         * docs/gst/tmpl/old/GstClock.sgml:
9827         * docs/gst/tmpl/old/GstCompat.sgml:
9828         * docs/gst/tmpl/old/GstData.sgml:
9829         * docs/gst/tmpl/old/GstElement.sgml:
9830         * docs/gst/tmpl/old/GstEvent.sgml:
9831         * docs/gst/tmpl/old/GstIndex.sgml:
9832         * docs/gst/tmpl/old/GstStructure.sgml:
9833         * docs/gst/tmpl/old/GstTag.sgml:
9834
9835 2004-04-28  David Schleef  <ds@schleef.org>
9836
9837         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9838         (gst_caps_append), (gst_caps_append_structure),
9839         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9840         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9841         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9842         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9843         (gst_caps_intersect), (gst_caps_normalize),
9844         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9845         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9846         * gst/gstcaps.h: use GST_IS_CAPS().
9847
9848 2004-04-26  David Schleef  <ds@schleef.org>
9849
9850         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9851         assembly.  gcc doesn't handle it correctly. (bug #141083)
9852         * gst/gsttrashstack.h: same
9853
9854 2004-04-25  Benjamin Otte  <otte@gnome.org>
9855
9856         * gst/gstelement.c: (gst_element_change_state):
9857           fix assertion to do an int comparison
9858
9859 2004-04-25  Benjamin Otte  <otte@gnome.org>
9860
9861         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9862           better debugging output on error
9863
9864 2004-04-25  Benjamin Otte  <otte@gnome.org>
9865
9866         * gst/gstcaps.c: (gst_caps_subtract):
9867           fix memleak
9868
9869 2004-04-23  Benjamin Otte  <otte@gnome.org>
9870
9871         * gst/gstvalue.c: (gst_value_compare_buffer),
9872         (_gst_value_initialize):
9873           add comparison function for buffers
9874
9875 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9876
9877         * docs/pwg/pwg.xml:
9878           Just found out that this so-called "ima-wav" format is really
9879           just "dvi adpcm" (according to the MS WAV documentation). So
9880           renaming it. We didn't use it yet anyway.
9881
9882 2004-04-23  Benjamin Otte  <otte@gnome.org>
9883
9884         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9885           call gst_caps_is_subset
9886
9887 2004-04-23  Benjamin Otte  <otte@gnome.org>
9888
9889         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9890         (gst_caps_is_subset):
9891           add documentation
9892
9893 2004-04-23  Benjamin Otte  <otte@gnome.org>
9894           
9895         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9896         (gst_caps_structure_subtract), (gst_caps_subtract),
9897         (gst_caps_structure_figure_out_union),
9898         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9899           fix simplifying and subtracting not working correctly with optional
9900           properties
9901           solve assorted problems that make it now simplify ebven more
9902         * docs/gst/tmpl/gstcaps.sgml:
9903         * gst/gstcaps.h:
9904           make gst_caps_do_simplify return a bool to indicate if it simplified
9905         * testsuite/caps/simplify.c: (main):
9906           add more checks. The tests is quite a bit useless right now because
9907           the core is heavily simplifying itself.
9908         * testsuite/caps/caps.h:
9909           fix caps to contain all optional properties
9910
9911 2004-04-22  Benjamin Otte  <otte@gnome.org>
9912
9913         * docs/gst/tmpl/gstcaps.sgml:
9914         * docs/gst/tmpl/gstfilesrc.sgml:
9915         * docs/gst/tmpl/gststructure.sgml:
9916         * docs/gst/tmpl/gstvalue.sgml:
9917           update for recent API changes
9918         * gst/gstcaps.c: (gst_caps_do_simplify):
9919           fix to stop trying with a freed structure
9920         * gst/gstpad.c: (gst_pad_link_fixate):
9921           simplify caps
9922         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9923           remove C++ comment
9924         * gst/gstpad.h:
9925           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9926         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9927         (gst_structure_to_string):
9928           keep the correct type when using lists of ranges
9929         * gst/gstvalue.c: (gst_value_list_prepend_value),
9930         (gst_value_list_append_value):
9931           copy the value before adding to the list (d'oh)
9932         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9933         (gst_value_subtract_int_range_int_range):
9934           handle overflows correctly
9935         * gst/gstvalue.c: (gst_value_subtract_from_list):
9936           fix memleak
9937         * testsuite/caps/caps.h:
9938           add a caps that caused segfaults
9939
9940 2004-04-22  Benjamin Otte  <otte@gnome.org>
9941
9942         * testsuite/refcounting/pad.c: (main):
9943           fix test
9944
9945 2004-04-22  Benjamin Otte  <otte@gnome.org>
9946
9947         * gst/gstcaps.c: (gst_caps_subtract):
9948           allow subtracting ANY and EMPTY from ANY caps
9949
9950 2004-04-22  Benjamin Otte  <otte@gnome.org>
9951
9952         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9953         (gst_caps_union):
9954           only simplify in functions that create new caps. Simplifying in
9955           gst_caps_append breaks tests.
9956
9957 2004-04-22  Benjamin Otte  <otte@gnome.org>
9958
9959         * gst/gstcaps.c: (gst_caps_structure_simplify):
9960           unset GValue after use
9961         * gst/gstcaps.c: (gst_caps_append), 
9962         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9963           use gst_caps_simplify (reduces registry size by 30%)
9964         * gst/gstpad.c: (gst_pad_template_new):
9965           don't allow NULL caps
9966
9967 2004-04-22  Benjamin Otte  <otte@gnome.org>
9968
9969         * docs/gst/gstreamer-sections.txt:
9970           add gst_caps_do_simplify
9971         * gst/gstcaps.c:
9972           add documentation for gst_caps_do_simplify
9973         * gst/gstvalue.h:
9974           fix typo in gst_value_register_subtract_func declaration for gst-doc
9975
9976 2004-04-22  Benjamin Otte  <otte@gnome.org>
9977
9978         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9979           fix bug when converting from empty string.
9980         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9981         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9982           use gst_caps_new_empty to allocate a new caps. Only that function
9983           allocates memory for caps now.
9984         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9985         (gst_caps_remove_structure):
9986           add ability to remove one structure (but not to header yet)
9987         * gst/gstcaps.c: (gst_caps_compare_structures),
9988         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9989         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9990         * gst/gstcaps.h:
9991           add gst_caps_do_simplify that tries to simplify a caps in place.
9992           Deprecate old gst_caps_simplify function.
9993         * testsuite/caps/caps.h:
9994           add caps.h containing a common set of caps to test against.
9995         * testsuite/caps/sets.c: (check_caps), (main):
9996           use it.
9997         * testsuite/caps/.cvsignore:
9998         * testsuite/caps/Makefile.am:
9999         * testsuite/caps/simplify.c: (check_caps), (main):
10000           add test to check correctness and efficency of caps simplification.
10001
10002 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10003
10004         reviewed by Benjamin Otte  <otte@gnome.org>
10005
10006         * gst/gstparse.c: (_gst_parse_escape):
10007           Free the GString used in _gst_parse_escape()
10008
10009 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10010
10011         * gst/gstpad.c: (gst_pad_link_negotiate):
10012           refuse to link if the link is not possible
10013         * configure.ac:
10014         * testsuite/Makefile.am:
10015         * testsuite/negotiation/.cvsignore:
10016         * testsuite/negotiation/Makefile.am:
10017         * testsuite/negotiation/pad_link.c: (main):
10018           add test that checks the above behaviour
10019
10020 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10021
10022         * docs/gst/gstreamer-sections.txt:
10023           add newly added API
10024
10025 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10026
10027         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10028         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10029         (gst_filesrc_open_file), (gst_filesrc_close_file),
10030         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10031         * gst/elements/gstfilesrc.h:
10032           add support for non-regular files (#140734)
10033
10034 2004-04-21  Benjamin Otte  <otte@gnome.org>
10035
10036         * gst/gstpad.c: (gst_pad_link_fixate):
10037           add sophisticated error checking code to see if fixation functions
10038           did their fixation right
10039
10040 2004-04-21  Benjamin Otte  <otte@gnome.org>
10041
10042         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10043           check for ANY caps before appending/unioning
10044         * gst/gstcaps.c: (gst_caps_is_subset),
10045         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10046         (gst_caps_structure_subtract), (gst_caps_subtract):
10047         * gst/gstcaps.h:
10048           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10049           the API. deprecate gst_caps_is_equal_fixed
10050         * gst/gstpad.c: (gst_pad_try_set_caps):
10051         * gst/gstqueue.c: (gst_queue_link):
10052           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10053         * gst/gststructure.c: (gst_structure_get_name_id):
10054         * gst/gststructure.h:
10055           add function gst_structure_get_name_id
10056         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10057         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10058         (gst_value_subtract_int_range_int_range),
10059         (gst_value_subtract_double_double_range),
10060         (gst_value_subtract_double_range_double),
10061         (gst_value_subtract_double_range_double_range),
10062         (gst_value_subtract_from_list), (gst_value_subtract_list),
10063         (gst_value_can_intersect), (gst_value_subtract),
10064         (gst_value_can_subtract), (gst_value_register_subtract_func),
10065         (_gst_value_initialize):
10066         * gst/gstvalue.h:
10067           add support for subtracting values from each other. Note that
10068           subtracting means subtracting as in set theory. Required for caps
10069           stuff above.
10070         * testsuite/caps/.cvsignore:
10071         * testsuite/caps/Makefile.am:
10072         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10073         * testsuite/caps/sets.c: (check_caps), (main):
10074         * testsuite/caps/subtract.c: (check_caps), (main):
10075           add tests for subtraction and equality code.
10076
10077 2004-04-20  David Schleef  <ds@schleef.org>
10078
10079         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10080         * gst/indexers/Makefile.am:
10081         * gst/schedulers/Makefile.am:
10082         * libs/gst/bytestream/Makefile.am:
10083         * libs/gst/control/Makefile.am:
10084         * libs/gst/getbits/Makefile.am:
10085
10086 2004-04-20  David Schleef  <ds@schleef.org>
10087
10088         * common/as-libtool.mak: Fine-tune DLL building.
10089         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10090         (like gst-plugins)
10091         * examples/plugins/Makefile.am: remove plugindir
10092         * gst/autoplug/Makefile.am: DLL building fixes
10093         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10094         Windows.
10095         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10096         * gst/indexers/Makefile.am: DLL building fixes
10097         * gst/schedulers/Makefile.am: DLL building fixes.
10098         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10099         * libs/gst/control/Makefile.am: same
10100         * libs/gst/getbits/Makefile.am: same
10101         * testsuite/Makefile.am: New dlopen directory
10102         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10103         when dlopened.
10104         * testsuite/dlopen/dlopen_gst.c: (main): same
10105         * testsuite/dlopen/loadgst.c: (do_test): same
10106
10107 2004-04-20  David Schleef  <ds@schleef.org>
10108
10109         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10110         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10111
10112 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10113
10114         * gst/gstelement.c: (gst_element_wait),
10115         (gst_element_set_time_delay), (gst_element_change_state):
10116           Use GST_TIME_*
10117
10118 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10119
10120         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10121         (gst_spider_identity_plug):
10122           improve debugging messages
10123         * gst/gstbin.c: (gst_bin_remove_func):
10124           make sure the state_change function is only called with simple state
10125           transitions
10126
10127 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10128
10129         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10130         (gst_fakesink_set_property), (gst_fakesink_chain):
10131         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10132         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10133         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10134         * gst/elements/gstidentity.c: (gst_identity_chain),
10135         (gst_identity_set_property):
10136         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10137         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10138           add warnings to _set_property for unknown arguments
10139           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10140
10141 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10142
10143         * Makefile.am:
10144         * docs/manuals.mak:
10145           add .po file download snippet
10146           fix a bug in the doc makefile
10147
10148 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10149
10150         * Makefile.am:
10151         * po/LINGUAS:
10152         * po/en_GB.po:
10153           Added en_GB translation (Gareth Owen)
10154
10155 2004-04-20  Johan Dahlin  <johan@gnome.org>
10156
10157         * gst/gstpad.c (_invent_event): Clean up
10158
10159 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10160
10161         * testsuite/caps/filtercaps.c: (main):
10162           fix test to test things correctly (caps are complicated)
10163
10164 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10165
10166         * testsuite/caps/Makefile.am:
10167         * testsuite/caps/filtercaps.c: (main):
10168           add test (that doesn't work right now, but should)
10169
10170 2004-04-19  David Schleef  <ds@schleef.org>
10171
10172         * configure.ac: Add test for allowing unaligned access.  Add define
10173         to put in gstconfig.h.
10174         * docs/gst/gstreamer-sections.txt: New symbols
10175         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10176         * docs/gst/tmpl/gstfilesrc.sgml:
10177         * docs/gst/tmpl/gstparse.sgml:
10178         * docs/gst/tmpl/gsttypes.sgml:
10179         * docs/gst/tmpl/gstutils.sgml:
10180         * docs/gst/tmpl/gstvalue.sgml:
10181         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10182         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10183         on most !i386/!powerpc architectures.  From Daniel Gazard
10184         <daniel.gazard@free.fr>.  (bug #140156)
10185         * po/af.po: Check in changes made by gettext.
10186         * po/az.po:
10187         * po/fr.po:
10188         * po/nl.po:
10189         * po/sr.po:
10190         * po/sv.po:
10191
10192 2004-04-20  Benjamin Otte  <otte@gnome.org>
10193
10194         * gst/schedulers/entryscheduler.c: 
10195         (gst_entry_scheduler_yield):
10196           refuse to yield when decoupled elements insist on doing that.
10197           At least it's better than crashing
10198
10199 2004-04-19  David Schleef  <ds@schleef.org>
10200
10201         * docs/libs/Makefile.am: Change sinclude to include
10202         * docs/gst/Makefile.am: same
10203         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10204
10205 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10206
10207         * po/LINGUAS:
10208         * po/uk.po:
10209           Added Ukrainian translation (Maxim V. Dziumanenko)
10210
10211 2004-04-19  Johan Dahlin  <johan@gnome.org>
10212
10213         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10214         checking here, do it before calling the function.
10215         Clean up, use for loops instead of while loops while iterating
10216         over lists.
10217
10218         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10219         in debug message.
10220         (gst_spider_create_and_plug): Improve debug message.
10221         General: Replace while loops which iterates over GLists with for
10222         loops. Which are much cleaner, improves readability, especially
10223         for gst_spider_identity_plug
10224
10225         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10226         fixes bug 140477
10227
10228 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10229
10230         * po/LINGUAS:
10231         * po/tr.po:
10232           Added Turkish translation (Baris Cicek)
10233
10234 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10235
10236         * docs/faq/troubleshooting.xml:
10237           Mention gst-register in the FAQ (fixes 139045).
10238
10239 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10240
10241         * docs/gst/gstreamer-sections.txt:
10242
10243 2004-04-17  Benjamin Otte  <otte@gnome.org>
10244
10245         * gst/gstelement.c: (gst_element_dispose):
10246           simplify
10247         * gst/gstpad.c: (gst_pad_call_chain_function):
10248           don't create loads of events due to bad macro usage
10249
10250 2004-04-16  David Schleef  <ds@schleef.org>
10251
10252         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10253         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10254         * gst/gstvalue.c: (gst_value_serialize_buffer),
10255         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10256         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10257         to indicate types that are fixed wrt caps or not.  Switching to
10258         this function fixes (bug #140298).
10259         * gst/gstvalue.h:
10260
10261 2004-04-16  David Schleef  <ds@schleef.org>
10262
10263         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10264         for GST_UNALIGNED_ACESS, since we essentially know which archs
10265         are ok.
10266
10267 2004-04-17  Benjamin Otte  <otte@gnome.org>
10268
10269         * docs/gst/Makefile.am:
10270           ignore gst/parse directory when building docs (fixes #140205)
10271
10272 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10273
10274         * testsuite/refcounting/mem.c: (vmsize):
10275           do error checking
10276
10277 2004-04-16  Johan Dahlin  <johan@gnome.org>
10278
10279         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10280         and gst_pad_call_get_function.
10281
10282 2004-04-15  David Schleef  <ds@schleef.org>
10283
10284         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10285         checks if we can access unaligned memory.
10286         * configure.ac: Use it.
10287
10288 2004-04-16  Benjamin Otte  <otte@gnome.org>
10289
10290         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10291         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10292         * gst/elements/gstfilesrc.h:
10293           s/seek_happened/need_discont/ and require discont before sending any
10294           data
10295
10296 2004-04-15  David Schleef  <ds@schleef.org>
10297
10298         * gst/gstvalue.c: (gst_value_serialize_buffer),
10299         (gst_value_deserialize_buffer), (_gst_value_initialize):
10300         Register these types as fundamental types. (bug #140015)
10301
10302 2004-04-16  Benjamin Otte  <otte@gnome.org>
10303
10304         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10305         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10306         (gst_pad_pull):
10307           implement enforcing discont events before buffers are passed. This
10308           allows state changes of only some elements and later correctly going
10309           on where they left off (or in short: you can now set audio sinks to
10310           NULL to release the device when the pipeline is paused)
10311         * gst/gstpad.c: (gst_pad_call_chain_function),
10312         (gst_pad_call_get_function):
10313         * gst/gstpad.h:
10314           add gst_pad_call_chain_function and gst_pad_call_get_function for
10315           scheduler interaction. They are required because of the changes
10316           above.
10317         * gst/schedulers/entryscheduler.c: (get_buffer),
10318         (gst_entry_scheduler_chain_wrapper),
10319         (gst_entry_scheduler_get_wrapper),
10320         (gst_entry_scheduler_state_transition),
10321         (gst_entry_scheduler_pad_link):
10322         * gst/schedulers/gstbasicscheduler.c:
10323         (gst_basic_scheduler_chain_wrapper),
10324         (gst_basic_scheduler_src_wrapper),
10325         (gst_basic_scheduler_chainhandler_proxy),
10326         (gst_basic_scheduler_gethandler_proxy),
10327         (gst_basic_scheduler_cothreaded_chain),
10328         (gst_basic_scheduler_chain_elements):
10329         * gst/schedulers/gstoptimalscheduler.c:
10330         (get_group_schedule_function), (pad_clear_queued),
10331         (gst_opt_scheduler_pad_link):
10332           use the new functions instead of calling get/chain-functions
10333           directly.
10334
10335 2004-04-15  David Schleef  <ds@schleef.org>
10336
10337         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10338         * docs/gst/tmpl/gstinfo.sgml: same
10339         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10340         gtk-doc put here.
10341         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10342         * examples/queue/queue.c: (main):  We iterate pipelines, not
10343         bins.  (bug #139996)
10344
10345 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10346
10347         * docs/pwg/advanced-types.xml:
10348           Add MS RLE support. Also document Qt RLE although I have no sample
10349           files for that yet. And document an extra property for ADPCM.
10350
10351 2004-04-15  David Schleef  <ds@schleef.org>
10352
10353         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10354         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10355         Windows.
10356
10357 2004-04-15  David Schleef  <ds@schleef.org>
10358
10359         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10360         symbol names to not conflict with new gstinfo.h symbols.
10361         * gst/gstinfo.h: Add inline functions for all those crazy
10362         compilers that don't know how to handle variadic macros (MSVC).
10363
10364 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10365
10366         * configure.ac: bump nano to 1
10367
10368 === release 0.8.1 ===
10369
10370 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10371
10372         * NEWS:
10373         * RELEASE:
10374         * configure.ac:
10375           releasing 0.8.1, "Snow Brigade"
10376
10377 2004-04-14  David Schleef  <ds@schleef.org>
10378
10379         * testsuite/Makefile.am: define tests_ignore
10380         * testsuite/Rules: Added new tests_ignore, which get compiled,
10381         but not run (generally because they're inconsistent or have
10382         heisenbugs).  Now we can ensure all the .c files compile in
10383         testsuite/.
10384         * testsuite/bins/Makefile.am: define tests_ignore
10385         * testsuite/bytestream/Makefile.am:
10386         * testsuite/caps/Makefile.am:
10387         * testsuite/clock/Makefile.am:
10388         * testsuite/debug/Makefile.am:
10389         * testsuite/debug/global.c: (gst_debug_log_one),
10390         (gst_debug_log_two): Fix compilation problem.
10391         * testsuite/dynparams/Makefile.am:
10392         * testsuite/elements/Makefile.am:
10393         * testsuite/ghostpads/Makefile.am:
10394         * testsuite/indexers/Makefile.am:
10395         * testsuite/parse/Makefile.am:
10396         * testsuite/plugin/Makefile.am:
10397         * testsuite/refcounting/Makefile.am:
10398         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10399         results, because it's not calculated correctly.
10400         * testsuite/refcounting/pad.c: (main): same
10401         * testsuite/states/Makefile.am:
10402         * testsuite/tags/Makefile.am:
10403         * testsuite/threads/Makefile.am:
10404
10405 2004-04-14  David Schleef  <ds@schleef.org>
10406
10407         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10408         generating bad code around the cpu detection asm code.
10409
10410 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10411
10412         * tools/gst-inspect.c: (print_element_info):
10413           print numeric version of rank as well, since we added some - 1
10414           rank values to elements
10415
10416 2004-04-13  David Schleef  <ds@schleef.org>
10417
10418         * configure.ac:  Disable various code when compiling for MinGW.
10419         * gst/elements/Makefile.am:
10420         * gst/elements/gstelements.c:
10421         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10422         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10423         * gst/registries/gstxmlregistry.c: (make_dir):
10424
10425 2004-04-13  David Schleef  <ds@schleef.org>
10426
10427         * gst/Makefile.am:
10428         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10429         assembly.
10430         * gst/gstcpuid_i386.s: remove
10431
10432 2004-04-13  David Schleef  <ds@schleef.org>
10433
10434         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10435         seems to think it needs to be done.
10436         * docs/gst/tmpl/gstfakesink.sgml:
10437         * docs/gst/tmpl/gstfakesrc.sgml:
10438         * docs/gst/tmpl/gstfdsink.sgml:
10439         * docs/gst/tmpl/gstfdsrc.sgml:
10440         * docs/gst/tmpl/gstfilesink.sgml:
10441         * docs/gst/tmpl/gstfilesrc.sgml:
10442         * docs/gst/tmpl/gstidentity.sgml:
10443         * docs/gst/tmpl/gstmd5sink.sgml:
10444         * docs/gst/tmpl/gstmultifilesrc.sgml:
10445         * docs/gst/tmpl/gstpipefilter.sgml:
10446         * docs/gst/tmpl/gstshaper.sgml:
10447         * docs/gst/tmpl/gstspider.sgml:
10448         * docs/gst/tmpl/gstspideridentity.sgml:
10449         * docs/gst/tmpl/gststatistics.sgml:
10450         * docs/gst/tmpl/gsttee.sgml:
10451         * docs/gst/tmpl/gsttypefind.sgml:
10452         * docs/gst/tmpl/gstutils.sgml:
10453
10454 2004-04-13  David Schleef  <ds@schleef.org>
10455
10456         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10457         and to build DLLs on Windows.
10458         * gst/Makefile.am:
10459         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10460         (gst_filesrc_open_file):
10461         * gst/schedulers/Makefile.am:
10462
10463 2004-04-13  David Schleef  <ds@schleef.org>
10464
10465         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10466         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10467         fixating lists.
10468
10469 2004-04-12  David Schleef  <ds@schleef.org>
10470
10471         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10472         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10473         to using it.
10474         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10475         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10476         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10477         * gst/gststructure.c: (gst_structure_set_valist),
10478         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10479         support for buffers.
10480         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10481         intended to be const.
10482         * gst/gsttag.h: same
10483         * gst/gstvalue.c: (gst_value_serialize_buffer),
10484         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10485         to (de)serialize buffers.
10486         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10487         * testsuite/caps/string-conversions.c: (main):
10488         * testsuite/caps/value_serialize.c: add new test
10489
10490 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10491
10492         * docs/pwg/advanced-types.xml:
10493           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10494
10495 2004-04-11  Benjamin Otte  <otte@gnome.org>
10496
10497         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10498           rename categories to basic_*
10499         * gst/schedulers/gstbasicscheduler.c: 
10500         (gst_basic_scheduler_chain_wrapper),
10501         (gst_basic_scheduler_chainhandler_proxy),
10502         (gst_basic_scheduler_gethandler_proxy),
10503         (gst_basic_scheduler_eventhandler_proxy):
10504           debugging category fixes - put common stuff in log category
10505         * gst/schedulers/gstbasicscheduler.c: 
10506         (gst_basic_scheduler_chain_elements):
10507           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10508           active and linking two active chains
10509
10510 2004-04-10  Benjamin Otte  <otte@gnome.org>
10511
10512         * docs/pwg/intro-preface.xml:
10513           fix dead links and remove reference to Wiki
10514
10515 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10516
10517         * gst/schedulers/gstbasicscheduler.c:
10518           make sure we can switch back to the main function if we're still in
10519           the main function (supposed to fix #139617)
10520         * gst/schedulers/gthread-cothreads.h:
10521           don't throw an error when switching to the same cothread
10522
10523 2004-04-09  Benjamin Otte  <otte@gnome.org>
10524
10525         * gst/gstbin.c: (gst_bin_get_type):
10526         * gst/gstclock.c: (gst_clock_get_type):
10527         * gst/gstindex.c: (gst_index_get_type):
10528         * gst/gstobject.c: (gst_object_get_type),
10529         (gst_signal_object_get_type):
10530         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10531         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10532         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10533         * gst/gstqueue.c: (gst_queue_get_type):
10534         * gst/gstregistry.c: (gst_registry_get_type):
10535         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10536         * gst/gstthread.c: (gst_thread_get_type):
10537           don't use memchunks for these objects, use malloc instead
10538
10539 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10540
10541         * docs/gst/.cvsignore:
10542         * docs/gst/Makefile.am:
10543         * docs/gst/gstreamer-sections.txt:
10544         * docs/gst/tmpl/gstaggregator.sgml:
10545         * docs/gst/tmpl/gstbuffer.sgml:
10546         * docs/gst/tmpl/gstclock.sgml:
10547         * docs/gst/tmpl/gstelement.sgml:
10548         * docs/gst/tmpl/gstfakesink.sgml:
10549         * docs/gst/tmpl/gstfakesrc.sgml:
10550         * docs/gst/tmpl/gstfdsink.sgml:
10551         * docs/gst/tmpl/gstfdsrc.sgml:
10552         * docs/gst/tmpl/gstfilesink.sgml:
10553         * docs/gst/tmpl/gstfilesrc.sgml:
10554         * docs/gst/tmpl/gstidentity.sgml:
10555         * docs/gst/tmpl/gstindex.sgml:
10556         * docs/gst/tmpl/gstinfo.sgml:
10557         * docs/gst/tmpl/gstmd5sink.sgml:
10558         * docs/gst/tmpl/gstmultifilesrc.sgml:
10559         * docs/gst/tmpl/gstpad.sgml:
10560         * docs/gst/tmpl/gstpipefilter.sgml:
10561         * docs/gst/tmpl/gstpipeline.sgml:
10562         * docs/gst/tmpl/gstpluginfeature.sgml:
10563         * docs/gst/tmpl/gstqueue.sgml:
10564         * docs/gst/tmpl/gstregistry.sgml:
10565         * docs/gst/tmpl/gstscheduler.sgml:
10566         * docs/gst/tmpl/gstshaper.sgml:
10567         * docs/gst/tmpl/gstspider.sgml:
10568         * docs/gst/tmpl/gstspideridentity.sgml:
10569         * docs/gst/tmpl/gststatistics.sgml:
10570         * docs/gst/tmpl/gstsystemclock.sgml:
10571         * docs/gst/tmpl/gsttee.sgml:
10572         * docs/gst/tmpl/gstthread.sgml:
10573         * docs/gst/tmpl/gsttypefind.sgml:
10574         * docs/gst/tmpl/gstutils.sgml:
10575           further doc build fixes
10576
10577 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10578
10579         * docs/gst/Makefile.am:
10580           make docs exit on scanning problems
10581           fix nonsrcdir build issues
10582         * docs/gst/gstreamer-sections.txt:
10583           adding stuff from -unused
10584         * gst/gstqueue.h:
10585           create GstQueueSize
10586         * gst/schedulers/cothreads_compat.h:
10587           fix cothread warnings
10588
10589 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10590
10591         * docs/gst/gstreamer-sections.txt:
10592           remove defines deprecated by Benjamin
10593
10594 2004-04-07  Benjamin Otte  <otte@gnome.org>
10595
10596         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10597           when the buffer is complete, don't check if other buffers are needed
10598         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10599           check that the offset is >0 so we don't try to read before the
10600           beginning of the file
10601         * gst/gstpad.c: (gst_pad_set_pad_template):
10602           sink the template, so we don't end up with 130k pad templates
10603
10604 2004-04-06  Benjamin Otte  <otte@gnome.org>
10605
10606         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10607           don't ref the element, adding already reffed it. And we didn't unref
10608           it later anyway... (huge memleak when you used many spider elements)
10609         * gst/gstelement.c: (gst_element_base_class_finalize):
10610         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10611         (gst_element_register):
10612         * gst/gsturi.c: (gst_element_make_from_uri):
10613           use gst_object_(un)ref instead of g_object(un)ref
10614
10615 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10616
10617         * gst/gstbuffer.h:
10618           remove macro that wouldn't work anymore because struct member has
10619           been removed.
10620         * gst/schedulers/entryscheduler.c: (schedule_forward):
10621           fix segfault for unconnected pads
10622         
10623 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10624
10625         reviewed by David Schleef <ds@schleef.org>
10626
10627         * gst/gstinfo.h:
10628           *_FORMAT modifiers should require putting a % in front of them for
10629           consistency reasons.
10630
10631 2004-04-05  Colin Walters  <walters@redhat.com>
10632
10633         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10634         space.
10635
10636 2004-04-05  Benjamin Otte  <otte@gnome.org>
10637
10638         * configure.ac:
10639         * gst/Makefile.am:
10640         * gst/gst_private.h:
10641         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10642           add support for detecting if GStreamer runs inside valgrind.
10643           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10644           print a big message in valgrind that GStreamer has detected it's
10645           running inside and might now use different code.
10646         * gst/gstmemchunk.c: (populate), (free_area),
10647         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10648         (gst_mem_chunk_free):
10649           flag memchunks for valgrind, so it can detect leaking of chunks.
10650           This allows detecting leaks of GstBuffer and GstEvent correctly
10651           inside valgrind.
10652
10653 2004-04-05  David Schleef  <ds@schleef.org>
10654
10655         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10656           jensgr@gmx.net (Jens Granseuer)
10657
10658 2004-04-05  David Schleef  <ds@schleef.org>
10659
10660         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10661         (gst_buffer_default_free), (gst_buffer_default_copy),
10662         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10663         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10664         structures in one place.
10665
10666 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10667
10668         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10669           (GST_TIME_FORMAT, GST_TIME_ARGS)
10670
10671 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10672
10673         * testsuite/elements/Makefile.am:
10674           disable test until it stops breaking make distcheck
10675
10676 2004-04-05  Johan Dahlin  <johan@gnome.org>
10677
10678         * po/sv.po: Updated translation
10679
10680 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10681
10682         * gst/gstplugin.c: (gst_plugin_load_file):
10683           fix segfault for when original plugin was loaded statically
10684
10685 2004-04-05  Benjamin Otte  <otte@gnome.org>
10686
10687         * testsuite/debug/category.c: (main):
10688         * testsuite/debug/commandline.c: (main):
10689         * testsuite/debug/output.c: (main):
10690           fix tests to work again with debugging enabled
10691
10692 2004-04-05  Benjamin Otte  <otte@gnome.org>
10693
10694         * gst/schedulers/gstbasicscheduler.c:
10695         (gst_basic_scheduler_pad_link):
10696           fix to work with recent scheduling changes
10697
10698 2004-04-05  Benjamin Otte  <otte@gnome.org>
10699
10700         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10701         prepareChangeLog doesn't work when cvs indents):
10702           don't throw an error when no element can be scheduled, there's too
10703           many weird reasons why it doesn't work. Return STOPPED instead.
10704           decoupled elemts' schedulability doesn't depend on bufpens.
10705
10706 2004-04-04  Benjamin Otte  <otte@gnome.org>
10707
10708         * gst/schedulers/gstbasicscheduler.c:
10709         (gst_basic_scheduler_pad_select):
10710           fix uninitialized variable warnings
10711
10712 2004-04-04  Benjamin Otte  <otte@gnome.org>
10713
10714         * gst/gstpad.c: (gst_pad_collect_valist):
10715           fix uninitialized variable warning
10716         * gst/schedulers/entryscheduler.c: (schedule_forward):
10717           fix shadowed variable
10718
10719 2004-04-04  Benjamin Otte  <otte@gnome.org>
10720
10721         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10722         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10723         (gst_pad_select):
10724         * gst/gstpad.h:
10725         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10726         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10727         * gst/gstscheduler.h:
10728           implement gst_pad_collect as replacement for gst_pad_select.
10729           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10730           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10731           new pad_select, lock and unlock calls.
10732         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10733         * gst/cothreads.h:
10734         * gst/schedulers/cothreads_compat.h:
10735         * gst/schedulers/gthread-cothreads.h:
10736           remove unused cothread_lock and cothread_unlock calls
10737         * gst/schedulers/entryscheduler.c:
10738         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10739         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10740         (gst_entry_scheduler_pad_select):
10741           update to new API
10742         * gst/schedulers/gstbasicscheduler.c:
10743         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10744         (gst_basic_scheduler_pad_select):
10745           remove useless lock and unlock calls, update pad_select to new API
10746           (untested)
10747         * gst/schedulers/gstoptimalscheduler.c:
10748         (gst_opt_scheduler_class_init):
10749           remove useless select, lock and unlock function calls
10750         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10751           use gst_pad_collect instead of gst_pad_select
10752
10753 2004-04-04  Benjamin Otte  <otte@gnome.org>
10754
10755         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10756         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10757         (schedule_next_element), (print_entry):
10758           add can_schedule_pad to handle element states.
10759           add schedule_forward to select the correct entry to schedule next
10760
10761 2004-04-03  Benjamin Otte  <otte@gnome.org>
10762
10763         * gst/schedulers/entryscheduler.c: 
10764           remove unused variable, fix error inside Rb, fix compile warning in
10765           unreachable code
10766
10767 2004-04-03  Benjamin Otte  <otte@gnome.org>
10768
10769         * gst/schedulers/entryscheduler.c:
10770           completely revamp the inner workings, so it's a lot easier to
10771           understand and extend
10772
10773 2004-04-03  Andy Wingo  <wingo@pobox.com>
10774
10775         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10776         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10777         This allows better introspection of pipeline topology.
10778         (add_to_chain): Don't do trickery to put loop elements first;
10779         rather, queue a chain sort by marking the chain as dirty.
10780         (remove_from_chain): Mark the chain dirty.
10781         (sort_chain): New function. Sorts the group list so that terminal
10782         sinks are first. This means elements on the sink side will be
10783         preferentially sscheduled before elements on the src side of the
10784         pipeline.
10785         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10786         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10787         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10788         (group_inc_link): Change argument and variable names to match the
10789         new link structure member names (src and sink).
10790         (group_dec_link): Add some description
10791
10792 2004-04-03  Benjamin Otte  <otte@gnome.org>
10793
10794         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10795         * gst/gstinfo.h:
10796         * testsuite/debug/category.c: (main):
10797         * testsuite/debug/commandline.c: (main):
10798         * testsuite/debug/output.c: (main):
10799         * testsuite/debug/printf_extension.c: (main):
10800           fix to successfully build and test with --disable-gst-debug
10801           configure switch (fixes #138705)
10802
10803 2004-04-03  Benjamin Otte  <otte@gnome.org>
10804
10805         * docs/pwg/building-boiler.xml:
10806           add cvs login line and s/anonymous/anoncvs/
10807
10808 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10809
10810         reviewed by Benjamin Otte  <otte@gnome.org>
10811
10812         * gst/gststructure.c: (gst_structure_free):
10813           memleak fix: free fields array (partial fix for #134839)
10814
10815 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10816
10817         * docs/random/ds/0.9-suggested-changes:
10818           Add a note to change handoff use in fakesrc to be usable in
10819           a more generic way (fakesrc should be renamed to appsrc or so).
10820         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10821           Change signal type to scope, so we can fill the buffer in the
10822           handoff handler (that's the whole use of this signal...).
10823
10824 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10825
10826         * docs/pwg/other-ntoone.xml:
10827           Document muxers and n-to-1 elements.
10828
10829 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10830
10831         * gst/registries/gstxmlregistry.c
10832         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10833         determine if a file is a G_MODULE. The old one discards paths
10834         containing "so" somewhere in the middle. My home directory is
10835         called "soto". Go figure...
10836
10837 2004-03-31  David Schleef  <ds@schleef.org>
10838
10839         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10840         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10841         * gst/gstbuffer.h:
10842
10843 2004-03-31  David Schleef  <ds@schleef.org>
10844
10845         * gst/gstvalue.c: (gst_value_union_int_int_range),
10846         (gst_value_union_int_range_int_range), (gst_value_can_union),
10847         (gst_value_union), (_gst_value_initialize):  Add some union
10848         implementations.  We didn't have any previously.
10849         * testsuite/caps/Makefile.am:
10850         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10851         (gst_audioscale_getcaps), (test_caps), (main): A little test
10852         that is the same as the caps manipulation in audioscale.
10853
10854 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10855
10856         * docs/faq/general.xml:
10857           add entry about "does gst support format X?"
10858
10859 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10860
10861         * gst/gstthread.c:
10862           fix docs
10863         * gst/gstutils.h:
10864           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10865
10866 2004-03-30  Benjamin Otte  <otte@gnome.org>
10867
10868         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10869           set the offset of the buffer to the requested offset
10870         * gst/elements/gsttypefind.c: (stop_typefinding):
10871           revert patch 1.18 (which I unfortunately don't know the reason for).
10872           This is needed to allow downstream elements to seek. Otherwise
10873           typefind might overwrite a previous seek by downstream elements.
10874           This lead to errors with id3tag and typefind on some mp3s.
10875         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10876         (gst_entry_scheduler_iterate):
10877           be more verbose when debugging
10878
10879 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10880
10881         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10882           make sure we don't get NULL strings
10883
10884 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10885
10886         * gst/gstcaps.c:
10887         * gst/gstelement.c:
10888         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10889         * gst/gstindex.c: (gst_index_resolver_get_type),
10890         (gst_index_get_type), (gst_index_factory_get_type):
10891         * gst/gstinfo.c:
10892         * gst/gstpad.c:
10893         * gst/gstplugin.c:
10894         * gst/gsturi.c: (gst_uri_handler_get_type):
10895         * gst/gstvalue.c:
10896           first batch of documentation fixes
10897
10898 2004-03-29  David Schleef  <ds@schleef.org>
10899
10900         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10901         * docs/gst/gstreamer-docs.sgml:  More hacking
10902         * docs/gst/gstreamer-sections.txt:
10903         * docs/gst/tmpl/cothreads_compat.sgml:
10904         * docs/gst/tmpl/gstcaps.sgml:
10905         * docs/gst/tmpl/gstclock.sgml:
10906         * docs/gst/tmpl/gstelement.sgml:
10907         * docs/gst/tmpl/gstevent.sgml:
10908         * docs/gst/tmpl/gstpad.sgml:
10909         * docs/gst/tmpl/gstutils.sgml:
10910         * docs/gst/tmpl/gstxml.sgml:
10911         * docs/gst/tmpl/gthread-cothreads.sgml:
10912         * docs/random/ds/0.9-suggested-changes:
10913         * gst/elements/gstfakesink.h: doc fixes
10914         * gst/elements/gstfakesrc.h: doc fixes
10915         * gst/gstcaps.c: doc fixes
10916         * gst/gstcaps.h: doc fixes
10917         * gst/gstelement.c: doc fixes
10918         * gst/gstelement.h: doc fixes
10919         * gst/gstindex.c: doc fixes
10920         * gst/gstinfo.c: doc fixes
10921         * gst/gstpad.c: doc fixes
10922         * gst/gstpad.h: doc fixes
10923         * gst/gstplugin.c: doc fixes
10924         * gst/gsttypefind.h: doc fixes
10925         * gst/gsturi.c: doc fixes
10926         * gst/gstvalue.c: doc fixes
10927
10928 2004-03-29  Colin Walters  <walters@redhat.com>
10929
10930         * gst/registries/gstxmlregistry.c (get_time)
10931         (plugin_times_older_than_recurse):
10932         Use the result of stat to determine whether a path is a file,
10933         so we don't attempt to opendir() files.
10934
10935 2004-03-29  Benjamin Otte  <otte@gnome.org>
10936
10937         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10938           print caps in debugging output when setting caps failed
10939         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10940         (schedule_next_element), (get_buffer), (run_chainhandler),
10941         (element_may_start), (gst_entry_scheduler_chain_handler),
10942         (gst_entry_scheduler_get_handler),
10943         (gst_entry_scheduler_state_transition),
10944         (gst_entry_scheduler_pad_link):
10945           make this scheduler a testcase for mandatory
10946           discont-before-first-buffer which is needed if we want to allow apps
10947           to release the sound device.
10948           add SCHED_ASSERT macro to print scheduler state before an assertion
10949           triggers.
10950
10951 2004-03-29  Benjamin Otte  <otte@gnome.org>
10952
10953         * COPYING:
10954           replace by LGPL (former COPYING.LIB). The core is completely
10955           licensed LGPL.
10956         * COPYING.LIB:
10957           remove
10958
10959 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10960
10961         * po/af.po:
10962         * po/sv.po:
10963           updated Afrikaans and Swedish
10964
10965 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10966
10967         * po/LINGUAS:
10968         * po/az.po:
10969           adding Azerbaijani (Mətin Əmirov)
10970
10971 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10972
10973         * gst/gstelement.h: 
10974         * gst/gstelement.c (gst_element_set_time_delay): New function for
10975         setting element time taking into account a hardware buffering
10976         delay.
10977         (gst_element_set_time): Now just an invocation of
10978         gst_element_set_time_delay.
10979         * gst/gstclock.h: 
10980         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10981         allowing to set event times in the future.
10982         (gst_clock_get_event_time): Now just an invocation of
10983         gst_clock_get_event_time_delay.
10984
10985 2004-03-28  Benjamin Otte  <otte@gnome.org>
10986
10987         * gst/gstbin.c: (gst_bin_set_element_sched),
10988         (gst_bin_unset_element_sched):
10989           don't add decoupled elements to schedulers - otherwise it's
10990           impossible to control if a link to a decoupled element was already
10991           removed from a scheduler or not.
10992         * gst/schedulers/cothreads_compat.h:
10993         * gst/schedulers/gthread-cothreads.h:
10994           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10995           is no "unused" warning.
10996         * gst/schedulers/Makefile.am:
10997         * gst/schedulers/entryscheduler.c:
10998           add new scheduler, based on ideas from talking to David and Martin.
10999           It's supposed to be small and correct. Currently it's also slow (but
11000           it's not noticable)
11001         * examples/retag/retag.c: (main):
11002         * testsuite/bytestream/test1.c: (main):
11003           fix missing NULLs at end of variadic functions
11004         * testsuite/elements/.cvsignore:
11005           update
11006
11007 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11008
11009         * gst/gstevent.h:
11010         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11011
11012 2004-03-25  David Schleef  <ds@schleef.org>
11013
11014         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11015         * docs/gst/tmpl/gstaggregator.sgml:
11016         * docs/gst/tmpl/gstautoplugfactory.sgml:
11017         * docs/gst/tmpl/gstbin.sgml:
11018         * docs/gst/tmpl/gstbuffer.sgml:
11019         * docs/gst/tmpl/gstbufferstore.sgml:
11020         * docs/gst/tmpl/gstfakesink.sgml:
11021         * docs/gst/tmpl/gstfakesrc.sgml:
11022         * docs/gst/tmpl/gstmd5sink.sgml:
11023         * docs/gst/tmpl/gstreamer-unused.sgml:
11024         * docs/gst/tmpl/gstsearchfuncs.sgml:
11025         * docs/gst/tmpl/gstshaper.sgml:
11026         * docs/gst/tmpl/gstspider.sgml:
11027         * docs/gst/tmpl/gsttee.sgml:
11028         * docs/gst/tmpl/gstutils.sgml:
11029         * docs/gst/tmpl/gstvalue.sgml:
11030         * docs/gst/tmpl/gstxml.sgml:
11031         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11032         and we don't support it.
11033         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11034         (gst_use_threads), (gst_has_threads): same
11035         * gst/gstthreaddummy.c: same
11036         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11037         * gst/autoplug/gstspider.h: same
11038         * gst/elements/gstaggregator.h: Remove bogus function from header
11039         * gst/elements/gstfakesink.h: same
11040         * gst/elements/gstfakesrc.h: same
11041         * gst/elements/gstmd5sink.h: same
11042         * gst/elements/gstshaper.h: same
11043         * gst/elements/gsttee.h: same
11044         * gst/gstbin.c: doc fixes
11045         * gst/gstbin.h: Remove unused definition.
11046         * gst/gstbuffer.c: doc fixes
11047         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11048         * gst/gstfilter.c: doc fixes
11049         * gst/gsttag.c: doc fixes
11050         * gst/gstvalue.c: doc fixes
11051
11052 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11053
11054         * docs/pwg/advanced-types.xml:
11055           Document typefinding.
11056         * docs/pwg/other-oneton.xml:
11057           Document one-to-n elements, demuxers and parsers.
11058
11059 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11060
11061         reviewed by: David Schleef  <ds@schleef.org>
11062
11063         * configure.ac: Check bison version (bug #127838)
11064
11065 2004-03-25  David Schleef  <ds@schleef.org>
11066
11067         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11068         * docs/gst/gstreamer-sections.txt:
11069         * docs/gst/tmpl/gstautoplug.sgml:
11070         * docs/gst/tmpl/gststaticautoplug.sgml:
11071         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11072         * docs/gst/tmpl/gstutils.sgml:
11073         * docs/gst/tmpl/gstxml.sgml:
11074
11075 2004-03-24  David Schleef  <ds@schleef.org>
11076
11077         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11078         manual being such complete crap, that I decided to do major
11079         hacking of it.  This checkin replaces any fine tuning that
11080         may have been done previously, with the benefit of actually
11081         being complete for much of the API that was changed since
11082         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11083         * docs/gst/gstreamer-sections.txt:
11084         * docs/gst/tmpl/GstBin.sgml:
11085         * docs/gst/tmpl/GstBuffer.sgml:
11086         * docs/gst/tmpl/GstCaps.sgml:
11087         * docs/gst/tmpl/GstClock.sgml:
11088         * docs/gst/tmpl/GstCompat.sgml:
11089         * docs/gst/tmpl/GstData.sgml:
11090         * docs/gst/tmpl/GstElement.sgml:
11091         * docs/gst/tmpl/GstEvent.sgml:
11092         * docs/gst/tmpl/GstIndex.sgml:
11093         * docs/gst/tmpl/GstStructure.sgml:
11094         * docs/gst/tmpl/GstTag.sgml:
11095         * docs/gst/tmpl/cothreads.sgml:
11096         * docs/gst/tmpl/cothreads_compat.sgml:
11097         * docs/gst/tmpl/gettext.sgml:
11098         * docs/gst/tmpl/grammar.tab.sgml:
11099         * docs/gst/tmpl/gst-i18n-app.sgml:
11100         * docs/gst/tmpl/gst-i18n-lib.sgml:
11101         * docs/gst/tmpl/gst.sgml:
11102         * docs/gst/tmpl/gst_private.sgml:
11103         * docs/gst/tmpl/gstaggregator.sgml:
11104         * docs/gst/tmpl/gstarch.sgml:
11105         * docs/gst/tmpl/gstatomic.sgml:
11106         * docs/gst/tmpl/gstatomic_impl.sgml:
11107         * docs/gst/tmpl/gstbin.sgml:
11108         * docs/gst/tmpl/gstbuffer.sgml:
11109         * docs/gst/tmpl/gstbufferstore.sgml:
11110         * docs/gst/tmpl/gstcaps.sgml:
11111         * docs/gst/tmpl/gstclock.sgml:
11112         * docs/gst/tmpl/gstcompat.sgml:
11113         * docs/gst/tmpl/gstconfig.sgml:
11114         * docs/gst/tmpl/gstcpu.sgml:
11115         * docs/gst/tmpl/gstdata.sgml:
11116         * docs/gst/tmpl/gstdata_private.sgml:
11117         * docs/gst/tmpl/gstelement.sgml:
11118         * docs/gst/tmpl/gstenumtypes.sgml:
11119         * docs/gst/tmpl/gsterror.sgml:
11120         * docs/gst/tmpl/gstevent.sgml:
11121         * docs/gst/tmpl/gstfakesink.sgml:
11122         * docs/gst/tmpl/gstfakesrc.sgml:
11123         * docs/gst/tmpl/gstfilesink.sgml:
11124         * docs/gst/tmpl/gstfilter.sgml:
11125         * docs/gst/tmpl/gstindex.sgml:
11126         * docs/gst/tmpl/gstinfo.sgml:
11127         * docs/gst/tmpl/gstinterface.sgml:
11128         * docs/gst/tmpl/gstlog.sgml:
11129         * docs/gst/tmpl/gstmacros.sgml:
11130         * docs/gst/tmpl/gstmarshal.sgml:
11131         * docs/gst/tmpl/gstmd5sink.sgml:
11132         * docs/gst/tmpl/gstmultifilesrc.sgml:
11133         * docs/gst/tmpl/gstobject.sgml:
11134         * docs/gst/tmpl/gstpad.sgml:
11135         * docs/gst/tmpl/gstparse.sgml:
11136         * docs/gst/tmpl/gstpipeline.sgml:
11137         * docs/gst/tmpl/gstplugin.sgml:
11138         * docs/gst/tmpl/gstpluginfeature.sgml:
11139         * docs/gst/tmpl/gstqueue.sgml:
11140         * docs/gst/tmpl/gstreamer-unused.sgml:
11141         * docs/gst/tmpl/gstregistry.sgml:
11142         * docs/gst/tmpl/gstregistrypool.sgml:
11143         * docs/gst/tmpl/gstscheduler.sgml:
11144         * docs/gst/tmpl/gstsearchfuncs.sgml:
11145         * docs/gst/tmpl/gstshaper.sgml:
11146         * docs/gst/tmpl/gstspider.sgml:
11147         * docs/gst/tmpl/gstspideridentity.sgml:
11148         * docs/gst/tmpl/gststructure.sgml:
11149         * docs/gst/tmpl/gstsystemclock.sgml:
11150         * docs/gst/tmpl/gsttag.sgml:
11151         * docs/gst/tmpl/gsttaginterface.sgml:
11152         * docs/gst/tmpl/gsttee.sgml:
11153         * docs/gst/tmpl/gstthread.sgml:
11154         * docs/gst/tmpl/gsttrace.sgml:
11155         * docs/gst/tmpl/gsttrashstack.sgml:
11156         * docs/gst/tmpl/gsttypefind.sgml:
11157         * docs/gst/tmpl/gsttypes.sgml:
11158         * docs/gst/tmpl/gsturi.sgml:
11159         * docs/gst/tmpl/gsturitype.sgml:
11160         * docs/gst/tmpl/gstutils.sgml:
11161         * docs/gst/tmpl/gstvalue.sgml:
11162         * docs/gst/tmpl/gstversion.sgml:
11163         * docs/gst/tmpl/gstxml.sgml:
11164         * docs/gst/tmpl/gstxmlregistry.sgml:
11165         * docs/gst/tmpl/gthread-cothreads.sgml:
11166         * docs/gst/tmpl/types.sgml:
11167
11168 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11169
11170         * docs/pwg/other-sink.xml:
11171         * docs/pwg/other-source.xml:
11172           Documentation on how to write source and sink elements. Other
11173           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11174           manager, autoplugger) are all still pending.
11175
11176 2004-03-25  Benjamin Otte  <otte@gnome.org>
11177
11178         * testsuite/elements/Makefile.am:
11179         * testsuite/elements/gst-compprep-check:
11180           add check to make sure gst-compprep works
11181         * testsuite/elements/gst-inspect-check.in:
11182           improve initialization output
11183         * testsuite/Makefile.am:
11184         * testsuite/gst-inspect-check:
11185           remove old file
11186
11187 2004-03-24  David Schleef  <ds@schleef.org>
11188
11189         * testsuite/elements/Makefile.am:
11190         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11191         to the testsuite.
11192
11193 2004-03-24  Benjamin Otte  <otte@gnome.org>
11194
11195         * libs/gst/control/dparam.c: (gst_dparam_attach),
11196         (gst_dparam_detach):
11197         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11198           fix lvalue casts for real
11199
11200 2004-03-24  Benjamin Otte  <otte@gnome.org>
11201
11202         * gst/schedulers/gstbasicscheduler.c:
11203         (gst_basic_scheduler_src_wrapper):
11204         * gst/schedulers/gstoptimalscheduler.c:
11205         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11206         (pad_clear_queued), (gst_opt_scheduler_add_element),
11207         (gst_opt_scheduler_remove_element):
11208           fix GStreamer to not have issues with lvalue casts anymore (fixes
11209           #136841)
11210
11211 2004-03-24  Benjamin Otte  <otte@gnome.org>
11212
11213         * gst/gstelement.c:
11214           add documentation about a gobject quirk where the object hasn't the
11215           correct class pointer set on initialization
11216         * gst/schedulers/gstbasicscheduler.c:
11217         (gst_basic_scheduler_src_wrapper):
11218           make sure to not run into an infinite loop
11219
11220 2004-03-22  Benjamin Otte  <otte@gnome.org>
11221
11222         * gst/gstutils.c: (gst_util_dump_mem):
11223         * gst/gstutils.h:
11224           first argument of gst_util_dump_mem should be const
11225
11226 2004-03-22  Johan Dahlin  <johan@gnome.org>
11227
11228         * gst/gstvalue.h: Clean up a little bit.
11229
11230 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11231
11232         reviewed by Benjamin Otte  <otte@gnome.org>
11233
11234         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11235         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11236         (gst_aggregator_class_init), (gst_aggregator_init):
11237         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11238         (gst_filesrc_dispose), (gst_filesrc_set_location):
11239         * gst/elements/gstidentity.c: (gst_identity_finalize),
11240         (gst_identity_class_init), (gst_identity_chain):
11241         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11242         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11243         (gst_statistics_class_init):
11244         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11245         (gst_tee_get_property):
11246           clean up used memory in this elements correctly on teardown (closes
11247           #137279)
11248
11249 2004-03-20  Colin Walters  <walters@redhat.com>
11250
11251         * gst/registries/gstxmlregistry.c:
11252         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11253         registry saving atomic.
11254
11255 2004-03-20  Colin Walters  <walters@redhat.com>
11256
11257         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11258         Just use
11259         access() instead of actually creating and deleting files.
11260
11261 2004-03-18  David Schleef  <ds@schleef.org>
11262
11263         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11264         (bug #137625)
11265
11266 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11267
11268         * po/sv.po: updated translation (Christian Rose)
11269
11270 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11271
11272         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11273         (gst_filesink_get_query_types), (_do_init),
11274         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11275           return FALSE silently
11276         * po/af.po: updated translation (Petri Jooste)
11277
11278 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11279
11280         * Makefile.am:
11281         * configure.ac:
11282           dist common properly
11283         * po/af.po:
11284         * po/fr.po:
11285         * po/nl.po:
11286         * po/sr.po:
11287         * po/sv.po:
11288           refreshing translations
11289
11290 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11291
11292         * po/LINGUAS:
11293         * po/sv.po:
11294         * po/af.po:
11295           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11296
11297 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11298
11299         * Makefile.am: use common/release.mak
11300
11301 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11302
11303         * docs/faq/gst-uninstalled:
11304           adding gst-monkeysaudio to the list of possible plugin dirs
11305
11306 2004-03-16  David Schleef  <ds@schleef.org>
11307
11308         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11309         (gst_init_check_with_popt_table):  Fix some gettext strings to
11310         make them easier to translate.  Required making the strings
11311         non-const.
11312
11313 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11314
11315         * configure.ac: bump nano to 1
11316
11317 === release 0.8.0 ===
11318
11319 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11320
11321         * configure.ac: release 0.8.0, "Executive Slacks"
11322
11323 2004-03-16  Johan Dahlin  <johan@gnome.org>
11324
11325         * gst/schedulers/gstoptimalscheduler.c
11326         (gst_opt_scheduler_pad_unlink): Remove double ;,
11327         spotted by Scott Wheeler
11328
11329 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11330
11331         * configure.ac: bump libtool version
11332
11333 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11334
11335         * gst/gstcaps.h:
11336         * gst/gststructure.h:
11337           add reserved padding
11338
11339 2004-03-15  Benjamin Otte  <otte@gnome.org>
11340
11341         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11342           set the first parameter for select call correctly.
11343           (fixes #137230)
11344
11345 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11346
11347         * *.c,*.h: don't mix tabs and spaces
11348
11349 2004-03-15  Johan Dahlin  <johan@gnome.org>
11350
11351         * gst/schedulers/gstoptimalscheduler.c
11352         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11353         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11354
11355         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11356         
11357 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11358
11359         * testsuite/Rules:
11360           fix gst-register rules
11361
11362 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11363
11364         * testsuite/Rules:
11365           use versioned gst-register
11366
11367 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11368
11369         * docs/libs/gstreamer-libs-sections.txt:
11370           remove </SUBSECTION>
11371         * gst/gstplugin.c:
11372         * gst/gstregistry.c: (gst_registry_add_plugin):
11373         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11374         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11375           add debugging and fix some comment blocks
11376
11377 2004-03-15  Johan Dahlin  <johan@gnome.org>
11378
11379         * *.h: Revert indent changes.
11380         
11381 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11382
11383         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11384           g_error_free the g_error
11385         * tools/gst-feedback-m.m:
11386           check for other versions of gstreamer
11387         * tools/gst-indent:
11388           use sh, not bash
11389
11390 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11391
11392         * tools/gst-register.c: do not spill paths when registries are not
11393           writable, until we fix the "user running gst-register" case.
11394
11395 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11396
11397         * *.c, *.h: commit of gst-indent run on core
11398
11399 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11400
11401         * tools/gst-indent:
11402         * tools/Makefile.am:
11403           add our indentation style as a script
11404
11405 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11406
11407         * po/sr.po:
11408         * po/LINGUAS:
11409           added Serbian translation
11410
11411 2004-03-13  Benjamin Otte  <otte@gnome.org>
11412
11413         * gst/gstelement.c:
11414           add documentation note about gst_element_found_tags_for_pad not
11415           being usable in getfunctions. (see #137042)
11416
11417 2004-03-12  David Schleef  <ds@schleef.org>
11418
11419         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11420         change API right now!  Readd gst_caps_is_simple() macro.
11421         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11422         uninitialized variable.  I'd bet this caused crashes.
11423         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11424
11425 2004-03-12  Johan Dahlin  <johan@gnome.org>
11426
11427         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11428         * gst/gstcaps.h: Clean up
11429
11430         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11431         _gst_caps_initalize()
11432
11433         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11434         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11435
11436         * gst/gststructure.c (gst_structure_get_type): Ditto
11437
11438         * gst/gststructure.h: Ditto
11439         
11440 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11441
11442         * gst/gstqueue.c: (gst_queue_init):
11443           Reset default max. values in queues. Reason is simply to avoid
11444           braindead use. If you want wider values, use the properties. The
11445           default is supposed to always work. Wider values would make this
11446           beast a memory hog by default (250 full-PAL RGB32 video frames?
11447           That's 440 MB! No thank you).
11448
11449 2004-03-10  David Schleef  <ds@schleef.org>
11450
11451         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11452         were found.  (bug #136793)
11453
11454 2004-03-10  Johan Dahlin  <johan@gnome.org>
11455
11456         * gst/schedulers/gstoptimalscheduler.c
11457         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11458         links to elements within the same group, so we can finally remove
11459         that annoying warning. Refactor the code a little bit
11460         (group_dec_links_for_element): Split out
11461
11462 2004-03-09  David Schleef  <ds@schleef.org>
11463
11464         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11465         (bug #134863)
11466
11467 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11468
11469         * configure.ac: first bug fix due to major/minor bump
11470
11471 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11472
11473         * configure.ac: bump nano to 1
11474
11475 === release 0.7.6 ===
11476
11477 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11478
11479         * NEWS:
11480         * RELEASE:
11481         * configure.ac:
11482           releasing 0.7.6, "Almost"
11483         * po/fr.po:
11484         * po/nl.po:
11485         * tools/Makefile.am:
11486         * tools/gst-feedback-m.m:
11487           unversioned source
11488
11489 2004-03-09  Johan Dahlin  <johan@gnome.org>
11490
11491         Reviewed by: Thomas Vander Stichele
11492
11493         * gst/gstelement.c (gst_element_class_init): register second
11494         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11495         language bindings can (de)marshall correctly.
11496
11497         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11498
11499         * gst/gsterror.c (gst_g_error_get_type): New function
11500
11501         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11502         with VOID:OBJECT,OBJECT,STRING 
11503
11504 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11505
11506         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11507         Free a leaked g_timer on early returns.
11508
11509 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11510
11511         * docs/pwg/advanced-types.xml:
11512           Add cinepak description.
11513
11514 2004-03-07  David Schleef  <ds@schleef.org>
11515
11516         * docs/random/mimetypes:  Added cinepak description
11517
11518 2004-03-07  Andy Wingo  <wingo@pobox.com>
11519
11520         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11521
11522         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11523         there are no links to other groups when a group is destroyed.
11524         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11525         removed from a group, make sure the link count to elements linked
11526         to other pads is appropriately decremented. This really fixes
11527         #135672.
11528
11529         The 1.60->1.61 patch has been reapplied in light of this fix.
11530
11531         * gst/gstelement.c (gst_element_dispose): Really protect against
11532         multiple invocations this time.
11533
11534 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11535
11536         * docs/gst/gstreamer-sections.txt:
11537         * docs/gst/tmpl/gsttag.sgml:
11538           remove some deprecated functions, document some existing ones
11539         * gst/gsttag.c: (gst_tag_get_flag):
11540         * gst/gsttag.h:
11541           add accessor function
11542
11543 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11544
11545         * docs/gst/gstreamer-sections.txt:
11546         * docs/gst/tmpl/gsttag.sgml:
11547         * docs/gst/tmpl/gstxml.sgml:
11548         * gst/gsttag.c: (gst_tag_get_flag):
11549         * gst/gsttag.h:
11550
11551 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11552
11553         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11554         leak
11555
11556 2004-03-05  David Schleef  <ds@schleef.org>
11557
11558         * REQUIREMENTS: Add bison and flex.
11559         * configure.ac: Fix comment about bison.
11560         * docs/random/ds/0.9-suggested-changes: yer ma
11561         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11562
11563 2004-03-05  Benjamin Otte  <otte@gnome.org>
11564
11565         * gst/gstelement.c: (gst_element_error_full):
11566           revert recent recursive state changing commit - messing with other
11567           elements' states is evil and should be done by apps only.
11568
11569 2004-03-05  Benjamin Otte  <otte@gnome.org>
11570
11571         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11572           check for empty intersection instead of NULL caps
11573         (gst_element_get_compatible_pad_filtered):
11574           remove old workaround that is only a bug nowadays
11575
11576 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11577
11578         * gst/gstelement.c: (gst_element_error_full):
11579           make elements try to recursively change state to PAUSED on all
11580           parents after an error to suppress ensuing warnings
11581         * gst/parse/grammar.y:
11582           make it check if it was able to sync the state, and throw an error
11583           if not, so stuff like
11584           oggdemux ! vorbisdec ! osssink gets caught
11585
11586 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11587
11588         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11589           it contains lib64; use AS_AC_EXPAND to handle it properly
11590
11591 2004-03-05  David Schleef  <ds@schleef.org>
11592
11593         * gst/gstcpuid_i386.s:  Remove unused code
11594         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11595         (gst_getbits_newbuf): Remove MMX code
11596         * libs/gst/getbits/getbits.h: Remove MMX code
11597
11598 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11599
11600         * debian/.cvsignore:
11601         * debian/README.Debian:
11602         * debian/changelog:
11603         * debian/control:
11604         * debian/control.in:
11605         * debian/copyright:
11606         * debian/gstreamer-core-libs-dev.files:
11607         * debian/gstreamer-core-libs.files:
11608         * debian/gstreamer-core.files:
11609         * debian/gstreamer-core.postinst:
11610         * debian/gstreamer-core.postrm:
11611         * debian/gstreamer-doc.files:
11612         * debian/gstreamer-doc.links:
11613         * debian/gstreamer-doc.lintian:
11614         * debian/gstreamer-runtime.files:
11615         * debian/gstreamer-runtime.manpages:
11616         * debian/gstreamer-runtime.postinst:
11617         * debian/gstreamer-runtime.postrm:
11618         * debian/gstreamer-tools.files:
11619         * debian/gstreamer-tools.manpages:
11620         * debian/libgstreamer-dev.files:
11621         * debian/libgstreamer0.4.1.files:
11622         * debian/libgstreamerVERSION.files:
11623         * debian/rules:
11624         Debian package info not maintained here.
11625
11626 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11627
11628         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11629         * gst/gstbin.c: (gst_bin_class_init):
11630         * gst/gstelement.c: (gst_element_class_init):
11631         * gst/gstindex.c: (gst_index_class_init):
11632         * gst/gstobject.c: (gst_object_class_init),
11633         (gst_signal_object_class_init):
11634         * gst/gstpad.c: (gst_pad_template_class_init):
11635         * gst/gstregistry.c: (gst_registry_class_init):
11636         * gst/gsturi.c: (gst_uri_handler_base_init):
11637         * gst/gstxml.c: (gst_xml_class_init):
11638         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11639         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11640           make all signal names use dashes instead of underscore
11641
11642 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11643
11644         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11645
11646 2004-03-03  Benjamin Otte  <otte@gnome.org>
11647
11648         * gst/schedulers/gstoptimalscheduler.c:
11649           revert last commit by Andy Wingo. It causes segfaults on unreffing
11650           in Rhythmbox. (see bug #135672)
11651
11652 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11653
11654         * po/fr.po: fix typo
11655
11656 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11657
11658         * tools/gst-inspect.c: (main): 
11659         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11660
11661 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11662
11663         * configure.ac:
11664           get GLIB_ONLY and POPT flags for the nonversioned binaries
11665         * tools/Makefile.am:
11666           use them
11667
11668 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11669
11670         * gst/gst.c: (init_post):
11671           change so that GST_REGISTRY now is where the global registry gets
11672           saved, since that is where plugins now get attached to first, and
11673           spilled over to the user registry.  Note that in the case of using
11674           GST_REGISTRY env var, we don't want to affect any real registries
11675           beyond the one given by this var, and thus we don't set a user
11676           registry to spill to.  So make sure GST_REGISTRY is writable.
11677
11678 2004-03-01  David Schleef  <ds@schleef.org>
11679
11680         * AUTHORS:  Added some names.  Add yourself if you're missing.
11681
11682 2004-03-01  David Schleef  <ds@schleef.org>
11683
11684         * MAINTAINERS: Add
11685
11686 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11687
11688         * configure.ac:
11689           remove whitespace
11690         * docs/gst/tmpl/gstbuffer.sgml:
11691         * docs/gst/tmpl/gstdata.sgml:
11692         * docs/gst/tmpl/gstreamer-unused.sgml:
11693         * docs/gst/tmpl/gstxml.sgml:
11694           doc update
11695         * docs/manuals.mak:
11696           add a FIXME
11697         * docs/pwg/intro-preface.xml:
11698         * docs/pwg/pwg.xml:
11699           remove GNOME
11700         * gst/gst.c: (init_post):
11701           try GST_PLUGIN_PATH paths for the _global_registry first
11702         * gst/gstelement.h:
11703           add the error message as well, otherwise (null) debug info doesn't
11704           make much sense
11705         * tools/gst-register.c: (main):
11706           spill paths to next registry if this registry is not writable
11707         * po/fr.po:
11708         * po/nl.po:
11709           translation updates
11710
11711 2004-03-01  Johan Dahlin  <johan@gnome.org>
11712
11713         * gst/gstbuffer.c (_gst_buffer_initialize): 
11714         * gst/gstdata.c (gst_data_get_type): 
11715         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11716         instead of ref, since some applications that uses GBoxed
11717         routines depends on a function that actually returns a copy.
11718
11719 2004-02-27  Benjamin Otte  <otte@gnome.org>
11720
11721         * gst/gstbuffer.h:
11722           remove gst_buffer_free, use gst_data_unref
11723         * gst/gstdata.c: (gst_data_get_type):
11724           use refcounting in GstData GBoxed registration
11725         * gst/gstdata.h:
11726           remove gst_data_free, use gst_data_unref
11727
11728 2004-02-27  Johan Dahlin  <johan@gnome.org>
11729
11730         * gst/gstdata.c (gst_data_get_type): New function, register
11731         GstData as a GBoxed type.
11732
11733         * gst/gstdata.h (GST_TYPE_DATA): New macro
11734
11735 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11736
11737         * Makefile.am:
11738         * gstreamer.spec.in:
11739           put back RELEASE
11740         * gst/Makefile.am:
11741           clean up non-disting of built files
11742         * testsuite/debug/commandline.c:
11743           test fix for option rename
11744
11745 2004-02-26  David Schleef  <ds@schleef.org>
11746
11747         * configure.ac:  We don't really need glib-2.3.  Also remove
11748         some unneeded checks for library functions.
11749         * gst/Makefile.am:  Instead, we need to not dist files created
11750         by glib-genmarshal.
11751
11752 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11753
11754         * configure.ac:
11755           bump glib required version to 2.3.0 for g_value_takes_boxed
11756
11757  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11758
11759         * common/m4/gst-docs.m4
11760         change flavour text from enable to disable as enable is our default
11761         closes bug Bug 135304
11762
11763 === release 0.7.5 ===
11764  
11765  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11766  
11767         * NEWS:
11768           instate NEWS file
11769         * Makefile.am:
11770         * gstreamer.spec.in:
11771         * RELEASE:
11772           put back release
11773         * configure.ac:
11774         * docs/random/release:
11775           more updates
11776
11777 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11778
11779         * gst/gsttag.c: (_gst_tag_initialize):
11780         * po/fr.po:
11781         * po/nl.po:
11782           remove hyphen from codec tags
11783
11784 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11785
11786         * gst/parse/Makefile.am:
11787           fix dependency so that a make from a clean build works the first
11788           time
11789
11790 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11791
11792         * docs/random/release:
11793           update release strategy
11794         * po/fr.po:
11795           auto-update po file
11796         * po/nl.po:
11797           update dutch translation
11798
11799 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11800
11801         * docs/manual/debugging.xml:
11802         fix manual for new debugging system
11803
11804 2004-02-25  Andy Wingo  <wingo@pobox.com>
11805
11806         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11807         gst_pad_link_prepare. Please email the list with specific reasons
11808         for reverting.
11809
11810 2004-02-24  Andy Wingo  <wingo@pobox.com>
11811
11812         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11813         invocations.
11814
11815         * gst/schedulers/gstoptimalscheduler.c:
11816         I added a mess of prototypes at the top of the file by way of
11817         documentation. Some of the operations on chains and groups were
11818         re-organized.
11819
11820         (create_group): Added a type argument so if the group is enabled,
11821         the setup_group_scheduler knows what to do.
11822         (group_elements): Added a type argument here, too, to be passed on
11823         to create_group.
11824         (group_element_set_enabled): If an unlinked PLAYING element is
11825         added to a bin, we have to create a new group to hold the element,
11826         and this function will be called before the group is added to the
11827         chain. Thus we have a valid case for group->chain==NULL. Instead
11828         of calling chain_group_set_enabled, just set the flag on the group
11829         (the chain's status will be set when the group is added to it).
11830         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11831         Setup the group scheduler when the group is enabled, not
11832         specifically when an element goes PAUSED->PLAYING. This means
11833         PLAYING elements can be added, linked, and scheduled into a
11834         PLAYING pipeline, as was intended.
11835         (add_to_group): Don't ref the group twice. I don't know when this
11836         double-ref got in here. Removing it has the potential to cause
11837         segfaults if other parts of the scheduler are buggy. If you find
11838         that the scheduler is segfaulting for you, put in an extra ref
11839         here and see if that hacks over the underlying issue. Of course,
11840         then find out what code is unreffing a group it doesn't own...
11841         (create_group): Make the extra refcount floating, and remove it
11842         after adding the element. This means that...
11843         (unref_group): Destroy when the refcount reaches 0, not 1, like
11844         every other refcounted object in the known universe.
11845         (remove_from_group): When a group becomes empty, set it to be not
11846         active, and remove it from its chain. Don't unref it again,
11847         there's no floating reference any more.
11848         (destroy_group): We have to remove the group from the chain in
11849         remove_from_group (rather than here) to break refcounting cycles
11850         (the chain always has a ref on the group). So assert that
11851         group->chain==NULL.
11852         (ref_group_by_count): Removed, it was commented out anyway.
11853         (merge_chains): Use the remove_from_chain and add_to_chain
11854         primitives to do the reparenting, instead of rolling our own
11855         implementation.
11856         (add_to_chain): The first non-disabled group in the chain's group
11857         list will be the entry point for the chain. Because buffers can
11858         accumulate in loop elements' peer bufpens, we preferentially
11859         schedule loop groups before get groups to avoid unnecessary
11860         execution of get-based groups when the bufpens are already full.
11861         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11862         (get_group_schedule_function): Ditto.
11863         (loop_group_schedule_function): Ditto.
11864         (gst_opt_scheduler_loop_wrapper): Ditto.
11865         (gst_opt_scheduler_iterate): Ditto.
11866
11867         I understand the opt scheduler now, yippee!
11868
11869         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11870         (gst_pad_get_name, gst_pad_set_chain_function) 
11871         (gst_pad_set_get_function, gst_pad_set_event_function) 
11872         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11873         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11874         (gst_pad_set_query_function, gst_pad_get_query_types) 
11875         (gst_pad_get_query_types_default) 
11876         (gst_pad_set_internal_link_function) 
11877         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11878         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11879         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11880         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11881         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11882         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11883         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11884         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11885         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11886         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11887         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11888         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11889         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11890         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11891         argument checks, and some doc fixes.
11892
11893         (gst_pad_custom_new_from_template): Um, does anyone
11894         use these functions? Actually make a custom pad instead of a
11895         normal one.
11896         (gst_pad_try_set_caps): Transpose some checks.
11897         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11898         the pad is in negotiation.
11899         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11900         
11901         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11902
11903         * gst/gstelement.h: 
11904         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11905         on the list.
11906
11907 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11908
11909         * gst/gstbin.c: (gst_bin_add):
11910           add error for not being able to add elements
11911
11912 2004-02-22  Julien MOUTTE <julien@moutte.net>
11913
11914         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11915         audio-codec and video-codec.
11916
11917 2004-02-22  Benjamin Otte  <otte@gnome.org>
11918
11919         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11920
11921         * autogen.sh:
11922           replace test -e with test -x for mkinstalldirs to be more portable.
11923           (fixes #134816)
11924
11925 2004-02-22  Benjamin Otte  <otte@gnome.org>
11926
11927         * gst/gstpad.c:
11928           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11929           too noisy
11930         * gst/gsttag.c: (_gst_tag_initialize):
11931         * gst/gsttag.h:
11932           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11933         * libs/gst/control/dparam.c: (gst_dparam_attach):
11934         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11935           check that types for attached dparams match
11936
11937 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11938
11939         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11940         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11941         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11942           fix errors
11943
11944 2004-02-20  Andy Wingo  <wingo@pobox.com>
11945
11946         * gst/gstbin.c:
11947         * gst/gstbuffer.c:
11948         * gst/gstplugin.c:
11949         * gst/registries/gstxmlregistry.c: 
11950         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11951
11952         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11953         (gst_element_add_pad): DEBUG->INFO, some fixes.
11954         (gst_element_get_compatible_pad_template): Just see if the
11955         templates' caps intersect, not if one is a strict subset of the
11956         other. This conforms more to what gst_pad_link_intersect() does.
11957         (gst_element_class_add_pad_template): Don't memcpy the pad
11958         template, just ref it.
11959         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11960
11961         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11962         (gst_pad_link_filtered): Debug changes.
11963         (gst_pad_link_prepare): New function, consolidated from
11964         can_link_filtered and link_filtered.
11965
11966         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11967         look more like that of the functions in gstelement.c
11968
11969         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11970         object, and return the empty string if object is NULL.
11971
11972         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11973         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11974         LOG, not DEBUG. We still get flex info on debug.
11975
11976         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11977         debug string more verbose.
11978         (plugin_times_older_than): DEBUG->LOG.
11979
11980 2004-02-20  Julien MOUTTE <julien@moutte.net>
11981
11982         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11983         will emit found_tag for each stream they demux with the codec.
11984
11985 2004-02-20  Benjamin Otte  <otte@gnome.org>
11986
11987         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11988           copy navigation event correctly. Check freeing tag lists. 
11989         * gst/gstthread.c: (gst_thread_change_state):
11990           don't abort() on state changing mess - it might happen because of
11991           bugs.
11992         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11993           use boxed functions
11994         * gst/gstvalue.h:
11995           fix GST_VALUE_HOLDS_CAPS
11996
11997 2004-02-19  David Schleef  <ds@schleef.org>
11998
11999         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12000         and use it for GST_FUNCTION.  (bug #134750)
12001
12002 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12003
12004         * po/fr.po:
12005         * po/nl.po:
12006           updating translations
12007
12008 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12009
12010         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12011
12012 2004-02-18  kost@imn.htwk-leipzig.de
12013
12014         reviewed by: David Schleef  <ds@schleef.org>
12015
12016         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12017         for libgstcontrol.
12018
12019 2004-02-18  David Schleef  <ds@schleef.org>
12020
12021         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12022         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12023         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12024         * tools/gst-inspect.c: (print_element_info): Support dumping of
12025         double dparam information.
12026
12027 2004-02-17  David Schleef  <ds@schleef.org>
12028
12029         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12030         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12031         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12032         Use GST_TYPE_CAPS in signal prototype.
12033         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12034         Convert GST_TYPE_CAPS to boxed.
12035         * gst/gstelement.c: (gst_element_class_init):
12036         Use GST_TYPE_TAG_LIST in signal prototype.
12037         * gst/gstindex.c: (gst_index_class_init):
12038         * gst/gstindex.h:
12039         Add GST_TYPE_INDEX_ENTRY type.
12040         * gst/gstmarshal.list:
12041         Add necessary marshal types.
12042         * gst/gstpad.c: (gst_real_pad_class_init),
12043         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12044         (gst_pad_recover_caps_error):
12045         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12046         * gst/gststructure.c: (_gst_structure_initialize),
12047         (gst_structure_copy), (_gst_structure_copy_conditional):
12048         * gst/gststructure.h:
12049         Convert GST_TYPE_STRUCTURE to boxed.
12050         * gst/gsttag.c: (gst_tag_list_get_type):
12051         * gst/gsttag.h:
12052         Add GST_TYPE_TAG_LIST type.
12053
12054 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12055
12056         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12057         to what we agreed with david.
12058         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12059
12060 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12061
12062         * po/nl.po: update translation
12063
12064 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12065
12066         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12067           throw an error if spider is trying to play a mime type there is
12068           no decoder for
12069         * po/POTFILES.in:
12070           add gst/autoplug/gstspider.c for translation
12071
12072 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12073
12074         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12075         silently when the pad is negotiating.
12076
12077 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12078
12079         * docs/faq/Makefile.am:
12080           add script to run gstreamer uninstalled 
12081         * docs/faq/faq.xml:
12082         * docs/faq/developing.xml:
12083         * docs/faq/gst-uninstalled:
12084           extract script to run gstreamer uninstalled
12085         * docs/manuals.mak:
12086           add EXTRA_SOURCES variable for Makefile.am's to set to
12087           use additional SOURCE files for the doc build
12088
12089 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12090
12091         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12092
12093 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12094
12095         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12096         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12097         an error was thrown by osssink. Basically a state change failure for
12098         an element in a different scheduling group was considered as
12099         successful, which means that caps nego was going on and weird stuff
12100         happened. Like I wrote in the comment there, if someone wants to
12101         revert that please drop me a mail explaining why because I really see
12102         no point in keeping that broken behaviour there.
12103         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12104         be empty, we then return NULL which will trigger a nice error when 
12105         pulling from the pad.
12106
12107 2004-02-13  David Schleef  <ds@schleef.org>
12108
12109         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12110         (gst_dparam_get_property), (gst_dparam_set_property),
12111         (gst_dparam_do_update_default):
12112         * libs/gst/control/dparam.h:
12113         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12114         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12115         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12116         (gst_dpsmooth_do_update_double):
12117         * libs/gst/control/dparam_smooth.h:
12118         * libs/gst/control/dparammanager.c:
12119         (gst_dpman_inline_direct_update):
12120         Add support for double dparams.
12121
12122 2004-02-13  David Schleef  <ds@schleef.org>
12123
12124         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12125         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12126
12127 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12128
12129         reviewed by: David Schleef  <ds@schleef.org>
12130
12131         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12132         (gst_fdsrc_init), (gst_fdsrc_set_property),
12133         (gst_fdsrc_get_property), (gst_fdsrc_get):
12134         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12135         and sends an EOS event if file descriptor reading times out.
12136
12137 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12138
12139         * configure.ac:
12140           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12141
12142 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12143
12144         * configure.ac: pass required libxml version as argument
12145         (bug reported by Christophe Fergeau)
12146
12147 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12148   
12149         * docs/gst/gstreamer-docs.sgml:
12150         * docs/gst/tmpl/gstxml.sgml:
12151         * docs/libs/gstreamer-libs-docs.sgml:
12152           version API docs
12153
12154 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12155
12156         * gst/gstinfo.c:
12157         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12158         (gst_registry_pool_feature_filter):
12159         * gst/gstthread.c: (gst_thread_class_init):
12160         * gst/gstvalue.c:
12161           add includes exposed by building without libxml
12162         * gst/indexers/Makefile.am:
12163           do not build fileindex when LOADSAVE disabled; we should have
12164           a better libxml check later since fileindex depends on xml, not
12165           LOADSAVE or REGISTRY
12166         * libs/gst/control/Makefile.am:
12167           link with m
12168         * tools/Makefile.am:
12169           fix wrong source code for gst-xmlinspect
12170
12171 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12172
12173         * configure.ac:
12174           fix gcov help output
12175           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12176         * docs/random/release:
12177           some updated releasing notes
12178         * gstreamer.spec.in:
12179           more updates
12180
12181 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12182
12183         * docs/faq/faq.xml:
12184         * docs/manual/manual.xml:
12185         * docs/pwg/pwg.xml:
12186         * docs/pwg/titlepage.xml:
12187           put version in documentation
12188
12189 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12190
12191         * tools/Makefile.am: fix man page installation
12192
12193 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12194
12195         * configure.ac:
12196           don't check for libxml when load/save and registry disabled (#105844)
12197         * gstreamer.spec.in:
12198           sync with fedora candidate spec
12199
12200 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12201
12202         * po/fr.po:
12203         * po/nl.po:
12204           replace multidisksrc with multifilesrc
12205
12206 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12207
12208         * po/POTFILES.in:
12209           update to multidisksrc => multifilesrc file renaming (#134145)
12210
12211 2004-02-11  David Schleef  <ds@schleef.org>
12212
12213         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12214         * docs/gst/tmpl/gstpadtemplate.sgml: same
12215         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12216         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12217         fixing dance.
12218         * gst/gstutils.c: Remove disabled code that uses GstProps.
12219         * gst/registries/gstxmlregistry.h: same
12220         * docs/random/ds/0.9-suggested-changes: random notes
12221
12222 2004-02-11  kost@imn.htwk-leipzig.de
12223
12224         reviewed by: David Schleef  <ds@schleef.org>
12225
12226         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12227         initialisation of clock (bug #134128)
12228
12229 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12230
12231         * configure.ac:
12232         * gst/elements/Makefile.am:
12233         * gst/elements/gstelements.c:
12234         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12235         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12236         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12237         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12238         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12239         * gst/elements/gstmultifilesrc.h:
12240           rename multidisksrc to multifilesrc (part of #122200)
12241
12242 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12243
12244         * docs/manuals.mak:
12245           fix automake complaints
12246         * gst-element-check.m4:
12247           fix unquotedness
12248
12249 2004-02-11  David Schleef  <ds@schleef.org>
12250
12251         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12252         * gst/gstatomic_impl.h: Disable sparc implementation.
12253
12254 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12255
12256         * gst-element-check.m4:
12257           fix underquoted macros as reported by automake 1.8.x (#133800)
12258         * configure.ac:
12259           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12260           by autopoint (fixes #132996)
12261
12262 2004-02-10  Andy Wingo  <wingo@pobox.com>
12263
12264         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12265         way to do inheritance.
12266         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12267         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12268         Routine docs.
12269         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12270         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12271         doc.
12272         (gst_pad_unlink, gst_pad_is_linked): Docs.
12273         (gst_pad_renegotiate): A brief description of capsnego.
12274         (gst_pad_try_set_caps): Document.
12275         (gst_pad_try_set_caps_nonfixed): Document.
12276         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12277         (gst_pad_set_parent): Deprecated (although not out of the API).
12278         (gst_pad_get_parent): Deprecated, although many plugins use this.
12279         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12280         are private and will go away in 0.9.
12281         (gst_pad_perform_negotiate): Doc.
12282         (gst_pad_link_unnegotiate): I think this is meant to be static.
12283         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12284         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12285         (gst_pad_get_peer): Doc updates.
12286         (gst_pad_caps_change_notify): Doc.
12287         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12288         (gst_ghost_pad_new): Doc fixes.
12289
12290         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12291         (gst_object_check_uniqueness): 
12292
12293         * gst/gstelement.c (gst_element_add_pad) 
12294         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12295         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12296         (gst_element_get_static_pad, gst_element_get_pad_list) 
12297         (gst_element_class_get_pad_template_list) 
12298         (gst_element_class_get_pad_template): Work on the docs.
12299         (gst_element_get_pad_template_list): Uses the class method.
12300         (gst_element_get_compatible_pad_template): Docs, and consolidate
12301         some test conditions. 
12302         (gst_element_get_pad_from_template): New static function.
12303         (gst_element_request_compatible_pad): Docs, and work with
12304         non-request compatible templates. 
12305         (gst_element_get_compatible_pad_filtered): Docs and remove
12306         redundant checks.
12307         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12308         (gst_element_link_filtered, gst_element_link_many) 
12309         (gst_element_link, gst_element_link_pads) 
12310         (gst_element_unlink_many): Docs.
12311
12312 2004-02-05  Andy Wingo  <wingo@pobox.com>
12313
12314         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12315         s/pointer/boxed/.
12316
12317         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12318
12319         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12320         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12321         with the type=GST_TYPE_CAPS. This allows language bindings to know
12322         what kind of data they're dealing with.
12323
12324         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12325         to NULL when g_value_init is called. GstCaps, which rolls its own
12326         type implementation, now does the same instead of allocating empty
12327         caps.
12328         (_gst_caps_initialize, _gst_caps_collect_value,
12329         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12330         table methods. This allows G_VALUE_COLLECT to work.
12331
12332 2004-02-05  Andy Wingo  <wingo@pobox.com>
12333
12334         * configure.ac:
12335         * testsuite/Makefile.am (SUBDIRS): 
12336         * testsuite/ghostpads/Makefile.am: 
12337         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12338
12339         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12340         These two routines are the only ones that set
12341         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12342         pad template. They should be made static, depending on ABI needs.
12343         (gst_real_pad_dispose): Handle the case of ghost pads without a
12344         parent. Assert after dealing with ghost pads that the ghost pad
12345         list is empty.
12346         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12347         set after creation.
12348         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12349         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12350         functions. set_property will call add_ghost_pad/remove_ghost_pad
12351         as appropriate.
12352         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12353
12354         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12355         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12356         (gst_element_remove_pad): Handle ghost pads as well.
12357         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12358         depending on API-stability needs).
12359
12360 2004-02-05  Andy Wingo  <wingo@pobox.com>
12361
12362         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12363         of course they're const
12364
12365 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12366
12367         * tools/Makefile.am:
12368         * tools/gst-feedback:
12369         * tools/gst-feedback-0.7:
12370           make gst-feedback versioned too for consistency
12371
12372 2004-02-11  David Schleef  <ds@schleef.org>
12373
12374         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12375         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12376
12377 2004-02-10  Julien MOUTTE <julien@moutte.net>
12378
12379         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12380         the structure does not contain a valid tag list. Adding a safety check
12381         to remove a noisy warning in that case.
12382
12383 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12384
12385         * gst/gst.c: fix name to be in line with others
12386
12387 2004-02-09  Julien MOUTTE <julien@moutte.net>
12388
12389         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12390         not shout that loud when len is 0. Just return 0 silently.
12391
12392 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12393
12394         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12395         because data_unref has one and I prefer the debug to be symetric.
12396         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12397         were refed when added to the queue and unrefed only once when the queue
12398         was flushed. Now the flush handler unref the buffers two times : first
12399         unref for the ref added when pushing in the queue's tail and second
12400         unref to destroy the flushed buffer.
12401
12402 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12403
12404         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12405
12406 2004-02-06  David Schleef  <ds@schleef.org>
12407
12408         * docs/random/ds/0.9-suggested-changes: Random ramblings
12409         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12410         to int before printing.
12411         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12412         * gst/parse/parse.l: same.  See bug #129600
12413
12414 2004-02-06  David Schleef  <ds@schleef.org>
12415
12416         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12417         (gst_index_add_entry), (gst_index_add_associationv),
12418         (gst_index_add_association): Add gst_index_add_associationv()
12419         and clean up gst_index_add_association(). #127133
12420
12421 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12422
12423         * autogen.sh: check out common with right tag if CVS/Tag exists
12424
12425 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12426
12427         * testsuite/ghostpads/ghostpads.c: (main):
12428           fix testsuite from segfaulting
12429
12430 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12431
12432         * Makefile.am: add release target
12433         * configure.ac: bump nano to 1
12434         * docs/random/release:
12435
12436 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12437
12438         * gst/gstcaps.h:
12439         * gst/gstelement.c: (gst_element_base_class_init),
12440         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12441         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12442         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12443         (gst_real_pad_dispose):
12444         * gst/gststructure.c: (gst_structure_free),
12445         (gst_structure_from_string):
12446           put reverted patch back in
12447         * gst/gstelement.c: (gst_element_remove_pad):
12448           free explicit caps if they're set
12449         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12450           copy the structure when fixating
12451
12452 2004-02-05  David Schleef  <ds@schleef.org>
12453
12454         * gst/gstmarshal.list:
12455         * gst/gstpad.c: (gst_real_pad_class_init),
12456         (_gst_real_pad_fixate_accumulator):
12457         Revert POINTER->BOXED change in signal marshaller.
12458
12459 === release 0.7.4 ===
12460                                                                                 
12461 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12462                                                                                 
12463         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12464         * configure.ac: changed for release
12465
12466 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12467
12468         * gstreamer.spec.in:
12469           bump required version of gtk-doc
12470
12471 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12472
12473         * gst/gstcaps.h:
12474         * gst/gstelement.c: (gst_element_base_class_init),
12475         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12476         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12477         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12478         (gst_real_pad_dispose):
12479         * gst/gststructure.c: (gst_structure_free),
12480         (gst_structure_from_string):
12481           revert patch that breaks applications, reapply after release
12482           to get this fixed properly
12483
12484 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12485
12486         * gst/gsttag.c: (_gst_tag_initialize):
12487         * gst/gsttag.h:
12488           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12489
12490 2004-02-04  David Schleef  <ds@schleef.org>
12491
12492         Fix some memleaks:
12493         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12494         (gst_spider_plug_from_srcpad):
12495         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12496
12497 2004-02-04  David Schleef  <ds@schleef.org>
12498
12499         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12500         a GstRealPad before accessing its structure members.
12501
12502 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12503
12504         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12505         (gst_clock_get_speed):
12506         * gst/gstclock.h:
12507           reset padding, remove unused fields
12508
12509 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12510
12511         * gst/autoplug/gstspideridentity.c:
12512         (gst_spider_identity_sink_loop_type_finding):
12513           use get_allowed_caps, not get_caps (fixes #132519)
12514         * gst/elements/gsttypefind.c: (stop_typefinding):
12515           use correct order when sending buffers and seeking
12516
12517 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12518
12519         * configure.ac:
12520         * gst/gstelement.h:
12521         * gst/gstpad.h:
12522         * gst/gstqueue.h:
12523           upgrade libtool CURRENT, reset padding
12524
12525 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12526
12527         * configure.ac:
12528           bump to prerelease
12529           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12530
12531 2004-02-04  David Schleef  <ds@schleef.org>
12532
12533         * docs/random/ds/0.9-suggested-changes: random notes
12534         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12535         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12536         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12537         expansion.
12538         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12539         (gst_filesink_get_query_types): same
12540         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12541         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12542         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12543         to use new GST_PTR_FORMAT.
12544         * gst/gstelement.h: deprecate function factory macros
12545         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12546         These are our last variadic macros that can't be replaced with
12547         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12548         attempting to deprecate gst_element_clock_wait().
12549         * gst/gstevent.h: same
12550         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12551         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12552         * gst/gstpad.h: deprecate function factory macros similar to above.
12553
12554 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12555
12556         * configure.ac:
12557         * tools/Makefile.am:
12558         * tools/gst-run.c: (popt_callback), (hash_print_key),
12559         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12560         (get_candidates), (main):
12561           add new source file to generate non-versioned wrapper binaries
12562           for our tools.
12563
12564 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12565
12566         * gst/gstevent.c: (_gst_event_free):
12567           actually break; inside the switch statement
12568         * gst/parse/grammar.y:
12569           fix memleak where GValues weren't unset
12570
12571 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12572
12573         * gst/gststructure.c: (gst_structure_from_string):
12574           fix huge memleak
12575         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12576         (new_entry), (gst_type_find_element_chain):
12577         * gst/gstelement.c: (gst_element_base_class_init),
12578         (gst_element_class_set_details):
12579         * gst/gstpad.c: (gst_pad_can_link_filtered):
12580           fix smaller memleaks
12581         * gst/gstpad.c: (gst_real_pad_dispose):
12582           check that explicit caps are gone
12583         * gst/gststructure.c: (gst_structure_free):
12584           actually free the structure
12585         * gst/gstelement.c: (gst_element_clear_pad_caps):
12586           unset explicit caps
12587
12588 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12589
12590         * tools/Makefile.am:
12591           use AM_CFLAGS since all the CFLAGS are the same
12592           use AM_LDFAGS
12593
12594 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12595
12596         * docs/manual/gnome.xml:
12597           expand example a little
12598         * gst/gst.c: (gst_init_with_popt_table),
12599         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12600           make sure popt option displays are done with right textdomain
12601           use GstPoptOption type
12602         * gst/gst.h:
12603           create GstPoptOption type
12604
12605 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12606
12607         * gst/gsterror.c: (_gst_stream_errors_init):
12608         * gst/gsterror.h:
12609           adding error type for no codec
12610         * po/POTFILES.in:
12611           add gst-inspect
12612         * po/nl.po:
12613           update dutch translation
12614         * tools/gst-inspect.c: (print_element_list), (main):
12615           do proper internationalization
12616         * tools/gst-launch.c: (idle_func):
12617           remove commented out function call
12618
12619 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12620
12621         * docs/README:
12622           add some error fixing notes
12623         * docs/gst/gstreamer-sections.txt:
12624           remove double entries
12625         * docs/gst/tmpl/gstbin.sgml:
12626         * docs/gst/tmpl/gstclock.sgml:
12627           remove override
12628         * docs/gst/tmpl/gstelement.sgml:
12629         * docs/gst/tmpl/gstindex.sgml:
12630         * docs/gst/tmpl/gstobject.sgml:
12631         * docs/gst/tmpl/gstpadtemplate.sgml:
12632         * docs/gst/tmpl/gstreamer-unused.sgml:
12633         * docs/gst/tmpl/gsttag.sgml:
12634         * docs/gst/tmpl/gstthread.sgml:
12635         * docs/gst/tmpl/gstxml.sgml:
12636         * gst/gsttag.h:
12637           sync header prototypes with c decls
12638         * gst/gsttaginterface.c:
12639           fix doc headers
12640
12641 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12642
12643         * gst/parse/Makefile.am:
12644         * gst/gstobject.h:
12645           get rid of gstmarshal.h dependency. It's not needed.
12646         * gst/gst.h:
12647         * gst/elements/gstfakesink.c:
12648         * gst/elements/gstfakesrc.c:
12649         * gst/elements/gstidentity.c:
12650         * gst/gstbin.c:
12651         * gst/gstelement.c:
12652         * gst/gstindex.c:
12653         * gst/gstobject.c:
12654         * gst/gstpad.c:
12655         * gst/gstthread.c:
12656         * gst/gstxml.c:
12657         * libs/gst/control/dparam.c:
12658         * libs/gst/control/dparammanager.c:
12659           include gstmarshal.h.
12660         Fixes #132045
12661
12662 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12663
12664         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12665         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12666         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12667         * gst/elements/gstfilesrc.h:
12668           don't ref the filesrc when creating mmaped buffers. Don't keep a
12669           list of not-yet-destroyed buffers.
12670         * gst/gstbuffer.h:
12671           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12672
12673 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12674
12675         * gst/gst.c: (init_pre):
12676           remove textdomain
12677
12678 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12679
12680         * docs/pwg/advanced-events.xml:
12681         * docs/pwg/advanced-scheduling.xml:
12682         * docs/pwg/intro-basics.xml:
12683         * docs/pwg/other-manager.xml:
12684         * docs/pwg/other-nton.xml:
12685         * docs/pwg/other-ntoone.xml:
12686         * docs/pwg/other-oneton.xml:
12687         * docs/pwg/pwg.xml:
12688           All sort of documentation... Forgot what. Point is that I want this
12689           in before I leave. The 'other-*' will be the last section and will
12690           explain issues specific to these type of elements.
12691
12692 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12693
12694         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12695         (gst_filesrc_get_read):
12696           set all the values on buffers that we can
12697
12698 2004-02-02  David Schleef  <ds@schleef.org>
12699
12700         Change usage of isblah() to g_ascii_isblah() to be more locale
12701         independent.  (#133076)
12702         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12703         * gst/gstutils.c:
12704         * gst/parse/parse.l:
12705
12706 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12707
12708         reviewed by: David Schleef  <ds@schleef.org>
12709
12710         Fix memory leaks:
12711         * gst/gstcaps.c: (gst_caps_to_string):
12712         * gst/registries/gstxmlregistry.c:
12713         (gst_xml_registry_add_path_list_func),
12714         (gst_xml_registry_parse_padtemplate):
12715
12716 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12717
12718         * gst/gstelement.c: (gst_element_default_error):
12719           suffix error messages with period
12720
12721 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12722
12723         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12724         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12725         * gst/gsterror.c: (gst_error_get_message):
12726           Suffix with dots
12727         * po/fr.po:
12728         * po/nl.po:
12729           Update translation files
12730
12731 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12732
12733         * gst/autoplug/gstspideridentity.c:
12734         (gst_spider_identity_sink_loop_type_finding):
12735         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12736         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12737         (gst_filesink_close_file), (gst_filesink_handle_event),
12738         (gst_filesink_chain):
12739         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12740         (gst_filesrc_get_read), (gst_filesrc_open_file):
12741         * gst/elements/gstidentity.c: (gst_identity_chain):
12742         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12743         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12744         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12745         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12746         * gst/gsterror.c: (_gst_core_errors_init),
12747         (_gst_library_errors_init), (_gst_resource_errors_init),
12748         (_gst_stream_errors_init), (gst_error_get_message):
12749         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12750         (gst_pad_recover_caps_error), (gst_pad_pull):
12751         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12752         * gst/schedulers/gstbasicscheduler.c:
12753         (gst_basic_scheduler_chainhandler_proxy),
12754         (gst_basic_scheduler_gethandler_proxy),
12755         (gst_basic_scheduler_cothreaded_chain):
12756           Suffix error messages with period.
12757           Use (NULL) instead of NULL
12758
12759 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12760
12761         * docs/gst/tmpl/gstelement.sgml:
12762         * docs/gst/tmpl/gstxml.sgml:
12763         * gst/gstelement.c: (gst_element_error_full):
12764           add element path to error
12765
12766 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12767
12768         * docs/random/mimetypes:
12769           update raw int/float info
12770         * gst/gsttag.c: (_gst_tag_initialize):
12771         * gst/gsttag.h:
12772           add GST_TAG_ENCODER
12773
12774 2004-01-30  David Schleef  <ds@schleef.org>
12775
12776         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12777           missing (#132991)
12778
12779 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12780
12781         reviewed by Benjamin Otte 
12782           parts of the patch submitted in bug #113913
12783
12784         * configure.ac:
12785           use AC_C_INLINE. Use = instead of == with test
12786         * examples/plugins/example.c:
12787         * gst/autoplug/gstspideridentity.c:
12788         * gst/elements/gstfdsrc.c:
12789         * gst/elements/gstfilesrc.c:
12790         * gst/elements/gstidentity.c:
12791         * gst/elements/gstmultidisksrc.c:
12792         * gst/elements/gststatistics.c:
12793         * gst/gstelement.c:
12794         * gst/gstobject.c:
12795         * gst/gstpad.c:
12796         * gst/gstpipeline.c:
12797         * gst/gstthread.c:
12798           don't end enums with a comma
12799         * gst/gstindex.c: (gst_index_compare_func):
12800           do explicit casting to gint
12801         * gst/gsttrace.c: (gst_trace_text_flush):
12802           #define strsize as a macro
12803
12804 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12805
12806         * docs/README:
12807         * docs/gst/gstreamer-docs.sgml:
12808         * docs/gst/gstreamer-sections.txt:
12809         * docs/gst/tmpl/gstelement.sgml:
12810         * docs/gst/tmpl/gsterror.sgml:
12811         * docs/gst/tmpl/gstinterface.sgml:
12812         * docs/gst/tmpl/gstreamer-unused.sgml:
12813         * docs/gst/tmpl/gststructure.sgml:
12814         * docs/gst/tmpl/gsttag.sgml:
12815         * docs/gst/tmpl/gsttaginterface.sgml:
12816         * docs/gst/tmpl/gstvalue.sgml:
12817         make sure all API ends up in the built docs
12818         * gst/gstinterface.c:
12819         * gst/gststructure.c: (gst_structure_id_set_value),
12820         (gst_structure_set_value), (gst_structure_id_get_value):
12821         * gst/gststructure.h:
12822         * gst/gstvalue.h:
12823         sync .h with .c declarations
12824
12825 2004-01-30  Julien Moutte  <julien@moutte.net>
12826
12827         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12828         Ronald will fix riffread.
12829
12830 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12831
12832         * docs/pwg/advanced-interfaces.xml:
12833           Added tuner interface docs.
12834
12835 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12836
12837         * docs/random/mimetypes:
12838           correct Theora information
12839         * gst/gstelement.h:
12840           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12841
12842 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12843
12844         * gst/gstelement.c: (gst_element_error_full):
12845         * gst/gstelement.h:
12846           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12847
12848 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12849
12850         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12851         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12852         again and even before DISCONT.
12853         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12854         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12855         bytestream so that it's not stopping to fill the bytestream if events
12856         different than EOS or DISCONT are received. Instead it process them so
12857         that they go downstream.
12858
12859 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12860
12861         * docs/gst/tmpl/gstelement.sgml:
12862         * docs/gst/tmpl/gstreamer-unused.sgml:
12863         * docs/gst/tmpl/gstxml.sgml:
12864         * gst/autoplug/gstspideridentity.c:
12865         (gst_spider_identity_sink_loop_type_finding):
12866         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12867         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12868         (gst_filesink_close_file), (gst_filesink_handle_event),
12869         (gst_filesink_chain):
12870         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12871         (gst_filesrc_get_read), (gst_filesrc_open_file):
12872         * gst/elements/gstidentity.c: (gst_identity_chain):
12873         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12874         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12875         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12876         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12877         * gst/gstelement.h:
12878         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12879         (gst_pad_recover_caps_error), (gst_pad_pull):
12880         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12881         * gst/schedulers/gstbasicscheduler.c:
12882         (gst_basic_scheduler_chainhandler_proxy),
12883         (gst_basic_scheduler_gethandler_proxy),
12884         (gst_basic_scheduler_cothreaded_chain):
12885           gst_element_error -> GST_ELEMENT_ERROR
12886
12887 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12888
12889         * docs/Makefile.am:
12890         * docs/gst/tmpl/gstelement.sgml:
12891         * docs/gst/tmpl/gstxml.sgml:
12892         * docs/manuals.mak:
12893         * docs/pwg/advanced-request.xml:
12894         * docs/pwg/advanced-scheduling.xml:
12895         * docs/pwg/advanced-tagging.xml:
12896           fix non-validating docbook using CDATA
12897           make sure make check-local gets run first to check if it validates
12898
12899 2004-01-29  Julien MOUTTE <julien@moutte.net>
12900
12901         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12902         handling (up and downstream).
12903         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12904         my_filter thing.
12905
12906 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12907
12908         * docs/pwg/advanced-tagging.xml:
12909           Add docs about tag writing.
12910
12911 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12912
12913         * docs/pwg/advanced-tagging.xml:
12914           Add a part about tag reading and application signalling... Tag
12915           writing still needs to be documented.
12916         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12917           We can set file locations in READY, too.
12918
12919 2004-01-29  Julien MOUTTE <julien@moutte.net>
12920
12921         * docs/random/ds/element-checklist: Adding some notes about src
12922         events.
12923
12924 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12925
12926         * docs/random/mimetypes:
12927           Update docs to point to correct elements for various mimetypes, and
12928           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12929           <stephane.loeuillet@tiscali.fr>.
12930
12931 2004-01-28  David Schleef  <ds@schleef.org>
12932
12933         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12934
12935 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12936
12937         * docs/random/mimetypes:
12938           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12939           undefined"
12940         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12941           make it only work in NULL.
12942         * gst/gstcaps.c:
12943           don't posion NULL caps
12944         * gst/gstelement.c: (gst_element_set_time):
12945           add debugging statement
12946         * gst/gstelement.c: (gst_element_emit_found_tag),
12947         (gst_element_found_tag_func), (gst_element_found_tags):
12948         * gst/gstelement.h:
12949           These functions take const taglists
12950         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12951           fix memleak
12952         * gst/gstpad.c: (gst_pad_event_default):
12953           make more effort on handling discont and clocks, g_warn if everything
12954           fails
12955         * gst/gststructure.c: (gst_structure_remove_fields),
12956         (gst_structure_remove_fields_valist):
12957         * gst/gststructure.h:
12958           add gst_structure_remove_fields(_valist)
12959         * gst/gsttag.c:
12960           fix doc glitch
12961
12962 2004-01-28  David Schleef  <ds@schleef.org>
12963
12964         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12965         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12966         Fix memory leakage of gst_caps_to_string().
12967
12968         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12969         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12970         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12971         (gst_spider_identity_sink_loop_type_finding):
12972         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12973         (find_suggest):
12974         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12975         (gst_pad_set_explicit_caps):
12976         * gst/parse/grammar.y:
12977
12978 2004-01-28  David Schleef  <ds@schleef.org>
12979
12980         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12981         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12982         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12983         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12984         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12985         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12986         (gst_debug_log_default), (_gst_info_printf_extension),
12987         (_gst_info_printf_extension_arginfo):  Add printf extension.
12988         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12989         * gst/gststructure.c: (gst_structure_to_string),
12990         (_gst_structure_parse_value): Use gst_value_deserialize() and
12991         remove old code.
12992         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12993         (gst_value_deserialize_boolean), (gst_strtoi),
12994         (gst_value_deserialize_int), (gst_value_deserialize_double),
12995         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12996         a bunch of deserialize functions and gst_value_deserialize.
12997         * gst/gstvalue.h: er, _de_serialize, not unserialize
12998         * testsuite/caps/string-conversions.c: (main): We don't currently
12999         handle (float) in caps, so convert these to (double).
13000         * testsuite/debug/Makefile.am: Add new test for the printf extension
13001         * testsuite/debug/printf_extension.c: (main): same
13002
13003 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13004
13005         * docs/random/company/time:
13006           Add some docs about clocking and time
13007
13008 2004-01-28  Julien MOUTTE <julien@moutte.net>
13009
13010         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13011
13012 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13013
13014         * docs/pwg/advanced-clock.xml:
13015         * docs/pwg/advanced-dparams.xml:
13016         * docs/pwg/advanced-events.xml:
13017         * docs/pwg/advanced-interfaces.xml:
13018         * docs/pwg/advanced-midi.xml:
13019         * docs/pwg/advanced-request.xml:
13020         * docs/pwg/advanced-scheduling.xml:
13021         * docs/pwg/advanced-tagging.xml:
13022         * docs/pwg/advanced-types.xml:
13023         * docs/pwg/appendix-checklist.xml:
13024         * docs/pwg/building-boiler.xml:
13025         * docs/pwg/building-chainfn.xml:
13026         * docs/pwg/building-filterfactory.xml:
13027         * docs/pwg/building-pads.xml:
13028         * docs/pwg/building-props.xml:
13029         * docs/pwg/building-signals.xml:
13030         * docs/pwg/building-state.xml:
13031         * docs/pwg/building-testapp.xml:
13032         * docs/pwg/intro-basics.xml:
13033         * docs/pwg/intro-preface.xml:
13034         * docs/pwg/other-autoplugger.xml:
13035         * docs/pwg/other-sink.xml:
13036         * docs/pwg/other-source.xml:
13037         * docs/pwg/titlepage.xml:
13038           fix up id's
13039
13040 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13041
13042         * docs/95NonPath:
13043         * docs/HACKING:
13044         * docs/README:
13045         * docs/building-the-docs-on-debian:
13046           collect relevant bits of doc info
13047
13048 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13049
13050         * docs/pwg/advanced_tagging.xml:
13051           Half-assed commit so Thomas can re-arrange document IDs here to be
13052           consistent, too.
13053
13054 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13055
13056         * docs/manual/autoplugging.xml:
13057         * docs/manual/bins-api.xml:
13058         * docs/manual/bins.xml:
13059         * docs/manual/buffers-api.xml:
13060         * docs/manual/buffers.xml:
13061         * docs/manual/clocks.xml:
13062         * docs/manual/components.xml:
13063         * docs/manual/cothreads.xml:
13064         * docs/manual/debugging.xml:
13065         * docs/manual/dparams-app.xml:
13066         * docs/manual/dynamic.xml:
13067         * docs/manual/elements-api.xml:
13068         * docs/manual/elements.xml:
13069         * docs/manual/factories.xml:
13070         * docs/manual/gnome.xml:
13071         * docs/manual/goals.xml:
13072         * docs/manual/helloworld.xml:
13073         * docs/manual/helloworld2.xml:
13074         * docs/manual/init-api.xml:
13075         * docs/manual/intro.xml:
13076         * docs/manual/links-api.xml:
13077         * docs/manual/links.xml:
13078         * docs/manual/manual.xml:
13079         * docs/manual/motivation.xml:
13080         * docs/manual/pads-api.xml:
13081         * docs/manual/pads.xml:
13082         * docs/manual/plugins-api.xml:
13083         * docs/manual/plugins.xml:
13084         * docs/manual/programs.xml:
13085         * docs/manual/queues.xml:
13086         * docs/manual/quotes.xml:
13087         * docs/manual/schedulers.xml:
13088         * docs/manual/states-api.xml:
13089         * docs/manual/states.xml:
13090         * docs/manual/threads.xml:
13091         * docs/manual/typedetection.xml:
13092         * docs/manual/xml.xml:
13093           use chapter, part, section or misc as id starts for all bits
13094
13095 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13096
13097         * docs/gst/gstreamer-sections.txt:
13098           Fix up TITLE of the sections
13099
13100 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13101
13102         * docs/pwg/advanced_interfaces.xml:
13103           Add documentation on propertyprobing.
13104         * docs/pwg/advanced_events.xml:
13105         * docs/pwg/advanced_tagging.xml:
13106         * docs/pwg/building_boiler.xml:
13107         * docs/pwg/building_filterfactory.xml:
13108         * docs/pwg/pwg.xml:
13109           Move filterfactory and tagging into their own chapter, add a chapter
13110           on events. all these are empty placeholders that will be filled in
13111           some day.
13112
13113 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13114
13115         * docs/pwg/advanced_interfaces.xml:
13116           Docs for mixer interface. Also a check for website uploading.
13117
13118 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13119
13120         * docs/HACKING:
13121         * docs/Makefile.am:
13122         * docs/faq/Makefile.am:
13123         * docs/gst/Makefile.am:
13124         * docs/gst/tmpl/gstelement.sgml:
13125         * docs/gst/tmpl/gstplugin.sgml:
13126         * docs/gst/tmpl/gstreamer-unused.sgml:
13127         * docs/libs/Makefile.am:
13128         * docs/manual/Makefile.am:
13129         * docs/manuals.mak:
13130         * docs/pwg/Makefile.am:
13131         * docs/upload.mak:
13132           Separate out upload target and make it similar for
13133           both docbook and gtk-doc docs
13134
13135 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13136
13137         * docs/manuals.mak:
13138           Fix upload target to work with freedesktop
13139
13140 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13141
13142         * docs/pwg/advanced_types.xml:
13143           Add notes on creating your own types.
13144         * docs/pwg/building_boiler.xml:
13145         * docs/pwg/building_pads.xml:
13146         * docs/pwg/building_state.xml:
13147           Add some stuff about how to retrieve values from structures, how
13148           that relates to types and change layout slightly again to be almost
13149           perfect.
13150
13151 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13152
13153         * docs/pwg/advanced_dparams.xml:
13154         * docs/pwg/advanced_scheduling.xml:
13155           Change index layout slightly.
13156
13157 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13158
13159         * docs/pwg/advanced_clock.xml:
13160         * docs/pwg/advanced_interfaces.xml:
13161         * docs/pwg/advanced_midi.xml:
13162           General placeholders for now.
13163         * docs/pwg/advanced_request.xml:
13164           Explanation about sometimes and request pads.
13165         * docs/pwg/advanced_scheduling.xml:
13166           Concept of bytestream, loopfunctions and schedulers.
13167         * docs/pwg/building_boiler.xml:
13168           Add something about plugin-init.
13169
13170 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13171
13172         * docs/pwg/building_pads.xml:
13173           Fix broken docbook
13174
13175 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13176
13177         * docs/pwg/advanced_interfaces.xml:
13178         * docs/pwg/pwg.xml:
13179           Add as a placeholder for future filling-in.
13180         * docs/pwg/basics_autoplugging.xml:
13181         * docs/pwg/basics_buffers.xml:
13182         * docs/pwg/basics_elements.xml:
13183         * docs/pwg/basics_events.xml:
13184         * docs/pwg/basics_plugins.xml:
13185         * docs/pwg/basics_types.xml:
13186           Remove, because unused (this is all in intro_basics.xml).
13187         * docs/pwg/building_signals.xml:
13188           Short intro to signals + reference to GObject docs - we really
13189           shouldn't go into these sort of things to deply because we don't
13190           use them that extensively anyway.
13191         * docs/pwg/building_state.xml:
13192           Explanation of states. Benjamin, please check.
13193         * docs/pwg/building_testapp.xml:
13194           Put everything in one page - putting only a few lines of content
13195           per page doesn't really make sense.
13196
13197           Time to get into the advanced topics. ;).
13198
13199 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13200
13201         * docs/pwg/advanced_types.xml:
13202           Finish documenting the current state of mimetypes.
13203         * docs/pwg/building_boiler.xml:
13204         * docs/pwg/building_chainfn.xml:
13205         * docs/pwg/building_pads.xml:
13206         * docs/pwg/building_props.xml:
13207         * docs/pwg/building_testapp.xml:
13208           Start documenting the "how to build a simple audio filter" part
13209           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13210           states and (maybe?) a short introduction to capsnego in the chapter
13211           on pads (building_pads.xml). Capsnego should probably be explained
13212           fully in advanced_capsnego.xml or so.
13213
13214 2004-01-26  David Schleef  <ds@schleef.org>
13215
13216         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13217         * gst/gstpad.h: Add new function to allow element to (somewhat)
13218         specify non-fixed caps on a pad.
13219         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13220         that I added a few weeks ago.
13221
13222 2004-01-26  David Schleef  <ds@schleef.org>
13223
13224         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13225           making try_set_caps() work with non-fixed caps.
13226
13227 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13228
13229         * docs/pwg/advanced_types.xml:
13230         * docs/pwg/intro_basics.xml:
13231         * docs/pwg/intro_preface.xml:
13232         * docs/pwg/pwg.xml:
13233         * docs/pwg/titlepage.xml:
13234           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13235           in here (docs/random/mimetypes), and will from there on work on both
13236           updating outdated parts and adding missing parts.
13237           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13238
13239 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13240
13241         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13242           policy is set
13243
13244 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13245
13246         * gst/gstelement.h:
13247           remove gst_element_factory_get_version. It doesn't exist anymore.
13248         * gst/gstplugin.c:
13249         * gst/gstplugin.h:
13250           remove gst_plugin_set_name and change gst_plugin_get_longname to
13251           gst_plugin_get_description to match code.
13252         * gst/gsterror.h:
13253           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13254         * gst/gstpad.c: (gst_pad_try_set_caps):
13255           make it work with nonfixed caps.
13256           Note that even in the nonfixed case the link function of the pad
13257           that tries to set caps isn't called.
13258
13259 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13260
13261         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13262           fix bug where buffer was not assembled correctly
13263         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13264           silence by default
13265         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13266           only seek if there's no more buffers that could work without seeking
13267
13268 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13269
13270         * gst/gsttag.c: (_gst_tag_initialize):
13271         * gst/gsttag.h:
13272           Add application tag (for encoding/muxing app).
13273
13274 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13275
13276         * autogen.sh:
13277           make autopoint force, and libtoolize not copy
13278         * common/m4/as-docbook.m4:
13279           added docbook xml catalog setup check
13280         * common/m4/gst-doc.m4:
13281           use docbook check
13282
13283 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13284
13285         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13286         * gst/gsttag.h:
13287           add GstTagFlag
13288
13289 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13290
13291         * docs/gst/gstreamer-sections.txt:
13292         * docs/gst/tmpl/gst.sgml:
13293         * docs/gst/tmpl/gstbuffer.sgml:
13294         * docs/gst/tmpl/gstclock.sgml:
13295         * docs/gst/tmpl/gstelement.sgml:
13296         * docs/gst/tmpl/gstreamer-unused.sgml:
13297         * docs/gst/tmpl/gstxml.sgml:
13298           sync latest API changes to docs
13299
13300 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13301
13302         * gst/gstpluginfeature.c:
13303           fix doc snippet
13304         * tools/gst-inspect.c: (print_element_list):
13305           fix output of typefind
13306           add GPL header
13307         * tools/gst-launch.c:
13308           add GPL header
13309
13310 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13311
13312         * gst/elements/Makefile.am:
13313         * gst/elements/gstelements.c:
13314         * gst/elements/gsttypefindelement.c:
13315         * gst/elements/gsttypefindelement.h:
13316         * po/POTFILES.in:
13317         * po/fr.po:
13318         * po/nl.po:
13319           renamed gsttypefindelement to gsttypefind, conserving CVS history
13320
13321 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13322
13323         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13324         * gst/gsttag.h:
13325           add some tags used in ogg as well
13326           fix _ in replaygain tags
13327
13328 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13329
13330         * gst/gsterror.h:
13331           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13332
13333 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13334
13335         * gst/gstelement.c: (gst_element_error_full):
13336         * gst/gstelement.h:
13337           change _extended to _full
13338
13339 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13340
13341         reviewed by: <delete if not using a buddy>
13342
13343         * docs/gst/tmpl/gst.sgml:
13344         * docs/gst/tmpl/gstbuffer.sgml:
13345         * docs/gst/tmpl/gstclock.sgml:
13346         * docs/gst/tmpl/gstelement.sgml:
13347         * docs/gst/tmpl/gstreamer-unused.sgml:
13348         * docs/gst/tmpl/gstxml.sgml:
13349         * gst/gstelement.c: (gst_element_error_full):
13350         * gst/gstelement.h:
13351
13352 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13353
13354         * gst/gstelement.h: fix _gst_element_error_printf prototype
13355
13356 2004-01-20  David Schleef  <ds@schleef.org>
13357
13358         * gst/gststructure.c: (gst_structure_to_string):
13359         Convert function to use gst_value_serialize().
13360         * gst/gstvalue.c: (gst_value_serialize_list),
13361         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13362         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13363         (gst_value_serialize_int), (gst_value_serialize_double),
13364         (gst_string_wrap), (gst_value_serialize_string),
13365         (gst_value_serialize), (gst_value_deserialize):
13366         * gst/gstvalue.h:
13367         Add implementations for serialize.
13368
13369 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13370
13371         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13372         we want to keep that one in the future or change xvidenc.c to use 
13373         another error.
13374
13375 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13376
13377         * gst/gstelement.c: (_gst_element_error_printf):
13378         * gst/gstelement.h:
13379           privatise function
13380
13381 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13382
13383         * docs/random/error:
13384           doc explaining error system
13385         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13386           cleanup
13387
13388 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13389
13390         * gst/gst-i18n-app.h:
13391         * gst/gst-i18n-lib.h:
13392           remove inclusion of config.h
13393         * po/POTFILES.in:
13394         * po/nl.po:
13395           add gst/gstelement.c
13396
13397 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13398
13399         * po/nl.po: updated Dutch translation
13400
13401 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13402
13403         * gst/gsterror.c: (_gst_core_errors_init),
13404         (_gst_library_errors_init), (_gst_resource_errors_init),
13405         (_gst_stream_errors_init):
13406         remove ending punctuation dots
13407
13408 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13409
13410         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13411         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13412         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13413         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13414         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13415         use GST_ERROR_SYSTEM
13416
13417 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13418
13419         * gst/gstelement.c: (gst_element_error_printf),
13420         (gst_element_error_extended):
13421         * gst/gstelement.h:
13422           add a helper printf function so we can have NULL values passed.
13423
13424 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13425
13426         * gst/gstelement.h:
13427           add G_STMT macros to gst_element_error, which isn't strictly
13428           necessary but people tell me to anyway.
13429
13430 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13431
13432         * gst/Makefile.am:
13433         * gst/autoplug/gstspideridentity.c:
13434         (gst_spider_identity_sink_loop_type_finding):
13435         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13436         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13437         (gst_filesink_close_file), (gst_filesink_handle_event),
13438         (gst_filesink_chain):
13439         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13440         (gst_filesrc_map_region), (gst_filesrc_get_read),
13441         (gst_filesrc_open_file):
13442         * gst/elements/gstidentity.c: (gst_identity_chain):
13443         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13444         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13445         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13446         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13447         * gst/gst.h:
13448         * gst/gst_private.h:
13449         * gst/gstelement.c: (gst_element_class_init),
13450         (gst_element_default_error), (gst_element_error_func),
13451         (gst_element_error_extended):
13452         * gst/gstelement.h:
13453         * gst/gsterror.c: (_gst_core_errors_init),
13454         (_gst_library_errors_init), (_gst_resource_errors_init),
13455         (_gst_stream_errors_init), (gst_error_get_message):
13456         * gst/gsterror.h:
13457         * gst/gstinfo.c: (_gst_debug_init):
13458         * gst/gstmarshal.list:
13459         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13460         (gst_pad_recover_caps_error), (gst_pad_pull):
13461         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13462         * gst/schedulers/gstbasicscheduler.c:
13463         (gst_basic_scheduler_chainhandler_proxy),
13464         (gst_basic_scheduler_gethandler_proxy),
13465         (gst_basic_scheduler_cothreaded_chain):
13466         * po/POTFILES.in:
13467         * po/fr.po:
13468         * po/nl.po:
13469           change error signal
13470           add error categories
13471
13472 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13473
13474         * gst/gsttag.c: (_gst_tag_initialize):
13475         * gst/gsttag.h:
13476         Add replaygain tag
13477
13478 2004-01-18  Colin Walters  <walters@verbum.org>
13479
13480         * examples/retag/retag.c: Call gst_init before processing
13481         program args.  Add g_assert to _link_many call.
13482
13483 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13484
13485         * gst/gstpad.c: (gst_pad_alloc_buffer):
13486           Return a newly allocated buffer when the pad has no peer.
13487
13488 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13489
13490         * gst/gstclock.c: (gst_clock_get_time):
13491           make it compile with gcc 2.95 again.
13492           Patch by Scott Wheeler
13493
13494 2004-01-15  David Schleef  <ds@schleef.org>
13495
13496         * gst/gstcaps.h:
13497         Added gst_caps_is_simple() macro.
13498         * testsuite/caps/caps.c: (test1):
13499         * testsuite/caps/intersect2.c: (main):
13500         * testsuite/caps/intersection.c: (main):
13501         Fixes to make 'make check' work again after removing
13502         gst_caps_is_chained().
13503
13504 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13505
13506         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13507         and additions to the MIDI document.
13508
13509 2004-01-15  David Schleef  <ds@schleef.org>
13510
13511         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13512         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13513         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13514
13515 2004-01-15  David Schleef  <ds@schleef.org>
13516
13517         * gst/gstqueue.c:
13518         * gst/gstqueue.h:
13519         Fix the spelling of "treshold" and make min_threshold actually
13520         affect the queue.
13521
13522 2004-01-15  David Schleef  <ds@schleef.org>
13523
13524         * gst/gstcaps.c:
13525         Add lots of documentation.
13526         * gst/gstcaps.h:
13527         Deprecate a few functions.
13528         * gst/gstpad.c:
13529         Removed use of deprecated functions.
13530
13531 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13532
13533         * gst/gstpad.c: (gst_pad_is_linked):
13534         * gst/gstpad.h:
13535           implement gst_pad_is_linked
13536         * gst/gstelement.h:
13537           reserve space for initiate_state_change
13538
13539 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13540
13541         * gst/autoplug/gstspideridentity.c:
13542         (gst_spider_identity_sink_loop_type_finding):
13543           break infinite loop by just returning instead of looping
13544         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13545           set event time difference correctly. Set it to 1 second instead
13546           of 100ms to be more tolerant
13547         * gst/gstelement.c: (gst_element_set_time):
13548           add debugging output
13549
13550 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13551
13552         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13553           query if buffers are inside the pool, ignore events
13554
13555 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13556
13557         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13558         (gst_clock_set_speed), (gst_clock_set_active),
13559         (gst_clock_is_active), (gst_clock_reset),
13560         (gst_clock_handle_discont):
13561         * gst/gstclock.h:
13562           deprecate old interface and disable functions that aren't in use
13563           anymore.
13564         * gst/gstelement.h:
13565         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13566         (gst_element_set_time), (gst_element_adjust_time):
13567           add concept of "element time" and functions to get/set this time.
13568         * gst/gstelement.c: (gst_element_change_state):
13569           update element time correctly.
13570         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13571           This is a debug message, not a g_critical.
13572         * gst/gstpad.c: (gst_pad_event_default):
13573           handle discontinuous events right with element time.
13574         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13575           update to clocking fixes.
13576           set clocks on elements in READY=>PAUSED. The old behaviour caused
13577           a wrong element time on the first element that started playing.
13578         * gst/schedulers/gstbasicscheduler.c:
13579         (gst_basic_scheduler_class_init):
13580         * gst/schedulers/gstoptimalscheduler.c:
13581         (gst_opt_scheduler_class_init):
13582           remove code that just implements the default behaviour.
13583         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13584           update to use new clocking functions
13585         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13586         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13587           update to test new element time.
13588         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13589           use _get_allowed_caps instead of _get_caps. This catches filtered
13590           caps correctly.
13591         * testsuite/debug/commandline.c:
13592           update for new GST_DEBUG syntax.
13593         * testsuite/threads/Makefile.am:
13594           disable a test that only works sometimes.
13595
13596 2004-01-13  Julien MOUTTE <julien@moutte.net>
13597
13598         * po/LINGUAS: Adding fr.
13599         * po/fr.po: Adding french translation.
13600
13601 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13602
13603         * gst/parse/grammar.y:
13604         * po/POTFILES.in:
13605         * po/nl.po:
13606         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13607           translate parsing error messages
13608
13609 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13610
13611         * po/POTFILES.in: adding gst-launch
13612         * po/nl.po: updated translation, all 99 strings translated
13613         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13614         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13615           fix strings for translation
13616
13617 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13618
13619         * gst/gst.c:
13620           - capitalize beginnings of popt options
13621           - fix strings for translation
13622           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13623
13624 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13625
13626         * po/README: add some notes on how to update translations
13627
13628 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13629
13630         * ABOUT-NLS: removed, is autogenerated from autopoint
13631         * autogen.sh: add autopoint stuff
13632         * configure.ac: fix up gettext stuff
13633         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13634         * gst/elements/gsttypefindelement.c: add header include
13635         * gst/gettext.h: add header, copy from system-installed header
13636         * gst/gst-i18n-app.h: to be included by each app having translations
13637         * gst/gst-i18n-lib.h: to be included by each lib having translations
13638         * gst/gst.c: (init_pre): fix up gettext calls
13639         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13640         * po/LINGUAS: the new way to specify translations present
13641         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13642         * po/Makevars: the variables filled in for GStreamer
13643         * po/POTFILES.in: added new files with translations
13644         * po/de.po: has new strings
13645         * po/nl.po: readded, has new strings
13646
13647 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13648
13649         * gst/gsttag.c: fix some strings marked for translation
13650
13651 2004-01-13  Iain <iain@prettypeople.org>
13652
13653         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13654         group when we add an element to it, cos we unref it when we remove one
13655
13656 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13657
13658         * testsuite/debug/commandline.c: (debug_not_reached):
13659         * testsuite/debug/output.c: (check_message):
13660           fix testsuite
13661
13662 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13663
13664         * examples/cutter/.cvsignore:
13665         * examples/helloworld/.cvsignore:
13666         * examples/launch/.cvsignore:
13667         * examples/manual/.cvsignore:
13668         * examples/mixer/.cvsignore:
13669         * examples/pingpong/.cvsignore:
13670         * examples/plugins/.cvsignore:
13671         * examples/queue/.cvsignore:
13672         * examples/queue2/.cvsignore:
13673         * examples/queue3/.cvsignore:
13674         * examples/queue4/.cvsignore:
13675         * examples/retag/.cvsignore:
13676         * examples/thread/.cvsignore:
13677         * examples/typefind/.cvsignore:
13678         * examples/xml/.cvsignore:
13679         * gst/.cvsignore:
13680         * gst/autoplug/.cvsignore:
13681         * gst/elements/.cvsignore:
13682         * gst/indexers/.cvsignore:
13683         * gst/parse/.cvsignore:
13684         * gst/registries/.cvsignore:
13685         * gst/schedulers/.cvsignore:
13686         * libs/gst/bytestream/.cvsignore:
13687         * libs/gst/control/.cvsignore:
13688         * libs/gst/getbits/.cvsignore:
13689         * tests/.cvsignore:
13690         * tests/bufspeed/.cvsignore:
13691         * tests/instantiate/.cvsignore:
13692         * tests/memchunk/.cvsignore:
13693         * tests/muxing/.cvsignore:
13694         * tests/sched/.cvsignore:
13695         * tests/seeking/.cvsignore:
13696         * tests/threadstate/.cvsignore:
13697         * testsuite/.cvsignore:
13698         * testsuite/caps/.cvsignore:
13699         * testsuite/cleanup/.cvsignore:
13700         * testsuite/dynparams/.cvsignore:
13701         * testsuite/plugin/.cvsignore:
13702         * tools/.cvsignore:
13703           update - this is huge, because it includes *.bb, *.bbg and *.da files
13704           which are generated for gcov.
13705
13706 2004-01-11  David Schleef  <ds@schleef.org>
13707
13708         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13709         a function to parse integers in ways that strto[u]l() does not.
13710
13711 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13712
13713         * tools/gst-inspect.c: (print_caps):
13714           improve output of caps a bit
13715
13716 2004-01-11  David Schleef  <ds@schleef.org>
13717
13718         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13719         inherit correct flags (READONLY and DONTKEEP).
13720
13721 2004-01-11  David Schleef  <ds@schleef.org>
13722
13723         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13724         (gst_filesrc_map_region):
13725         * gst/gstbuffer.c: (_gst_buffer_initialize),
13726         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13727         (gst_buffer_new), (gst_buffer_create_sub),
13728         (gst_buffer_is_span_fast), (gst_buffer_span):
13729         * gst/gstbuffer.h:
13730         Change GstBuffer private structure element names. (all files)
13731         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13732         (gst_queue_link):
13733         * gst/gstqueue.h:
13734         Implement getcaps/pad_link functions that handle the case where
13735         there are data in the queue.
13736
13737 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13738
13739         * gst/elements/gstbufferstore.c:
13740           initialize debugging structure correctly
13741         * gst/elements/gsttee.c: (gst_tee_set_property):
13742           g_object_notify when property was changed
13743         * gst/elements/gsttypefindelement.c:
13744         (gst_type_find_element_change_state):
13745           clear caps correctly
13746
13747 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13748
13749         * gst/gstqueue.c: (gst_queue_init):
13750           Use better defaults for when a queue should block. This
13751           gets rid of jerky playback for quite a few files.
13752           It takes more memory.
13753
13754 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13755
13756         (gst_xml_registry_parse_padtemplate):
13757           make critical message slightly more useful
13758
13759 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13760
13761         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13762         (gst_debug_message_get), (gst_debug_log_default):
13763         * gst/gstinfo.h:
13764           Change gst_debug_log(_valist) to take a const format string.
13765           Change prototype of log function and functions using those to 
13766           take a GstDebugMessage instead of a string that requires using
13767           gst_debug_message_get.
13768
13769 2004-01-08  David Schleef  <ds@schleef.org>
13770
13771         * Makefile.am:
13772         * configure.ac:
13773         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13774         and -ftest-coverage, which allows gcov to show information about
13775         testsuite coverage.
13776
13777 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13778
13779         * gst/gstutils.h:
13780           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13781           GST_PARENT_CALL_WITH_DEFAULT
13782         * gst/elements/gstaggregator.c: 
13783         * gst/elements/gstbufferstore.c: 
13784         * gst/elements/gstfakesink.c: 
13785         * gst/elements/gstfakesrc.c: 
13786         * gst/elements/gstfdsink.c: 
13787         * gst/elements/gstfdsrc.c: 
13788         * gst/elements/gstfilesink.c: 
13789         * gst/elements/gstfilesrc.c: 
13790         * gst/elements/gstidentity.c: 
13791         * gst/elements/gstmd5sink.c: 
13792         * gst/elements/gstmultidisksrc.c:
13793         * gst/elements/gstpipefilter.c: 
13794         * gst/elements/gstshaper.c:
13795         * gst/elements/gststatistics.c:
13796         * gst/elements/gsttee.c:
13797         * gst/elements/gsttypefindelement.c:
13798           use them.
13799
13800 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13801
13802         * docs/gst/gstreamer-docs.sgml: remove props
13803         * docs/gst/gstreamer-sections.txt: remove props
13804         * docs/gst/tmpl/gst.sgml:
13805         * docs/gst/tmpl/gstbin.sgml:
13806         * docs/gst/tmpl/gstbuffer.sgml:
13807         * docs/gst/tmpl/gstcaps.sgml:
13808         * docs/gst/tmpl/gstclock.sgml:
13809         * docs/gst/tmpl/gstelement.sgml:
13810         * docs/gst/tmpl/gstindex.sgml:
13811         * docs/gst/tmpl/gstobject.sgml:
13812         * docs/gst/tmpl/gstpad.sgml:
13813         * docs/gst/tmpl/gstpadtemplate.sgml:
13814         * docs/gst/tmpl/gstreamer-unused.sgml:
13815         * docs/gst/tmpl/gstthread.sgml:
13816         * docs/gst/tmpl/gstxml.sgml:
13817           sync with code reorganization
13818
13819 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13820
13821         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13822         Make the 'Could not find compatible pad' message more informative.
13823
13824 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13825                                                                                 
13826         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13827           Fix for if we pass NULL as property to location.
13828         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13829         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13830           Fix for instantiate-test (see below).
13831         * gst/gststructure.c: (_gst_structure_parse_value):
13832           Fix compile error on gcc-2.96.
13833         * configure.ac:
13834         * tests/Makefile.am:
13835         * tests/instantiate/Makefile.am:
13836         * tests/instantiate/create.c: (create_all_elements), (main):
13837           Add a test that instantiates all elements. This makes it easy to
13838           track dead code for old API/design (like setting event functions
13839           on sink pads and so on).
13840
13841 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13842
13843         * gst/gstcaps.c: (gst_caps_append_structure):
13844           Move the poisoning to allow a NULL structure
13845         * gst/gstevent.c: (_gst_event_free):
13846           When freeing a navigation event, free the structure
13847           also
13848
13849 2004-01-04  David Schleef  <ds@schleef.org>
13850
13851         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13852         Remove usage of gst_pad_proxy_fixate.
13853         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13854         (gst_caps_split_one), (gst_caps_replace):
13855         Add poisoning code.
13856         * gst/gstmarshal.list:
13857         Add pointer__pointer for fixate signal
13858         * gst/gstpad.c: (gst_real_pad_class_init),
13859         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13860         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13861         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13862         Add poisoning code. Add fixate signal on RealPad. Change
13863         set_explicit_caps() to take const GstCaps, like try_set_caps().
13864         * gst/gstpad.h:
13865         * testsuite/caps/Makefile.am:
13866         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13867
13868 2004-01-03  David Schleef  <ds@schleef.org>
13869
13870         * gst/elements/gsttypefindelement.c:
13871         (gst_type_find_element_have_type), (gst_type_find_element_init):
13872         Use gst_pad_use_explicit_caps for src pad.
13873         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13874         before using it.
13875
13876 2004-01-03  David Schleef  <ds@schleef.org>
13877
13878         * gst/gstelement.c: (gst_element_link_pads_filtered),
13879         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13880         that linking was successful.
13881         * gst/gstpad.c: (gst_pad_link_free),
13882         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13883         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13884         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13885         GstPadLinkReturn correctly between functions, and don't fail
13886         when DELAYED is used (DELAYED is very important).  Better
13887         cleanup on unlinking and unnegotiation.  Should fix some spider
13888         bugs.
13889
13890 2004-01-02  David Schleef  <ds@schleef.org>
13891
13892         * gst/gstelement.c: (gst_element_class_init),
13893         (gst_element_base_class_init): ->padtemplates should be cleared
13894         in base_init, since we need to have a fresh list for every
13895         class.  (Alternately, we chould copy the list and share the
13896         actual pad templates (not the list), but that would require
13897         changing every plugin to move pad template registration from
13898         base_init to class_init.)
13899
13900 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13901
13902         * gst/gstelement.c: (gst_element_class_add_pad_template):
13903           Refuse registering a pad template if another pad template
13904           with the same name already exists (#114715).
13905
13906 2004-01-02  David Schleef  <ds@schleef.org>
13907
13908         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13909         (gst_caps_is_equal_fixed): Add new function.
13910         * gst/gstcaps.h: ditto.
13911         * gst/gstpad.c: (gst_real_pad_class_init),
13912         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13913         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13914         check new caps against existing caps -- if they're the same, return
13915         OK without renegotiating.  caps-nego-failed signal fixed so that
13916         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13917         to save an extra caps copy.  Don't complete negotiation if a pad
13918         link function returns DELAYED.
13919
13920 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13921
13922         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13923           Fix wrong g_return_if_fail
13924
13925 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13926
13927         * gst/gstbin.c: (gst_bin_class_init):
13928         Change the marshalling of element_added/element_removed
13929         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13930         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13931
13932 2004-01-01  David Schleef  <ds@schleef.org>
13933
13934         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13935         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13936         (gst_pad_use_explicit_caps):
13937         * gst/gstpad.h:
13938         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13939         to use an internal getcaps and link fuction so that negotiation
13940         always results in the explicitly set caps.
13941         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13942         are particularly useful for decoders.
13943
13944 2003-12-31  David Schleef  <ds@schleef.org>
13945
13946         * gst/elements/gstidentity.c: (gst_identity_class_init),
13947         (gst_identity_init), (gst_identity_chain),
13948         (gst_identity_set_property), (gst_identity_get_property):
13949         * gst/elements/gstidentity.h:
13950         * gst/gstqueue.c: (gst_queue_init):
13951           Negotiation fixes.
13952
13953 2003-12-31  David Schleef  <ds@schleef.org>
13954
13955         * gst/gstcaps.c: (gst_caps_intersect),
13956         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13957           Implement gst_caps_normalize().
13958         * testsuite/caps/normalisation.c: (main):
13959           Add an additional test
13960
13961 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13962
13963         * gst/gstqueue.c: (gst_queue_init):
13964           use gst_pad_proxy_getcaps()
13965
13966 2003-12-31  David Schleef  <ds@schleef.org>
13967
13968         * gst/elements/gstshaper.c: (gst_shaper_link):
13969         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13970         * gst/gstqueue.c: (gst_queue_link):
13971           Negotiation fixes.
13972
13973 2003-12-31  David Schleef  <ds@schleef.org>
13974
13975         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13976         * gst/gstpad.h: Add functions that are useful as default pad
13977         link and fixate functions for elements.
13978
13979 2003-12-30  David Schleef  <ds@schleef.org>
13980
13981         * gst/gstpad.c: (gst_pad_link_try):
13982           Fix segfault when attempting to return to old caps
13983
13984 2003-12-29  David Schleef  <ds@schleef.org>
13985
13986         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13987         (gst_caps_structure_simplify), (gst_caps_simplify):
13988         * gst/gstcaps.h:
13989           Add simplify function
13990         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13991         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13992         * gst/gstpad.h:
13993           Copy over srcnotify, sinknotify when calling old pad_link
13994           functions.  Add new is_negotiated() function.
13995         * gst/gststructure.c: (gst_structure_copy):
13996           Fix an incredibly stupid bug that should have been noticed
13997           weeks ago.  _copy() returned the argument, not the new copy.
13998
13999 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14000
14001         * gst/gstcaps.c: (gst_caps_append):
14002           add sanity checks
14003         * gst/gstcaps.h: (gst_caps_debug):
14004           remove, it doesn't exist anymore.
14005         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14006         (gst_element_threadsafe_properties_post_run):
14007           make debugging messages not clutter up THREAD debug category
14008         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14009         (gst_element_change_state):
14010           update to new caps API
14011         * gst/gstinterface.c: (gst_implements_interface_cast):
14012           don't put vital code in g_return_if_fail
14013         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14014         (gst_pad_link_filtered):
14015           add pst_pad_try_link and use it.
14016         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14017           implement correctly, deprecate first one.
14018         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14019           add and implement.
14020         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14021           implement.
14022         (gst_pad_get_negotiated_caps):
14023           add and implement. Make GST_PAD_CAPS call this function.
14024         (gst_pad_get_caps):
14025           remove unneeded check..
14026         (gst_pad_recover_caps_error):
14027           disable, always return FALSE.
14028         (gst_real_pad_dispose):
14029           don't free caps and appfilter anymore, they're unused.
14030         * gst/gstpad.h:
14031           Reflect changes mentioned above.
14032         * gst/gstsystemclock.c: (gst_system_clock_wait):
14033           Make 'clock is way behind' a debugging message.
14034         * gst/gstthread.c: (gst_thread_change_state):
14035           Fix debugging message
14036
14037 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14038
14039         * gst/gstinfo.h:
14040           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14041         * docs/gst/tmpl/gstreamer-unused.sgml:
14042           removed all traces of cvs conflicts
14043
14044 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14045
14046         * configure.ac:
14047         * gst/schedulers/cothreads_compat.h:
14048         * libs/Makefile.am:
14049           remove last instances of wingo cothread usage
14050
14051 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14052
14053         * gst/gstplugin.c:
14054         * gst/gstversion.h.in:
14055         * gst/parse/grammar.y:
14056           change comment block from /** to /* when not gtk-doc comments
14057
14058 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14059
14060         * gst/gst.c: whitespace and doc style fixes
14061
14062 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14063
14064         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14065
14066 2003-12-24  Colin Walters  <walters@verbum.org>
14067
14068         * gst/elements/gsttypefindelement.c:
14069           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14070           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14071           Don't double-free caps.
14072
14073 2003-12-23  David Schleef  <ds@schleef.org>
14074
14075         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14076           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14077           Many little fixes and additions of debug statements to
14078           get rhythmbox working.
14079
14080 2003-12-23  Colin Walters  <walters@verbum.org>
14081
14082         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14083         Use GST_PAD_LINK_SUCCESSFUL.
14084
14085 2003-12-23  David Schleef  <ds@schleef.org>
14086
14087         * gst/elements/gstaggregator.c:
14088         * gst/elements/gsttee.c:
14089           Use gst_pad_proxy_getcaps().
14090         * gst/gstpad.c:
14091         * gst/gstpad.h:
14092           Add gst_pad_proxy_getcaps(), which filter elements can use
14093           as a generic getcaps implementation.
14094           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14095           was advertised.
14096
14097 2003-12-23  David Schleef  <ds@schleef.org>
14098
14099         * gst/gstpad.c:
14100           Rearrange/rewrite much of the pad negotiation code, since it
14101           resembled pasta.  This actually changes the way some
14102           negotiation works, since the previous code was inconsistent
14103           depending on how it was invoked.  Add (internal) structure
14104           GstPadLink, which is used to hold some information (more in
14105           the future) about the link between two pads.  Fixes a number
14106           of bugs, including random lossage of filter caps when the
14107           initial negotiation is delayed.  A few functions are still
14108           unimplemented.
14109         * gst/gstpad.h:
14110           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14111           these when testing GstPadLinkReturn values instead of comparing
14112           directly.
14113
14114 2003-12-23  David Schleef  <ds@schleef.org>
14115
14116         * gst/gstvalue.c: 
14117         * gst/gstvalue.h:
14118           Rearrange lots of code.  Change registration of compare function
14119           into registration of compare/serialize/deserialize functions.
14120           Doesn't include implementation of gst_value_[de]serialize(),
14121           but that should be easy.
14122
14123 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14124
14125         * docs/gst/gstreamer-sections.txt:
14126         * docs/gst/tmpl/gstprops.sgml: removed
14127         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14128           David removed props and caps code, so let's remove their docs as well.
14129           Removed all no longer existing symbols from gstreamer-sections.txt
14130           
14131 2003-12-22  Colin Walters  <walters@verbum.org>
14132
14133         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14134           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14135           of tags directly.
14136
14137 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14138
14139         * gst/elements/gstelements.c:
14140           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14141         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14142           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14143           gst_caps (peer).
14144
14145 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14146
14147         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14148         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14149         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14150         (gst_spider_identity_sink_loop_type_finding):
14151         * gst/autoplug/gstspideridentity.h:
14152           Fix autoplugging in spider element, so it works with new caps.
14153           This was mainly caused by identifying empty caps incorrectly.
14154
14155 2003-12-22  David Schleef  <ds@schleef.org>
14156
14157         * gststructure.c, gstvalue.c, gstvalue.h: Add
14158           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14159           using g_value_copy()
14160
14161 2003-12-21  David Schleef  <ds@schleef.org>
14162
14163         * many, many files: Merge CAPS branch.  This includes:
14164           - implemention of GstValue and several GstValue types
14165           - implemention of GstStructure
14166           - entire rewrite of GstCaps
14167           - removal of GstProps
14168           - many changes to GstPad to compensate for new caps paradigm
14169           - removal of GstBufferpool
14170         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14171         gstvalue.h, gst/gstcaps[2]*.[ch]:
14172           - rename gstcaps2.[ch] to gstcaps.[ch]
14173
14174 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14175
14176         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14177         (gst_queue_chain), (gst_queue_handle_src_event):
14178           implement timeout for sending events. Workaround for if the
14179           pipeline on this queue is not passing any data.
14180
14181 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14182                                                                                 
14183         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14184         * moved CVS to freedesktop.org