211187d9e84984d1f615fbbdfac753c5094fb443
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
2
3         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
4           Don't pretend to handle seek events if the source is not seekable
5
6 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7
8         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9           Remove extra parameter to debug output
10
11         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12         (gst_base_src_do_seek), (gst_base_src_activate_push):
13           Fix seek event handling.
14
15         * gst/gstpipeline.c: (gst_pipeline_change_state):
16         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17         (gst_queue_src_activate_push):
18           Don't start the src pad task on FLUSH_STOP if the pad
19           isn't linked.
20           Debug changes.
21
22 2005-08-22  Wim Taymans  <wim@fluendo.com>
23
24         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
25         Added check for gst_static_caps_get() refcounting.
26
27 2005-08-22  Wim Taymans  <wim@fluendo.com>
28
29         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
30         Make _static_caps_get() refcounting sane.
31         
32         * gst/gstelement.c: (gst_element_set_state):
33         Add g_return_val_if_fail() to protect against segfaults.
34
35 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
36
37         * docs/gst/tmpl/gstevent.sgml:
38         * gst/gstevent.c:
39         * gst/gstevent.h:
40           inlined remaining docs, added missing doc comments
41
42 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
43
44         * check/gst/gstbin.c: (GST_START_TEST):
45           since we don't know when preroll is done, use refcount range
46           check for the sink
47         * gst/check/gstcheck.h:
48           add macro for checking refcount range
49
50 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
51
52         * check/Makefile.am:
53           clean up environment for when registry gets built versus
54           when actual tests are run; valgrind seems to not report
55           leaks if GST_PLUGIN_PATH is set to some specific values
56         * check/gst/gstbin.c: (GST_START_TEST):
57           add more refcounting checks; maybe this exposes a
58           preroll lock bug ?
59         * common/check.mak:
60         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
61         * gst/check/gstcheck.h:
62         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
63         (gst_bin_change_state):
64         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
65           add/fix debugging/whitespace
66
67 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
68
69         * check/gst/gstevent.c: (event_probe), (test_event),
70         (GST_START_TEST):
71          Er, don't call gst_bin_watch_for_state_change you idiot.
72
73 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
74
75         * check/Makefile.am:
76           Use CHECK_CFLAGS and CHECK_LIBS
77         * check/gst/gstevent.c: (event_probe), (test_event),
78         (GST_START_TEST):
79           Don't leak events.
80         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
81         (gst_base_src_start), (gst_base_src_stop),
82         (gst_base_src_activate_push), (gst_base_src_activate_pull),
83         (gst_base_src_change_state):
84           Sprinkle gst_base_src_stop liberally around error paths to fix
85           problems reusing a source after failed state changes.
86         * gst/base/gsttypefindhelper.c: (helper_find_peek),
87         (helper_find_suggest), (gst_type_find_helper):
88           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
89         * gst/gstevent.h:
90         * docs/gst/tmpl/gstevent.sgml:
91           Migrate part of the docs from the SGML file. Wait for ensonic to
92           tell me how I did it wrong ;)
93         * tools/gst-typefind.c: (main):
94           Extra robustness to state changes between files.
95
96 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
97
98         * check/Makefile.am:
99           don't valgrind the controller test - it's leaking - Stefan, HELP
100         * gst/check/gstcheck.c: (gst_check_message_error),
101         (gst_check_chain_func), (gst_check_setup_element),
102         (gst_check_teardown_element), (gst_check_setup_src_pad),
103         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
104         (gst_check_teardown_sink_pad):
105         * gst/check/gstcheck.h:
106           add a bunch of methods to set up elements, and src and sink pads
107         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
108         * check/elements/identity.c: (setup_identity), (cleanup_identity),
109         (GST_START_TEST):
110           use them
111         * gst/gstmessage.c:
112         * gst/gsttag.h:
113           whitespace/doc fixes
114
115 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
116
117         * gst/gstelement.h:
118           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
119           be handled by the application and not always printed as well
120
121 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
122
123         * check/Makefile.am:
124           set GST_TOOLS_DIR
125         * gst/check/gstcheck.c: (gst_check_message_error):
126         * gst/check/gstcheck.h:
127           add a fail_unless_equals_int
128           add fail_unless for error messages
129
130 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
131
132         * check/Makefile.am:
133         * check/gst.supp:
134         * common/Makefile.am:
135         * common/check.mak:
136         * common/gst.supp:
137           factor out some of the common stuff so we can use it
138
139 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
140
141         * check/Makefile.am:
142         * check/gst/gstiterator.c: (GST_START_TEST):
143         * check/gst/gstsystemclock.c: (GST_START_TEST),
144         (gst_systemclock_suite):
145         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
146         * gst/gstclock.c:
147           valgrind more tests
148
149 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
150
151         * check/elements/.cvsignore:
152         * check/elements/gstfakesrc.c:
153           rename to name of element
154         * check/elements/identity.c: (chain_func), (event_func),
155         (setup_identity), (cleanup_identity), (GST_START_TEST),
156         (identity_suite), (main):
157           add a test for identity
158         * check/Makefile.am:
159         * pkgconfig/Makefile.am:
160         * pkgconfig/gstreamer-check.pc.in:
161         * pkgconfig/gstreamer-check-uninstalled.pc.in:
162         * gst/check:
163         * gst/Makefile.am:
164         * configure.ac:
165           move the check stuff to a library that gets installed
166         * check/gst-libs/controller.c: (GST_START_TEST):
167         * check/gst-libs/gdp.c:
168         * check/gst/gst.c: (GST_START_TEST):
169         * check/gst/gstbin.c:
170         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
171         * check/gst/gstbus.c:
172         * check/gst/gstcaps.c: (GST_START_TEST):
173         * check/gst/gstelement.c:
174         * check/gst/gstghostpad.c:
175         * check/gst/gstiterator.c:
176         * check/gst/gstmessage.c:
177         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
178         * check/gst/gstobject.c:
179         * check/gst/gstpad.c: (GST_START_TEST):
180         * check/gst/gststructure.c: (GST_START_TEST):
181         * check/gst/gstsystemclock.c: (GST_START_TEST),
182         (gst_systemclock_suite):
183         * check/gst/gsttag.c: (gst_tag_suite):
184         * check/gst/gstvalue.c:
185         * check/pipelines/cleanup.c:
186         * check/pipelines/simple_launch_lines.c:
187         * check/states/sinks.c:
188           change include statement
189
190         * docs/gst/gstreamer-sections.txt:
191         * docs/gst/tmpl/gstpad.sgml:
192           document more pad stuff
193         * gst/gstminiobject.c: (gst_mini_object_ref),
194         (gst_mini_object_unref):
195           debug refcounting
196
197 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
198
199         * docs/gst/tmpl/gst.sgml:
200         * gst/gst.c:
201           eliminate another tmpl file, fix spelling in the long-description
202
203 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
204
205         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
206         (test_event), (timediff), (gstevents_suite):
207           Should fix build on 64-bit arch's
208
209 2005-08-18  Andy Wingo  <wingo@pobox.com>
210
211         Make sure that when a pipeline goes to PLAYING, that data has
212         actually hit the sink.
213
214         * check/states/sinks.c (test_sink): A sink that doesn't get any
215         data shouldn't return SUCCESS for going to either PLAYING or
216         PAUSED. Test also the return values on the way back down.
217
218         * gst/gstelement.c (gst_element_set_state): When changing the
219         state of an element currently changing state asynchronously, go to
220         lost-state after commiting the pending state. Makes future calls
221         to get_state continue to return ASYNC.
222
223         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
224         ASYNC when going to PLAYING if we still don't have preroll, as can
225         happen with live sources.
226
227 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
228
229         * docs/pwg/advanced-types.xml:
230           Hack long paragraph into 2 chunks as a workaround for buggy
231           jadetex version in sid and breezy that loops infinitely and
232           eats all RAM.
233
234 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
235
236         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
237         (test_event), (timediff), (gstevents_suite):
238           Provide more error margin in clock measurements to allow for 
239           g_get_current_time inaccuracies.
240
241 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
242
243         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
244         (test_event), (timediff), (gstevents_suite):
245            Fix error message output so I might be able to tell why the
246            test works here but fails on the build farm.
247
248 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
249
250         * check/Makefile.am:
251         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
252         (test_event), (timediff), (gstevents_suite), (main):
253           I wrote a test!
254
255         * docs/design/part-seeking.txt:
256           Spelling correction
257
258         * docs/gst/tmpl/gstevent.sgml:
259         * docs/gst/tmpl/gstfakesrc.sgml:
260           Docs updates.
261
262         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
263           Treat a buffer-without-newsegment the same as a receiving 
264           a newsegment not in time format, and disable syncing to the clock
265           with a warning.
266
267         * gst/gstbus.c: (gst_bus_set_sync_handler):
268           Assert if anyone tries to replace the existing sync_handler for bus, 
269           as only the owner should be setting it.
270
271         * gst/gstevent.h:
272           Have a fixed set of custom event enums with events identified by
273           their structure name (as in 0.8), rather than a free-for-all
274           allowing collisions between enum values from different plugins.
275
276         * gst/gstpad.c: (gst_pad_class_init):
277           Docs change.
278           
279         * gst/gstqueue.c: (gst_queue_handle_sink_event):
280           Handle out-of-band downstream events from the sending thread.
281
282 2005-08-17  Andy Wingo  <wingo@pobox.com>
283
284         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
285         play-timeout==0 to mean no timeout at all. In that case, don't
286         bother with a get_state or a warning, just return directly, even
287         if it's ASYNC.
288
289         * gst/base/gstbasetransform.c: Debug changes.
290
291         * gst/gstutils.h:
292         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
293         ensure bins post state change messages. A bit of a hack but I can't
294         think of a way to avoid it.
295
296         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
297
298 2005-08-16  Andy Wingo  <wingo@pobox.com>
299
300         * gst/base/gstadapter.h:
301         * gst/base/gstadapter.c (gst_adapter_take): New function, like
302         peek() but you own the data. Not terribly efficient atm.
303
304 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
305
306         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
307         (gst_element_found_tags):
308         * gst/gstutils.h:
309           Add two utility functions for tag handling.
310
311 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
312
313         * docs/manual/advanced-dataaccess.xml:
314         * docs/manual/basics-helloworld.xml:
315           Fix docs to use _bin_add() before _link(), which fixes the examples
316           with recent core versions (reported by Madhan Raj M
317           <raj_madan@rediffmail.com>, #313199).
318
319 2005-08-16  Wim Taymans  <wim@fluendo.com>
320
321         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
322         Added subtract checks.
323
324         * docs/design/part-events.txt:
325         Some more docs about newsegment
326
327         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
328         Fix FIXME
329
330         * gst/gstcaps.c: (gst_caps_to_string):
331         Add comments, cleanups.
332         
333         * gst/gstelement.c: (gst_element_save_thyself):
334         cleanups
335         
336         * gst/gstvalue.c: (gst_value_collect_int_range),
337         (gst_string_unwrap), (gst_value_union_int_int_range),
338         (gst_value_union_int_range_int_range),
339         (gst_value_intersect_int_int_range),
340         (gst_value_intersect_int_range_int_range),
341         (gst_value_intersect_double_double_range),
342         (gst_value_intersect_double_range_double_range),
343         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
344         (gst_value_subtract_int_range_int),
345         (gst_value_subtract_double_range_double),
346         (gst_value_subtract_double_range_double_range),
347         (gst_value_subtract_from_list), (gst_value_subtract_list),
348         (gst_value_can_compare), (gst_value_compare_fraction):
349         Cleanups, add comments, remove unneeded asserts.
350
351 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
352
353         * tools/gst-launch.c: (event_loop):
354           don't convert NULL structures to strings
355
356 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
357
358         * docs/gst/gstreamer-sections.txt:
359           made some defines private
360         * docs/gst/tmpl/gstconfig.sgml:
361         * docs/gst/tmpl/gstqueue.sgml:
362         * docs/gst/tmpl/gsttaglist.sgml:
363         * docs/gst/tmpl/gsttypes.sgml:
364         * docs/gst/tmpl/gstutils.sgml:
365         * docs/pwg/appendix-porting.xml:
366         * gst/base/gstbasesink.h:
367         * gst/base/gstbasesrc.c:
368         * gst/base/gstbasesrc.h:
369         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
370         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
371         * gst/gstelement.c: (gst_element_class_init):
372         * gst/gstpad.c: (gst_pad_class_init):
373         * gst/gstqueue.c: (gst_queue_class_init):
374         * gst/gstxml.c: (gst_xml_class_init):
375           documented all undocumented signal inline
376         * libs/gst/controller/gst-controller.h:
377           added padding
378
379 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
380
381         * docs/pwg/appendix-porting.xml:
382           Document _set_link_function -> _set_setcaps_function.
383
384 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
385
386         * check/Makefile.am:
387           add a .check target for running the check
388         * check/gst-libs/controller.c: (GST_START_TEST):
389           cosmetic fixups
390         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
391           complete checks for gstbuffer; would be nice if I could get the
392           gcov stuff to work so I can see if I actually completed gstbuffer.c
393         * check/gstcheck.h:
394           add ASSERT_BUFFER_REFCOUNT
395
396 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
397
398         * docs/gst/gstreamer-sections.txt:
399         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
400         * gst/gsttag.h:
401           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
402           spew out a warning if a tag that is already registered
403           is re-registered, unless it is re-registered with a 
404           different type (#308438).
405
406 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
407
408         * docs/pwg/appendix-porting.xml:
409         * docs/pwg/building-state.xml:
410           Add some paragraphs about state changes in 0.9 to the PWG
411           and the porting guide, in particular about the new meaning
412           of GST_STATE_PAUSED and how to write state change functions
413           with concurrent access by multiple threads in mind.
414
415 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
416
417         * docs/gst/gstreamer-docs.sgml:
418         * docs/libs/gstreamer-libs-docs.sgml:
419           added deprecation and since indexes
420         * libs/gst/controller/gst-controller.c:
421         * libs/gst/controller/gst-helper.c:
422           added since tags
423
424
425 2005-08-11  Wim Taymans  <wim@fluendo.com>
426
427         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
428         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
429         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
430         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
431         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
432         (gst_ghost_pad_set_target):
433         Actually implement (re)setting the target on a ghostpad
434         as described in the docs.
435
436 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
437
438         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
439           Check whether GST_DEBUG_NO_COLOR environment variable is
440           set and disable coloured debug output if that is the case.
441
442 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
443
444         * gst/base/gsttypefindhelper.c: (helper_find_peek),
445         (gst_type_find_helper):
446           The memory returned by gst_type_find_peek() needs to
447           stay valid until the end of a typefind function, and
448           typefind functions may keep results from different 
449           offsets around, so we can't just unref the buffer from
450           the previous _peek(), but have to save all buffers 
451           returned by _peek() until typefinding is done and only
452           free them then.
453
454 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
455
456         * docs/gst/gstreamer-sections.txt:
457         * gst/gstutils.h:
458           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
459
460 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
461
462         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
463           Fix a pretty good memleak.
464
465 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
466
467         * gst/gstiterator.h:
468           Fix wrong include and 'make distcheck'.
469
470 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
471
472         * gst/gstbin.c: (bin_bus_handler):
473           Use gst_element_post_message() instead.
474
475 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
476
477         * gst/base/gstadapter.h:
478         * gst/base/gstbasesink.h:
479         * gst/base/gstbasesrc.h:
480         * gst/base/gstbasetransform.h:
481         * gst/base/gstcollectpads.h:
482         * gst/base/gstpushsrc.h:
483         * gst/gstiterator.h:
484           Add padding to our base elements' class and instance structs and
485           to GstIterator (you will need to rebuild all plugins and apps!)
486
487 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
488
489         * gst/gstbin.c: (bin_bus_handler):
490           Make default message forwarding from child->bus to bin->bus
491           threadsafe and make it not emit warnings if the parent has no bus.
492
493 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
494
495         * gst/gstelement.c: (activate_pads):
496           On paused->ready, set pad->caps to NULL, as is the documented
497           behaviour in this state change. Fixes playback of series of
498           media files when visualization is enabled in Totem.
499
500 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
501
502         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
503           Allow NULL as filter-caps (which means "any").
504
505 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
506
507         * docs/libs/gstreamer-libs-sections.txt:
508         * libs/gst/controller/gst-controller.c:
509         * libs/gst/controller/gst-controller.h:
510         * libs/gst/controller/gst-helper.c:
511           adding more entries to the docs and fix small doc-bugs
512
513 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
514
515         * docs/gst/gstreamer-docs.sgml:
516         * docs/gst/gstreamer-sections.txt:
517         * docs/gst/gstreamer.types:
518         * docs/gst/tmpl/gstbasesink.sgml:
519         * docs/gst/tmpl/gstbasesrc.sgml:
520         * docs/gst/tmpl/gstbasetransform.sgml:
521         * docs/gst/tmpl/gstfakesrc.sgml:
522         * gst/base/gstcollectpads.c:
523         * gst/base/gstcollectpads.h:
524         * libs/gst/controller/gst-controller.c:
525         * libs/gst/controller/gst-controller.h:
526         * libs/gst/controller/gst-helper.c:
527         * libs/gst/controller/gst-interpolation.c:
528         * libs/gst/controller/lib.c:
529           added long/short desc for controller docs
530           added collectpads base class docs
531           added correct includes to base-class docs
532
533 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
534
535         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
536         (gst_test_mono_source_set_property),
537         (gst_test_mono_source_class_init), (GST_START_TEST),
538         (gst_controller_suite):
539         * docs/gst/gstreamer-docs.sgml:
540         * docs/gst/gstreamer-sections.txt:
541         * docs/gst/gstreamer.types:
542         * docs/libs/gstreamer-libs-docs.sgml:
543         * docs/libs/gstreamer-libs-sections.txt:
544         * gst/base/gstadapter.c:
545         * libs/gst/controller/gst-controller.c:
546         (gst_controlled_property_new), (gst_controlled_property_free),
547         (gst_controller_new_valist),
548         (gst_controller_remove_properties_valist),
549         (gst_controller_sink_values), (_gst_controller_finalize):
550         * libs/gst/controller/gst-controller.h:
551         * libs/gst/controller/gst-helper.c:
552         (gst_object_control_properties), (gst_object_uncontrol_properties),
553         (gst_object_get_controller), (gst_object_set_controller),
554         (gst_object_sink_values), (gst_object_get_value_arrays),
555         (gst_object_get_value_array):
556           more tests (and fixes) for the controller
557           more docs for the controller
558           integrated companies docs for the adapter 
559
560 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
561
562         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
563         (GST_START_TEST), (fakesrc_suite):
564           add tests for sizetype
565
566 2005-08-04  Andy Wingo  <wingo@pobox.com>
567
568         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
569         fixes buffer_alloc proxying among other things.
570
571         * gst/base/gstbasetransform.c:
572         * gst/base/gstbasetransform.h:
573         Revert patch to gstbasetransform from 7-28 removing
574         delay_configure.
575
576         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
577         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
578         Semantics changed, should return not the size of the output buffer
579         but the byte size of a buffer with a given caps.
580
581         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
582         debug object.
583         (gst_base_transform_configure_caps): Don't set out_size here: (in,
584         out) are not the pad caps until setcaps finishes.
585         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
586         not-in-place case as well. Deal with changing from in-place to
587         not-in-place within calling pad_alloc_buffer. Still a bit
588         concerned about the overhead here...
589
590 2005-08-03  Andy Wingo  <wingo@pobox.com>
591
592         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
593         fixating is an error.
594
595 2005-08-04  Edward Hervey  <edward@fluendo.com>
596
597         * gst/base/gstadapter.h: 
598         Added gst_adapter_get_type() to the header
599
600 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
601
602         * check/Makefile.am:
603         * check/gst-libs/controller.c:
604         * libs/gst/controller/gst-controller.c:
605         (gst_controller_new_valist):
606           added check test suite for the controller
607         * gst/base/gstpushsrc.c:
608           fixed a doc typo
609
610 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
611
612         * docs/gst/Makefile.am:
613         * docs/gst/gstreamer-docs.sgml:
614         * docs/gst/gstreamer-sections.txt:
615         * docs/gst/gstreamer.types:
616         * docs/gst/tmpl/gstfakesrc.sgml:
617         * gst/base/README:
618         * gst/base/gstbasesink.c:
619         * gst/base/gstbasesink.h:
620         * gst/base/gstbasesrc.c:
621         * gst/base/gstbasesrc.h:
622         * gst/base/gstbasetransform.c:
623         * gst/base/gstpushsrc.c:
624         * gst/base/gstpushsrc.h:
625           add short/long description docs to base classes
626           add pushsrc to the docs
627           remove consolidated doc fragments
628
629 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
630
631         * configure.ac:
632         * docs/libs/Makefile.am:
633         * docs/libs/gstreamer-libs-docs.sgml:
634         * docs/libs/gstreamer-libs-sections.txt:
635         * docs/libs/gstreamer-libs.types:
636         * examples/Makefile.am:
637         * examples/controller/.cvsignore:
638         * examples/controller/Makefile.am:
639         * examples/controller/audio-example.c: (main):
640         * libs/gst/Makefile.am:
641         * libs/gst/controller/.cvsignore:
642         * libs/gst/controller/Makefile.am:
643         * libs/gst/controller/gst-controller.c:
644         (on_object_controlled_property_changed), (gst_timed_value_compare),
645         (gst_timed_value_find),
646         (gst_controlled_property_set_interpolation_mode),
647         (gst_controlled_property_new), (gst_controlled_property_free),
648         (gst_controller_find_controlled_property),
649         (gst_controller_new_valist), (gst_controller_new),
650         (gst_controller_remove_properties_valist),
651         (gst_controller_remove_properties), (gst_controller_set),
652         (gst_controller_set_from_list), (gst_controller_unset),
653         (gst_controller_get), (gst_controller_get_all),
654         (gst_controller_sink_values), (gst_controller_get_value_arrays),
655         (gst_controller_get_value_array),
656         (gst_controller_set_interpolation_mode),
657         (_gst_controller_finalize), (_gst_controller_init),
658         (_gst_controller_class_init), (gst_controller_get_type):
659         * libs/gst/controller/gst-controller.h:
660         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
661         (g_object_uncontrol_properties), (g_object_get_controller),
662         (g_object_set_controller), (g_object_sink_values),
663         (g_object_get_value_arrays), (g_object_get_value_array):
664         * libs/gst/controller/gst-interpolation.c:
665         (gst_controlled_property_find_timed_value_node),
666         (interpolate_none_get), (interpolate_trigger_get),
667         (interpolate_trigger_get_value_array):
668         * libs/gst/controller/lib.c: (gst_controller_init):
669         * pkgconfig/Makefile.am:
670         * pkgconfig/gstreamer-control-uninstalled.pc.in:
671         * pkgconfig/gstreamer-control.pc.in:
672         * testsuite/Makefile.am:
673         * testsuite/controller/.cvsignore:
674         * testsuite/controller/Makefile.am:
675         * testsuite/controller/interpolator.c: (main):
676           added controller code
677           removed dparam pc files
678
679 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
680         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
681         (gst_collectpads_stop):
682           Broadcast the condition when shutting down, to make sure we wake all
683           threads up. Shut down pads on finalize, for safety.
684
685 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
686         * gst/base/gstbasetransform.c: (gst_base_transform_init),
687         (gst_base_transform_handle_buffer),
688         (gst_base_transform_change_state):
689           Handle PAUSED->READY->PAUSED transition after negotiation
690           occurred already.
691         * gst/gstmessage.c: (gst_message_init):
692           Extra piece of debug for new messages.
693
694 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
695
696         * configure.ac:
697         * docs/gst/tmpl/gstbasesrc.sgml:
698         * docs/gst/tmpl/gstelement.sgml:
699         * docs/gst/tmpl/gstevent.sgml:
700         * docs/gst/tmpl/gstfakesrc.sgml:
701         * docs/gst/tmpl/gstformat.sgml:
702         * docs/gst/tmpl/gstghostpad.sgml:
703         * docs/gst/tmpl/gstpad.sgml:
704         * docs/gst/tmpl/gstquery.sgml:
705         * docs/gst/tmpl/gststructure.sgml:
706         * docs/gst/tmpl/gsttaglist.sgml:
707         * docs/gst/tmpl/gstvalue.sgml:
708         * docs/libs/gstreamer-libs-docs.sgml:
709         * docs/libs/gstreamer-libs-sections.txt:
710         * docs/libs/gstreamer-libs.types:
711         * libs/gst/Makefile.am:
712         * libs/gst/control/.cvsignore:
713         * libs/gst/control/Makefile.am:
714         * libs/gst/control/control.c:
715         * libs/gst/control/control.h:
716         * libs/gst/control/dparam.c:
717         * libs/gst/control/dparam.h:
718         * libs/gst/control/dparam_smooth.c:
719         * libs/gst/control/dparam_smooth.h:
720         * libs/gst/control/dparamcommon.h:
721         * libs/gst/control/dparammanager.c:
722         * libs/gst/control/dparammanager.h:
723         * libs/gst/control/dplinearinterp.c:
724         * libs/gst/control/dplinearinterp.h:
725         * libs/gst/control/unitconvert.c:
726         * libs/gst/control/unitconvert.h:
727         * testsuite/Makefile.am:
728         * testsuite/dynparams/.cvsignore:
729         * testsuite/dynparams/Makefile.am:
730         * testsuite/dynparams/dparamstest.c:
731         * tools/Makefile.am:
732         * tools/gst-inspect.c: (print_element_info), (main):
733         * tools/gst-xmlinspect.c: (print_element_info), (main):
734           deactivate and remove dparams (libgstcontrol)
735
736 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
737
738         * gst/elements/gsttypefindelement.c:
739         (gst_type_find_element_have_type), (gst_type_find_element_init),
740         (stop_typefinding), (gst_type_find_element_handle_event),
741         (gst_type_find_element_chain), (gst_type_find_element_getrange):
742         * gst/elements/gsttypefindelement.h:
743           Set caps on all outgoing buffers, not just the first one.
744
745 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
746
747         * gst/elements/gsttypefindelement.c:
748         (gst_type_find_element_have_type),
749         (gst_type_find_element_check_set_buffer_caps),
750         (gst_type_find_element_init), (stop_typefinding),
751         (gst_type_find_element_handle_event),
752         (gst_type_find_element_chain), (gst_type_find_element_getrange):
753         * gst/elements/gsttypefindelement.h:
754           Set caps on first outgoing buffer when we've found the type.
755
756 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
757
758         * docs/gst/gstreamer-docs.sgml:
759         * docs/gst/gstreamer-sections.txt:
760         * docs/gst/tmpl/gstscheduler.sgml:
761         * docs/gst/tmpl/gstschedulerfactory.sgml:
762           Remove some old cruft from docs.
763
764 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
765
766         * gst/gstpad.h:
767           Fix inline docs for GstPadLinkReturn.
768           
769         * gst/gststructure.c: (gst_structure_has_name):
770         * gst/gststructure.h:
771         * docs/gst/gstreamer-sections.txt:
772           New API: gst_structure_has_name().
773
774 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
775
776         * configure.ac:
777           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
778           and _LARGEFILE_SOURCE in config.h as required. Do not 
779           export those flags in our .pc files any longer (#142209).
780
781           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
782
783         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
784         (gst_file_sink_do_seek), (gst_file_sink_event),
785         (gst_file_sink_get_current_offset), (gst_file_sink_render):
786           Redo seek/tell calls with large file support in mind; add some
787           debugging messages; add log message that tells us when large
788           file support is unavailable or not enabled for some reason.
789
790         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
791           Add log message that tells us when large file support 
792           is unavailable or not enabled for some reason.
793
794 2005-07-29  Wim Taymans  <wim@fluendo.com>
795
796         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
797         Added test for removing an element with ghostpad from a bin.
798         Fixed test as current implementation does the right thing.
799
800         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
801         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
802         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
803         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
804         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
805         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
806         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
807         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
808         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
809         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
810         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
811         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
812         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
813         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
814         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
815         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
816         * gst/gstghostpad.h:
817         Clean up ghostpads, remove properties for internal stuff.
818         Make threadsafe.
819         Fix refcounting.
820         Prepare for switching targets, not all use cases work yet.
821
822 2005-07-29  Wim Taymans  <wim@fluendo.com>
823
824         * docs/design/part-gstghostpad.txt:
825         Small update.
826
827         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
828         (gst_bin_remove_func):
829         Unlinking pads while holding the bin LOCK is not a good
830         idea.
831
832         * gst/gstpad.c: (gst_pad_class_init),
833         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
834         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
835         No prob setting template after creating the pad.
836
837 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
838
839         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
840         (gst_bus_peek), (gst_bus_source_dispatch),
841         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
842         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
843           gst_bus_poll may be called from other threads. Handle
844           this nicely by not making poll_data disappear off the
845           stack once gst_bus_poll returns.
846           gst_bus_peek now increments the refcount on the returned
847           message.
848
849 2005-07-29  Wim Taymans  <wim@fluendo.com>
850
851         * docs/design/part-gstghostpad.txt:
852         Overview of current GhostPad datastructures and use
853         cases for changing the target.
854
855 2005-07-28  Wim Taymans  <wim@fluendo.com>
856
857         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
858         Added checks for hierarchy consistency whan adding linked
859         elements to bins.
860
861         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
862         Added check to test element scheduling without bin/pipeline.
863
864         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
865         First add elements to bin, then link.
866         
867         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
868         (gst_bin_remove_func):
869         Unlink pads from elements added/removed from bin to maintain
870         hierarchy consistency.
871
872 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
873
874         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
875         (gst_base_transform_handle_buffer):
876         * gst/base/gstbasetransform.h:
877           Remove broken delay_configure (fixes renegotiation of software
878           scaling pipelines); remove some leftover printf()s.
879
880 2005-07-28  Wim Taymans  <wim@fluendo.com>
881
882         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
883         Added some more tests for wrong hierarchy
884
885         * docs/design/part-overview.txt:
886         Some updates.
887
888         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
889         Cleanups.
890
891         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
892         (gst_element_dispose):
893         Some more cleanups.
894
895         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
896         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
897         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
898         (gst_pad_set_caps), (gst_pad_send_event):
899         Check for correct hierarchy when linking pads. Moving to
900         strict requirement for ghostpads when linking elements in
901         different bins.
902
903         * gst/gstpad.h:
904         Clean ups. Added WRONG_HIERARCHY return value.
905
906 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
907
908         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
909           Better debug if no transform is possible.
910
911 2005-07-27  Wim Taymans  <wim@fluendo.com>
912
913         * docs/random/wtay/network-transp:
914         Some old doc I had.
915
916 2005-07-27  Wim Taymans  <wim@fluendo.com>
917
918         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
919         (gst_dp_event_from_packet):
920         Fix serialization of seek events.
921
922 2005-07-27  Wim Taymans  <wim@fluendo.com>
923
924         * check/gst-libs/gdp.c: (GST_START_TEST):
925         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
926         Fix compilation and fix event serialization.
927
928 2005-07-27  Wim Taymans  <wim@fluendo.com>
929
930         * CHANGES-0.9:
931         * docs/design/part-TODO.txt:
932         * docs/design/part-events.txt:
933         Some docs updates
934
935         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
936         (gst_base_sink_event), (gst_base_sink_do_sync),
937         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
938         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
939         (gst_base_src_do_seek), (gst_base_src_event_handler),
940         (gst_base_src_loop):
941         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
942         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
943         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
944         (gst_base_transform_event), (gst_base_transform_handle_buffer),
945         (gst_base_transform_set_passthrough),
946         (gst_base_transform_is_passthrough):
947         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
948         * gst/elements/gstfilesink.c: (gst_file_sink_event):
949         Event updates.
950
951         * gst/gstbuffer.h:
952         Use faster casts.
953
954         * gst/gstelement.c: (gst_element_seek):
955         * gst/gstelement.h:
956         Update gst_element_seek.
957
958         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
959         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
960         (gst_event_new_flush_start), (gst_event_new_flush_stop),
961         (gst_event_new_eos), (gst_event_new_newsegment),
962         (gst_event_parse_newsegment), (gst_event_new_tag),
963         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
964         (gst_event_parse_qos), (gst_event_new_seek),
965         (gst_event_parse_seek), (gst_event_new_navigation):
966         * gst/gstevent.h:
967         Make GstEvent use GstStructure. Add parsing code, make sure the
968         API is sufficiently generic.
969         Mark possible directions of events and serialization.
970
971         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
972         (_gst_message_copy), (gst_message_new_segment_start),
973         (gst_message_new_segment_done), (gst_message_new_custom),
974         (gst_message_parse_segment_start),
975         (gst_message_parse_segment_done):
976         Small cleanups.
977
978         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
979         (gst_pad_set_caps), (gst_pad_send_event):
980         Update for new events. 
981         Catch events sent in wrong directions.
982
983         * gst/gstqueue.c: (gst_queue_link_src),
984         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
985         (gst_queue_handle_src_query):
986         Event updates.
987
988         * gst/gsttag.c:
989         * gst/gsttag.h:
990         Remove event code from this file.
991
992         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
993         (gst_dp_event_from_packet):
994         Event updates.
995
996 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
997
998         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
999         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1000         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1001           Make debugging actually useful.
1002
1003 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1004
1005         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1006         (gst_pad_fixate_caps):
1007           Implement default fixation once again, so that gst_pad_fixate()
1008           actually does anything at all. This probably needs to be some
1009           sort of a last resort, and use profile-based fixation first, but
1010           since that doesn't exist yet, this is the best we have. Fixes
1011           visualization in Totem.
1012
1013 2005-07-22  Wim Taymans  <wim@fluendo.com>
1014
1015         * docs/design/part-events.txt:
1016         Small update.
1017
1018         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1019         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1020         (gst_base_sink_activate_pull):
1021         Some more comments.
1022
1023         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1024         (gst_fake_src_create):
1025         Fix handoff marshall.
1026
1027         * gst/elements/gstidentity.c: (gst_identity_class_init),
1028         (gst_identity_transform_ip):
1029         We're a real inplace element.
1030
1031         * gst/gstbus.c: (gst_bus_post):
1032         Added some comments.
1033
1034         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1035         * tests/muxing/case1.c: (main):
1036         * tests/sched/dynamic-pipeline.c: (main):
1037         * tests/sched/interrupt1.c: (main):
1038         * tests/sched/interrupt2.c: (main):
1039         * tests/sched/interrupt3.c: (main):
1040         * tests/sched/runxml.c: (main):
1041         * tests/sched/sched-stress.c: (main):
1042         * tests/seeking/seeking1.c: (event_received), (main):
1043         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1044         (main):
1045         * tests/threadstate/threadstate3.c: (main):
1046         * tests/threadstate/threadstate4.c: (main):
1047         * tests/threadstate/threadstate5.c: (main):
1048         Fix the tests.
1049
1050 2005-07-21  Wim Taymans  <wim@fluendo.com>
1051
1052         * docs/design/part-seeking.txt:
1053         Some small additions.
1054
1055         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1056         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1057         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1058         * gst/base/gstbasesink.h:
1059         discont values are gint64, handle the math correctly.
1060
1061         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1062         Make the basesrc report error if the source pad is not linked.
1063
1064         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1065         (gst_queue_loop), (gst_queue_handle_src_query),
1066         (gst_queue_src_activate_push):
1067         Make queue collect data even if the srcpad is not linked.
1068         Start pushing out data as soon as it is linked.
1069
1070         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1071         * gst/gstutils.h:
1072         Added gst_flow_get_name() to ease error reporting.
1073
1074 2005-07-20  Wim Taymans  <wim@fluendo.com>
1075
1076         * gst/gstmessage.c: (gst_message_new_segment_start),
1077         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1078         (gst_message_parse_segment_done):
1079         * gst/gstmessage.h:
1080         Added a bunch of messages for advanced seeking.
1081
1082         * gst/parse/grammar.y:
1083         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1084         (gst_dpman_state_changed):
1085         Fix some new-pad -> pad-added signals
1086
1087 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1088
1089         * docs/manual/appendix-porting.xml:
1090         * docs/pwg/appendix-porting.xml:
1091           Document new-pad/state-change signal renames and the FixedList
1092           type rename.
1093
1094 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1095
1096         * docs/manual/advanced-autoplugging.xml:
1097         * docs/manual/basics-helloworld.xml:
1098         * docs/manual/basics-pads.xml:
1099         * docs/random/ds/0.9-suggested-changes:
1100         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1101         * gst/gstelement.h:
1102         * gst/gstevent.h:
1103         * gst/gstformat.h:
1104         * gst/gstquery.h:
1105         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1106         (gst_structure_parse_array), (gst_structure_parse_value):
1107         * gst/gstvalue.c: (gst_type_is_fixed),
1108         (gst_value_list_prepend_value), (gst_value_list_append_value),
1109         (gst_value_list_get_size), (gst_value_list_get_value),
1110         (gst_value_transform_array_string), (gst_value_serialize_array),
1111         (gst_value_deserialize_array), (gst_value_intersect_array),
1112         (gst_value_is_fixed), (_gst_value_initialize):
1113         * gst/gstvalue.h:
1114           GstElement::new-pad -> pad-added, GstElement::state-change ->
1115           state-changed, GstValueFixedList -> GstValueArray, add format and
1116           flags as their own arguments in gst_element_seek() (should improve
1117           "bindeability"), remove function generators since they don't work
1118           under a whole bunch of compilers (they were deprecated already
1119           anyway).
1120
1121 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1122
1123         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1124         (_gst_debug_register_funcptr):
1125         * gst/gstinfo.h:
1126           Fix illegal cast on some platforms (#309253).
1127
1128 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1129
1130         * gst/gstmessage.c: (gst_message_new_custom):
1131         * gst/gstmessage.h:
1132           Add _new_custom, make _new_application a macro to _new_custom.
1133
1134 2005-07-20  Wim Taymans  <wim@fluendo.com>
1135
1136         * gst/base/gstbasesrc.c: (gst_base_src_init),
1137         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1138         * gst/base/gstbasesrc.h:
1139         Add a gboolean to decide when to push out a discont.
1140
1141         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1142         (gst_queue_loop), (gst_queue_handle_src_query),
1143         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1144         (gst_queue_set_property), (gst_queue_get_property):
1145         Some cleanups.
1146
1147         * tests/threadstate/threadstate1.c: (main):
1148         Make a thread test compile and run... very silly..
1149
1150
1151 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1152
1153         * docs/manual/appendix-porting.xml:
1154           Mention removal of libgstgconf-0.9.la and existence of gconf
1155           elements.
1156
1157 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1158
1159         * docs/pwg/advanced-clock.xml:
1160         * docs/pwg/appendix-porting.xml:
1161         * docs/pwg/intro-preface.xml:
1162         * docs/pwg/other-base.xml:
1163         * docs/pwg/other-manager.xml:
1164         * docs/pwg/other-nton.xml:
1165         * docs/pwg/other-ntoone.xml:
1166         * docs/pwg/other-oneton.xml:
1167         * docs/pwg/pwg.xml:
1168           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1169           demuxer), remove n-to-n (was never written), fix some code examples
1170           and links and update the porting section to include all this.
1171
1172 2005-07-19  Wim Taymans  <wim@fluendo.com>
1173
1174         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1175         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1176         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1177         (gst_queue_src_activate_push), (gst_queue_change_state),
1178         (gst_queue_get_property):
1179         * gst/gstqueue.h:
1180         Propagate GstFlowReturn more intelligently upstream and output
1181         an ERROR/EOS when streaming stopped due to fatal error.
1182
1183 2005-07-19  Wim Taymans  <wim@fluendo.com>
1184
1185         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1186         Don't block forever for the state change to complete, the
1187         pipeline already did with a sensible timeout.
1188
1189 2005-07-19  Wim Taymans  <wim@fluendo.com>
1190
1191         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1192         Make sure we never call the create function is we
1193         got deactivated.
1194
1195 2005-07-19  Andy Wingo  <wingo@pobox.com>
1196
1197         * gst/parse/parse.l: Attempt to solve bug #172815.
1198
1199 2005-07-19  Wim Taymans  <wim@fluendo.com>
1200
1201         * docs/design/part-clocks.txt:
1202         * docs/design/part-events.txt:
1203         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1204         Small docs updates.
1205         Only update the seeking values when we are not
1206         busy streaming.
1207
1208 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1209
1210         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1211           Oops, ignore the result of gst_pad_push_event here.
1212
1213 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1214
1215         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1216         (gst_base_src_activate_push):
1217           Send discont event from the loop function, as pads
1218           aren't activated yet in the activate_push handler.
1219
1220         * gst/gstbin.c: (bin_bus_handler):
1221           Don't leak element name.
1222
1223 2005-07-18  Andy Wingo  <wingo@pobox.com>
1224
1225         * configure.ac: Use AS_LIBTOOL_TAGS.
1226
1227 2005-07-18  Wim Taymans  <wim@fluendo.com>
1228
1229         * docs/gst/gstreamer.types:
1230         Remove deleted types.
1231
1232 2005-07-18  Wim Taymans  <wim@fluendo.com>
1233
1234         * check/elements/gstfakesrc.c: (GST_START_TEST):
1235         * configure.ac:
1236         * gst/Makefile.am:
1237         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1238         (init_popt_callback):
1239         * gst/gst.h:
1240         * gst/gst_private.h:
1241         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1242         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1243         * gst/gstbin.h:
1244         * gst/gstbus.h:
1245         * gst/gstconfig.h.in:
1246         * gst/gstelement.c: (gst_element_class_init),
1247         (gst_element_set_base_time), (gst_element_get_base_time),
1248         (iterator_fold_with_resync), (gst_element_change_state),
1249         (gst_element_dispose), (gst_element_get_bus):
1250         * gst/gstelement.h:
1251         * gst/gstelementfactory.h:
1252         * gst/gsterror.c: (_gst_core_errors_init):
1253         * gst/gsterror.h:
1254         * gst/gstevent.h:
1255         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1256         * gst/gstindex.c:
1257         * gst/gstinfo.c: (_gst_debug_init):
1258         * gst/gstmessage.c: (_gst_message_copy):
1259         * gst/gstmessage.h:
1260         * gst/gstminiobject.h:
1261         * gst/gstobject.c:
1262         * gst/gstobject.h:
1263         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1264         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1265         * gst/gstpad.h:
1266         * gst/gstparse.h:
1267         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1268         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1269         (gst_pipeline_get_last_stream_time):
1270         * gst/gstpipeline.h:
1271         * gst/gstpluginfeature.h:
1272         * gst/gstquery.h:
1273         * gst/gstscheduler.c:
1274         * gst/gstscheduler.h:
1275         * gst/gststructure.h:
1276         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1277         (gst_task_finalize), (gst_task_func), (gst_task_create),
1278         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1279         (gst_task_stop), (gst_task_pause):
1280         * gst/gsttask.h:
1281         * gst/gsttypefind.h:
1282         * gst/gsttypes.h:
1283         * gst/registries/gstlibxmlregistry.c: (load_feature),
1284         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1285         * gst/registries/gstxmlregistry.c:
1286         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1287         * gst/schedulers/threadscheduler.c:
1288         * libs/gst/control/dparammanager.h:
1289         * tools/gst-inspect.c: (print_element_list),
1290         (print_plugin_features), (print_element_features):
1291         * tools/gst-xmlinspect.c: (print_element_list),
1292         (print_plugin_info), (main):
1293         Removed plugable schedulers.
1294         Removed Scheduler/Manager from elements.
1295         Removed gsttypes.h, rearranged includes.
1296         Removed dependency pad<->element, element<>pipeline, and
1297         various others,  fix includes.
1298         implement gst_pad_get_parent() with gst_object_get_parent()
1299         Make GstTask sefcontained.
1300         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1301         timeout.
1302         Fix endless loop in iterator_fold_with_resync.
1303
1304
1305 2005-07-18  Wim Taymans  <wim@fluendo.com>
1306
1307         * gst/Makefile.am:
1308         * gst/gstarch.h:
1309         Remove old file.
1310
1311 2005-07-18  Wim Taymans  <wim@fluendo.com>
1312
1313         * gst/Makefile.am:
1314         No more cothreads.h
1315
1316 2005-07-18  Wim Taymans  <wim@fluendo.com>
1317
1318         * gst/cothreads.c:
1319         * gst/cothreads.h:
1320         Let's remove these.
1321
1322 2005-07-18  Wim Taymans  <wim@fluendo.com>
1323
1324         * docs/design/part-dynamic.txt:
1325         * docs/design/part-events.txt:
1326         * docs/design/part-seeking.txt:
1327         Some more docs in the works.
1328
1329         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1330         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1331         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1332         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1333         (gst_base_transform_handle_buffer),
1334         (gst_base_transform_sink_activate_push),
1335         (gst_base_transform_src_activate_pull),
1336         (gst_base_transform_set_passthrough),
1337         (gst_base_transform_is_passthrough):
1338         Refcounting fixes.
1339
1340         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1341         Cleanups.
1342
1343         * gst/gstevent.c: (gst_event_finalize):
1344         Set SRC to NULL.
1345
1346         * gst/gstutils.c: (gst_element_unlink),
1347         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1348         (gst_pad_proxy_setcaps):
1349         * gst/gstutils.h:
1350         Add _get_parent_element() to get a pads parent as an element.
1351
1352 2005-07-18  Wim Taymans  <wim@fluendo.com>
1353
1354         * check/gst/gstbin.c: (GST_START_TEST):
1355         Remove bogus test.
1356
1357 2005-07-18  Wim Taymans  <wim@fluendo.com>
1358
1359         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1360         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1361         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1362         (gst_base_sink_event), (gst_base_sink_do_sync),
1363         (gst_base_sink_chain), (gst_base_sink_loop),
1364         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1365         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1366         Refcounting fixes.
1367         Fix logic for returning ASYNC when not prerolled.
1368
1369 2005-07-18  Wim Taymans  <wim@fluendo.com>
1370
1371         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1372         Fix nasty refcount bug.
1373
1374 2005-07-16 Philippe Khalaf <burger@speedy.org>
1375         * gst/elements/gstfdsrc.c:
1376         * gst/elements/gstfdsrc.h:
1377         * gst/elements/gstelements.c:
1378         * gst/elements/Makefile.am:
1379         Ported fdsrc to 0.9.
1380
1381 2005-07-16  Wim Taymans  <wim@fluendo.com>
1382
1383         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1384         (gst_base_sink_do_sync):
1385         Fix compile error.
1386
1387 2005-07-16  Wim Taymans  <wim@fluendo.com>
1388
1389         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1390         (gst_base_sink_event), (gst_base_sink_get_times),
1391         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1392         * gst/base/gstbasesink.h:
1393         Store and use discont values when syncing buffers as described
1394         in design docs.
1395         
1396         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1397         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1398         (gst_base_src_activate_push):
1399         Push discont event when starting.
1400
1401         * gst/elements/gstidentity.c: (gst_identity_transform):
1402         Small cleanups.
1403
1404         * gst/gstbin.c: (gst_bin_change_state):
1405         Small cleanups in base_time  distribution.
1406
1407         * gst/gstelement.c: (gst_element_set_base_time),
1408         (gst_element_get_base_time), (gst_element_change_state):
1409         * gst/gstelement.h:
1410         Added methods for the base_time of the element.
1411         Some MT fixes.
1412
1413         * gst/gstpipeline.c: (gst_pipeline_send_event),
1414         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1415         (gst_pipeline_get_last_stream_time):
1416         * gst/gstpipeline.h:
1417         MT fixes.
1418         Handle seeking as described in design doc, remove stream_time
1419         hack.
1420         Cleanups clock and stream_time selection code. Added accessors
1421         for the stream_time.
1422         
1423
1424 2005-07-16  Andy Wingo  <wingo@pobox.com>
1425
1426         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1427         (#305291).
1428
1429 2005-07-16  Wim Taymans  <wim@fluendo.com>
1430
1431         * check/gst/gstbin.c: (GST_START_TEST):
1432         Make elements silent as the deep_notify refs the
1433         parent, which might make the test fail.
1434
1435         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1436         Don't hold the lock for too long.
1437
1438 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1439
1440         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1441           Don't unref the caps we passed to gst_caps_make_writable() after
1442           passing them. gst_caps_make_writable() will do that for us.
1443
1444 2005-07-15  Andy Wingo  <wingo@pobox.com>
1445
1446         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1447         (#157311).
1448
1449         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1450         own marshalling function for the handoff signal. Properly type the
1451         buffer as a buffer. Fixes some warnings. Should do a more general
1452         solution.
1453         (gst_identity_class_init): Plug into the right marshaller.
1454
1455 2005-07-15  Wim Taymans  <wim@fluendo.com>
1456
1457         * docs/design/part-TODO.txt:
1458         * docs/design/part-clocks.txt:
1459         * docs/design/part-element-sink.txt:
1460         * docs/design/part-events.txt:
1461         * docs/design/part-gstpipeline.txt:
1462         Updated docs, mostly DISCONT related.
1463
1464 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1465
1466         * docs/pwg/building-pads.xml:
1467           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1468
1469 2005-07-15  Andy Wingo  <wingo@pobox.com>
1470
1471         * tools/gst-typefind.c: Update, add copyright block.
1472
1473         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1474         Normalize and truncate caps before fixation.
1475
1476         * gst/gstcaps.h:
1477         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1478         discards all but the first structure from its argument.
1479
1480 2005-07-15  Wim Taymans  <wim@fluendo.com>
1481
1482         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1483         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1484         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1485         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1486         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1487         (gst_base_transform_chain), (gst_base_transform_change_state),
1488         (gst_base_transform_set_passthrough),
1489         (gst_base_transform_is_passthrough):
1490         * gst/base/gstbasetransform.h:
1491         Make passthrough work using the bufferpools.
1492         Changed API a bit, subclasses have to write into a buffer
1493         provided by the base class.
1494         More debug info in nego functions.
1495         
1496         * gst/elements/gstidentity.c: (gst_identity_init),
1497         (gst_identity_transform):
1498         Port to new base class.
1499
1500 2005-07-15  Wim Taymans  <wim@fluendo.com>
1501
1502         * gst/gstmessage.c: (gst_message_new_state_changed):
1503         * tools/gst-launch.c: (event_loop), (main):
1504         Totally dump messages in -launch with the -m option.
1505         Fix message name for State messages,
1506
1507 2005-07-14  Wim Taymans  <wim@fluendo.com>
1508
1509         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1510         Post error messages on errors.
1511
1512 2005-07-14  Wim Taymans  <wim@fluendo.com>
1513
1514         * gst/gstcaps.c: (gst_caps_do_simplify):
1515         Remove debug info.
1516
1517         * gst/gsterror.h:
1518         Define error for stream stopped.
1519
1520         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1521         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1522         Do proper return values.
1523
1524         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1525         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1526         (gst_pad_get_range):
1527         Better return values.
1528
1529         * gst/gstpad.h:
1530         Reorganise return values, add macro to check for fatal errors.
1531
1532         * gst/gstqueue.c: (gst_queue_chain):
1533         Return proper GstFlowReturn values,
1534
1535 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1536
1537         * docs/gst/gstreamer-sections.txt:
1538         * docs/gst/gstreamer.types:
1539         * docs/gst/tmpl/gst.sgml:
1540         * docs/gst/tmpl/gstbasesink.sgml:
1541         * docs/gst/tmpl/gstbasesrc.sgml:
1542         * docs/gst/tmpl/gstbasetransform.sgml:
1543         * docs/gst/tmpl/gstbin.sgml:
1544         * docs/gst/tmpl/gstbuffer.sgml:
1545         * docs/gst/tmpl/gstcaps.sgml:
1546         * docs/gst/tmpl/gstclock.sgml:
1547         * docs/gst/tmpl/gstcompat.sgml:
1548         * docs/gst/tmpl/gstconfig.sgml:
1549         * docs/gst/tmpl/gstelement.sgml:
1550         * docs/gst/tmpl/gstelementdetails.sgml:
1551         * docs/gst/tmpl/gstelementfactory.sgml:
1552         * docs/gst/tmpl/gstenumtypes.sgml:
1553         * docs/gst/tmpl/gsterror.sgml:
1554         * docs/gst/tmpl/gstevent.sgml:
1555         * docs/gst/tmpl/gstfakesink.sgml:
1556         * docs/gst/tmpl/gstfakesrc.sgml:
1557         * docs/gst/tmpl/gstfilesink.sgml:
1558         * docs/gst/tmpl/gstfilesrc.sgml:
1559         * docs/gst/tmpl/gstfilter.sgml:
1560         * docs/gst/tmpl/gstformat.sgml:
1561         * docs/gst/tmpl/gstghostpad.sgml:
1562         * docs/gst/tmpl/gstimplementsinterface.sgml:
1563         * docs/gst/tmpl/gstindex.sgml:
1564         * docs/gst/tmpl/gstindexfactory.sgml:
1565         * docs/gst/tmpl/gstinfo.sgml:
1566         * docs/gst/tmpl/gstiterator.sgml:
1567         * docs/gst/tmpl/gstmacros.sgml:
1568         * docs/gst/tmpl/gstmemchunk.sgml:
1569         * docs/gst/tmpl/gstminiobject.sgml:
1570         * docs/gst/tmpl/gstobject.sgml:
1571         * docs/gst/tmpl/gstpad.sgml:
1572         * docs/gst/tmpl/gstpadtemplate.sgml:
1573         * docs/gst/tmpl/gstparse.sgml:
1574         * docs/gst/tmpl/gstpipeline.sgml:
1575         * docs/gst/tmpl/gstplugin.sgml:
1576         * docs/gst/tmpl/gstpluginfeature.sgml:
1577         * docs/gst/tmpl/gstquery.sgml:
1578         * docs/gst/tmpl/gstqueue.sgml:
1579         * docs/gst/tmpl/gstregistry.sgml:
1580         * docs/gst/tmpl/gstregistrypool.sgml:
1581         * docs/gst/tmpl/gstscheduler.sgml:
1582         * docs/gst/tmpl/gstschedulerfactory.sgml:
1583         * docs/gst/tmpl/gststructure.sgml:
1584         * docs/gst/tmpl/gstsystemclock.sgml:
1585         * docs/gst/tmpl/gsttaglist.sgml:
1586         * docs/gst/tmpl/gsttagsetter.sgml:
1587         * docs/gst/tmpl/gsttrace.sgml:
1588         * docs/gst/tmpl/gsttrashstack.sgml:
1589         * docs/gst/tmpl/gsttypefind.sgml:
1590         * docs/gst/tmpl/gsttypefindfactory.sgml:
1591         * docs/gst/tmpl/gsttypes.sgml:
1592         * docs/gst/tmpl/gsturihandler.sgml:
1593         * docs/gst/tmpl/gsturitype.sgml:
1594         * docs/gst/tmpl/gstutils.sgml:
1595         * docs/gst/tmpl/gstvalue.sgml:
1596         * docs/gst/tmpl/gstversion.sgml:
1597         * docs/gst/tmpl/gstxml.sgml:
1598         * docs/libs/tmpl/gstcontrol.sgml:
1599         * docs/libs/tmpl/gstdataprotocol.sgml:
1600         * docs/libs/tmpl/gstdparam.sgml:
1601         * docs/libs/tmpl/gstdplinint.sgml:
1602         * docs/libs/tmpl/gstdpman.sgml:
1603         * docs/libs/tmpl/gstdpsmooth.sgml:
1604         * docs/libs/tmpl/gstgetbits.sgml:
1605         * docs/libs/tmpl/gstunitconvert.sgml:
1606         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1607         (gst_push_src_base_init), (gst_push_src_class_init),
1608         (gst_push_src_init), (gst_push_src_create):
1609         * gst/base/gstpushsrc.h:
1610         * gst/elements/gstelements.c:
1611         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1612         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1613         (gst_fake_sink_init), (gst_fake_sink_set_property),
1614         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1615         (gst_fake_sink_event), (gst_fake_sink_preroll),
1616         (gst_fake_sink_render), (gst_fake_sink_change_state):
1617         * gst/elements/gstfakesink.h:
1618         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1619         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1620         (gst_fake_src_base_init), (gst_fake_src_class_init),
1621         (gst_fake_src_init), (gst_fake_src_event_handler),
1622         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1623         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1624         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1625         (gst_fake_src_create_buffer), (gst_fake_src_create),
1626         (gst_fake_src_start), (gst_fake_src_stop):
1627         * gst/elements/gstfakesrc.h:
1628         * gst/elements/gstfilesink.c: (_do_init),
1629         (gst_file_sink_base_init), (gst_file_sink_class_init),
1630         (gst_file_sink_init), (gst_file_sink_dispose),
1631         (gst_file_sink_set_location), (gst_file_sink_set_property),
1632         (gst_file_sink_get_property), (gst_file_sink_open_file),
1633         (gst_file_sink_close_file), (gst_file_sink_query),
1634         (gst_file_sink_event), (gst_file_sink_render),
1635         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1636         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1637         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1638         * gst/elements/gstfilesink.h:
1639         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1640         (gst_file_src_class_init), (gst_file_src_init),
1641         (gst_file_src_finalize), (gst_file_src_set_location),
1642         (gst_file_src_set_property), (gst_file_src_get_property),
1643         (gst_file_src_map_region), (gst_file_src_map_small_region),
1644         (gst_file_src_create_mmap), (gst_file_src_create_read),
1645         (gst_file_src_create), (gst_file_src_is_seekable),
1646         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1647         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1648         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1649         (gst_file_src_uri_handler_init):
1650         * gst/elements/gstfilesrc.h:
1651           more autistic cleanliness in functions/names/defines
1652
1653 2005-07-13  Andy Wingo  <wingo@pobox.com>
1654
1655         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1656         source couldn't negotiate.
1657
1658         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1659         connections again.
1660
1661         * gst/gstutils.h:
1662         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1663         function. I am channeling Hades. Put your boots on suckers!!!
1664
1665 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1666
1667         * testsuite/caps/Makefile.am:
1668         * testsuite/caps/value_compare.c:
1669         * testsuite/caps/value_intersect.c:
1670         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1671           move two testsuite apps over to the check dir
1672
1673 2005-07-12  Wim Taymans  <wim@fluendo.com>
1674
1675         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1676         Added more debug info in the negotiate process.
1677
1678         * gst/gstmessage.h:
1679         Prepare for segment playback.
1680
1681         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1682         Better debugging.
1683
1684         * gst/gstutils.c:
1685         Some more docs.
1686
1687         * tools/gst-launch.c: (main):
1688         NULL pipeline on errors.
1689
1690 2005-07-12  Andy Wingo  <wingo@pobox.com>
1691
1692         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1693         not it comes from a malloc region. Make sure our copy gets freed.
1694
1695 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1696
1697         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1698         * check/gst/gstmessage.c: (GST_START_TEST):
1699         * check/gst/gststructure.c: (GST_START_TEST),
1700         (gst_structure_suite), (main):
1701           more testing
1702         * gst/gstelement.c: (gst_element_message_full):
1703           clean up GError and debug string now that they get copied
1704         * gst/gstmessage.c: (gst_message_new_error),
1705         (gst_message_new_warning), (gst_message_parse_error),
1706         (gst_message_parse_warning):
1707           use GST_TYPE_G_ERROR for structure_new, and take copies of
1708           arguments, so that we don't mess up refcounting
1709
1710 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1711
1712         * check/Makefile.am:
1713           add per-test valgrind targets
1714         * check/gst-libs/gdp.c: (GST_START_TEST),
1715         (gst_data_protocol_suite), (main):
1716           clean up
1717
1718 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1719
1720         * check/Makefile.am:
1721           instate more valgrindable tests
1722         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1723         (GST_START_TEST), (fakesrc_suite):
1724         * check/gst/gstpad.c: (GST_START_TEST):
1725         * check/gst/gststructure.c: (GST_START_TEST):
1726           fix test leaks
1727         * docs/gst/tmpl/gstminiobject.sgml:
1728         * gst/gstpad.c: (gst_pad_finalize):
1729           fix the static mutex leak
1730
1731 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1732
1733         * check/Makefile.am:
1734           add two more tests for valgrinding
1735         * check/gst/gstvalue.c: (GST_START_TEST):
1736           test refcount of deserialized buffer, found a leak
1737         * docs/gst/gstreamer-docs.sgml:
1738         * docs/gst/gstreamer-sections.txt:
1739         * docs/gst/gstreamer.types:
1740         * docs/gst/tmpl/gstminiobject.sgml:
1741           add miniobject to docs
1742         * gst/gstminiobject.c:
1743           add some docs
1744         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1745         (gst_string_unwrap):
1746           fix a hard-to-find invalid write for one of the tests
1747           fix a leak for deserialized buffers
1748
1749 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1750
1751         * docs/pwg/advanced-events.xml:
1752         * docs/pwg/advanced-request.xml:
1753         * docs/pwg/advanced-scheduling.xml:
1754         * docs/pwg/appendix-porting.xml:
1755         * docs/pwg/building-boiler.xml:
1756         * docs/pwg/intro-preface.xml:
1757         * docs/pwg/other-ntoone.xml:
1758           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1759           of example code and explanation for pad activation, loop() and
1760           getrange() functions and a bit more. Remove old comments pointing
1761           to loop-functions.
1762         * examples/pwg/Makefile.am:
1763           Add loop/getrange examples.
1764
1765 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1766
1767         * configure.ac:
1768           check for valgrind binary + some fixes
1769         * check/gst.supp:
1770           valgrind suppressions for the tests
1771         * check/Makefile.am:
1772           add a valgrind: target that valgrinds the unit tests
1773         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1774         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1775         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1776         * check/gst/gstghostpad.c:
1777           added some cleanup
1778         * check/gst/gstdata.c:
1779           removed
1780         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1781         (thread_unref), (gst_mini_object_suite), (main):
1782           added
1783         * gst/gst.c: (gst_deinit):
1784         * gst/gst.h:
1785           add a method to clean up.
1786         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1787         (gst_system_clock_obtain):
1788           allow for disposing the system clock.
1789         * tools/gst-launch.c: (main):
1790           deinit
1791
1792 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1793
1794         * docs/gst/tmpl/gstbasesrc.sgml:
1795         * docs/gst/tmpl/gstfakesrc.sgml:
1796         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1797         (gst_base_src_init), (gst_base_src_set_property),
1798         (gst_base_src_get_property), (gst_base_src_get_range),
1799         (gst_base_src_start):
1800         * gst/base/gstbasesrc.h:
1801           add num-buffers property
1802         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1803         (gst_fakesrc_init), (gst_fakesrc_set_property),
1804         (gst_fakesrc_get_property), (gst_fakesrc_create),
1805         (gst_fakesrc_start):
1806           remove num-buffers property
1807
1808 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1809
1810         * docs/gst/gstreamer-sections.txt:
1811         * docs/gst/tmpl/gstbasesink.sgml:
1812         * docs/gst/tmpl/gstbasesrc.sgml:
1813         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1814         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1815         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1816         (gst_base_sink_set_property), (gst_base_sink_get_property),
1817         (gst_base_sink_handle_object), (gst_base_sink_event),
1818         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1819         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1820         (gst_base_sink_loop), (gst_base_sink_deactivate),
1821         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1822         (gst_base_sink_change_state):
1823         * gst/base/gstbasesink.h:
1824         * gst/base/gstbasesrc.h:
1825         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1826         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1827         (gst_filesink_init):
1828           more macro splitting
1829
1830 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1831
1832         * gst/gstelement.c: (gst_element_get_bus):
1833           add debug
1834         * tools/gst-launch.c: (check_intr), (event_loop):
1835           fix bus leaks
1836
1837 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1838
1839         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1840           fix a caps leak
1841
1842 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1843
1844         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1845         (gst_base_src_finalize):
1846           add finalize method and clean up properly
1847         * gst/gstpipeline.c: (gst_pipeline_dispose):
1848           add debug
1849
1850 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1851
1852         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1853         (gst_bin_suite):
1854           add more things to check
1855         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1856         * gst/gstelement.c:
1857           more debug
1858
1859 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1860
1861         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1862         (GST_START_TEST), (fakesrc_suite):
1863         * check/gst-libs/gdp.c: (GST_START_TEST):
1864         * check/gst/gst.c: (GST_START_TEST):
1865         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1866         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1867         * check/gst/gstbus.c: (GST_START_TEST):
1868         * check/gst/gstcaps.c: (GST_START_TEST):
1869         * check/gst/gstdata.c: (GST_START_TEST):
1870         * check/gst/gstelement.c: (GST_START_TEST):
1871         * check/gst/gstghostpad.c: (GST_START_TEST):
1872         * check/gst/gstiterator.c: (GST_START_TEST):
1873         * check/gst/gstmessage.c: (GST_START_TEST):
1874         * check/gst/gstobject.c: (GST_START_TEST):
1875         * check/gst/gstpad.c: (GST_START_TEST):
1876         * check/gst/gststructure.c: (GST_START_TEST):
1877         * check/gst/gstsystemclock.c: (GST_START_TEST),
1878         (gst_systemclock_suite):
1879         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1880         * check/gst/gstvalue.c: (GST_START_TEST):
1881         * check/pipelines/cleanup.c: (GST_START_TEST):
1882         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1883         * check/states/sinks.c: (GST_START_TEST):
1884         * check/gstcheck.c: (gst_check_init):
1885         * check/gstcheck.h:
1886           add debugging category
1887           use GST_START_TEST now, so we add a debug line
1888
1889 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1890
1891         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1892           add test for state change message on a bin
1893         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1894           add another test
1895         * gst/gstbin.c: (gst_bin_init):
1896         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1897         * gst/gstelement.c: (gst_element_post_message),
1898         (gst_element_set_state):
1899         * gst/gstelementfactory.c: (gst_element_factory_create):
1900         * gst/gstmessage.c: (gst_message_new):
1901         * gst/gstscheduler.c:
1902           various debugging additions and cleanups
1903
1904 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1905
1906         * check/Makefile.am:
1907         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1908         (main):
1909           adding tests for elements
1910         * gst/gstelement.c: (gst_element_dispose):
1911
1912 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1913
1914         * gst/registries/gstlibxmlregistry.c: (load_feature):
1915           plug more leaks.  A simple gst_init() now is leakfree, yay.
1916
1917 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1918
1919         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1920         (gst_xml_registry_load):
1921           plug another memleak
1922
1923 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1924
1925         * configure.ac:
1926           use GST_SET_ERROR_CFLAGS
1927         * docs/faq/cvs.xml:
1928           change to ERROR_CFLAGS
1929
1930 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1931
1932         * configure.ac:
1933           make GST_ERROR_CFLAGS overridable and re-enable Werror
1934         * docs/faq/cvs.xml:
1935           add a note about error CFLAGS
1936         * docs/gst/tmpl/gstfakesrc.sgml:
1937         * gst/elements/gstfakesrc.c:
1938           comment out some unused code
1939         * gst/gst.c: (split_and_iterate):
1940         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1941         (load_feature):
1942           plug some memleaks
1943
1944 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1945
1946         * common/Makefile.am:
1947         * common/gtk-doc.mak:
1948         * docs/gst/Makefile.am:
1949           factor out gtk-doc.mak
1950
1951 2005-07-07  Wim Taymans  <wim@fluendo.com>
1952
1953         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1954         (gst_thread_scheduler_dispose):
1955         Unlock the STREAM_LOCK completely.
1956
1957 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1958
1959         * check/Makefile.am:
1960         * check/elements/.cvsignore:
1961         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1962         (START_TEST), (fakesrc_suite), (main):
1963         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1964         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1965         (gst_fakesrc_create), (gst_fakesrc_start):
1966         * gst/elements/gstfakesrc.h:
1967           adding a first element test
1968
1969 2005-07-07  Andy Wingo  <wingo@pobox.com>
1970
1971         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1972         debug message.
1973
1974 2005-07-07  Wim Taymans  <wim@fluendo.com>
1975
1976         * gst/gstquery.c:
1977         * gst/gstquery.h:
1978         Remove old types
1979
1980 2005-07-07  Wim Taymans  <wim@fluendo.com>
1981
1982         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1983         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1984         Allow subclasses to implement their own negotiation.
1985
1986 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1987
1988         * docs/design/part-gstbin.txt:
1989         * docs/design/part-gstpipeline.txt:
1990           Update design notes to reflect the movement of
1991           responsibility for bus handling from GstPipeline to
1992           GstBin
1993
1994 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1995
1996         * configure.ac:
1997           Remove unnecessary queue2/3/4 examples.
1998
1999 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2000
2001         * examples/Makefile.am:
2002         * examples/helloworld/helloworld.c: (event_loop), (main):
2003         * examples/queue/queue.c: (event_loop), (main):
2004         * examples/queue2/queue2.c: (main):
2005           Update a couple of the examples to work again.
2006
2007         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2008         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2009          Spelling corrections and extra debug.
2010         
2011         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2012         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2013         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2014         * gst/gstbin.h:
2015         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2016         (gst_pipeline_change_state):
2017         * gst/gstpipeline.h:
2018           Move the bus handler for children to the GstBin, and create a
2019           separate bus for receiving messages from children to the one the
2020           bus sends 'upwards' on.
2021
2022 2005-07-06  Wim Taymans  <wim@fluendo.com>
2023
2024         * gst/base/README:
2025         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2026         (gst_base_sink_handle_object), (gst_base_sink_loop),
2027         (gst_base_sink_change_state):
2028         * gst/base/gstbasesink.h:
2029         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2030         (gst_base_src_init), (gst_base_src_setcaps),
2031         (gst_base_src_getcaps), (gst_base_src_loop),
2032         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2033         (gst_base_src_start), (gst_base_src_change_state):
2034         * gst/base/gstbasesrc.h:
2035         Make basesrc negotiate.
2036         Handle the case where preroll fails in basesink.
2037         Update README.
2038
2039 2005-07-06  Wim Taymans  <wim@fluendo.com>
2040
2041         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2042         Implement the fixate function.
2043         Clean up acceptcaps.
2044
2045 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2046
2047         * docs/pwg/building-filterfactory.xml:
2048         * docs/pwg/pwg.xml:
2049           Remove never-written filter-factory chapter; I'll add the various
2050           base classes to part 4 ("other element types") later on.
2051
2052 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2053
2054         * docs/pwg/advanced-negotiation.xml:
2055         * docs/pwg/building-boiler.xml:
2056         * docs/pwg/building-pads.xml:
2057         * docs/pwg/pwg.xml:
2058         * examples/pwg/Makefile.am:
2059           Add a chapter on caps negotiation, simplify the original code
2060           samples a bit w.r.t. caps negotiation, add link to the advanced
2061           section. Add a bunch of examples showing different use cases of
2062           different types of caps negotiation. Upstream renegotiation isn't
2063           fully documented yet since nobody knows how that works.
2064
2065 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2066
2067         * check/gst/gstpad.c:
2068         * check/gstcheck.c:
2069         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2070           if pad has no parent, return NULL as list of internal links
2071
2072 2005-07-05  Andy Wingo  <wingo@pobox.com>
2073
2074         * gst/elements/gstfilesrc.c:
2075         * gst/elements/gstfakesrc.c: 
2076         * gst/base/gstpushsrc.c:
2077         * gst/base/gstbasesrc.h: 
2078         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2079         
2080 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2081
2082         * Makefile.am:
2083           better report generation target (lcov needs a patch)
2084
2085 2005-07-05  Andy Wingo  <wingo@pobox.com>
2086
2087         * gst/elements, testsuite: Null if we got it...
2088
2089 2005-07-05  Wim Taymans  <wim@fluendo.com>
2090
2091         * configure.ac:
2092         * libs/gst/dataprotocol/Makefile.am:
2093         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2094         * libs/gst/dataprotocol/dataprotocol.h:
2095         * pkgconfig/Makefile.am:
2096         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2097         * pkgconfig/gstreamer-dataprotocol.pc.in:
2098         Ported dataprotol to 0.9. 
2099         Added pkgconfig files.
2100
2101 2005-07-05  Andy Wingo  <wingo@pobox.com>
2102
2103         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2104         Default to returning TRUE for the case when tranform_caps returns
2105         a fixed caps, like for identity or volume.
2106
2107         * check/gst/gstbus.c (pound_bus_with_messages): 
2108         * check/gst/gstmessage.c (START_TEST): 
2109         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2110         message API change.
2111
2112         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2113         logic weaks here: always run transform_caps, trying passthrough
2114         operation only if the original caps intersects with the transform.
2115
2116         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2117         source and sink caps.
2118
2119         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2120         Intersect the peer caps with the pad template before going into
2121         transform_caps.
2122         (gst_base_transform_transform_caps): More debugging.
2123
2124         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2125         src argument.
2126
2127 2005-07-04  Edward Hervey  <edward@fluendo.com>
2128
2129         * gst/gstutils.c:
2130         * gst/gstutils.h:
2131         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2132         in bindings.
2133
2134 2005-07-04  Andy Wingo  <wingo@pobox.com>
2135
2136         * check/gst/gstpad.c: Only set explicit caps on pads.
2137
2138 2005-07-01  Andy Wingo  <wingo@pobox.com>
2139
2140         * tests/network-clock.scm: Commentary update.
2141
2142         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2143         Didn't really make sense, not implementable with basetransform,
2144         etc.
2145         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2146         attempt at implementing the sync property, needs an unlock method.
2147
2148         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2149         New func, by default returns the same caps (the identity
2150         transformation).
2151         (gst_base_transform_getcaps): Uses transform_caps to return
2152         something sensible.
2153         (gst_base_transform_setcaps): Complicated logic to get caps on
2154         both pads, even if they are different, and to call set_caps once
2155         for every time both pads get their caps set.
2156         (gst_base_transform_handle_buffer): Give the ref to the transform
2157         function. Allows in-place modification of the buffer.
2158
2159         * gst/base/gstbasetransform.h (transform_caps): New class method.
2160         Given caps on one side, what can I do on the other.
2161         (set_caps): Take two caps, one for each side of the element.
2162
2163         * gst/gstpad.h:
2164         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2165         caps in place. This is safe because we can check the mutability of
2166         the caps, and a good idea because fixate functions are just called
2167         as a matter of last resort. (Not actually implemented.)
2168         (gst_pad_set_caps): If the caps we're setting is actually the same
2169         as the existing pad caps, just update the pointer without calling
2170         setcaps. Assert that caps is either NULL or fixed, as per the
2171         docs.
2172
2173         * gst/gstghostpad.c: Update for fixate changes.
2174
2175 2005-07-02  Andy Wingo  <wingo@pobox.com>
2176
2177         * gst/gstcaps.c:
2178         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2179         two refcounts makes it immutable, which is enough. Doc more.
2180
2181 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2182
2183         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2184           Put the mini_object into GValue as a mini_object,
2185           not a gpointer, since that's how we declared
2186           the signal.
2187
2188 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2189
2190         * examples/pwg/Makefile.am:
2191           Fix buildbot again.
2192
2193 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2194
2195         * docs/pwg/building-testapp.xml:
2196           Add extra check.
2197         * examples/pwg/Makefile.am:
2198           Fix buildbot.
2199
2200 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2201
2202         * configure.ac:
2203         * examples/Makefile.am:
2204         * examples/pwg/Makefile.am:
2205         * examples/pwg/extract.pl:
2206           Enable building the PWG examples.
2207         * docs/pwg/advanced-interfaces.xml:
2208           Add URI interface stub.
2209         * docs/pwg/advanced-types.xml:
2210         * docs/pwg/other-autoplugger.xml:
2211         * docs/pwg/appendix-porting.xml:
2212         * docs/pwg/pwg.xml:
2213           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2214         * docs/pwg/building-boiler.xml:
2215         * docs/pwg/building-chainfn.xml:
2216         * docs/pwg/building-pads.xml:
2217         * docs/pwg/building-props.xml:
2218         * docs/pwg/building-state.xml:
2219         * docs/pwg/building-testapp.xml:
2220           Update the building-*.xml parts for 0.9 changes. All examples
2221           code blocks compile in examples/pwg/*.
2222
2223 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2224
2225         * docs/manual/advanced-autoplugging.xml:
2226         * docs/manual/appendix-checklist.xml:
2227         * docs/manual/appendix-integration.xml:
2228         * docs/manual/highlevel-components.xml:
2229           Fix playbin/decodebin examples, update docs a bit, mention bus
2230           instead of signals in various places, mention kmplayer and
2231           kaffeine since they have a working GStreamer backend in the KDE
2232           section.
2233
2234 2005-06-30  Wim Taymans  <wim@fluendo.com>
2235
2236         * CHANGES-0.9:
2237         * docs/design/draft-ghostpads.txt:
2238         * docs/design/draft-push-pull.txt:
2239         * docs/design/draft-query.txt:
2240         * docs/design/part-TODO.txt:
2241         * docs/design/part-query.txt:
2242         Added CHANGES-0.9 doc, updated status of other docs.
2243         
2244         * gst/gstquery.h:
2245         Remove "hmm" macro
2246
2247 2005-06-30  Wim Taymans  <wim@fluendo.com>
2248
2249         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2250         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2251         (gst_base_sink_change_state):
2252         * gst/base/gstbasesink.h:
2253         Some tweaks, only EOS and a buffer complete a preroll.
2254
2255 2005-06-30  Andy Wingo  <wingo@pobox.com>
2256
2257         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2258         activate_push down to the internal pad as well.
2259
2260 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2261
2262         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2263
2264         * gst/gsttaginterface.c:
2265           Some documentation fixes (#307394 and #307397).
2266
2267 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2268
2269         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2270
2271         * gst/gstvalue.c: (gst_value_intersect_list):
2272           Fix memleak (#309125).
2273
2274 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2275
2276         * docs/manual/advanced-dataaccess.xml:
2277           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2278         * docs/manual/basics-pads.xml:
2279           Add reference for filtered caps to above chapter.
2280
2281 2005-06-30  Wim Taymans  <wim@fluendo.com>
2282
2283         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2284         (gst_bin_change_state):
2285         Probes are gone.
2286         Lame attempt at making the state change function a bit
2287         more readable.
2288
2289 2005-06-30  Wim Taymans  <wim@fluendo.com>
2290
2291         * docs/design/part-clocks.txt:
2292         * docs/design/part-element-sink.txt:
2293         * docs/design/part-events.txt:
2294         * docs/design/part-preroll.txt:
2295         * docs/design/part-states.txt:
2296         Some more tweeks and additions to the docs.
2297
2298 2005-06-30  Wim Taymans  <wim@fluendo.com>
2299
2300         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2301         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2302         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2303         (gst_pad_check_pull_range), (gst_pad_get_range),
2304         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2305         * gst/gstpad.h:
2306         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2307         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2308         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2309         (gst_pad_remove_buffer_probe):
2310         Removed atomic operations, use existing LOCK.
2311         Move exception handling out of main code path.
2312
2313 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2314
2315         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2316         (silly_return_true_function), (gst_pad_class_init),
2317         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2318         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2319         (gst_pad_send_event):
2320           Fix accumulator, add default value by using _emitv() instead
2321           of _emit() for signal emission.
2322
2323 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2324
2325         * docs/manual/advanced-dataaccess.xml:
2326         * examples/manual/Makefile.am:
2327           Add probe example.
2328         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2329           Make work (??).
2330
2331 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2332
2333         * gst/elements/gstfilesink.c: (gst_filesink_render):
2334           Simplify code so that we don't have to handle short
2335           writes and return GST_FLOW_ERROR if an error occured.
2336
2337 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2338
2339         * docs/gst/gstreamer-docs.sgml:
2340           Remove probes more.
2341
2342 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2343
2344         * docs/gst/gstreamer-sections.txt:
2345         * docs/gst/tmpl/gstpad.sgml:
2346         * docs/gst/tmpl/gstprobe.sgml:
2347         * gst/Makefile.am:
2348         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2349         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2350         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2351         (gst_pad_push_event), (gst_pad_send_event):
2352         * gst/gstpad.h:
2353         * gst/gstutils.c: (gst_pad_add_data_probe),
2354         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2355         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2356         (gst_pad_remove_buffer_probe):
2357         * gst/gstutils.h:
2358           Remove old probes, add new g-signal-based probes and some utility
2359           functions.
2360
2361 2005-06-29  Edward Hervey  <edward@fluendo.com>
2362
2363         * gst/gstelementfactory.c:
2364         * gst/gstutils.h:
2365         * gst/gstutils.c:
2366         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2367         the definition to the header file.
2368
2369 2005-06-29  Andy Wingo  <wingo@pobox.com>
2370
2371         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2372         plugins from the source directory.
2373
2374 2005-06-29  Wim Taymans  <wim@fluendo.com>
2375
2376         * docs/gst/tmpl/gstbuffer.sgml:
2377         * docs/gst/tmpl/gstclock.sgml:
2378         Some fixings for blantently wrong text.
2379
2380 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2381
2382         * check/Makefile.am:
2383         * gst/gst.c: (add_path_func), (init_pre):
2384         * gst/gstregistry.c: (gst_registry_add_path):
2385           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2386           only scan the GST_PLUGIN_PATH locations, and not add
2387           system locations
2388
2389 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2390
2391         * docs/gst/gstreamer-sections.txt:
2392         * docs/gst/tmpl/gstbasesrc.sgml:
2393         * gst/gstelement.c:
2394         * gst/gstelement.h:
2395         * gst/gstevent.c:
2396         * gst/gstutils.c:
2397           doc fixes
2398
2399 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2400
2401         * docs/manual/advanced-autoplugging.xml:
2402           Fix autoplugging example.
2403
2404 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2405
2406         * docs/manual/advanced-autoplugging.xml:
2407         * docs/manual/mime-world.fig:
2408           Try to get autoplugging working, fix type detection. Fix text
2409           in hello-world image.
2410
2411 2005-06-29  Wim Taymans  <wim@fluendo.com>
2412
2413         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2414         (gst_base_sink_change_state):
2415         Small debug line.
2416
2417         * gst/gstclock.h:
2418         map SIGNAL and BROADCAST to the right function.
2419
2420         * gst/gstobject.h:
2421         Remove redundant braces.
2422
2423         * gst/gstpad.c: (gst_pad_set_caps):
2424         Don't call setcaps function when reseting caps to NULL.
2425
2426         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2427         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2428         (gst_system_clock_id_unschedule):
2429         Use BROADCAST as this is what we do.
2430
2431 2005-06-29  Wim Taymans  <wim@fluendo.com>
2432
2433         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2434         We are actually prerolling before commiting the state
2435         change. 
2436
2437 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2438
2439         * docs/manual/advanced-clocks.xml:
2440         * docs/manual/advanced-interfaces.xml:
2441         * docs/manual/advanced-metadata.xml:
2442         * docs/manual/advanced-position.xml:
2443         * docs/manual/advanced-schedulers.xml:
2444         * docs/manual/advanced-threads.xml:
2445         * docs/manual/appendix-porting.xml:
2446         * docs/manual/basics-bins.xml:
2447         * docs/manual/basics-bus.xml:
2448         * docs/manual/basics-elements.xml:
2449         * docs/manual/basics-helloworld.xml:
2450         * docs/manual/basics-pads.xml:
2451         * docs/manual/highlevel-components.xml:
2452         * docs/manual/manual.xml:
2453         * docs/manual/thread.fig:
2454           Update (until threads/scheduling) Application Development Manual;
2455           remove GstThread, add GstBus, add simple porting checklist, add
2456           documentation for tag writing, clocks, make all examples until this
2457           part compile and run.
2458         * examples/manual/Makefile.am:
2459           Update from changes to Application Development Manual; add bus
2460           example, remove thread example.
2461
2462 2005-06-28  Wim Taymans  <wim@fluendo.com>
2463
2464         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2465         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2466         (gst_bus_source_dispatch):
2467         Add debugging messages.
2468         Make internal methods static.
2469         Handle the case where the bus is flushed in the handler.
2470         
2471         * gst/gstelement.c: (gst_element_get_bus):
2472         Fix refcount in _get_bus();
2473
2474         * gst/gstpipeline.c: (gst_pipeline_change_state),
2475         (gst_pipeline_get_clock_func):
2476         Clock refcounting fixes.
2477         Handle the case where preroll timed out more gracefully.
2478         
2479         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2480         Clean up the internal thread in dispose. This is needed
2481         for subclasses that actually get disposed.
2482         
2483         * gst/schedulers/threadscheduler.c:
2484         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2485         (gst_thread_scheduler_dispose):
2486         Free thread pool in dispose.
2487
2488 2005-06-28  Andy Wingo  <wingo@pobox.com>
2489
2490         * tests/network-clock-utils.scm (debug, print-event): New utils.
2491
2492         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2493         (*packet-loss*): Unified loss probability.
2494         (network-time): Report out-of-band events.
2495
2496         * tests/plot-data: Add support for out-of-band events. Hack it
2497         into this script instead of passing it down the pipe; should fix
2498         this later.
2499
2500 2005-06-28  Wim Taymans  <wim@fluendo.com>
2501
2502         * docs/gst/gstreamer.types:
2503         * docs/gst/tmpl/gstbasesrc.sgml:
2504         * docs/gst/tmpl/gstpad.sgml:
2505         Docs fixes.
2506
2507 2005-06-28  Wim Taymans  <wim@fluendo.com>
2508
2509         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2510         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2511         (gst_proxy_pad_do_fixatecaps):
2512         Correctly proxy the check_pull_range function.
2513
2514 2005-06-28  Andy Wingo  <wingo@pobox.com>
2515
2516         * tests/network-clock.scm: Removed need for slib.
2517         
2518 2005-06-28  Wim Taymans  <wim@fluendo.com>
2519
2520         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2521         (gst_basesink_preroll_queue_flush):
2522         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2523         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2524         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2525         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2526         (gst_proxy_pad_set_property):
2527         * gst/gstpad.c:
2528         * gst/gstpad.h:
2529         * gst/gstqueue.c: (gst_queue_init):
2530         The deprecated pad loop function is removed now.
2531
2532 2005-06-28  Andy Wingo  <wingo@pobox.com>
2533
2534         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2535         New parameters, simulate network packet loss.
2536
2537         * tests/network-clock-utils.scm: Initialize the RNG.
2538
2539 2005-06-28  Wim Taymans  <wim@fluendo.com>
2540
2541         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2542         (gst_basesink_event), (gst_basesink_deactivate):
2543         Flushing the preroll queue always needs to unlock the waiters.
2544
2545 2005-06-28  Edward Hervey  <edward@fluendo.com>
2546
2547         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2548         Wheen a seek was successful on a pipeline, set the stream_time to the
2549         seek offset in order to have a synchronized stream_time.
2550
2551 2005-06-28  Wim Taymans  <wim@fluendo.com>
2552
2553         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2554         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2555         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2556         (gst_proxy_pad_do_fixatecaps):
2557         Call wrapper function instead of just calling the function
2558         pointers. This takes care of any locking and whatmore.
2559
2560 2005-06-28  Wim Taymans  <wim@fluendo.com>
2561
2562         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2563         (gst_pad_pull_range):
2564         * gst/gstpad.h:
2565         CONNECTED -> LINKED.
2566
2567 2005-06-28  Andy Wingo  <wingo@pobox.com>
2568
2569         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2570         source-munging commit!!!
2571
2572         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2573         (gst_object_sink): Take gpointer arguments, not GstObject --
2574         avoids casts. Like GLib.
2575
2576         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2577         activate.
2578
2579 2005-06-27  Andy Wingo  <wingo@pobox.com>
2580
2581         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2582         remaining buffer.
2583
2584         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2585         returns a sorted copy of the trace list.
2586         (gst_alloc_trace_print_live): New API, only prints traces with
2587         live objects. Sort the list.
2588         (gst_alloc_trace_print_all): Sort the list.
2589         (gst_alloc_trace_print): Align columns.
2590
2591         * gst/elements/gstttypefindelement.c:
2592         * gst/elements/gsttee.c:
2593         * gst/base/gstbasesrc.c:
2594         * gst/base/gstbasesink.c:
2595         * gst/base/gstbasetransform.c:
2596         * gst/gstqueue.c: Adapt for pad activation changes.
2597
2598         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2599         sched.
2600         (gst_pipeline_dispose): Drop ref on sched.
2601
2602         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2603         (gst_pad_activate_default): Push mode by default.
2604         (pre_activate_switch, post_activate_switch): New stubs, things to
2605         do before and after switching activation modes on pads.
2606         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2607         the pad's activate function to choose which mode to activate.
2608         Shortcut on deactivation and call the right function directly.
2609         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2610         mode.
2611         (gst_pad_activate_push): New API, same for push mode.
2612         (gst_pad_set_activate_function) 
2613         (gst_pad_set_activatepull_function) 
2614         (gst_pad_set_activatepush_function): Setters for new API.
2615
2616         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2617         Trace all miniobjects.
2618         (gst_mini_object_make_writable): Unref the arg if we copy, like
2619         gst_caps_make_writable.
2620
2621         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2622
2623         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2624         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2625         Adapt for new pad API.
2626
2627         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2628
2629         * gst/gstelement.h:
2630         * gst/gstelement.c (gst_element_iterate_src_pads) 
2631         (gst_element_iterate_sink_pads): New API functions.
2632         
2633         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2634         should fold into gstiterator.c in some form.
2635         (gst_element_pads_activate): Simplified via use of fold and
2636         delegation of decisions to gstpad->activate.
2637
2638         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2639         help in debugging.
2640
2641         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2642         class once in init, like gstmessage. Didn't run into this issue
2643         but it seems correct. Don't initialize a trace, gstminiobject does
2644         that.
2645
2646         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2647         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2648         to the bus.
2649         (assert_live_count): New util function, uses alloc traces to check
2650         cleanup.
2651
2652         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2653         To be modified when unlink drops the internal pad.
2654
2655 2005-06-27  Wim Taymans  <wim@fluendo.com>
2656
2657         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2658         (gst_bin_change_state):
2659         Cleanup the get_state() function a little, make sure it
2660         iterates the same set of elements.
2661         Added stub iterate_state_order().
2662
2663 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2664
2665         * docs/gst/gstreamer-docs.sgml:
2666         * docs/gst/gstreamer-sections.txt:
2667         * docs/gst/gstreamer.types:
2668         * docs/gst/tmpl/gstbasesink.sgml:
2669         * docs/gst/tmpl/gstbasesrc.sgml:
2670         * docs/gst/tmpl/gstbasetransform.sgml:
2671         * docs/gst/tmpl/gstelement.sgml:
2672         * docs/gst/tmpl/gstiterator.sgml:
2673         * gst/base/gstbasesrc.c:
2674         * gst/base/gstbasesrc.h:
2675         * gst/base/gstbasetransform.h:
2676         * gst/gstelement.c:
2677         * gst/gstiterator.h:
2678           adding basetransform and iterator docs
2679
2680 2005-06-27  Andy Wingo  <wingo@pobox.com>
2681
2682         * docs/design/part-activation.txt: Notes on how activation should
2683         work -- not quite implemented yet.
2684
2685 2005-06-25  Wim Taymans  <wim@fluendo.com>
2686
2687         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2688         At least get the chain function correct, needs more
2689         fixing.
2690
2691 2005-06-25  Wim Taymans  <wim@fluendo.com>
2692
2693         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2694         (gst_basesink_handle_object), (gst_basesink_event),
2695         (gst_basesink_do_sync), (gst_basesink_handle_event),
2696         (gst_basesink_change_state):
2697         * gst/gsttask.h:
2698         Right, two problems here: ghostpads don't take locks and
2699         glib _rec_mutex_lock_full() with depth==0 still locks.
2700         Catch illegal locking and g_warn them.
2701
2702 2005-06-25  Wim Taymans  <wim@fluendo.com>
2703
2704         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2705         Have to check for completion now...
2706
2707 2005-06-25  Wim Taymans  <wim@fluendo.com>
2708
2709         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2710         (gst_basesink_handle_object), (gst_basesink_event),
2711         (gst_basesink_do_sync), (gst_basesink_handle_event),
2712         (gst_basesink_change_state):
2713         * gst/gstpad.h:
2714         Unlock STREAM_LOCK whatever the recursion was.
2715
2716 2005-06-25  Wim Taymans  <wim@fluendo.com>
2717
2718         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2719         (gst_basesink_preroll_queue_empty),
2720         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2721         (gst_basesink_event), (gst_basesink_do_sync),
2722         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2723         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2724         (gst_basesink_change_state):
2725         Reworked the base sink, handle event and buffer serialisation
2726         correctly and removed possible deadlock.
2727         Handle EOS correctly.
2728
2729 2005-06-25  Wim Taymans  <wim@fluendo.com>
2730
2731         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2732         (gst_pipeline_change_state):
2733         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2734         Allow elements to post EOS in the state change function.
2735         Fix up -launch, make it exit the poll loop when the
2736         pipeline actually changed state.
2737         Fix up warning parsing in -launch.
2738
2739 2005-06-25  Wim Taymans  <wim@fluendo.com>
2740
2741         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2742         (gst_tee_sink_activate):
2743         Core takes STREAM_LOCK for us now.
2744
2745 2005-06-25  Wim Taymans  <wim@fluendo.com>
2746
2747         * gst/gstelement.c: (gst_element_get_state_func),
2748         (gst_element_set_state):
2749         * gst/gstelement.h:
2750         * gst/gstmessage.c: (gst_message_parse_error),
2751         (gst_message_parse_warning):
2752         Keep track of current target state while performing a state
2753         change so that subclasses can do something interesting.
2754         Fix parsing of warning/error messages when GError is NULL.
2755
2756 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2757
2758         * docs/gst/Makefile.am:
2759         * docs/gst/gstreamer-docs.sgml:
2760         * docs/gst/gstreamer-sections.txt:
2761         * docs/gst/gstreamer.types:
2762         * docs/gst/tmpl/gstbasesink.sgml:
2763         * docs/gst/tmpl/gstbasesrc.sgml:
2764         * docs/gst/tmpl/gstbin.sgml:
2765         * docs/gst/tmpl/gstcompat.sgml:
2766         * docs/gst/tmpl/gstfakesink.sgml:
2767         * docs/gst/tmpl/gstfakesrc.sgml:
2768         * docs/gst/tmpl/gstfilesink.sgml:
2769         * docs/gst/tmpl/gstfilesrc.sgml:
2770         * docs/gst/tmpl/gstindex.sgml:
2771         * docs/manual/appendix-quotes.xml:
2772         * gst/base/gstbasesrc.h:
2773         * gst/elements/gstfakesrc.h:
2774         * gst/gstmessage.h:
2775           start pulling in base classes and elements in our docs
2776
2777 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2778
2779         * docs/gst/Makefile.am:
2780         * docs/libs/Makefile.am:
2781           fixed make distcheck with gtk-doc 1.3
2782
2783 2005-06-23  Wim Taymans  <wim@fluendo.com>
2784
2785         * gst/gstelement.c: (gst_element_get_state_func),
2786         (gst_element_set_state), (gst_element_change_state):
2787         When the state did not change, also report NO_PREROLL
2788         when it matters.
2789
2790 2005-06-23  Wim Taymans  <wim@fluendo.com>
2791
2792         * gst/gstpad.c: (gst_pad_event_default):
2793         * gst/gstqueue.c: (gst_queue_loop):
2794         No unsafe task pausing please.
2795
2796 2005-06-23  Wim Taymans  <wim@fluendo.com>
2797
2798         * gst/schedulers/threadscheduler.c:
2799         (gst_thread_scheduler_task_start),
2800         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2801         Ref the task before pushing it on the threadpool. This
2802         makes sure that we have a ref when the threadfunction is
2803         actually called.
2804
2805 2005-06-23  Andy Wingo  <wingo@pobox.com>
2806
2807         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2808         offset is greater than the file's size.
2809
2810         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2811         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2812         * gst/gstobject.c (gst_object_class_init): Make the class lock
2813         recursive. Wim won't let me drop deep_notify. Decodebin works
2814         again, whoopdy doo.
2815
2816         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2817         internal pad, and hacks accordingly. Doesn't do it on the target
2818         pad because we change its caps. Probably catches all cases of
2819         interest tho.
2820         (gst_ghost_pad_set_property): Connect to notify::caps as
2821         appropritate.
2822
2823         * tests/network-clock.scm (plot-simulation): Pipe data to the
2824         elite python skript.
2825
2826         * tests/network-clock-utils.scm (define-parameter): New macro,
2827         defines a parameter that can be set via the command line.
2828         (set-parameter!, parse-parameter-arguments): Command line args
2829         parser.
2830
2831         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2832         stdin.
2833
2834 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2835
2836         * gst/elements/gsttypefindelement.c:
2837         (gst_type_find_element_handle_event):
2838           Don't restart typefinding on a discont.
2839         * gst/gstelement.c: (gst_element_set_state):
2840           Debug spelling fix.
2841         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2842           Allow changing mode of an active pad.
2843           Debug output fixes.
2844         * gst/registries/gstlibxmlregistry.c: (load_feature):
2845           Don't cast a static pad template to a normal pad template.
2846
2847 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2848
2849         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2850         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2851           remove gst_strtoll completely, since it didn't actually do
2852           anything more than what g_ascii_strtoull already does.
2853           check for range errors when deserializing
2854           do a cast for the unsigned cases; but further fixing needs
2855           a decision on what the interpretation of "(int)" and
2856           deserialization should be for values that fall outside the
2857           type's boundaries (ie, refuse, or interpret as casting)
2858
2859 2005-06-23  Wim Taymans  <wim@fluendo.com>
2860
2861         * check/Makefile.am:
2862         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2863         * docs/design/part-live-source.txt:
2864         * docs/design/part-states.txt:
2865         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2866         (gst_basesrc_set_live), (gst_basesrc_is_live),
2867         (gst_basesrc_get_range), (gst_basesrc_activate),
2868         (gst_basesrc_change_state):
2869         * gst/base/gstbasesrc.h:
2870         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2871         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2872         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2873         * gst/gstelement.c: (gst_element_get_state_func),
2874         (gst_element_set_state):
2875         * gst/gstelement.h:
2876         * gst/gsttypes.h:
2877         * tools/gst-launch.c: (event_loop), (main):
2878         Added support for live sources and other elements that
2879         cannot do preroll.
2880         Updated design docs, added live-source design doc.
2881         Implemented live source functionality in basesrc
2882         Fix error condition in _bin_get_state()
2883         Implement live source handling in -launch.
2884         Added check for live sources.
2885         Fixed case in GstBin where elements were changed state
2886         multiple times.
2887
2888
2889 2005-06-23  Andy Wingo  <wingo@pobox.com>
2890
2891         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2892         borken refcounting.
2893
2894         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2895         gst_caps_replace takes care of this for us.
2896
2897         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2898         gst_pad_set_caps on the target, not just its setcaps() function.
2899
2900         * tests/network-clock.scm: 
2901         * tests/network-clock-utils.scm: A network clock simulator.
2902         Something of an algorithmic testbed before doing something in C.
2903
2904 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2905
2906         * check/Makefile.am:
2907         * check/gst/capslist.h:
2908           copy over from 0.8, and add two with bitmasks specified with
2909           (int) 0xFF...
2910         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2911           add test to parse everything from capslist.h
2912         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2913         (main):
2914           add test for structure deserialization
2915         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2916           add tests for deserialization of strings to int types
2917         * gst/gststructure.c: (gst_structure_nth_field_name):
2918         * gst/gststructure.h:
2919           add a way to get the name of a field referenced by index
2920         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2921           instead of checking if the resulting long long lies between
2922           min and max, we check if the long long would fit into
2923           a number of bytes for the final type.
2924           This fixes cases where a string represents 2^32 - 1, which
2925           when cast to int would be the (valid) -1, but is bigger than
2926           G_MAXINT
2927
2928 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2929
2930         * gst/parse/grammar.y:
2931           add a log line for type deserialization
2932
2933 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2934
2935         * check/gst/gstvalue.c: (START_TEST):
2936         * gst/gstvalue.c: (gst_value_deserialize):
2937           return long long, not int, so gint64 deserialization actually
2938           works.  Is there any flag that makes the compiler check this ?
2939           Fixes #308559
2940
2941 2005-06-22  Wim Taymans  <wim@fluendo.com>
2942
2943         * gst/gstbuffer.h:
2944         Added convenience macros for setting buffers in GValue.
2945
2946 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2947
2948         * check/gst/.cvsignore:
2949         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2950           add a test deserializing int64, and comment part out because
2951           it fails, yay !
2952
2953 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2954
2955         * check/Makefile.am:
2956         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2957         * testsuite/Makefile.am:
2958         * testsuite/caps/Makefile.am:
2959         * testsuite/caps/value_serialize.c:
2960         * testsuite/test_gst_init.c:
2961           move a value_serialize test over
2962
2963 2005-06-20  Wim Taymans  <wim@fluendo.com>
2964
2965         * gst/gstpad.c:
2966         Small doc updates.
2967         
2968         * gst/gstvalue.c: (gst_value_compare_buffer),
2969         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2970         (gst_value_compare_flags), (gst_value_serialize_flags),
2971         (gst_value_deserialize_flags), (_gst_value_initialize):
2972         Fix serialisation of buffers, they are not boxed types anymore
2973
2974 2005-06-20  Wim Taymans  <wim@fluendo.com>
2975
2976         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2977         Testcase to show error in buffer-on-caps serialisation.
2978
2979 2005-06-20  Andy Wingo  <wingo@pobox.com>
2980
2981         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2982         will be adding to later.
2983
2984         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2985         if its socks fill with rocks.
2986         (gst_system_clock_obtain): Set the name on object construction.
2987         Avoid double-checked locking.
2988
2989 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2990
2991         * gst/gsturi.c: (gst_element_make_from_uri):
2992           Fix potential endless loop.
2993
2994 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2995
2996         * check/Makefile.am:
2997           add gsttag
2998         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2999         (main):
3000           move over from testsuite dir and clean up
3001         * configure.ac:
3002         * gst/gsttag.c:
3003         * testsuite/Makefile.am:
3004         * testsuite/tags/.cvsignore:
3005         * testsuite/tags/Makefile.am:
3006         * testsuite/tags/merge.c:
3007           remove testsuite/tags
3008
3009 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3010
3011         * docs/gst/gstreamer-sections.txt:
3012         * docs/gst/tmpl/gstenumtypes.sgml:
3013         * win32/gstenumtypes.c:
3014           clean up documentation build a little
3015
3016 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3017
3018         * check/gstcheck.h:
3019           add macros for checking refcounts on objects and caps
3020         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3021           add some more unit tests
3022         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3023         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3024           fix leaked refcounts (I hope :)) so unittest works
3025         * gst/gstpad.h:
3026           whitespace removal
3027
3028 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3029
3030         * configure.ac: back to HEAD
3031
3032 === release 0.9.1 ===
3033
3034 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3035
3036         * NEWS:
3037         * RELEASE:
3038           updated
3039
3040 2005-06-17  Andy Wingo  <wingo@pobox.com>
3041
3042         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3043         assert; it's always possible that the pad gets deactivated in
3044         between the checks in gstpad.c and the implementation. Rely on
3045         finish_preroll() to return a FLUSHING or similar instead of on the
3046         assert.
3047         
3048         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3049         clock and post an EOS message if we come out of finish_preroll in
3050         the playing state.
3051
3052 2005-06-16  David Schleef  <ds@schleef.org>
3053
3054         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3055         (gst_capsfilter_set_property): Allow NULL as possible value
3056         for filter_caps property, indicating GST_CAPS_ANY.
3057
3058 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3059
3060         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3061           fix debug output
3062         * gst/schedulers/Makefile.am:
3063           use libgst prefix
3064         * gstreamer.spec.in:
3065           fix spec for it
3066
3067 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3068
3069         * gstreamer.spec.in:
3070           clean up
3071
3072 2005-06-08  Andy Wingo  <wingo@pobox.com>
3073
3074         * gst/gstutils.c: RPAD fixes all around.
3075         (gst_element_link_pads): Refcounting fixes.
3076
3077         * tools/gst-inspect.c:
3078         * tools/gst-xmlinspect.c:
3079         * parse/grammar.y:
3080         * gst/base/gsttypefindhelper.c:
3081         * gst/base/gstbasesink.c:
3082         * gst/gstqueue.c: RPAD fixes.
3083
3084         * gst/gstghostpad.h:
3085         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3086         pads. The tricky thing is they provide both source and sink
3087         interfaces, since they proxy the internal pad for the external
3088         pad, and vice versa. Implement with lower-level ProxyPad objects,
3089         with the interior proxy pad as a child of the exterior ghost pad.
3090         Should write a doc on this.
3091         
3092         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3093         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3094         gst_object API.
3095         
3096         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3097         pads are real pads. No ghost pads in this file. Not documenting
3098         the myriad s/RPAD/PAD/ and REALIZE fixes.
3099         (gst_pad_class_init): Add properties for "direction" and
3100         "template". Both are construct-only, so they can't change during
3101         the life of the pad. Fixes properly deriving from GstPad.
3102         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3103         derived objects, just set properties when creating the objects via
3104         g_object_new.
3105         (gst_pad_get_parent): Implement as a function, return NULL if the
3106         parent is not an element.
3107         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3108         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3109         
3110         * gst/gstobject.c (gst_object_class_init): Make name a construct
3111         property. Don't set it in the object init.
3112
3113         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3114         with UNKNOWN direction.
3115         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3116         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3117         (gst_element_remove_pad): Remove ghost-pad special cases.
3118         (gst_element_pads_activate): Remove rpad cruft.
3119
3120         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3121         catch the pad's-parent-not-an-element case.
3122
3123         * gst/gst.h: Include gstghostpad.h.
3124
3125         * gst/gst.c (init_post): No more real, ghost pads.
3126
3127         * gst/Makefile.am: Add gstghostpad.[ch].
3128
3129         * check/Makefile.am:
3130         * check/gst/gstbin.c:
3131         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3132         into a bin creates ghost pads, and that the refcounts are right.
3133         Partly moved from gstbin.c.
3134
3135 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3136
3137         * check/gst-libs/.cvsignore:
3138         * check/gst/.cvsignore:
3139         * check/pipelines/.cvsignore:
3140           ignore more
3141         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3142         (START_TEST), (cleanup_suite), (main):
3143           add some tests related to cleanup after running pipelines
3144
3145 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3146
3147         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3148           add a testsuite for GstBuffer
3149
3150 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3151
3152         * gst/gstminiobject.h:
3153           add defines for accessing the refcount
3154
3155 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3156
3157         * Makefile.am: added support for html unit test coverage reports
3158
3159 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3160
3161         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3162           Free existing caps if the capsfilter changes. Add a FIXME about
3163           setting those caps on the pads.
3164
3165         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3166           Before adding a ghost pad to a parent bin, check that there isn't
3167           already one for the element on the bin. Prevents infinite recursion
3168           when using decodebin in parse pipelines. Andy says he'll rewrite the
3169           way this works anyway, so ignore the hack.
3170
3171 2005-06-02  Andy Wingo  <wingo@pobox.com>
3172
3173         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3174         file size, pass it on to the type find helper.
3175
3176         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3177         segment_start and segment_end properly according to the seek
3178         method. Segment_end is still a bit flaky because offset can be
3179         negative for CUR and END cases, but it takes -1 as an "unset"
3180         value.
3181
3182 2005-06-02  Wim Taymans  <wim@fluendo.com>
3183
3184         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3185         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3186         (gst_basesink_activate):
3187         * gst/base/gstbasesink.h:
3188         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3189         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3190         (gst_pad_query), (gst_pad_start_task):
3191         * gst/gstpad.h:
3192         * gst/gstqueue.c: (gst_queue_bufferalloc),
3193         (gst_queue_handle_sink_event), (gst_queue_chain):
3194         Bufferalloc: return GstFlowReturn to more accuratly report
3195         why allocation failed.
3196
3197 2005-06-02  Wim Taymans  <wim@fluendo.com>
3198
3199         * gst/gstpipeline.c: (gst_pipeline_send_event):
3200         Take snapshot of state without blocking.
3201
3202 2005-06-02  Wim Taymans  <wim@fluendo.com>
3203
3204         * docs/design/part-TODO.txt:
3205         * docs/design/part-caps.txt:
3206         * docs/design/part-clocks.txt:
3207         * docs/design/part-negotiation.txt:
3208         * docs/design/part-preroll.txt:
3209         Small doc updates 
3210
3211 2005-05-30  Wim Taymans  <wim@fluendo.com>
3212
3213         * gst/elements/gstidentity.c: (gst_identity_event),
3214         (gst_identity_transform), (gst_identity_get_property):
3215         Protect last_message property as it is accessed from
3216         multiple threads.
3217
3218 2005-05-30  Wim Taymans  <wim@fluendo.com>
3219
3220         * gst/gstelement.c: (gst_element_init),
3221         (gst_element_pads_activate), (gst_element_change_state):
3222         Slicker pad activation code.
3223
3224 2005-05-30  Wim Taymans  <wim@fluendo.com>
3225
3226         * gst/Makefile.am:
3227         * gst/gstelement.h:
3228         * gst/gstelementfactory.h:
3229         * gst/gsttypes.h:
3230         Move elementfactory methods to separate .h file.
3231
3232 2005-05-30  Wim Taymans  <wim@fluendo.com>
3233
3234         * docs/design/part-overview.txt:
3235         * gst/gstsystemclock.h:
3236         Small typo fixes, doc updates.
3237
3238 2005-05-30  Wim Taymans  <wim@fluendo.com>
3239
3240         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3241         (init_popt_callback):
3242         Remove cpu-opt flag.
3243
3244 2005-05-30  Wim Taymans  <wim@fluendo.com>
3245
3246         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3247         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3248         * gst/gstbuffer.h:
3249         Avoid typechecking in places where not needed.
3250         Added accessor for malloc_data.
3251
3252 2005-05-30  Wim Taymans  <wim@fluendo.com>
3253
3254         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3255         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3256         (gst_pad_configure_sink), (gst_pad_configure_src),
3257         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3258         (gst_pad_start_task):
3259         Propagate errors from _set_caps() in configure_src/sink
3260         functions instead of returning TRUE.
3261         FLUSH events can travel up and downstream
3262
3263
3264 2005-05-30  Wim Taymans  <wim@fluendo.com>
3265
3266         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3267         (gst_basesink_activate):
3268         Handle EOS in preroll.
3269
3270 2005-05-30  Wim Taymans  <wim@fluendo.com>
3271
3272         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3273         (gst_queue_loop), (gst_queue_handle_src_event):
3274         Remove old pieces of code
3275         Flushing the queue in an upstream event is a very bad idea.
3276
3277 2005-05-26  Andy Wingo  <wingo@pobox.com>
3278
3279         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3280         gst_value_set_mini_object so as to add a ref on the object (which
3281         will be removed when the value is unset).
3282
3283         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3284         arg type in ::handoff.
3285
3286         * gst/gstelement.c (gst_element_change_state): Also deactivate
3287         pads in READY->NULL, just in case the element didn't make it to
3288         PAUSED. Wingo tested, Wim approved.
3289
3290 2005-05-26  Wim Taymans  <wim@fluendo.com>
3291
3292         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3293         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3294         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3295         A flushing pad cannot be used to alloc_buffer from.
3296
3297 2005-05-26  Wim Taymans  <wim@fluendo.com>
3298
3299         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3300         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3301         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3302         (gst_bus_create_watch), (gst_bus_add_watch_full):
3303         * gst/gstbus.h:
3304         Implement a real GSource and use g_main_context_wakeup() to
3305         signal new messages instead of the socketpair.
3306
3307 2005-05-25  Wim Taymans  <wim@fluendo.com>
3308
3309         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3310         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3311         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3312         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3313         (gst_pad_send_event), (gst_pad_start_task):
3314         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3315         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3316         (gst_queue_sink_activate), (gst_queue_src_activate),
3317         (gst_queue_change_state):
3318         * gst/gstqueue.h:
3319         Fix state changes for non sinks. We now change sinks, then elements
3320         with unconnected srcpads, then the rest.
3321         More efficient queue unlocking in flush and state changes.
3322         Set the pad activate mode even if it does not have an activate
3323         function.
3324
3325 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3326
3327         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3328           Don't go in pull mode for non-seekable sources.
3329         * gst/elements/gsttypefindelement.h:
3330         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3331         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3332         (free_entry), (stop_typefinding),
3333         (gst_type_find_element_handle_event), (find_peek),
3334         (gst_type_find_element_chain), (do_pull_typefind),
3335         (gst_type_find_element_change_state):
3336           Allow typefinding (w/o seeking) in push-mode, simplified version
3337           of what was in 0.8.
3338         * gst/gstutils.c: (gst_buffer_join):
3339         * gst/gstutils.h:
3340           gst_buffer_join() from 0.8.
3341
3342 2005-05-25  Wim Taymans  <wim@fluendo.com>
3343
3344         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3345         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3346         (gst_pad_send_event), (gst_pad_start_task):
3347         Disable attempt at mode switching until it is figured out.
3348
3349 2005-05-25  Wim Taymans  <wim@fluendo.com>
3350
3351         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3352         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3353         (gst_basesink_finish_preroll), (gst_basesink_chain),
3354         (gst_basesink_loop), (gst_basesink_activate),
3355         (gst_basesink_change_state):
3356         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3357         (gst_basesrc_get_range), (gst_basesrc_loop),
3358         (gst_basesrc_activate):
3359         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3360         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3361         (gst_real_pad_init), (gst_real_pad_set_property),
3362         (gst_real_pad_get_property), (gst_pad_set_active),
3363         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3364         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3365         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3366         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3367         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3368         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3369         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3370         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3371         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3372         (gst_pad_stop_task):
3373         * gst/gstpad.h:
3374         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3375         (gst_queue_loop), (gst_queue_src_activate):
3376         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3377         (gst_task_get_state):
3378         * gst/gsttask.h:
3379         * gst/schedulers/threadscheduler.c:
3380         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3381         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3382         in task function.
3383         Remove ACTIVE pad flag, use FLUSHING everywhere
3384         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3385         functions.
3386         Add locks around IS_FLUSHING when reading.
3387         Take STREAM lock in chain(), get_range() functions so plugins
3388         don't need to take it anymore.
3389         
3390
3391
3392 2005-05-25  Wim Taymans  <wim@fluendo.com>
3393
3394         * tools/gst-launch.c: (event_loop):
3395         Unref message after using its contents instead of
3396         before.
3397
3398 2005-05-24  Wim Taymans  <wim@fluendo.com>
3399
3400         * docs/design/draft-ghostpads.txt:
3401         * docs/design/draft-push-pull.txt:
3402         * docs/design/draft-query.txt:
3403         * docs/design/part-overview.txt:
3404         Docs updates, added general overview doc.
3405
3406 2005-05-21  David Schleef  <ds@schleef.org>
3407
3408         * docs/gst/tmpl/old/GstBin.sgml:
3409         * docs/gst/tmpl/old/GstBuffer.sgml:
3410         * docs/gst/tmpl/old/GstCaps.sgml:
3411         * docs/gst/tmpl/old/GstClock.sgml:
3412         * docs/gst/tmpl/old/GstCompat.sgml:
3413         * docs/gst/tmpl/old/GstData.sgml:
3414         * docs/gst/tmpl/old/GstElement.sgml:
3415         * docs/gst/tmpl/old/GstEvent.sgml:
3416         * docs/gst/tmpl/old/GstIndex.sgml:
3417         * docs/gst/tmpl/old/GstStructure.sgml:
3418         * docs/gst/tmpl/old/GstTag.sgml:
3419         * docs/gst/tmpl/old/cothreads.sgml:
3420         * docs/gst/tmpl/old/cothreads_compat.sgml:
3421         * docs/gst/tmpl/old/gettext.sgml:
3422         * docs/gst/tmpl/old/gobject2gtk.sgml:
3423         * docs/gst/tmpl/old/grammar.tab.sgml:
3424         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3425         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3426         * docs/gst/tmpl/old/gst_private.sgml:
3427         * docs/gst/tmpl/old/gstaggregator.sgml:
3428         * docs/gst/tmpl/old/gstarch.sgml:
3429         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3430         * docs/gst/tmpl/old/gstbufferstore.sgml:
3431         * docs/gst/tmpl/old/gstdata_private.sgml:
3432         * docs/gst/tmpl/old/gstdisksink.sgml:
3433         * docs/gst/tmpl/old/gstdisksrc.sgml:
3434         * docs/gst/tmpl/old/gstelementfactory.sgml:
3435         * docs/gst/tmpl/old/gstextratypes.sgml:
3436         * docs/gst/tmpl/old/gstfakesink.sgml:
3437         * docs/gst/tmpl/old/gstfakesrc.sgml:
3438         * docs/gst/tmpl/old/gstfdsink.sgml:
3439         * docs/gst/tmpl/old/gstfdsrc.sgml:
3440         * docs/gst/tmpl/old/gstfilesink.sgml:
3441         * docs/gst/tmpl/old/gstfilesrc.sgml:
3442         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3443         * docs/gst/tmpl/old/gstidentity.sgml:
3444         * docs/gst/tmpl/old/gstindexfactory.sgml:
3445         * docs/gst/tmpl/old/gstmarshal.sgml:
3446         * docs/gst/tmpl/old/gstmd5sink.sgml:
3447         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3448         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3449         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3450         * docs/gst/tmpl/old/gstpipefilter.sgml:
3451         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3452         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3453         * docs/gst/tmpl/old/gstshaper.sgml:
3454         * docs/gst/tmpl/old/gstspider.sgml:
3455         * docs/gst/tmpl/old/gstspideridentity.sgml:
3456         * docs/gst/tmpl/old/gststatistics.sgml:
3457         * docs/gst/tmpl/old/gsttee.sgml:
3458         * docs/gst/tmpl/old/gsttimecache.sgml:
3459         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3460         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3461         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3462         * docs/gst/tmpl/old/types.sgml:
3463           I didn't intend to add these or check them in.
3464
3465 2005-05-19  David Schleef  <ds@schleef.org>
3466
3467         * configure.ac: Use -no-common everywhere.  In a sane world, it
3468           would be the default in libtool, because without it, you can't
3469           build DLLs on Windows.
3470         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3471         * docs/gst/gstreamer-sections.txt:
3472         * docs/gst/tmpl/gstcpu.sgml:
3473         * docs/gst/tmpl/gstdata.sgml:
3474         * docs/gst/tmpl/gstthread.sgml:
3475
3476 2005-05-19  David Schleef  <ds@schleef.org>
3477
3478         * gst/gstminiobject.c: (gst_value_set_mini_object),
3479         (gst_value_take_mini_object), (gst_value_get_mini_object):
3480         * gst/gstminiobject.h: Add GValue set/get functions.
3481
3482 2005-05-19  Wim Taymans  <wim@fluendo.com>
3483
3484         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3485         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3486         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3487         * gst/gstbuffer.h:
3488         * gst/gstbus.c: (gst_bus_post):
3489         * gst/gstelement.c: (gst_element_get_random_pad):
3490         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3491         Make subbufer unref the parent in finalize.
3492         some more debugging info.
3493
3494
3495 2005-05-19  Wim Taymans  <wim@fluendo.com>
3496
3497         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3498         (gst_basesink_init), (gst_basesink_finalize),
3499         (gst_basesink_activate), (gst_basesink_change_state):
3500         Don't free preroll queue too early.
3501
3502 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3503
3504         * gst/Makefile.am:
3505         * gst/ROADMAP:
3506           Hi, I'm outdated. Please shoot me.
3507
3508 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3509
3510         * gst/gstpipeline.c: (gst_pipeline_send_event):
3511           Do not access variables after they have been deleted.
3512
3513 2005-05-19  Wim Taymans  <wim@fluendo.com>
3514
3515         * tools/gst-inspect.c: (print_plugin_features):
3516         A plugin feature does unfortunatly not use the
3517         object name yet...
3518
3519 2005-05-18  Wim Taymans  <wim@fluendo.com>
3520
3521         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3522         Port _span() functions to new subbuffers.
3523
3524 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3525
3526         * gst/gstbin.c: (gst_bin_add_func):
3527           Fix clock settery in bins when adding kids after the clock has
3528           been selected.
3529
3530 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3531
3532         * gst/elements/gstidentity.c: (gst_identity_class_init):
3533           Workaround until signals support GstMiniObject.
3534
3535 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3536
3537         * gst/gstbuffer.c:
3538         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3539
3540 2005-05-18  Wim Taymans  <wim@fluendo.com>
3541
3542         * gst/base/Makefile.am:
3543         * gst/base/gstadapter.c: (gst_adapter_base_init),
3544         (gst_adapter_class_init), (gst_adapter_init),
3545         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3546         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3547         (gst_adapter_flush), (gst_adapter_available),
3548         (gst_adapter_available_fast):
3549         * gst/base/gstadapter.h:
3550         Ported and added adapter to the base classes.
3551
3552 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3553
3554         * gst/gst.c:
3555         * gst/gstmessage.c:
3556           Make sure the class is reffed/unreffed once before threads can be
3557           used.  Fixes #304551.
3558
3559 2005-05-17  Wim Taymans  <wim@fluendo.com>
3560
3561         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3562         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3563         * gst/gstminiobject.c: (gst_mini_object_get_type),
3564         (gst_mini_object_free):
3565         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3566         (gst_pad_push), (gst_pad_push_event):
3567         * gst/gstqueue.c: (gst_queue_change_state):
3568         Don't queue buffers in basesink when we are flushing.
3569         Unref buffer when flushing in basesink.
3570         Flush queue when going to READY
3571         Unref buffer when _push() returns an error.
3572         Don't free MiniObject instance when refcount is incremented
3573         in _finalize() so that we can recover objects.
3574
3575 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3576
3577         * docs/manual/advanced-schedulers.xml:
3578         * docs/manual/appendix-checklist.xml:
3579         * docs/pwg/advanced-clock.xml:
3580         * docs/pwg/advanced-interfaces.xml:
3581         * docs/pwg/advanced-request.xml:
3582         * docs/pwg/advanced-types.xml:
3583         * docs/pwg/intro-preface.xml:
3584         * examples/plugins/example.c: (gst_example_get_type),
3585         (gst_example_class_init), (gst_example_chain),
3586         (gst_example_set_property), (gst_example_get_property),
3587         (gst_example_change_state), (plugin_init):
3588         * examples/plugins/example.h:
3589           small doc fixes
3590
3591 2005-05-17  Wim Taymans  <wim@fluendo.com>
3592
3593         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3594         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3595         * gst/gstqueue.c: (gst_queue_change_state):
3596         Clear queue when going to READY.
3597         Remove IN_SETCAPS flag too.
3598
3599 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3600
3601         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3602           Remove implicit cast from gboolean to GstElementStateReturn;
3603           make sure we still return failure in paused => ready case if
3604           the parent class fails to change state and our own stop 
3605           vfunc succeeds.
3606
3607 2005-05-17  Wim Taymans  <wim@fluendo.com>
3608
3609         * tools/gst-launch.c: (event_loop):
3610         Message was unreffed too soon.
3611
3612 2005-05-16  Andy Wingo  <wingo@pobox.com>
3613
3614         * gst/gstbin.c (sink_iterator_filter): Err... um...
3615
3616         * check/gst/gstbin.c (test_ghost_pads): New test for the
3617         ghosting-if-elements-not-in-same-bin behavior.
3618
3619 2005-05-16  David Schleef  <ds@schleef.org>
3620
3621         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3622         accessing refcount directly.
3623
3624 2005-05-15  David Schleef  <ds@schleef.org>
3625
3626         * check/Makefile.am: remove GstData checks
3627         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3628         * gst/Makefile.am: add miniobject, remove data
3629         * gst/gst.h: add miniobject, remove data
3630         * gst/gstdata.c: remove
3631         * gst/gstdata.h: remove
3632         * gst/gstdata_private.h: remove
3633         * gst/gsttypes.h: remove GstEvent and GstMessage
3634         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3635         * gst/gstmarshal.list: change BOXED -> OBJECT
3636
3637         Implement GstMiniObject.
3638         * gst/gstminiobject.c:
3639         * gst/gstminiobject.h:
3640
3641         Modify to be subclasses of GstMiniObject.
3642         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3643         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3644         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3645         (gst_subbuffer_get_type), (gst_subbuffer_init),
3646         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3647         (gst_buffer_span):
3648         * gst/gstbuffer.h:
3649         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3650         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3651         (_gst_event_copy), (gst_event_new):
3652         * gst/gstevent.h:
3653         * gst/gstmessage.c: (_gst_message_initialize),
3654         (gst_message_get_type), (gst_message_class_init),
3655         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3656         (gst_message_new), (gst_message_new_error),
3657         (gst_message_new_warning), (gst_message_new_tag),
3658         (gst_message_new_state_changed), (gst_message_new_application):
3659         * gst/gstmessage.h:
3660         * gst/gstprobe.c: (gst_probe_perform),
3661         (gst_probe_dispatcher_dispatch):
3662         * gst/gstprobe.h:
3663         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3664         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3665         (_gst_query_copy), (gst_query_new):
3666
3667         Update elements for GstData -> GstMiniObject changes
3668         * gst/gstquery.h:
3669         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3670         (gst_queue_chain), (gst_queue_loop):
3671         * gst/elements/gstbufferstore.c:
3672         (gst_buffer_store_add_buffer_func),
3673         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3674         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3675         (gst_fakesink_render):
3676         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3677         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3678         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3679         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3680         (gst_filesrc_create_read):
3681         * gst/elements/gstidentity.c: (gst_identity_class_init):
3682         * gst/elements/gsttypefindelement.c:
3683         (gst_type_find_element_src_event), (free_entry_buffers),
3684         (gst_type_find_element_handle_event):
3685         * libs/gst/dataprotocol/dataprotocol.c:
3686         (gst_dp_header_from_buffer):
3687         * libs/gst/dataprotocol/dataprotocol.h:
3688         * libs/gst/dataprotocol/dp-private.h:
3689
3690 2005-05-15  David Schleef  <ds@schleef.org>
3691
3692         * gst/elements/gstelements.c: Don't include headers that were
3693         just removed.
3694
3695 2005-05-15  David Schleef  <ds@schleef.org>
3696
3697         * gst/elements/Makefile.am: Remove some elements that don't
3698         need to be in the core (or even exist at all).
3699         * gst/elements/gstaggregator.c:
3700         * gst/elements/gstaggregator.h:
3701         * gst/elements/gstmd5sink.c:
3702         * gst/elements/gstmd5sink.h:
3703         * gst/elements/gstmultifilesrc.c:
3704         * gst/elements/gstmultifilesrc.h:
3705         * gst/elements/gstpipefilter.c:
3706         * gst/elements/gstpipefilter.h:
3707         * gst/elements/gstshaper.c:
3708         * gst/elements/gstshaper.h:
3709         * gst/elements/gststatistics.c:
3710         * gst/elements/gststatistics.h:
3711         * po/POTFILES.in: Remove above files.
3712
3713 2005-05-14  Andy Wingo  <wingo@pobox.com>
3714
3715         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3716         so as to get the refs right.
3717         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3718         unreffing objects that don't pass the filter.
3719
3720         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3721         gst_element_set_bus.
3722         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3723         normal cases, this will destroy the bus.
3724
3725         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3726         object.
3727
3728         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3729         has no sinks.
3730
3731 2005-05-13  Andy Wingo  <wingo@pobox.com>
3732
3733         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3734         gst_pad_link, call pad_link_maybe_ghosting,
3735         (pad_link_maybe_ghosting): Links pads, making sure that the
3736         elements being linked are in the same bin.
3737         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3738         Helpers for pad_link_maybe_ghosting.
3739
3740 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3741
3742         * configure.ac:
3743           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3744
3745 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3746
3747         * docs/design/part-element-source.txt:
3748           Mention GstPushSrc
3749
3750 2005-05-12  Wim Taymans  <wim@fluendo.com>
3751
3752         * gst/base/gstbasesink.c: (gst_basesink_init),
3753         (gst_basesink_activate):
3754         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3755         (gst_basesrc_is_seekable):
3756         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3757         (bin_element_is_sink), (gst_bin_change_state):
3758         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3759         * gst/gstelement.h:
3760         Identify sinks by their flag to avoid overly complicated
3761         checks (fow now).
3762         Do state changes even for elements not reachable from the
3763         sinks.
3764         BaseSink is a sink now :)
3765         Some more debugging info in the basesrc.
3766
3767
3768 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3769
3770         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3771           Implement _query on a bin, similar to _send_event.
3772
3773 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3774
3775         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3776           Discont event offset format should be GST_FORMAT_BYTES,
3777           not GST_FORMAT_TIME.
3778
3779 2005-05-12  Wim Taymans  <wim@fluendo.com>
3780
3781         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3782         Same fix as Ronald's but without the signal. 
3783
3784 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3785
3786         * gst/gstutils.c: (gst_element_query_position):
3787           No, an element is not a pad.
3788
3789 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3790
3791         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3792         (gst_bin_get_state):
3793           If a child is removed from a bin while we remove the child from
3794           the bin and while we're retrieving its state, signal this to the
3795           get_state function so we abort the wait (instead of waiting for
3796           a timeout) and can immediately re-iterate over all other elements.
3797
3798 2005-05-12  Wim Taymans  <wim@fluendo.com>
3799
3800         * gst/base/Makefile.am:
3801         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3802         (gst_basesrc_start):
3803         * gst/base/gstbasesrc.h:
3804         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3805         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3806         (gst_pushsrc_init), (gst_pushsrc_create):
3807         * gst/base/gstpushsrc.h:
3808         Added is_seekable to BaseSrc
3809         Added simple PushSrc.
3810
3811 2005-05-11  Wim Taymans  <wim@fluendo.com>
3812
3813         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3814         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3815         (gst_element_link_pads), (gst_element_query_position),
3816         (gst_element_query_convert), (intersect_caps_func),
3817         (gst_pad_query_position), (gst_pad_query_convert):
3818         Fix refcounting in utils function.
3819         No point in trying to activate a pad when it's added, it could
3820         be added from the state change function and then we deadlock, the
3821         element has to decide what to do.
3822
3823 2005-05-10  Andy Wingo  <wingo@pobox.com>
3824
3825         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3826         *all* the arguments.
3827
3828         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3829         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3830         lock (according to the docs -- if this is wrong change the docs).
3831
3832         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3833         flush messages in the NULL state.
3834
3835         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3836         message immediately and return.
3837         (gst_bus_set_flushing): New function. If a bus is flushing, it
3838         flushes out any queued messages and immediately unrefs new
3839         messages. This is so when an element goes to NULL, all of the
3840         unhandled messages coming from it can be freed, and their
3841         references to the element dropped. In other words: message source
3842         ref considered harmful :P
3843
3844         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3845         we're finished with it.
3846
3847         * gst/gstmessage.c (gst_message_new_state_changed): 
3848
3849 2005-05-10  Wim Taymans  <wim@fluendo.com>
3850
3851         * gst/gstvalue.c: (gst_value_compare_flags),
3852         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3853         (_gst_value_initialize):
3854         Added flags serialize/deserialize/compare code.
3855
3856 2005-05-09  Andy Wingo  <wingo@pobox.com>
3857
3858         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3859         Intersect the peer's caps with our caps.
3860
3861 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3862
3863         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3864         * gst/elements/gsttypefindelement.c: (find_peek):
3865           Handle negative offsets better. Fixes decodebin.
3866
3867 2005-05-09  Wim Taymans  <wim@fluendo.com>
3868
3869         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3870         (gst_base_transform_event):
3871         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3872         Implement accept_caps.
3873         Fix silly lock/unlock mismatch in base class.
3874
3875 2005-05-09  Wim Taymans  <wim@fluendo.com>
3876
3877         * docs/design/draft-push-pull.txt:
3878         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3879         * gst/elements/gstfilesink.c: (gst_filesink_init),
3880         (gst_filesink_query):
3881         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3882         (gst_type_find_handle_src_query), (find_element_get_length):
3883         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3884         * gst/gstelement.h:
3885         * gst/gstmessage.c:
3886         * gst/gstmessage.h:
3887         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3888         (gst_real_pad_get_caps_unlocked),
3889         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3890         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3891         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3892         (gst_real_pad_dispose), (gst_real_pad_finalize),
3893         (gst_pad_load_and_link), (gst_pad_save_thyself),
3894         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3895         (gst_pad_check_pull_range), (gst_pad_pull_range),
3896         (gst_pad_template_get_type), (gst_pad_template_class_init),
3897         (gst_pad_template_init), (gst_pad_template_dispose),
3898         (name_is_valid), (gst_static_pad_template_get),
3899         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3900         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3901         (gst_pad_get_element_private), (gst_pad_start_task),
3902         (gst_pad_pause_task), (gst_pad_stop_task),
3903         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3904         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3905         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3906         (gst_ghost_pad_new):
3907         * gst/gstpad.h:
3908         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3909         (gst_query_new_position), (gst_query_set_position),
3910         (gst_query_parse_position), (gst_query_new_convert),
3911         (gst_query_set_convert), (gst_query_parse_convert):
3912         * gst/gstquery.h:
3913         * gst/gstqueryutils.c:
3914         * gst/gstqueryutils.h:
3915         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3916         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3917         (gst_queue_handle_src_query):
3918         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3919         (gst_element_query_position), (gst_element_query_convert),
3920         (intersect_caps_func), (gst_pad_query_position),
3921         (gst_pad_query_convert):
3922         * gst/gstutils.h:
3923         * tools/gst-inspect.c: (print_pad_info):
3924         * tools/gst-xmlinspect.c: (print_element_info):
3925         Remove old query functions. Ported old code.
3926         Added position/convert helper functions to gstutils.
3927         Reordered gstpad.c code, grouping relevant things.
3928         Remove gst_message_new(), always need to speficy a specific
3929         message.
3930
3931
3932 2005-05-09  Andy Wingo  <wingo@pobox.com>
3933
3934         * gst/gstiterator.h: Add some includes.
3935
3936         * gst/gstqueryutils.h: Include more headers.
3937
3938         * gst/gstpad.h:
3939         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3940         some uses of gst_pad_query.
3941
3942         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3943         NULL out parameters.
3944         (gst_query_new_position): New proc, allocates a new position
3945         query.
3946
3947         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3948         gstqueryutils.c to the build.
3949
3950         * gst/gststructure.c (gst_structure_set_valist): Implement with
3951         the generic G_VALUE_COLLECT.
3952         
3953 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3954
3955         * gst/Makefile.am: (gst_headers):
3956         Added gstqueryutils.h to the list of headers to install, that was
3957         a 'nachty' move wingo :)
3958
3959 2005-05-06  Andy Wingo  <wingo@pobox.com>
3960
3961         * gst/gstquery.h
3962         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3963         GstData, init a memchunk.
3964         (standard_definitions): Add a few query types, deprecate a few.
3965         (gst_query_get_type): New proc.
3966         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3967         implementation.
3968         (gst_query_new_application, gst_query_get_structure): New public
3969         procs.
3970
3971         * docs/design/draft-query.txt: Removed LINKS from the query types,
3972         because all the rest can be dispatched to other pads -- seemed
3973         ugly to have a query that couldn't be dispatched. internal_links
3974         is fine as a pad method.
3975
3976         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3977         in gstpad.c, but maintain binary compatibility for the moment.
3978         Will fix before 0.9 is out.
3979
3980         * gst/gstqueryutils.c: 
3981         * gst/gstqueryutils.h: New files, implement 3 methods for each
3982         query type: parse_query, parse_response, and set. Probably need an
3983         allocator as well.
3984
3985         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3986
3987         * gst/elements/gstfilesink.c (gst_filesink_query2):
3988         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3989         query_types, and formats methods.
3990
3991         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3992         (gst_pad_set_query2_function): New functions.
3993         (gst_real_pad_init): Set query2_default as the default query2
3994         function. Basically just dispatches to internally linked pads.
3995
3996         Needs review!
3997         
3998         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3999         without using the atomic operations. Only one thread can possibly
4000         be accessing the data at this point. Changed so as to avoid
4001         gst_atomic operations.
4002
4003 2005-05-06  Wim Taymans  <wim@fluendo.com>
4004
4005         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4006         Also set caps if we use the fallback buffer alloc.
4007
4008 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
4009
4010         * docs/gst/Makefile.am:
4011         * docs/gst/gstreamer-docs.sgml:
4012         * docs/gst/gstreamer-sections.txt:
4013         * docs/gst/tmpl/gstatomic.sgml:
4014         * docs/gst/tmpl/gstmemchunk.sgml:
4015         * testsuite/elements/struct_i386.h:
4016         * win32/GStreamer.vcproj:
4017         * win32/Makefile:
4018           Purge GstAtomic stuff from docs and win32 makefiles as well
4019
4020 2005-05-06  Wim Taymans  <wim@fluendo.com>
4021
4022         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4023         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4024         * gst/gstpad.c: (gst_pad_peer_get_caps):
4025         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4026         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4027         (gst_queue_src_activate), (gst_queue_change_state):
4028         * gst/gstqueue.h:
4029         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4030         (intersect_caps_func):
4031         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4032         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4033         Some fixes for the peer_get_caps() change.
4034
4035 2005-05-06  Wim Taymans  <wim@fluendo.com>
4036
4037         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4038         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4039         (gst_basesink_activate):
4040         Actually do something with error codes returned from the push
4041         functions.
4042
4043 2005-05-06  Wim Taymans  <wim@fluendo.com>
4044
4045         * docs/design/part-element-sink.txt:
4046         * docs/design/part-element-source.txt:
4047         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4048         (gst_basesink_event), (gst_basesink_activate):
4049         * gst/base/gstbasesink.h:
4050         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4051         (gst_basesrc_activate):
4052         * gst/base/gstbasesrc.h:
4053         * gst/gstelement.c: (gst_element_pads_activate):
4054         Some more documentation.
4055         Fixed scheduling decision in _pads_activate().
4056
4057 2005-05-05  Andy Wingo  <wingo@pobox.com>
4058
4059         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4060         the test suite.
4061
4062 2005-05-05  Wim Taymans  <wim@fluendo.com>
4063
4064         * gst/base/Makefile.am:
4065         * gst/base/gstbasesink.h:
4066         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4067         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4068         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4069         (gst_collectpads_class_init), (gst_collectpads_init),
4070         (gst_collectpads_finalize), (gst_collectpads_new),
4071         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4072         (find_pad), (gst_collectpads_remove_pad),
4073         (gst_collectpads_is_active), (gst_collectpads_collect),
4074         (gst_collectpads_collect_range), (gst_collectpads_start),
4075         (gst_collectpads_stop), (gst_collectpads_peek),
4076         (gst_collectpads_pop), (gst_collectpads_available),
4077         (gst_collectpads_read), (gst_collectpads_flush),
4078         (gst_collectpads_chain):
4079         * gst/base/gstcollectpads.h:
4080         * gst/elements/Makefile.am:
4081         * gst/elements/gstelements.c:
4082         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4083         (gst_fakesink_get_times), (gst_fakesink_event),
4084         (gst_fakesink_preroll), (gst_fakesink_render):
4085         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4086         (gst_filesink_init), (gst_filesink_set_location),
4087         (gst_filesink_open_file), (gst_filesink_close_file),
4088         (gst_filesink_pad_query), (gst_filesink_event),
4089         (gst_filesink_render), (gst_filesink_change_state):
4090         * gst/elements/gstfilesink.h:
4091         Added object to help in making collect pad based elements.
4092         Ported filesink.
4093         Make event function in sink baseclass return gboolean.
4094
4095 2005-05-05  Wim Taymans  <wim@fluendo.com>
4096
4097         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4098         (gst_bin_get_by_name):
4099         * gst/gstbuffer.h:
4100         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4101         (gst_clock_finalize):
4102         * gst/gstdata.c: (gst_data_replace):
4103         * gst/gstdata.h:
4104         * gst/gstelement.c: (gst_element_request_pad),
4105         (gst_element_pads_activate):
4106         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4107         (gst_object_unref):
4108         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4109         (gst_pad_set_checkgetrange_function),
4110         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4111         (gst_pad_check_pull_range), (gst_pad_pull_range),
4112         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4113         (gst_pad_pause_task), (gst_pad_stop_task):
4114         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4115         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4116         Fix name lookup in GstBin.
4117         Added _data_replace() function and _buffer_replace()
4118         Use finalize method to clean up clock.
4119         Fix refcounting on request pads.
4120         Fix pad schedule mode error.
4121         Some more object refcounting debug info,
4122
4123
4124 2005-05-04  Andy Wingo <wingo@pobox.com>
4125
4126         * check/Makefile.am:
4127         * docs/gst/tmpl/gstatomic.sgml:
4128         * docs/gst/tmpl/gstplugin.sgml:
4129         * gst/base/gstbasesink.c: (gst_basesink_activate):
4130         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4131         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4132         (gst_basesrc_query), (gst_basesrc_set_property),
4133         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4134         (gst_basesrc_activate):
4135         * gst/base/gstbasesrc.h:
4136         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4137         (gst_base_transform_src_activate):
4138         * gst/elements/gstelements.c:
4139         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4140         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4141         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4142         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4143         (gst_type_find_element_checkgetrange),
4144         (gst_type_find_element_activate):
4145         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4146         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4147         (gst_caps_load_thyself):
4148         * gst/gstelement.c: (gst_element_pads_activate),
4149         (gst_element_save_thyself), (gst_element_restore_thyself):
4150         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4151         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4152         * gst/gstpad.h:
4153         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4154         (gst_xml_parse_file), (gst_xml_parse_memory),
4155         (gst_xml_get_element), (gst_xml_make_element):
4156         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4157         (_file_index_id_save_xml), (gst_file_index_commit):
4158         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4159         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4160         (load_paths):
4161         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4162         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4163         * tools/gst-complete.c: (main):
4164         * tools/gst-compprep.c: (main):
4165         * tools/gst-inspect.c: (print_element_properties_info):
4166         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4167         * tools/gst-xmlinspect.c: (print_element_properties):
4168         GCC 4 fixen.
4169         
4170 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4171
4172         * gst/gstplugin.c: (gst_plugin_check_module),
4173         (gst_plugin_check_file), (gst_plugin_load_file):
4174             apply patch from #172526 to make register work on MacOSX
4175
4176 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4177
4178         * docs/gst/tmpl/gstconfig.sgml:
4179         * gst/gstconfig.h.in:
4180           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4181         * testsuite/debug/printf_extension.c: (main):
4182           Do not use GST_PTR_FORMAT on pointers to types with
4183           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4184         * testsuite/elements/property.h:
4185           use correct printf format
4186
4187 2005-05-02  Wim Taymans  <wim@fluendo.com>
4188
4189         * docs/design/draft-push-pull.txt:
4190         * docs/design/draft-query.txt:
4191         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4192         (gst_basesrc_start):
4193         Added draft for new query API.
4194         Added draft for better selecting scheduling methods.
4195         Make basesrc ignore length if the subclass does not support
4196         it.
4197
4198 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4199
4200         * gst/Makefile.am:
4201           possible fixes for automake-1.5 - _LIBADD is reserved
4202
4203 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4204
4205         * docs/faq/Makefile.am:
4206         * docs/manual/Makefile.am:
4207         * docs/manuals.mak:
4208         * docs/pwg/Makefile.am:
4209         * gst/Makefile.am:
4210           possible fixes for automake-1.5
4211
4212 2005-04-28  Wim Taymans  <wim@fluendo.com>
4213
4214         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4215         (gst_basesink_pad_getcaps), (gst_basesink_init),
4216         (gst_basesink_do_sync):
4217         * gst/gstclock.c: (gst_clock_entry_new):
4218         * gst/gstevent.c: (gst_event_discont_get_value):
4219         * gst/gstpipeline.c: (pipeline_bus_handler),
4220         (gst_pipeline_change_state):
4221         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4222         Better debugging of clocking info.
4223         Allow NULL values when getting discont values.
4224
4225 2005-04-27  Wim Taymans  <wim@fluendo.com>
4226
4227         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4228         * check/gst/gstpad.c: (gst_pad_suite):
4229         Increase timeout for checks.
4230
4231 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4232
4233         * check/Makefile.am:
4234           fix the broken rule for cleanup.  Apparently this rule is
4235           only needed on FC2, so maybe this warrants further autotool
4236           inspection.
4237
4238 2005-04-26  Wim Taymans  <wim@fluendo.com>
4239
4240         * gst/gsttrashstack.h:
4241         Ooohh. a nasty one! After having a failed pop() from the stack,
4242         it's possible that the stack is empty. In that case, don't
4243         follow the NULL pointer.
4244
4245 2005-04-25  Wim Taymans  <wim@fluendo.com>
4246
4247         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4248         (gst_pad_set_checkgetrange_function),
4249         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4250         (gst_pad_check_pull_range), (gst_pad_pull_range),
4251         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4252         (gst_pad_pause_task), (gst_pad_stop_task):
4253         * gst/gstplugin.c: (gst_plugin_load):
4254         * gst/gstplugin.h:
4255         Remove gst_library_load as it does more harm than good with
4256         the new g_module flags.
4257         Revert bogus caps template check in pad linking, pad caps
4258         are important when linking not the template, which is more
4259         general than the current caps.
4260
4261 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4262
4263         * gst/autoplug/.cvsignore:
4264         * gst/autoplug/Makefile.am:
4265         * gst/autoplug/gstsearchfuncs.c:
4266         * gst/autoplug/gstsearchfuncs.h:
4267         * gst/autoplug/gstspider.c:
4268         * gst/autoplug/gstspider.h:
4269         * gst/autoplug/gstspideridentity.c:
4270         * gst/autoplug/gstspideridentity.h:
4271         * gst/autoplug/spidertest.c:
4272           Die, spider, die.
4273
4274 2005-04-25  Wim Taymans  <wim@fluendo.com>
4275
4276         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4277         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4278         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4279         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4280         * gst/gstpad.h:
4281         Added stubs for unimplemented functions. 
4282
4283 2005-04-24  David Schleef  <ds@schleef.org>
4284
4285         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4286         please fix.
4287
4288 2005-04-24  David Schleef  <ds@schleef.org>
4289
4290         Convert everything from GstAtomicInt to g_atomic_int_*, and
4291         remove gstatomic.
4292         * gst/Makefile.am:
4293         * gst/gstatomic.c:
4294         * gst/gstatomic.h:
4295         * gst/gstatomic_impl.h:
4296         * gst/gstbuffer.c:
4297         * gst/gstcaps.c:
4298         * gst/gstcaps.h:
4299         * gst/gstclock.c:
4300         * gst/gstclock.h:
4301         * gst/gstdata.c:
4302         * gst/gstdata.h:
4303         * gst/gstdata_private.h:
4304         * gst/gstevent.c:
4305         * gst/gstinfo.c:
4306         * gst/gstinfo.h:
4307         * gst/gstmessage.c:
4308         * gst/gstobject.c:
4309         * gst/gstobject.h:
4310         * gst/gststructure.c:
4311         * gst/gststructure.h:
4312         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4313         * gst/gstutils.h:
4314
4315 2005-04-24  David Schleef  <ds@schleef.org>
4316
4317         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4318         make the regressions tests work.  Remove some code that is no
4319         longer true.
4320         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4321         Disable warning for pads without templates.
4322
4323 2005-04-24  David Schleef  <ds@schleef.org>
4324
4325         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4326         functions that handle filtered links.
4327         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4328         removed functions.
4329         * gst/gstutils.c: Fix/remove utility functions that handle
4330         filtered caps.
4331         * gst/gstutils.h:
4332         * gst/gstvalue.c: Add serialization/deserialization of caps
4333         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4334         requires fixing so that the filter caps notation creates
4335         a capsfilter element and sets the filter_caps property.  I
4336         think everyone probably wants to keep the shorthand notation.
4337         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4338         * docs/gst/tmpl/gstpad.sgml:
4339
4340         * gst/elements/gstelements.c: Register capsfilter element.
4341         * gst/Makefile.am: fix spacing
4342         * docs/random/ds/0.9-suggested-changes: random
4343
4344 2005-04-23  David Schleef  <ds@schleef.org>
4345
4346         * gst/elements/Makefile.am:
4347         * gst/elements/gstcapsfilter.c: New element that acts like an
4348         identity, but filters caps.  Will eventually replace filtered
4349         caps in pad linking.
4350         * gst/gstutils.c: (gst_element_create_all_pads): New function
4351         to create all the ALWAYS pads that are registered with an
4352         element class.  This functionality should eventually be
4353         merged in with GstElement initialization.
4354         * gst/gstutils.h:
4355         * testsuite/trigger/README: part of trigger test code that should
4356         have been checked in a long time ago.
4357
4358 2005-04-23  David Schleef  <ds@schleef.org>
4359
4360         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4361         needed with new versions of libtool (nobody will confirm this),
4362         and hard to carry around.
4363         * gst/autoplug/Makefile.am:
4364         * gst/base/Makefile.am:
4365         * gst/elements/Makefile.am:
4366         * gst/indexers/Makefile.am:
4367         * gst/schedulers/Makefile.am:
4368         * libs/gst/bytestream/Makefile.am:
4369         * libs/gst/control/Makefile.am:
4370         * libs/gst/dataprotocol/Makefile.am:
4371         * libs/gst/getbits/Makefile.am:
4372
4373 2005-04-21  Wim Taymans  <wim@fluendo.com>
4374
4375         * docs/design/draft-push-pull.txt:
4376         * docs/design/part-MT-refcounting.txt:
4377         * docs/design/part-TODO.txt:
4378         * docs/design/part-caps.txt:
4379         * docs/design/part-events.txt:
4380         * docs/design/part-gstbus.txt:
4381         * docs/design/part-gstpipeline.txt:
4382         * docs/design/part-messages.txt:
4383         * docs/design/part-push-pull.txt:
4384         * docs/design/part-query.txt:
4385         Some more docs.
4386
4387 2005-04-21  Wim Taymans  <wim@fluendo.com>
4388
4389         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4390         (gst_message_new), (gst_message_new_error),
4391         (gst_message_new_warning), (gst_message_new_tag),
4392         (gst_message_new_state_changed), (gst_message_new_application),
4393         (gst_message_get_structure):
4394         * gst/gstmessage.h:
4395         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4396         (gst_structure_copy_conditional):
4397         Use parent refcount in GstMessage to ensure GstStructure
4398         consistency.
4399         Cleaned up headers a bit.
4400         
4401
4402 2005-04-20  Wim Taymans  <wim@fluendo.com>
4403
4404         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4405         (gst_basesink_pad_getcaps), (gst_basesink_init),
4406         (gst_basesink_chain_unlocked):
4407         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4408         (gst_type_find_helper):
4409         * gst/elements/gsttypefindelement.c:
4410         (gst_type_find_element_have_type), (gst_type_find_element_init),
4411         (stop_typefinding), (gst_type_find_element_handle_event),
4412         (find_suggest), (gst_type_find_element_chain),
4413         (gst_type_find_element_checkgetrange),
4414         (gst_type_find_element_getrange), (do_typefind),
4415         (gst_type_find_element_activate):
4416         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4417         (gst_buffer_default_free), (gst_buffer_default_copy),
4418         (gst_buffer_set_caps):
4419         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4420         (gst_caps_replace):
4421         * gst/gstmessage.c: (gst_message_new),
4422         (gst_message_new_state_changed):
4423         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4424         (gst_pad_set_checkgetrange_function),
4425         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4426         (gst_pad_set_caps), (gst_pad_check_pull_range),
4427         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4428         * gst/gstpad.h:
4429         * gst/gsttypefind.c: (gst_type_find_register):
4430         Make gst_caps_replace() work like other _replace() functions.
4431         Use _caps_replace() where possible.
4432         Make sure _message_new() initialises its field.
4433         Add gst_static_pad_template_get_caps()
4434
4435
4436 2005-04-18  Andy Wingo  <wingo@pobox.com>
4437
4438         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4439         on the peer, not the pad. I think that was a typo. Pass an extra
4440         arg to see if random access is possible. Activate the pads as
4441         PULL_RANGE if possible.
4442
4443         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4444
4445         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4446         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4447         to PROP_....
4448
4449 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4450
4451         * docs/faq/using.xml:
4452           Add note on gstreamer-properties (#154996).
4453
4454 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4455
4456         * docs/random/bbb/optional-properties:
4457           Some analysis on optional properties.
4458
4459 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4460
4461         * docs/gst/tmpl/gstelementfactory.sgml:
4462         * gst/gstelement.h:
4463         * gst/gstelementfactory.c: (gst_element_factory_init),
4464         (gst_element_factory_cleanup), (gst_element_register),
4465         (__gst_element_factory_add_static_pad_template),
4466         (gst_element_factory_get_static_pad_templates),
4467         (gst_element_factory_can_src_caps),
4468         (gst_element_factory_can_sink_caps):
4469         * gst/registries/Makefile.am:
4470         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4471         (gst_xml_registry_class_init), (gst_xml_registry_init),
4472         (gst_xml_registry_new), (gst_xml_registry_set_property),
4473         (gst_xml_registry_get_property), (get_time), (make_dir),
4474         (gst_xml_registry_get_perms_func),
4475         (plugin_times_older_than_recurse), (plugin_times_older_than),
4476         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4477         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4478         (add_to_char_array), (read_string), (read_uint), (read_enum),
4479         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4480         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4481         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4482         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4483         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4484         (gst_xml_registry_rebuild):
4485         * gst/registries/gstlibxmlregistry.h:
4486         * tools/gst-compprep.c: (main):
4487         * tools/gst-inspect.c: (print_pad_templates_info):
4488         * tools/gst-xmlinspect.c: (print_element_info):
4489           Use libxml2 for registry parsing, use staticpadtemplates in
4490           elementfactories. Makes gst_init() +/- 10x faster.
4491
4492 2005-04-12  Wim Taymans  <wim@fluendo.com>
4493
4494         * gst/base/Makefile.am:
4495         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4496         (gst_basesink_pad_getcaps), (gst_basesink_init),
4497         (gst_basesink_event), (gst_basesink_change_state):
4498         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4499         (gst_basesrc_init), (gst_basesrc_query),
4500         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4501         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4502         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4503         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4504         (gst_basesrc_stop), (gst_basesrc_activate),
4505         (gst_basesrc_change_state):
4506         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4507         (helper_find_suggest), (gst_type_find_helper):
4508         * gst/base/gsttypefindhelper.h:
4509         * gst/elements/Makefile.am:
4510         * gst/elements/gstelements.c:
4511         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4512         (gst_fakesink_get_times), (gst_fakesink_event),
4513         (gst_fakesink_preroll), (gst_fakesink_render):
4514         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4515         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4516         (gst_fakesrc_get_property), (gst_fakesrc_create),
4517         (gst_fakesrc_start), (gst_fakesrc_stop):
4518         * gst/elements/gstfakesrc.h:
4519         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4520         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4521         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4522         (gst_filesrc_create_read), (gst_filesrc_create),
4523         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4524         (gst_filesrc_start):
4525         * gst/elements/gsttypefindelement.c:
4526         (gst_type_find_element_have_type), (gst_type_find_element_init),
4527         (start_typefinding), (stop_typefinding), (push_buffer_store),
4528         (gst_type_find_element_handle_event),
4529         (gst_type_find_element_chain),
4530         (gst_type_find_element_checkgetrange),
4531         (gst_type_find_element_getrange), (do_typefind),
4532         (gst_type_find_element_activate),
4533         (gst_type_find_element_change_state):
4534         * gst/elements/gsttypefindelement.h:
4535         * gst/gstpipeline.c: (pipeline_bus_handler):
4536         Added typefind helper.
4537         Small preroll fix in the base sink.
4538         Disable typefind code in basesrc.
4539         Crude port of typefindelement.
4540         Fakesrc cleanups.
4541
4542
4543 2005-04-11  Wim Taymans  <wim@fluendo.com>
4544
4545         * check/gst/gstbus.c: (gstbus_suite):
4546         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4547         * check/gstcheck.h:
4548           Fix up the timeout so that the test does not fail.
4549
4550 2005-04-06  Wim Taymans  <wim@fluendo.com>
4551
4552         * gst/base/README:
4553         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4554         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4555         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4556         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4557         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4558         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4559         (gst_basesrc_stop), (gst_basesrc_activate),
4560         (gst_basesrc_change_state), (basesrc_find_peek),
4561         (basesrc_find_suggest), (gst_basesrc_type_find):
4562         * gst/base/gstbasesrc.h:
4563         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4564         (gst_filesrc_class_init), (gst_filesrc_init),
4565         (gst_filesrc_finalize), (gst_filesrc_set_location),
4566         (gst_filesrc_set_property), (gst_filesrc_get_property),
4567         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4568         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4569         (gst_filesrc_create_read), (gst_filesrc_create),
4570         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4571         * gst/elements/gstfilesrc.h:
4572         * gst/gstelement.c: (gst_element_get_state_func),
4573         (gst_element_lost_state), (gst_element_pads_activate):
4574         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4575         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4576         (gst_pad_pull_range):
4577         * gst/gstpad.h:
4578         More work on the generic source base class, implement seeking,
4579         query.
4580         Make filesrc extend the base source class.
4581         Added gst_pad_set_checkgetrange_function to GstPad.
4582
4583 2005-04-06  Andy Wingo  <wingo@pobox.com>
4584
4585         * pkgconfig/gstreamer-base.pc.in:
4586         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4587
4588         * pkgconfig/Makefile.am:
4589         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4590
4591 2005-04-04  Wim Taymans  <wim@fluendo.com>
4592
4593         * gst/base/Makefile.am:
4594         * gst/base/README:
4595         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4596         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4597         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4598         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4599         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4600         (gst_basesrc_base_init), (gst_basesrc_class_init),
4601         (gst_basesrc_init), (gst_basesrc_get_formats),
4602         (gst_basesrc_get_query_types), (gst_basesrc_query),
4603         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4604         (gst_basesrc_set_property), (gst_basesrc_get_property),
4605         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4606         (gst_basesrc_loop), (gst_basesrc_activate),
4607         (gst_basesrc_change_state):
4608         * gst/base/gstbasesrc.h:
4609         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4610         (gst_fakesrc_class_init), (gst_fakesrc_init),
4611         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4612         (gst_fakesrc_get_property), (gst_fakesrc_create):
4613         * gst/elements/gstfakesrc.h:
4614         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4615         (gst_filesrc_open_file), (gst_filesrc_loop),
4616         (gst_filesrc_activate), (filesrc_find_peek),
4617         (gst_filesrc_type_find):
4618         Made base source class, make fakesrc extend it.
4619         Add comments to basesink class.
4620         Some filesrc cleanup.
4621
4622 2005-03-31  David Schleef  <ds@schleef.org>
4623
4624         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4625         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4626         expected to link against libgstreamer.
4627         * gst/base/Makefile.am: link against libgstreamer
4628         * gst/elements/Makefile.am: same
4629
4630 2005-03-31  Andy Wingo  <wingo@pobox.com>
4631
4632         * tests/instantiate/Makefile.am:
4633         * tests/instantiate/caps.c: Add test to test speed of caps copy
4634         and free.
4635
4636         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4637         GMemChunk to be fair.
4638
4639         * gst/gsttrashstack.h: Remove warning about using the fallback
4640         trash stack implementation, it's still faster than malloc.
4641
4642 2005-03-30  Andy Wingo  <wingo@pobox.com>
4643
4644         * tests/complexity.c: Add a copyright.
4645
4646 2005-03-31  Wim Taymans  <wim@fluendo.com>
4647
4648         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4649         (gst_base_transform_class_init), (gst_base_transform_init),
4650         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4651         (gst_base_transform_get_property),
4652         (gst_base_transform_sink_activate),
4653         (gst_base_transform_src_activate),
4654         (gst_base_transform_change_state):
4655         * gst/base/gstbasetransform.h:
4656         * gst/elements/gstidentity.c: (gst_identity_class_init),
4657         (gst_identity_event), (gst_identity_check_perfect),
4658         (gst_identity_transform), (gst_identity_start),
4659         (gst_identity_stop):
4660         Added start/stop methods to transform base class so subclasses 
4661         don't need to deal with state changes even.
4662
4663 2005-03-31  Wim Taymans  <wim@fluendo.com>
4664
4665         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4666         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4667         * gst/gstevent.h:
4668         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4669         (gst_pad_pull_range):
4670         Added rate to the discont event to prepare for variable speed
4671         and reverse playback.
4672
4673 2005-03-29  David Schleef  <ds@schleef.org>
4674
4675         * configure.ac:
4676         * testsuite/trigger/Makefile.am:
4677         * testsuite/trigger/trigger.c: A little example program to show
4678         how trigger-based elements can work.
4679
4680 2005-03-29  Wim Taymans  <wim@fluendo.com>
4681
4682         * gst/base/Makefile.am:
4683         * gst/base/README:
4684         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4685         (gst_basesink_base_init), (gst_basesink_class_init),
4686         (gst_basesink_pad_getcaps), (gst_basesink_init),
4687         (gst_basesink_activate), (gst_basesink_change_state):
4688         * gst/base/gstbasesink.h:
4689         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4690         (gst_base_transform_base_init), (gst_base_transform_finalize),
4691         (gst_base_transform_class_init), (gst_base_transform_init),
4692         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4693         (gst_base_transform_event), (gst_base_transform_getrange),
4694         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4695         (gst_base_transform_set_property),
4696         (gst_base_transform_get_property),
4697         (gst_base_transform_sink_activate),
4698         (gst_base_transform_src_activate),
4699         (gst_base_transform_change_state):
4700         * gst/base/gstbasetransform.h:
4701         * gst/elements/gstidentity.c: (gst_identity_finalize),
4702         (gst_identity_class_init), (gst_identity_init),
4703         (gst_identity_event), (gst_identity_check_perfect),
4704         (gst_identity_transform), (gst_identity_set_property),
4705         (gst_identity_get_property), (gst_identity_change_state):
4706         * gst/elements/gstidentity.h:
4707         * gst/gstelement.c: (gst_element_get_state_func),
4708         (gst_element_lost_state), (gst_element_pads_activate):
4709         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4710         (gst_pad_check_pull_range), (gst_pad_pull_range):
4711         * gst/gstpad.h:
4712         Simplify pad activation.
4713         Added function to check if pull_range can be performed.
4714         Error out when pulling inactive or flushing pads.
4715         Removed const from refcounted types as it does not make sense.
4716         Simplify pad templates in basesink
4717         Added base class for simple 1-to-1 transforms.
4718         Make identity subclass the base transform.
4719
4720 2005-03-29  Andy Wingo  <wingo@pobox.com>
4721
4722         * docs/libs/gstreamer-libs-overrides.txt: 
4723         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4724         really don't understand what's going on, but like whatever. I want
4725         green buildbot!
4726
4727         * docs/gst/Makefile.am:
4728         * docs/libs/Makefile.am: Dist the overrides files.
4729
4730         * check/Makefile.am (clean-local): Remove .libs directories.
4731
4732         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4733         elements to EXTRA_DIST, so po/ files are happy.
4734
4735         * po/POTFILES.in: Er, remove it here.
4736
4737         * po/POTFILES: Remove gstspider.c.
4738
4739         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4740
4741         * docs/libs/gstreamer-libs-docs.sgml: 
4742         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4743         bytestream.
4744
4745         * tests/complexity.c (main): Set the length of the preroll queue
4746         on the sinks to prevent a lockup.
4747
4748         * libs/gst/dataprotocol/Makefile.am: 
4749         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4750         the same as the one in check/gst-libs/gdp.c.
4751
4752         * po/, docs/gst/: Commit automatic changes to docs and po files.
4753
4754         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4755         the versioned libgstbase.
4756
4757         * check/Makefile.am: Depend on an unversioned gst-register, seems
4758         to make autoconf happier.
4759
4760         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4761
4762 2005-03-28  Wim Taymans  <wim@fluendo.com>
4763
4764         * configure.ac:
4765         * docs/design/part-gstelement.txt:
4766         * docs/design/part-negotiation.txt:
4767         * docs/design/part-preroll.txt:
4768         * docs/design/part-scheduling.txt:
4769         * docs/design/part-states.txt:
4770         * gst/Makefile.am:
4771         * gst/base/Makefile.am:
4772         * gst/base/README:
4773         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4774         (gst_basesink_base_init), (gst_basesink_class_init),
4775         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4776         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4777         (gst_basesink_set_pad_functions),
4778         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4779         (gst_basesink_set_property), (gst_basesink_get_property),
4780         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4781         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4782         (gst_basesink_preroll_queue_push),
4783         (gst_basesink_preroll_queue_empty),
4784         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4785         (gst_basesink_event), (gst_basesink_get_times),
4786         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4787         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4788         (gst_basesink_loop), (gst_basesink_activate),
4789         (gst_basesink_change_state):
4790         * gst/base/gstbasesink.h:
4791         * gst/elements/Makefile.am:
4792         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4793         (gst_fakesink_class_init), (gst_fakesink_init),
4794         (gst_fakesink_set_property), (gst_fakesink_get_property),
4795         (gst_fakesink_get_times), (gst_fakesink_event),
4796         (gst_fakesink_preroll), (gst_fakesink_render),
4797         (gst_fakesink_change_state):
4798         * gst/elements/gstfakesink.h:
4799         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4800         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4801         * gst/gstelement.c: (gst_element_add_pad),
4802         (gst_element_get_state_func), (gst_element_abort_state),
4803         (gst_element_commit_state), (gst_element_lost_state),
4804         (gst_element_set_state), (gst_element_pads_activate):
4805         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4806         * gst/gstpipeline.c: (gst_pipeline_send_event),
4807         (gst_pipeline_change_state):
4808         Added state change code.
4809         Added/updated docs.
4810         Added sink base class, make fakesink extend the base class.
4811         Small cleanups in GstPipeline.
4812
4813 2005-03-26  David Schleef  <ds@schleef.org>
4814
4815         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4816         is broken and should be implemented in a different library.
4817         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4818         * gst/gst.h: remove gstcpu.h
4819         * gst/gstcpu.c: remove
4820         * gst/gstcpu.h: remove
4821         * gst/Makefile.am.future: Remove this file.  It's ancient.
4822
4823 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4824
4825         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4826         (gst_bin_send_event):
4827           Add default event/set_manager handlers. The set_manager handler
4828           takes care that the manager is distributed over kids that were
4829           already in the bin before the manager was set. The event handler
4830           is a utility virtual function that sends the event over all sinks,
4831           so that gst_element_send_event (bin, event); has the expected
4832           behaviour.
4833         * gst/gstpad.c: (gst_pad_event_default):
4834           Re-install default event handling for discontinuities, so that
4835           seeking works without requiring hacks in applications or extra
4836           code in sinks.
4837         * gst/gstpipeline.c: (gst_pipeline_class_init),
4838         (gst_pipeline_send_event):
4839           Half hack, half utility: set a pipeline to PAUSED for seek events,
4840           since that is the only way we can guarantee a/v sync. Means that
4841           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4842           and it "just works".
4843
4844 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4845
4846         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4847           Lock/unlock mismatch.
4848
4849 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4850
4851         * docs/faq/gst-uninstalled:
4852           add gst-plugins-base
4853         * docs/gst/Makefile.am:
4854           don't error out until docs are fixed
4855         * docs/gst/gstreamer.types:
4856           remove thread
4857
4858 2005-03-22  Wim Taymans  <wim@fluendo.com>
4859
4860         * check/Makefile.am:
4861         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4862         * gst/gststructure.c: (gst_structure_set_valist),
4863         (gst_structure_copy_conditional):
4864         Activated more tests.
4865         Added message test.
4866         Added G_TYPE_POINTER to GstStructure.
4867         
4868
4869 2005-03-22  Wim Taymans  <wim@fluendo.com>
4870
4871         * docs/design/part-TODO.txt:
4872         * docs/design/part-events.txt:
4873         * docs/design/part-gstbin.txt:
4874         * docs/design/part-gstbus.txt:
4875         * docs/design/part-gstpipeline.txt:
4876         * docs/design/part-messages.txt:
4877         * gst/gstbus.c:
4878         * gst/gstmessage.c:
4879         Docs updates
4880
4881 2005-03-21  Wim Taymans  <wim@fluendo.com>
4882
4883         * gst/gstbus.c: (gst_bus_post):
4884         Fix copy-and-paste error.
4885
4886 2005-03-21  Wim Taymans  <wim@fluendo.com>
4887
4888         * check/Makefile.am:
4889         * gst/Makefile.am:
4890         * gst/elements/Makefile.am:
4891         * gst/elements/gstelements.c:
4892         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4893         (gst_fakesink_event), (gst_fakesink_chain):
4894         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4895         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4896         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4897         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4898         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4899         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4900         (gst_fakesrc_loop), (gst_fakesrc_activate),
4901         (gst_fakesrc_change_state):
4902         * gst/elements/gstfakesrc.h:
4903         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4904         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4905         (gst_filesrc_open_file), (gst_filesrc_loop),
4906         (gst_filesrc_activate), (gst_filesrc_change_state),
4907         (filesrc_find_peek), (filesrc_find_suggest),
4908         (gst_filesrc_type_find):
4909         * gst/elements/gstidentity.c: (gst_identity_finalize),
4910         (gst_identity_class_init), (gst_identity_init),
4911         (gst_identity_proxy_getcaps), (identity_queue_push),
4912         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4913         (gst_identity_getrange), (gst_identity_chain),
4914         (gst_identity_sink_loop), (gst_identity_src_loop),
4915         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4916         (gst_identity_set_property), (gst_identity_get_property),
4917         (gst_identity_change_state):
4918         * gst/elements/gstidentity.h:
4919         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4920         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4921         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4922         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4923         (gst_tee_sink_activate):
4924         * gst/elements/gsttee.h:
4925         * gst/gst.c: (gst_register_core_elements), (init_post):
4926         * gst/gst.h:
4927         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4928         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4929         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4930         (gst_bin_change_state):
4931         * gst/gstbin.h:
4932         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4933         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4934         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4935         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4936         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4937         (bus_watch_callback), (bus_watch_destroy),
4938         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4939         (poll_timeout), (gst_bus_poll):
4940         * gst/gstbus.h:
4941         * gst/gstcaps.h:
4942         * gst/gstdata.h:
4943         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4944         (gst_element_post_message), (gst_element_message_full),
4945         (gst_element_get_state_func), (gst_element_get_state),
4946         (gst_element_abort_state), (gst_element_commit_state),
4947         (gst_element_lost_state), (gst_element_set_state),
4948         (gst_element_pads_activate), (gst_element_change_state),
4949         (gst_element_dispose), (gst_element_set_manager_func),
4950         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4951         (gst_element_set_manager), (gst_element_get_manager),
4952         (gst_element_set_bus), (gst_element_get_bus),
4953         (gst_element_set_scheduler), (gst_element_get_scheduler):
4954         * gst/gstelement.h:
4955         * gst/gstevent.c: (gst_event_new_segment_seek),
4956         (gst_event_new_flush):
4957         * gst/gstevent.h:
4958         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4959         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4960         (gst_message_new_eos), (gst_message_new_error),
4961         (gst_message_new_warning), (gst_message_new_tag),
4962         (gst_message_new_state_changed), (gst_message_new_application),
4963         (gst_message_get_structure), (gst_message_parse_tag),
4964         (gst_message_parse_state_changed), (gst_message_parse_error),
4965         (gst_message_parse_warning):
4966         * gst/gstmessage.h:
4967         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4968         (gst_real_pad_set_property), (gst_pad_set_active),
4969         (gst_pad_is_active), (gst_pad_set_blocked_async),
4970         (gst_pad_set_blocked), (gst_pad_is_blocked),
4971         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4972         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4973         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4974         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4975         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4976         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4977         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4978         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4979         (gst_pad_set_caps), (gst_pad_configure_sink),
4980         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4981         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4982         (gst_real_pad_dispose), (gst_real_pad_finalize),
4983         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4984         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4985         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4986         * gst/gstpad.h:
4987         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4988         (pipeline_bus_handler), (gst_pipeline_change_state),
4989         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4990         * gst/gstpipeline.h:
4991         * gst/gstprobe.h:
4992         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4993         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4994         (gst_queue_link_src), (gst_queue_bufferalloc),
4995         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4996         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4997         (gst_queue_loop), (gst_queue_handle_src_event),
4998         (gst_queue_handle_src_query), (gst_queue_src_activate),
4999         (gst_queue_change_state):
5000         * gst/gstqueue.h:
5001         * gst/gstscheduler.c: (gst_scheduler_init),
5002         (gst_scheduler_dispose), (gst_scheduler_create_task),
5003         (gst_scheduler_factory_create):
5004         * gst/gstscheduler.h:
5005         * gst/gststructure.c: (gst_structure_get_type),
5006         (gst_structure_copy_conditional):
5007         * gst/gststructure.h:
5008         * gst/gsttaginterface.h:
5009         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5010         (gst_task_init), (gst_task_dispose), (gst_task_create),
5011         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5012         (gst_task_pause):
5013         * gst/gsttask.h:
5014         * gst/gstthread.c:
5015         * gst/gstthread.h:
5016         * gst/gsttypes.h:
5017         * gst/schedulers/Makefile.am:
5018         * gst/schedulers/cothreads_compat.h:
5019         * gst/schedulers/entryscheduler.c:
5020         * gst/schedulers/faircothreads.c:
5021         * gst/schedulers/faircothreads.h:
5022         * gst/schedulers/fairscheduler.c:
5023         * gst/schedulers/gstbasicscheduler.c:
5024         * gst/schedulers/gstoptimalscheduler.c:
5025         * gst/schedulers/gthread-cothreads.h:
5026         * gst/schedulers/threadscheduler.c:
5027         (gst_thread_scheduler_task_get_type),
5028         (gst_thread_scheduler_task_class_init),
5029         (gst_thread_scheduler_task_init),
5030         (gst_thread_scheduler_task_start),
5031         (gst_thread_scheduler_task_stop),
5032         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5033         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5034         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5035         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5036         (plugin_init):
5037         * libs/gst/Makefile.am:
5038         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5039         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5040         (gst_file_pad_parent_set):
5041         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5042         (gst_dp_event_from_packet):
5043         * tests/complexity.c: (main):
5044         * tests/mass_elements.c: (main):
5045         * testsuite/states/locked.c: (message_received), (main):
5046         * testsuite/states/parent.c: (main):
5047         * tools/gst-inspect.c: (print_element_flag_info),
5048         (print_implementation_info), (print_pad_info):
5049         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5050         (main):
5051         * tools/gst-md5sum.c: (event_loop), (main):
5052         * tools/gst-typefind.c: (main):
5053         * tools/gst-xmlinspect.c: (print_element_info):
5054         Next big merge.
5055         Added GstBus for mainloop integration.
5056         Added GstMessage for sending notifications on the bus.
5057         Added GstTask as an abstraction for pipeline entry points.
5058         Removed GstThread.
5059         Removed Schedulers.
5060         Simplified GstQueue for multithreaded core.
5061         Made _link threadsafe, removed old capsnego.
5062         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5063         Added pad blocking functions.
5064         Reworked scheduling functions in GstPad to prepare for
5065         scheduling updates soon.
5066         Moved events out of data stream.
5067         Simplified GstEvent types.
5068         Added return values to push/pull.
5069         Removed clocking from GstElement.
5070         Added prototypes for state change function for next merge.
5071         Removed iterate from bins and state change management.
5072         Fixed some elements, disabled others for now.
5073         Fixed -inspect and -launch.
5074         Added check for GstBus.
5075
5076 2005-03-10  Wim Taymans  <wim@fluendo.com>
5077
5078         * docs/design/part-MT-refcounting.txt:
5079         * docs/design/part-clocks.txt:
5080         * docs/design/part-gstelement.txt:
5081         * docs/design/part-gstobject.txt:
5082         * docs/design/part-standards.txt:
5083         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5084         (gst_bin_remove_func), (gst_bin_remove):
5085         * gst/gstbin.h:
5086         * gst/gstbuffer.c:
5087         * gst/gstcaps.h:
5088         * testsuite/clock/clock1.c: (main):
5089         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5090         (main):
5091         * testsuite/dlopen/loadgst.c: (do_test):
5092         * testsuite/refcounting/bin.c: (add_remove_test1),
5093         (add_remove_test2), (main):
5094         * testsuite/refcounting/element.c: (main):
5095         * testsuite/refcounting/element_pad.c: (main):
5096         * testsuite/refcounting/pad.c: (main):
5097         * tools/gst-launch.c: (sigint_handler_sighandler):
5098         * tools/gst-typefind.c: (main):
5099         Doc updates.
5100         Added doc about clock.
5101         removed gst_bin_iterate_recurse_up(), marked methods
5102         for removal.
5103         Fix more testsuites.
5104
5105 2005-03-09  Wim Taymans  <wim@fluendo.com>
5106
5107         * gst/gstpad.c: (gst_pad_get_direction),
5108         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5109         (gst_pad_collect_valist):
5110         * testsuite/bins/interface.c: (main):
5111         * testsuite/caps/audioscale.c: (test_caps):
5112         * testsuite/caps/caps.c: (test1), (test2), (test3):
5113         * testsuite/caps/deserialize.c: (main):
5114         * testsuite/caps/enumcaps.c: (main):
5115         * testsuite/caps/filtercaps.c: (main):
5116         * testsuite/caps/intersect2.c: (main):
5117         * testsuite/caps/random.c: (main):
5118         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5119         * testsuite/caps/sets.c: (check_caps):
5120         * testsuite/caps/simplify.c: (check_caps), (main):
5121         * testsuite/caps/subtract.c: (check_caps):
5122         Fix _pad_get_direction wrt ghostpads.
5123         Fix caps testsuite.
5124
5125 2005-03-09  Wim Taymans  <wim@fluendo.com>
5126
5127         * check/Makefile.am:
5128         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5129         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5130         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5131         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5132         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5133         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5134         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5135         (bin_element_is_sink), (gst_bin_iterate_sinks),
5136         (gst_bin_iterate_all_by_interface):
5137         * gst/gstbin.h:
5138         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5139         (gst_element_change_state), (gst_element_dispose),
5140         (gst_element_finalize), (gst_element_set_loop_function):
5141         * gst/gstelement.h:
5142         * gst/gstiterator.c: (find_custom_fold_func):
5143         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5144         (gst_pad_collectv), (gst_pad_collect_valist),
5145         (gst_pad_template_new):
5146         * gst/gstpipeline.c: (gst_pipeline_class_init),
5147         (gst_pipeline_dispose), (gst_pipeline_set_property),
5148         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5149         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5150         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5151         * gst/gstutils.h:
5152         * gst/schedulers/entryscheduler.c:
5153         * gst/schedulers/gstbasicscheduler.c:
5154         (gst_basic_scheduler_cothreaded_chain),
5155         (gst_basic_scheduler_chain_add_element):
5156         * testsuite/bins/interface.c: (main):
5157         Added GstBin test.
5158         Added GstSystemClock test.
5159         Implemented clock distribution code in GstBin.
5160         Implemented iterate sinks method for future use.
5161         Rearranged gstelement.h
5162         Fix GstIterator comparison bug.
5163         Moved some code to GstPipeline, mostly clocking related.
5164
5165 2005-03-09  Wim Taymans  <wim@fluendo.com>
5166
5167         * configure.ac:
5168         * gst/gst_private.h:
5169         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5170         (gst_bin_remove_func), (gst_bin_remove),
5171         (gst_bin_get_by_name_recurse_up):
5172         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5173         (gst_clock_id_compare_func), (gst_clock_id_wait),
5174         (gst_clock_id_wait_async), (gst_clock_init),
5175         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5176         * gst/gstelement.h:
5177         * gst/gstinfo.c: (_gst_debug_init):
5178         * gst/gstobject.h:
5179         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5180         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5181         * gst/gstpad.h:
5182         Bump version number, we're now 0.9.0
5183         Add future debugging category.
5184         Fix NULL _unref() in _get_by_name_recurse_up
5185         Rearrange gstpad.h.
5186         Update some docs.
5187
5188 2005-03-08  Wim Taymans  <wim@fluendo.com>
5189
5190         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5191         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5192         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5193         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5194         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5195         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5196         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5197         * gst/elements/gstidentity.c: (gst_identity_class_init):
5198         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5199         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5200         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5201         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5202         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5203         (gst_tee_link):
5204         * gst/gstelement.c: (gst_element_class_init),
5205         (gst_element_base_class_init), (gst_element_init),
5206         (gst_element_get_random_pad), (gst_element_wait_state_change),
5207         (gst_element_change_state), (gst_element_dispose),
5208         (gst_element_finalize), (gst_element_set_loop_function):
5209         * gst/gstelement.h:
5210         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5211         * gst/gstthread.c: (gst_thread_class_init),
5212         (gst_thread_release_children_locks), (gst_thread_change_state):
5213         * gst/schedulers/gstbasicscheduler.c:
5214         (gst_basic_scheduler_loopfunc_wrapper),
5215         (gst_basic_scheduler_chain_wrapper),
5216         (gst_basic_scheduler_src_wrapper),
5217         (gst_basic_scheduler_remove_element):
5218         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5219         Remove threadsafe properties. Fix elements because GObject
5220         complains when installing a property before declaring a
5221         set/get_property handler.
5222         Rearrange gstelement.h file, use STATE macros for state locks.
5223         Free mutexes in the finalize method instead of dispose.
5224
5225 2005-03-08  Wim Taymans  <wim@fluendo.com>
5226
5227         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5228         * gst/gstthread.c: (gst_thread_release_children_locks):
5229         Added parentage check.
5230         Fix build og GstThread again.
5231
5232 2005-03-08  Wim Taymans  <wim@fluendo.com>
5233
5234         * docs/design/part-MT-refcounting.txt:
5235         * docs/design/part-conventions.txt:
5236         * docs/design/part-gstobject.txt:
5237         * docs/design/part-relations.txt:
5238         * docs/design/part-standards.txt:
5239         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5240         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5241         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5242         (gst_bin_iterate_all_by_interface):
5243         * gst/gstbuffer.h:
5244         * gst/gstclock.h:
5245         * gst/gstelement.c: (gst_element_class_init),
5246         (gst_element_change_state), (gst_element_set_loop_function):
5247         * gst/gstelement.h:
5248         * gst/gstiterator.c:
5249         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5250         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5251         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5252         (gst_object_set_parent), (gst_object_unparent),
5253         (gst_object_check_uniqueness):
5254         * gst/gstobject.h:
5255         Docs updates, clean up some headers.
5256
5257 2005-03-07  Wim Taymans  <wim@fluendo.com>
5258
5259         * check/.cvsignore:
5260         * check/Makefile.am:
5261         * check/gst-libs/.cvsignore:
5262         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5263         * check/gst/.cvsignore:
5264         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5265         (START_TEST), (gstbus_suite), (main):
5266         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5267         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5268         (gst_data_suite), (main):
5269         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5270         (add_fold_func), (gstiterator_suite), (main):
5271         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5272         (thread_name_object), (thread_name_object_default),
5273         (gst_object_name_compare), (gst_object_suite), (main):
5274         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5275         (gst_pad_suite), (main):
5276         * check/gstcheck.c: (gst_check_log_message_func),
5277         (gst_check_log_critical_func), (gst_check_init):
5278         * check/gstcheck.h:
5279         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5280         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5281         Added checks.
5282
5283 2005-03-07  Wim Taymans  <wim@fluendo.com>
5284
5285         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5286         (gst_list_iterator_next), (gst_list_iterator_resync),
5287         (gst_list_iterator_free), (gst_iterator_new_list),
5288         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5289         (gst_iterator_free), (gst_iterator_push), (filter_next),
5290         (filter_resync), (filter_uninit), (filter_free),
5291         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5292         (gst_iterator_foreach), (find_custom_fold_func),
5293         (gst_iterator_find_custom):
5294         * gst/gstiterator.h:
5295         Added missing files.
5296
5297 2005-03-07  Wim Taymans  <wim@fluendo.com>
5298
5299         * Makefile.am:
5300         * configure.ac:
5301         * docs/design/part-MT-refcounting.txt:
5302         * docs/design/part-conventions.txt:
5303         * docs/design/part-gstobject.txt:
5304         * docs/design/part-relations.txt:
5305         * examples/mixer/mixer.c: (main):
5306         * examples/thread/thread.c: (eos), (main):
5307         * gst/Makefile.am:
5308         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5309         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5310         (gst_spider_plug_from_srcpad):
5311         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5312         (gst_spider_identity_change_state),
5313         (gst_spider_identity_sink_loop_type_finding):
5314         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5315         * gst/elements/gstidentity.c: (gst_identity_init):
5316         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5317         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5318         * gst/elements/gsttypefindelement.c: (free_entry):
5319         * gst/gst.c:
5320         * gst/gst.h:
5321         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5322         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5323         (gst_bin_set_index), (gst_bin_set_element_sched),
5324         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5325         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5326         (gst_bin_iterate_elements), (iterate_child_recurse),
5327         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5328         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5329         (compare_interface), (gst_bin_get_by_interface),
5330         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5331         * gst/gstbin.h:
5332         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5333         (gst_buffer_default_free), (gst_buffer_default_copy),
5334         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5335         (gst_buffer_create_sub):
5336         * gst/gstbuffer.h:
5337         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5338         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5339         (gst_caps_unref), (gst_static_caps_get),
5340         (gst_caps_remove_and_get_structure), (gst_caps_append),
5341         (gst_caps_append_structure), (gst_caps_remove_structure),
5342         (gst_caps_copy_nth), (gst_caps_set_simple),
5343         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5344         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5345         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5346         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5347         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5348         (gst_caps_structure_figure_out_union),
5349         (gst_caps_switch_structures), (gst_caps_do_simplify),
5350         (gst_caps_replace), (gst_caps_from_string),
5351         (gst_caps_copy_conditional):
5352         * gst/gstcaps.h:
5353         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5354         (_gst_clock_id_free), (gst_clock_id_unref),
5355         (gst_clock_id_compare_func), (gst_clock_id_wait),
5356         (gst_clock_id_wait_async), (gst_clock_class_init),
5357         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5358         (gst_clock_get_time), (gst_clock_set_time_adjust),
5359         (gst_clock_set_property), (gst_clock_get_property):
5360         * gst/gstclock.h:
5361         * gst/gstcompat.h:
5362         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5363         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5364         * gst/gstdata.h:
5365         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5366         (gst_element_requires_clock), (gst_element_provides_clock),
5367         (gst_element_set_clock), (gst_element_clock_wait),
5368         (gst_element_wait), (gst_element_set_time_delay),
5369         (gst_element_is_indexable), (gst_element_add_pad),
5370         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5371         (pad_compare_name), (gst_element_get_static_pad),
5372         (gst_element_request_pad), (gst_element_get_request_pad),
5373         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5374         (gst_element_class_get_pad_template_list),
5375         (gst_element_class_get_pad_template), (gst_element_error_func),
5376         (gst_element_get_random_pad), (gst_element_get_event_masks),
5377         (gst_element_send_event), (gst_element_seek),
5378         (gst_element_get_query_types), (gst_element_query),
5379         (gst_element_get_formats), (gst_element_convert),
5380         (gst_element_is_locked_state), (gst_element_set_locked_state),
5381         (gst_element_sync_state_with_parent), (gst_element_change_state),
5382         (gst_element_finalize), (gst_element_yield),
5383         (gst_element_interrupt), (gst_element_set_scheduler),
5384         (gst_element_get_scheduler), (gst_element_set_loop_function):
5385         * gst/gstelement.h:
5386         * gst/gstevent.h:
5387         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5388         (gst_format_get_by_nick), (gst_format_get_details),
5389         (gst_format_iterate_definitions):
5390         * gst/gstformat.h:
5391         * gst/gstindex.c: (gst_index_gtype_resolver):
5392         * gst/gstinfo.c:
5393         * gst/gstinfo.h:
5394         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5395         (gst_mem_chunk_free):
5396         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5397         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5398         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5399         (gst_object_dispatch_properties_changed),
5400         (gst_object_set_name_default), (gst_object_set_name),
5401         (gst_object_get_name), (gst_object_set_name_prefix),
5402         (gst_object_get_name_prefix), (gst_object_set_parent),
5403         (gst_object_get_parent), (gst_object_unparent),
5404         (gst_object_check_uniqueness), (gst_object_save_thyself),
5405         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5406         (gst_object_set_property), (gst_object_get_property),
5407         (gst_object_get_path_string):
5408         * gst/gstobject.h:
5409         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5410         (gst_real_pad_init), (gst_real_pad_get_property),
5411         (gst_pad_custom_new), (gst_pad_get_direction),
5412         (gst_pad_set_active), (gst_pad_is_active),
5413         (gst_pad_set_event_function), (gst_pad_is_linked),
5414         (gst_pad_link_free), (gst_pad_link_intersect),
5415         (gst_pad_link_fixate), (gst_pad_set_caps),
5416         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5417         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5418         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5419         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5420         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5421         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5422         (gst_pad_realize), (gst_pad_get_allowed_caps),
5423         (gst_real_pad_dispose), (gst_real_pad_finalize),
5424         (gst_pad_collectv), (gst_pad_collect_valist),
5425         (gst_pad_template_dispose), (gst_pad_template_new),
5426         (gst_pad_get_internal_links):
5427         * gst/gstpad.h:
5428         * gst/gstpipeline.c: (gst_pipeline_dispose),
5429         (gst_pipeline_change_state):
5430         * gst/gstpipeline.h:
5431         * gst/gstplugin.c:
5432         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5433         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5434         * gst/gstpluginfeature.h:
5435         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5436         * gst/gstquery.c: (_gst_query_type_initialize),
5437         (gst_query_type_register), (gst_query_type_get_by_nick),
5438         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5439         * gst/gstquery.h:
5440         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5441         * gst/gstscheduler.c: (gst_scheduler_add_element),
5442         (gst_scheduler_factory_create):
5443         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5444         (gst_structure_free), (gst_structure_set_name),
5445         (gst_structure_id_set_value), (gst_structure_set_value),
5446         (gst_structure_set_valist), (gst_structure_remove_field),
5447         (gst_structure_remove_fields),
5448         (gst_structure_remove_fields_valist),
5449         (gst_structure_remove_all_fields), (gst_structure_foreach),
5450         (gst_structure_map_in_place),
5451         (gst_caps_structure_fixate_field_nearest_int),
5452         (gst_caps_structure_fixate_field_nearest_double):
5453         * gst/gststructure.h:
5454         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5455         (gst_system_clock_init), (gst_system_clock_dispose),
5456         (gst_system_clock_async_thread),
5457         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5458         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5459         * gst/gstsystemclock.h:
5460         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5461         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5462         * gst/gsttaginterface.c:
5463         * gst/gstthread.c: (gst_thread_dispose),
5464         (gst_thread_release_children_locks), (gst_thread_change_state),
5465         (gst_thread_main_loop):
5466         * gst/gsttrashstack.h:
5467         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5468         * gst/gsttypes.h:
5469         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5470         (gst_element_request_pad), (gst_element_get_pad_from_template),
5471         (gst_element_request_compatible_pad),
5472         (gst_element_get_compatible_pad_filtered),
5473         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5474         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5475         (gst_element_link_many), (gst_element_link),
5476         (gst_element_link_pads), (gst_element_unlink_pads),
5477         (gst_element_unlink_many), (gst_element_unlink),
5478         (gst_pad_can_link_filtered), (gst_pad_can_link),
5479         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5480         (gst_object_default_error), (gst_bin_add_many),
5481         (gst_bin_remove_many), (gst_element_populate_std_props),
5482         (gst_element_class_install_std_props), (gst_buffer_merge),
5483         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5484         (link_fold_func), (gst_pad_proxy_setcaps):
5485         * gst/gstutils.h:
5486         * gst/gstvalue.c: (gst_value_deserialize_string):
5487         * gst/parse/grammar.y:
5488         * gst/schedulers/gstbasicscheduler.c:
5489         (gst_basic_scheduler_cothreaded_chain),
5490         (gst_basic_scheduler_chain_recursive_add),
5491         (gst_basic_scheduler_pad_link):
5492         * gst/schedulers/gstoptimalscheduler.c:
5493         (get_group_schedule_function),
5494         (gst_opt_scheduler_state_transition),
5495         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5496         * libs/gst/bytestream/bytestream.c:
5497         * libs/gst/dataprotocol/dataprotocol.c:
5498         (gst_dp_header_from_buffer):
5499         * po/nb.po:
5500         * po/ru.po:
5501         * tests/threadstate/threadstate2.c: (eos):
5502         * tools/gst-compprep.c: (main):
5503         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5504         (print_pad_info), (print_children_info):
5505         * tools/gst-launch.c: (idle_func), (main):
5506         * tools/gst-md5sum.c: (idle_func), (main):
5507         * tools/gst-xmlinspect.c: (print_element_info):
5508         First THREADED backport attempt, focusing on adding locks and
5509         making sure the API is threadsafe. Needs more work. More docs
5510         follow this week.
5511
5512 2005-02-24  Andy Wingo  <wingo@pobox.com>
5513
5514         * tests/bench-complexity.scm:
5515         * tests/complexity.gnuplot: New files, good for running complexity
5516         benchmarks.
5517
5518         * tests/Makefile.am:
5519         * tests/complexity.c: New test, sets up N elements, at each level
5520         teeing into M streams per element. Eeeenteresting.
5521
5522         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5523         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5524         running bench-mass_elements.scm.
5525
5526         * tests/bench-mass_elements.scm: New script, runs mass_elements
5527         for various numbers of identities, outputting the results to a
5528         file. Requires guile 1.6. Just for testing.
5529
5530 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5531
5532         * gst/schedulers/fairscheduler.c:
5533           compile with debug disabled
5534
5535 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5536
5537         * configure.ac:
5538           hunting season on 0.9 is now OPEN
5539
5540 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5541
5542         * docs/libs/tmpl/gstcontrol.sgml:
5543         * docs/libs/tmpl/gstdparam.sgml:
5544         * docs/libs/tmpl/gstdplinint.sgml:
5545         * docs/libs/tmpl/gstdpman.sgml:
5546         * docs/libs/tmpl/gstdpsmooth.sgml:
5547         * docs/libs/tmpl/gstunitconvert.sgml:
5548           more docs for the state of dparams
5549
5550 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5551
5552         * gst/gstelementfactory.c: (gst_element_factory_create):
5553         * gst/gstobject.c: (gst_object_init),
5554         (gst_object_set_name_default), (gst_object_set_name):
5555           name objects by default, not in gst_element_factory_create. Allows
5556           using elements created with g_object_new. (fixes #167283)
5557
5558 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5559
5560         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5561           make the time that debugging functions print relative to when
5562           gst_init was called
5563
5564 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5565
5566         * gst/gsttaginterface.c:
5567           Fix inline docs: tag setter vararg functions are NULL-terminated,
5568           GST_TAG_INVALID doesn't exist any more.
5569
5570 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5571
5572         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5573         Allocate the 1 byte more memory that was forgotten!!!!!
5574         fixes memory corruption on 64bit platforms
5575
5576 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5577
5578         * docs/pwg/building-pads.xml:
5579         * docs/pwg/intro-basics.xml:
5580           fixed a few typos, relabeled introductionary list of types
5581         * docs/random/ensonic/dparams.txt:
5582           more notes abut dparam changes
5583         * libs/gst/control/dparam.c: (gst_dparam_attach):
5584         * libs/gst/control/dparammanager.c:
5585         * libs/gst/control/dparammanager.h:
5586           - many comments and notes on dparam implementation
5587           - new dparams are were not initialized to the default value
5588             from param spec
5589
5590 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5591
5592         submitted by: Peter Astakhov
5593
5594         * po/LINGUAS:
5595         * po/ru.po:
5596           adding Russian translation
5597
5598 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5599
5600         * configure.ac:
5601         * docs/gst/Makefile.am:
5602         * docs/libs/Makefile.am:
5603           make sure popt is added to gtk-doc flags.  Fixes #147782.
5604
5605 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5606
5607         * docs/faq/using.xml:
5608           Fix typo in FAQ (artssink => artsdsink)
5609
5610 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5611
5612         * tools/gst-launch.1.in:
5613           Fix typo (#166699).
5614
5615 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5616
5617         * docs/faq/using.xml:
5618           Add -v argument to fakesrc/fakesink gst-launch line,
5619           so that the promised output will actually show up.
5620
5621 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5622
5623         * gst/gstthread.c: (gst_thread_change_state):
5624           Implement state-change error handling (#166073).
5625
5626 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5627
5628         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5629           Release interrupt after handling (#166250).
5630
5631 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5632
5633         * configure.ac:
5634           back to HEAD
5635
5636 === release 0.8.9 ===
5637
5638 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5639
5640         * NEWS:
5641         * RELEASE:
5642         * configure.ac:
5643           releasing 0.8.9, "Like Eating Glass"
5644
5645 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5646
5647         submitted by: Clytie Siddall
5648
5649         * po/vi.po: Added Vietnamese translation
5650
5651 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5652
5653         patch by: Tim Philipp-Müller
5654
5655         * configure.ac:
5656         * gst/gstpad.c:
5657           unref data when probe function returns FALSE.  Fixes #166362
5658
5659 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5660
5661         * gst/gst.c: (gst_init_get_popt_table):
5662           Fix typo (#166269).
5663
5664 2005-02-04  Andy Wingo  <wingo@pobox.com>
5665
5666         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5667         the debugging on whether the caps are compatible.
5668
5669 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5670
5671         * docs/manual/basics-elements.xml:
5672           Fix two typos.
5673
5674 2005-02-02  Wim Taymans  <wim@fluendo.com>
5675
5676         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5677         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5678         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5679         Remove some FIXMEs after analysing and commenting why they
5680         are not issues.
5681
5682 2005-02-02  Wim Taymans  <wim@fluendo.com>
5683
5684         * gst/schedulers/gstoptimalscheduler.c:
5685         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5686         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5687         (get_invalid_call), (chain_invalid_call),
5688         (get_group_schedule_function), (loop_group_schedule_function),
5689         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5690         (gst_opt_scheduler_state_transition),
5691         (gst_opt_scheduler_add_element),
5692         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5693         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5694         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5695         (gst_opt_scheduler_show):
5696         Added lock to protect scheduler data structures.
5697
5698 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5699
5700         * testsuite/threads/threadi.c: (cb_data):
5701           Fix buglet in test.
5702
5703 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5704
5705         * testsuite/threads/Makefile.am:
5706         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5707           On Wim's request, split the test in three separately-compiled
5708           tests that each test a very specific bug. Two of them still fail,
5709           will create bugs for those. threadi.c indicates why they fail.
5710
5711 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5712
5713         * gst/schedulers/gstoptimalscheduler.c:
5714         (get_group_schedule_function):
5715           Try to work with the threading mess that queue_link is.
5716
5717 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5718
5719         * gst/gstbin.c: (gst_bin_remove_func):
5720           Explicitely make an element release locks in a group when being
5721           remove from a bin.
5722         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5723           If there's no scheduler, always return immediately (similar to
5724           gst_element_interrupt).
5725
5726 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5727
5728         * gst/gstbin.c: (gst_bin_child_state_change_func):
5729           Remove a piece of code that could never be reached.
5730         * docs/gst/gstreamer-sections.txt:
5731         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5732         (gst_pad_call_get_function):
5733         * gst/gstpad.h:
5734         * testsuite/pad/Makefile.am:
5735           Fix #150546, enable tests.
5736
5737 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5738
5739         * docs/pwg/advanced-types.xml:
5740           Fix description for buffer-frames=0.
5741         * docs/gst/tmpl/gstbin.sgml:
5742         * gst/gstbin.c: (gst_bin_child_state_change_func),
5743         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5744         * gst/gstbin.h:
5745         * testsuite/threads/Makefile.am:
5746         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5747         (cb_state), (cb_play), (main):
5748           Fix non-recursive state changes to *really* change the state
5749           of the object, and not just call parent_class->state_change.
5750           Fix a lot of lockups caused by this. Fixes #132775. Add test
5751           for the problem. Also enable test to show #142588 (fixed).
5752         * gst/gstthread.c: (gst_thread_change_state),
5753         (gst_thread_child_state_change):
5754           Don't exit the thread if we go to NULL and are inside thread
5755           context. Instead, return control to the main thread context
5756           and exit from there.
5757         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5758           Don't unset virtual functions, since those may still be used.
5759           That's not necessarily correct, but suffices for now.
5760         * configure.ac:
5761         * testsuite/Makefile.am:
5762         * testsuite/pad/Makefile.am:
5763         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5764         (gst_test_sink_base_init), (gst_test_sink_chain),
5765         (gst_test_sink_init), (main):
5766         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5767         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5768         (main):
5769         * testsuite/pad/link.c: (gst_test_element_class_init),
5770         (gst_test_element_base_init), (gst_test_src_get),
5771         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5772         (gst_test_filter_loop), (gst_test_filter_init),
5773         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5774         (cb_error), (main):
5775           Add tests to show #150546. Pass, but should fail (currently
5776           disabled from the testsuite).
5777         * gst/gstscheduler.c: (gst_scheduler_dispose):
5778           Dereference child schedulers on dispose (#94464).
5779         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5780           Fix typo.
5781         * testsuite/threads/thread.c: (main):
5782           Add more debug.
5783
5784 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5785
5786         * gst/gstpad.c: (gst_pad_push):
5787           Oops, revert previous commit, broke testsuite...
5788
5789 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5790
5791         * gst/gstpad.c: (gst_pad_push):
5792           Add check that the pad on which the push is performed is not a
5793           get-based pad (#150546).
5794
5795 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5796
5797         * gst/elements/gsttypefindelement.c:
5798         (gst_type_find_element_handle_event):
5799           Fix buffer pushing if stream EOSes during typefinding.
5800
5801 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5802
5803         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5804
5805         * gst/gstvalue.c: (gst_string_wrap):
5806           Allow NULL-strings as argument (#165365).
5807
5808 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5809
5810         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5811
5812         * gst/schedulers/faircothreads.c:
5813         (gst_fair_scheduler_cothread_queue_show):
5814           Fix build without debug enabled.
5815
5816 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5817
5818         * docs/gst/gstreamer-sections.txt:
5819         * docs/libs/gstreamer-libs-docs.sgml:
5820         * docs/libs/gstreamer-libs-sections.txt:
5821         * docs/libs/tmpl/gstcontrol.sgml:
5822         * docs/libs/tmpl/gstdparam.sgml:
5823         * docs/libs/tmpl/gstdplinint.sgml:
5824         * docs/libs/tmpl/gstdpman.sgml:
5825         * docs/libs/tmpl/gstdpsmooth.sgml:
5826         * docs/libs/tmpl/gstputbits.sgml:
5827         * docs/libs/tmpl/gstunitconvert.sgml:
5828         * libs/gst/control/dparam.c:
5829         * libs/gst/control/dparam.h:
5830         * libs/gst/control/dparammanager.c:
5831         (gst_dpman_add_required_dparam_callback),
5832         (gst_dpman_add_required_dparam_direct),
5833         (gst_dpman_add_required_dparam_array),
5834         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5835         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5836         (gst_dpman_get_manager)
5837           restructured DParam docs
5838
5839 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5840
5841         * gst-element-check.m4:
5842           Only check for gst-inspect if we haven't already
5843           found it in previous element check runs
5844
5845 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5846
5847         * docs/gst/Makefile.am:
5848         * docs/libs/Makefile.am:
5849           fixed install rules to treat style.css as optional
5850
5851 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5852
5853         * docs/gst/Makefile.am:
5854         * docs/libs/Makefile.am:
5855           install style.css along with docs
5856         * docs/gst/tmpl/gstbin.sgml:
5857         * docs/gst/tmpl/gstclock.sgml:
5858         * docs/gst/tmpl/gstdata.sgml:
5859         * docs/gst/tmpl/gstelement.sgml:
5860         * gst/gstbin.h:
5861         * gst/gstelement.c: (gst_element_class_init):
5862         * gst/gstelement.h:
5863           fixing incomplete docs
5864
5865 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5866
5867         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5868           Don't unref seek event twice when fflush() fails
5869           
5870 2005-01-22  David Schleef  <ds@schleef.org>
5871
5872         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5873
5874 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5875
5876         * docs/gst/Makefile.am:
5877         * docs/libs/Makefile.am:
5878           added params for deprecation guards
5879         * gst/gst.c:
5880         * gst/gst.h:
5881         * gst/gsterror.c: (_gst_resource_errors_init),
5882         (_gst_stream_errors_init):
5883         * gst/gsterror.h:
5884           documented some more enums
5885
5886 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5887         * gst/autoplug/gstspideridentity.c:
5888         Cosmetic fix - spider_find_peek should be static
5889         * gst/parse/parse.l:
5890         Applying fix for #164261
5891
5892 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5893
5894         * docs/gst/gstreamer-sections.txt:
5895         * docs/gst/tmpl/gstplugin.sgml:
5896         * docs/libs/gstreamer-libs-sections.txt:
5897         * docs/libs/tmpl/gstcontrol.sgml:
5898         * gst/gstbuffer.h:
5899         * gst/gsttag.h:
5900         * gst/gstvalue.c:
5901           added docs for the TAG defines
5902
5903 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5904
5905         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5906           Only unref entry if there is an entry.
5907
5908 2005-01-17  Wim Taymans  <wim@fluendo.com>
5909
5910         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5911         (remove_from_group), (schedule_group), (normalize_group),
5912         (gst_opt_scheduler_iterate):
5913         Also ref/unref decoupled elements before iterating the
5914         group since they are not added to the list of elements.
5915
5916 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5917
5918         * docs/manual/highlevel-components.xml:
5919           Add subtitle/streamselection as new features to playbin.
5920
5921 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5922
5923         * docs/manual/manual.xml:
5924           Re-enable dataaccess docs (oops).
5925
5926 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5927
5928         * docs/pwg/advanced-types.xml:
5929         * docs/random/mimetypes:
5930           Add documentation on libsndfile types (#163309), by Steve Baker
5931           <steve@stevebaker.org>.
5932         * gst/gstelement.c: (gst_element_release_request_pad):
5933           If an element has no explicit function, just remove the pad.
5934
5935 2005-01-17  Luca Ognibene  <luogni@tin.it>
5936
5937         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5938
5939         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5940           Fix memleak (#163801).
5941
5942 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5943
5944         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5945           I think this is actually more correct...
5946
5947 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5948
5949         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5950           Another workaround for memory access while destroyed in callback.
5951           Please, someone with refcount knowledge, have a look at this.
5952
5953 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5954
5955         * docs/faq/faq.xml:
5956         * docs/faq/legal.xml:
5957           move the legal Q&A here
5958
5959 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5960
5961         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5962         (gst_tee_request_new_pad):
5963           Fix negotiation.
5964
5965 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5966
5967         * docs/random/omega/caps2:
5968         * testsuite/caps/caps_strings:
5969           replace framerate aproximations by their real value
5970           (24000/1001, 30000/1001, 60000/1001)
5971           Partially fixes bug #164049
5972
5973 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5974
5975         * docs/gst/Makefile.am:
5976           don't fail on the stupid GstPoptOption
5977
5978 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5979
5980         * gst/gstpad.h:
5981         * gst/gstprobe.c:
5982           allow probes to work on ghost pads by realizing the pad
5983           probe debugging
5984
5985 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5986
5987         * docs/gst/gstreamer-sections.txt:
5988         * docs/gst/tmpl/gstpad.sgml:
5989         * gst/gstpad.c: (gst_pad_set_active_recursive):
5990         * gst/gstpad.h:
5991           Add gst_pad_set_active_recursive().
5992
5993 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5994
5995         * docs/random/release:
5996           updates
5997         * gst/gst_private.h:
5998         * gst/gstinfo.c:
5999         * gst/gstobject.c:
6000           move deep_notify logging to a new category
6001         * gst/gstprobe.c:
6002         * gst/gstprobe.h:
6003           add stuff so bindings can wrap probes
6004
6005 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6006
6007         * gst/gstplugin.c: (gst_plugin_load):
6008           Fix plugin loading if plugin/lib was already loaded. Fixes
6009           #163383
6010
6011 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6012
6013         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6014
6015         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6016           Protect plugin loading by a mutex so it's threadsafe. Fixes
6017           #163234.
6018
6019 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6020
6021         * gst/gstevent.c: (_gst_event_copy):
6022           Reference source object when copying events, since it'll be
6023           dereferenced on event dereferencing as well.
6024
6025 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6026
6027         * docs/gst/gstreamer-sections.txt:
6028         * docs/gst/tmpl/gstevent.sgml:
6029         * gst/gstevent.c: (gst_event_new_filler_stamped),
6030         (gst_event_filler_get_duration):
6031         * gst/gstevent.h:
6032           Add two new functions for filler events (which are used to
6033           synchronize streams if one of them is not having any data
6034           for a while) without interrupting the actual data-stream.
6035           Basically a no-op.
6036         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6037         (gst_queue_link_sink), (gst_queue_link_src),
6038         (gst_queue_change_state):
6039           Allow for renegotiation while filled. Required for stream
6040           switching while playing.
6041
6042 2005-01-08  Benjamin Otte  <otte@gnome.org>
6043
6044         * gst/gstelement.c: (gst_element_link_many):
6045           fix up g_return_if_fail's
6046         * po/LINGUAS:
6047         * po/de.po:
6048           add German translation, that was somehow not included
6049
6050 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6051
6052         * docs/random/mimetypes:
6053           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6054           do not add them to riff-lib as they are not common
6055
6056 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6057
6058         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6059           Check for existence of probe after performing the probe before
6060           re-accessing it to prevent segfaults caused by removal of the
6061           probe in the callback.
6062
6063 2005-01-05  David Schleef  <ds@schleef.org>
6064
6065         * testsuite/registry/Makefile.am:
6066         * testsuite/registry/gst-print-formats.c:
6067         (print_pad_templates_info), (print_element_list),
6068         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6069         (g_list_uniqify), (get_pad_templates_info),
6070         (get_element_mime_list), (print_mime_list), (main): A little
6071         program that looks through the registry to find elements of
6072         a given type.  Not particularly interesting as a test, except
6073         that there's no other test covering the same area.
6074
6075 2005-01-05  David Schleef  <ds@schleef.org>
6076
6077         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6078         (fault_handler_sigaction), (fault_spin),
6079         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6080         in signal.h-type signal handlers by not calling forbidden functions,
6081         including gst_element_set_state().
6082
6083 2005-01-05  David Schleef  <ds@schleef.org>
6084
6085         * gst/gstvalue.h: Mark _gst_reserved[] as private
6086
6087 2005-01-05  David Schleef  <ds@schleef.org>
6088
6089         * gst/gstvalue.c: Fix doc build problem.
6090
6091 2005-01-05  David Schleef  <ds@schleef.org>
6092
6093         * gst/gstvalue.c: Add some documentation
6094
6095 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6096
6097         * docs/README:
6098           another shell oneliner for empty return value docs
6099         * gst/gstcaps.c:
6100         * gst/gstvalue.c:
6101         * libs/gst/control/dparam.c:
6102           more doc fixes (parameters and return values)
6103
6104 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6105
6106         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6107
6108         * gst/gstregistry.h:
6109         * gst/registries/gstxmlregistry.c:
6110           Fix macro's for Mingw (fixes #162276).
6111
6112 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6113
6114         * docs/README:
6115           quick shell oneliner to find undocumented members
6116         * docs/gst/tmpl/gstplugin.sgml:
6117         * docs/gst/tmpl/gstscheduler.sgml:
6118         * docs/gst/tmpl/gstthread.sgml:
6119           more enumtypes cleanup
6120         * gst/gsterror.h:
6121           activated documentation comments, now someone needs to document
6122           the enums :(
6123
6124 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6125
6126         * docs/manual/manual.xml:
6127           Add dataaccess part (doh!).
6128
6129 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6130
6131         * docs/manual/advanced-autoplugging.xml:
6132           Fix typo (intiate -> initiate).
6133
6134 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6135
6136         * docs/random/bbb/streamselection:
6137           Add some notes on how to handle multi-subtitle/-audio streams.
6138
6139 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6140
6141         * docs/gst/gstreamer-docs.sgml:
6142         * docs/gst/gstreamer-sections.txt:
6143         * docs/gst/tmpl/gstenumtypes.sgml:
6144         * docs/gst/tmpl/gsterror.sgml:
6145         * docs/gst/tmpl/gstevent.sgml:
6146         * docs/gst/tmpl/gstpad.sgml:
6147         * docs/gst/tmpl/gstpadtemplate.sgml:
6148         * docs/gst/tmpl/gstthread.sgml:
6149           removed gstenumtypes section from docs and put all the enums into
6150           their sections
6151
6152 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6153
6154         * gst/gstplugin.c:
6155           document gst_library_load a bit more (riff special case + return
6156           value if already loaded)
6157         * testsuite/bytestream/filepadsink.c:
6158           plugin name is 'gstbytestream', not 'bytestream'
6159
6160 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6161
6162         * docs/random/bbb/subtitles:
6163           Add some first mind rumblings on proper subtitle support.
6164
6165 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6166
6167         * po/ca.po:
6168         * po/sv.po:
6169           updated translations
6170
6171 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6172
6173         * docs/manual/advanced-dataaccess.xml:
6174           Add section on how to use fakesrc/fakesink/identity in your
6175           application, plus section on how to embed plugins. Also mention
6176           probes.
6177         * docs/manual/appendix-checklist.xml:
6178         * docs/manual/appendix-debugging.xml:
6179         * docs/manual/appendix-gnome.xml:
6180         * docs/manual/appendix-integration.xml:
6181           Debug -> checklist, GNOME -> integration, add sections on Linux,
6182           KDE integration and add other things useful for application
6183           development.
6184         * docs/manual/manual.xml:
6185           Remove some fixmes, update some file pointers.
6186         * docs/pwg/appendix-checklist.xml:
6187           Fix typo.
6188         * docs/pwg/building-boiler.xml:
6189           Remove ugly header and add commented fixme.
6190         * docs/pwg/pwg.xml:
6191           Add fixme.
6192         * examples/manual/Makefile.am:
6193           Add example for added docs.
6194
6195 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6196
6197         * configure.ac:
6198           back to HEAD
6199
6200 === release 0.8.8 ===
6201
6202 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6203
6204         * NEWS:
6205         * RELEASE:
6206         * configure.ac:
6207           Releasing 0.8.8, "I'll Take Care Of You"
6208
6209 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6210
6211         * configure.ac:
6212           second prerelease
6213
6214 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6215
6216         patch by: Wim Taymans
6217
6218         * gst/gstbin.c:
6219           Fix for #159852 - make iterate emission threadsafe
6220
6221 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6222
6223         * docs/faq/cvs.xml:
6224           notes about new fdo account request
6225
6226 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6227
6228         * docs/gst/gstreamer-docs.sgml:
6229         * docs/gst/tmpl/gstenumtypes.sgml:
6230         * docs/gst/tmpl/gstplugin.sgml:
6231         * docs/libs/gstreamer-libs-docs.sgml:
6232           Added missing short docs. Added ids for navigation.
6233
6234 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6235
6236         * docs/manual/advanced-autoplugging.xml:
6237         * docs/manual/advanced-schedulers.xml:
6238         * docs/manual/advanced-threads.xml:
6239           Rewrites. Remove cothreads, go a bit into opt specifically,
6240           document threads and their gotchas, and do some technical stuff
6241           on autoplugging plus add some working examples. Fixes #157395.
6242         * examples/manual/Makefile.am:
6243           Add typefind/autoplugger example (one that actually works).
6244           Remove queue example since it's a duplicate of the thread one.
6245
6246 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6247
6248         * gst/gstvalue.c: (gst_value_deserialize_string):
6249           use deprecated g_value_set_string_take_ownership to keep compatible
6250           with glib 2.2
6251
6252 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6253
6254         * gst/gstvalue.c: (gst_value_deserialize_string):
6255           revert last patch, only dom a g_utf8_validate now before accepting
6256           the string - caps parsing strips " from strings so we can't rely on
6257           them
6258         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6259           disable a test that tested the above and comment it
6260
6261 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6262
6263         Patch reviewed by David Schleef  <ds@schleef.org>
6264
6265         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6266         bug #153882)
6267         * win32/gstenumtypes.h: same
6268
6269 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6270
6271         * gst/gstpad.c: (gst_pad_query):
6272           Do query on realized pad, similar to how convert/send_event handle
6273           this. Also makes sense, since this pad belongs to the function to
6274           which this query will be sent. Fixes #158163.
6275
6276 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6277
6278         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6279
6280 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6281
6282         * docs/faq/general.xml: fix pipeline to actually work
6283
6284 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6285
6286         * gst/gstvalue.c: (gst_value_deserialize_string):
6287           check that a simple string that gets deserialized does not contain
6288           invalid characters
6289         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6290           remove a test that tested a wring behaviour
6291
6292 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6293
6294         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6295
6296         * docs/manual/intro-motivation.xml:
6297           Fix typos.
6298
6299 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6300
6301         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6302
6303         * docs/gst/tmpl/gstprobe.sgml:
6304           Fix documentation of probe callback - it is supposed to return
6305           FALSE, not TRUE, to remove data from the stream (#159087).
6306
6307 2004-12-16  Daniel Gazard  <dany42@free.fr>
6308
6309         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6310
6311         * gst/gstelementfactory.c: (gst_element_factory_create):
6312           Fix compile failure if compiling without libxml2 support (#149936).
6313
6314 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6315
6316         * docs/manual/advanced-autoplugging.xml:
6317         * docs/manual/highlevel-components.xml:
6318           Move spider from autoplugging to components. Autoplugging is for
6319           internals, not for solutions. ;-).
6320
6321 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6322
6323         * docs/random/ds/0.9-suggested-changes:
6324           Make note on device/location/uri property names.
6325
6326 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6327
6328         * docs/manual/advanced-autoplugging.xml:
6329         * docs/manual/advanced-clocks.xml:
6330         * docs/manual/advanced-interfaces.xml:
6331         * docs/manual/advanced-metadata.xml:
6332         * docs/manual/advanced-position.xml:
6333         * docs/manual/advanced-schedulers.xml:
6334         * docs/manual/advanced-threads.xml:
6335         * docs/manual/appendix-gnome.xml:
6336         * docs/manual/appendix-programs.xml:
6337         * docs/manual/appendix-quotes.xml:
6338         * docs/manual/autoplugging.xml:
6339         * docs/manual/basics-bins.xml:
6340         * docs/manual/basics-data.xml:
6341         * docs/manual/basics-elements.xml:
6342         * docs/manual/basics-helloworld.xml:
6343         * docs/manual/basics-init.xml:
6344         * docs/manual/basics-pads.xml:
6345         * docs/manual/basics-plugins.xml:
6346         * docs/manual/bins-api.xml:
6347         * docs/manual/bins.xml:
6348         * docs/manual/buffers-api.xml:
6349         * docs/manual/buffers.xml:
6350         * docs/manual/clocks.xml:
6351         * docs/manual/components.xml:
6352         * docs/manual/cothreads.xml:
6353         * docs/manual/debugging.xml:
6354         * docs/manual/dparams-app.xml:
6355         * docs/manual/dynamic.xml:
6356         * docs/manual/elements-api.xml:
6357         * docs/manual/elements.xml:
6358         * docs/manual/factories.xml:
6359         * docs/manual/gnome.xml:
6360         * docs/manual/goals.xml:
6361         * docs/manual/helloworld.xml:
6362         * docs/manual/helloworld2.xml:
6363         * docs/manual/highlevel-components.xml:
6364         * docs/manual/highlevel-xml.xml:
6365         * docs/manual/init-api.xml:
6366         * docs/manual/intro-basics.xml:
6367         * docs/manual/intro-motivation.xml:
6368         * docs/manual/intro-preface.xml:
6369         * docs/manual/intro.xml:
6370         * docs/manual/links-api.xml:
6371         * docs/manual/links.xml:
6372         * docs/manual/manual.xml:
6373         * docs/manual/motivation.xml:
6374         * docs/manual/pads-api.xml:
6375         * docs/manual/pads.xml:
6376         * docs/manual/plugins-api.xml:
6377         * docs/manual/plugins.xml:
6378         * docs/manual/programs.xml:
6379         * docs/manual/queues.xml:
6380         * docs/manual/quotes.xml:
6381         * docs/manual/schedulers.xml:
6382         * docs/manual/states-api.xml:
6383         * docs/manual/states.xml:
6384         * docs/manual/threads.xml:
6385         * docs/manual/typedetection.xml:
6386         * docs/manual/win32.xml:
6387         * docs/manual/xml.xml:
6388           Try 2. This time, include a short preface as a "general
6389           introduction", also add code blocks around all code samples
6390           so they get compiled. We still need a way to tell readers
6391           the filename of the code sample. In some cases, don't show
6392           all code in the documentation, but do include it in the generated
6393           code. This allows for focussing on specific bits in the docs,
6394           while still having a full test application available.
6395         * examples/manual/Makefile.am:
6396           Fix up examples for new ADM. Add several of the new examples that
6397           were either added or were missing from the build system.
6398         * examples/manual/extract.pl:
6399           Allow nameless blocks.
6400
6401 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6402
6403         * docs/manual/elements-api.xml:
6404         * docs/manual/helloworld.xml:
6405         * examples/manual/extract.pl:
6406           fix last example.  Add example of adding code blocks that are not
6407           shown in docbook output.
6408
6409 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6410
6411         * docs/manual/dynamic.xml:
6412         * docs/manual/elements-api.xml:
6413         * docs/manual/gnome.xml:
6414         * docs/manual/helloworld2.xml:
6415         * docs/manual/init-api.xml:
6416         * docs/manual/queues.xml:
6417         * docs/manual/threads.xml:
6418         * docs/manual/xml.xml:
6419         * examples/manual/extract.pl:
6420           Make it possible to extract example code from separate blocks.
6421           Should make Ronald happy.
6422
6423 2004-12-15  Wim Taymans  <wim@fluendo.com>
6424
6425         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6426         (remove_from_group), (group_elements_set_visited),
6427         (normalize_group), (gst_opt_scheduler_iterate):
6428         Fix bug where a flag was not updated on a decoupled entry point 
6429         because we were just checking the group element list and decoupled
6430         elements are not in that list..
6431
6432 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6433
6434         * docs/manual/advanced-autoplugging.xml:
6435         * docs/manual/advanced-clocks.xml:
6436         * docs/manual/advanced-dparams.xml:
6437         * docs/manual/advanced-interfaces.xml:
6438         * docs/manual/advanced-metadata.xml:
6439         * docs/manual/advanced-position.xml:
6440         * docs/manual/advanced-schedulers.xml:
6441         * docs/manual/advanced-threads.xml:
6442         * docs/manual/appendix-debugging.xml:
6443         * docs/manual/appendix-gnome.xml:
6444         * docs/manual/appendix-programs.xml:
6445         * docs/manual/appendix-quotes.xml:
6446         * docs/manual/appendix-win32.xml:
6447         * docs/manual/autoplugging.xml:
6448         * docs/manual/basics-bins.xml:
6449         * docs/manual/basics-data.xml:
6450         * docs/manual/basics-elements.xml:
6451         * docs/manual/basics-helloworld.xml:
6452         * docs/manual/basics-init.xml:
6453         * docs/manual/basics-pads.xml:
6454         * docs/manual/basics-plugins.xml:
6455         * docs/manual/bins-api.xml:
6456         * docs/manual/bins.xml:
6457         * docs/manual/buffers-api.xml:
6458         * docs/manual/buffers.xml:
6459         * docs/manual/clocks.xml:
6460         * docs/manual/components.xml:
6461         * docs/manual/cothreads.xml:
6462         * docs/manual/debugging.xml:
6463         * docs/manual/dparams-app.xml:
6464         * docs/manual/dynamic.xml:
6465         * docs/manual/elements-api.xml:
6466         * docs/manual/elements.xml:
6467         * docs/manual/factories.xml:
6468         * docs/manual/gnome.xml:
6469         * docs/manual/goals.xml:
6470         * docs/manual/helloworld.xml:
6471         * docs/manual/helloworld2.xml:
6472         * docs/manual/highlevel-components.xml:
6473         * docs/manual/highlevel-xml.xml:
6474         * docs/manual/init-api.xml:
6475         * docs/manual/intro-motivation.xml:
6476         * docs/manual/intro-preface.xml:
6477         * docs/manual/intro.xml:
6478         * docs/manual/links-api.xml:
6479         * docs/manual/links.xml:
6480         * docs/manual/manual.xml:
6481         * docs/manual/motivation.xml:
6482         * docs/manual/pads-api.xml:
6483         * docs/manual/pads.xml:
6484         * docs/manual/plugins-api.xml:
6485         * docs/manual/plugins.xml:
6486         * docs/manual/programs.xml:
6487         * docs/manual/queues.xml:
6488         * docs/manual/quotes.xml:
6489         * docs/manual/schedulers.xml:
6490         * docs/manual/states-api.xml:
6491         * docs/manual/states.xml:
6492         * docs/manual/threads.xml:
6493         * docs/manual/typedetection.xml:
6494         * docs/manual/win32.xml:
6495         * docs/manual/xml.xml:
6496           First try at rewriting the ADM. Needs lotsamore work, but some
6497           parts might already be somewhat useful.
6498         * docs/pwg/advanced-interfaces.xml:
6499           Remove properties interface, it never actually existed (except for
6500           on my HD...).
6501
6502 2004-12-13  David Schleef  <ds@schleef.org>
6503
6504         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6505         be NULL (bug #160220).
6506
6507 2004-12-13  David Schleef  <ds@schleef.org>
6508
6509         * configure.ac: remove all mmx stuff, because it's not used.
6510         * docs/random/ds/0.9-suggested-changes: additional notes
6511         * include/Makefile.am: we don't use these anymore
6512         * include/mmx.h: remove
6513         * include/sse.h: remove
6514
6515 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6516
6517         * docs/random/mimetypes:
6518           Add FOURCC code for h264 codec (VSSH)
6519           Add alternate FOURCC codes for h263 related codecs
6520
6521 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6522
6523         * docs/manual/programs.xml:
6524           Added more gst-launch examples.
6525
6526 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6527
6528         * gst/gstqueue.c: (gst_queue_handle_src_query):
6529           Check for availability again.
6530
6531 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6532
6533         * gst/gstcaps.c: (gst_caps_compare_structures):
6534           Simple caps go first. This has the nice side-effect of fixing an
6535           obscure warning.
6536
6537 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6538
6539         * gst/gstversion.h.in:
6540           Protect header.
6541
6542 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6543
6544         * gst/schedulers/gstoptimalscheduler.c:
6545         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6546         (gst_opt_scheduler_get_wrapper):
6547           When we're recursing into a chain run, only run the directly
6548           related group, not all queued ones. This will fix a possible
6549           deadlock in chains with more than two groups.
6550
6551 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6552
6553         * autogen.sh:
6554           remove patch if autopoint fails
6555
6556 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6557
6558         * docs/gst/gstreamer-sections.txt:
6559           Document Thomas' addition, fix build, make Luis the sheriff happy.
6560
6561 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6562
6563         * gst/gstplugin.c:
6564         * gst/gstplugin.h:
6565           add accessor for version field
6566
6567 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6568
6569         submitted by: Luca Ferretti <elle.uca@infinito.it>
6570
6571         * po/LINGUAS:
6572         * po/it.po:
6573           New tranlation added: Italian
6574
6575 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6576
6577         * gst/gstpad.c: (gst_pad_is_negotiated),
6578         (gst_pad_get_negotiated_caps):
6579           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6580           it doesn't actually check the contents), so be sure to hand it
6581           a RealPad else we'll crash.
6582
6583 2004-12-03  Wim Taymans  <wim@fluendo.com>
6584
6585         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6586         (gst_queue_link), (gst_queue_handle_src_query):
6587         Reverted to 1.110 until this makes the testsuite and various
6588         apps work.
6589
6590 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6591
6592         * docs/upload.mak: fix included CVS conflict strings
6593
6594 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6595
6596         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6597
6598         * gst/gstelement.c: (gst_element_error_full):
6599           Use g_error_new_literal because error text may have
6600           percentage signs in it. Fixes #160019.
6601
6602 2004-12-01  Benjamin Otte  <otte@gnome.org>
6603
6604         * gst/elements/gstbufferstore.c:
6605         (gst_buffer_store_add_buffer_func):
6606           don't try to make subbuffers bigger than they can be. (fixes
6607           #159970)
6608
6609 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6610
6611         * docs/gst/gstreamer-sections.txt:
6612         * docs/gst/tmpl/gstvalue.sgml:
6613           Add new function to docs to fix build.
6614
6615 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6616
6617         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6618         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6619         (_gst_pad_default_fixate_foreach):
6620         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6621         * gst/gstvalue.h:
6622           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6623           in some cases (arrays), the fixedness depends on the content.
6624         * gst/gstqueue.c: (gst_queue_handle_src_query):
6625           Check for availability before doing something.
6626
6627 2004-11-29  Wim Taymans  <wim@fluendo.com>
6628
6629         * testsuite/threads/Makefile.am:
6630         * testsuite/threads/signals.c: (gst_test_get_type),
6631         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6632         (gst_test_set_property), (gst_test_get_property),
6633         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6634         (gst_test_do_prop), (run_thread), (main):
6635         Added a bunch of testcases that show threadsafety bugs in glib.
6636
6637 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6638
6639         * docs/manual/programs.xml:
6640           Added a first batch of gst-launch examples, as provided by Ronald
6641           and others from the devel-mlist
6642
6643 2004-11-28  Benjamin Otte  <otte@gnome.org>
6644
6645         * gst/gstelement.c: (gst_element_negotiate_pads):
6646           simplify
6647         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6648         (gst_value_serialize_string), (gst_value_deserialize_string):
6649           add unwrapping of previously wrapped strings. Fix bug in wrapping
6650           while at it.
6651         * testsuite/caps/value_serialize.c: (test1),
6652         (test_string_serialization), (test_string_deserialization), (main):
6653           add tests for string (de)serialization
6654
6655 2004-11-26  Wim Taymans  <wim@fluendo.com>
6656
6657         * testsuite/threads/159566.c: (object_deep_notify), (main):
6658         * testsuite/threads/Makefile.am:
6659         Added testsuite to show bug #159566
6660
6661 2004-11-25  Wim Taymans  <wim@fluendo.com>
6662
6663         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6664         (gst_thread_child_state_change), (gst_thread_main_loop):
6665         Ref the thread object in the GThread mainloop. Break out of the
6666         thread mainloop if it holds the last ref. This properly exits
6667         the threads when disposing the thread from its own context. It
6668         also avoids possible deadlocks in the dispose function.
6669
6670 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6671
6672         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6673         it is necessary to wait.
6674
6675 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6676
6677         * docs/pwg/building-boiler.xml:
6678           Make description somewhat clearer.
6679
6680 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6681
6682         * docs/upload.mak:
6683           Apparently docs changed location on FDO's server.
6684
6685 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6686
6687         * docs/pwg/appendix-checklist.xml:
6688           Add some random notes on things to check when writing an element.
6689           This list can be extended as people see fit.
6690
6691 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6692
6693         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6694         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6695         pad. The queue will now wait until it is empty and forward the new
6696         caps to the source.
6697         * gst/gstbin.c (gst_bin_set_element_sched)
6698         (gst_bin_unset_element_sched): Make sure that all elements and
6699         links are registered and unregistered with the scheduler exactly
6700         once. This elaborates on a fix by Benjamin Otte, but
6701         guarantees that decoupled elements are also registered.
6702
6703 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6704
6705         * docs/manual/quotes.xml:
6706           add a quote
6707         * configure.ac:
6708         * gst/gst.c:
6709         * gst/gstinfo.c:
6710           add LIBDIR and move init message higher up so it's at the start
6711
6712 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6713
6714         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6715         * gstreamer.spec.in: add fair
6716
6717 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6718
6719         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6720         * gst/elements/gstidentity.c: (gst_identity_class_init):
6721           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6722           <teuf@gnome.org> (#157263).
6723         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6724         (gst_type_find_handle_src_query):
6725           Subtract size of internally stored data from position queries.
6726
6727 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6728
6729         * gst/schedulers/fairscheduler.c:
6730         * gst/schedulers/faircothreads.c:
6731         * gst/schedulers/faircothreads.h:
6732         New cothread based scheduler: Fair scheduler.
6733         * gst/schedulers/gthread-cothreads.h: 
6734         Add the standard #if around the whole file.
6735         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6736         compilation of the functions defined in this file. This is
6737         necessary to be able to use this file as a normal header.
6738         * gst/schedulers/Makefile.am: Add compiling support for fair
6739         scheduler.
6740         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6741         scheduler cothreads layer from documentation generation.
6742
6743 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6744
6745         * gst/autoplug/gstspideridentity.c:
6746         (gst_spider_identity_sink_loop_type_finding):
6747           Don't crash if that function is not implemented.
6748
6749 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6750
6751         * docs/pwg/advanced-types.xml:
6752           Another typo.
6753
6754 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6755
6756         * docs/pwg/intro-preface.xml:
6757           Hm, ok, so the brackets weren't really useful...
6758         * docs/pwg/other-ntoone.xml:
6759           Fix embarassing typo.
6760
6761 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6762
6763         * docs/pwg/intro-preface.xml:
6764           Rewrite preface.
6765
6766 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6767
6768         * docs/pwg/advanced-scheduling.xml:
6769         * docs/pwg/advanced-tagging.xml:
6770         * docs/pwg/advanced-types.xml:
6771         * docs/pwg/building-boiler.xml:
6772         * docs/pwg/building-chainfn.xml:
6773         * docs/pwg/building-signals.xml:
6774         * docs/pwg/building-state.xml:
6775         * docs/pwg/building-testapp.xml:
6776         * docs/pwg/intro-basics.xml:
6777         * docs/pwg/other-manager.xml:
6778         * docs/pwg/other-source.xml:
6779           Typo fixes.
6780         * docs/pwg/other-manager.xml:
6781           Add some first content. No example code yet.
6782         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6783           Remove double newlines.
6784
6785 2004-11-04  Wim Taymans  <wim@fluendo.com>
6786
6787         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6788         (remove_from_group), (normalize_group), (group_migrate_connected),
6789         (gst_opt_scheduler_iterate):
6790         * testsuite/schedulers/.cvsignore:
6791         * testsuite/schedulers/Makefile.am:
6792         * testsuite/schedulers/queue_link.c: (main):
6793         Added testcase for scheduler segfault.
6794         Fix scheduler segfault when removing a decoupled
6795         entry point as the last element from a group.
6796
6797 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6798
6799         * gst/gstmarshal.list: add missing marshaller, fixes build
6800
6801 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6802
6803         * docs/random/signal: added notes about using BOXED for GstBuffer
6804         signal marshallers, not POINTER
6805
6806 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6807
6808         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6809         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6810         POINTER=>BOXED changes to marshal GstBuffers
6811
6812 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6813
6814         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6815         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6816
6817 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6818
6819         * docs/gst/gstreamer-sections.txt:
6820         * docs/gst/tmpl/gstcaps.sgml:
6821         * docs/gst/tmpl/gsterror.sgml:
6822         * docs/gst/tmpl/gstinfo.sgml:
6823         * docs/gst/tmpl/gstmacros.sgml:
6824         * docs/gst/tmpl/gstutils.sgml:
6825         * docs/random/ensonic/interfaces.txt:
6826         * gst/gstinfo.h:
6827           added some more docs, removed two obsolete defines
6828
6829 2004-11-02  Kjartan Maraas <as at gnome.org>
6830
6831         reviewed by: Wim Taymans, Ronald Bultje.
6832
6833         * gst/cothreads.c: (cothread_create):
6834         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6835         (gst_bin_child_state_change_func):
6836         * gst/gstbuffer.c: (gst_buffer_span):
6837         * gst/gstelement.c: (gst_element_get_index),
6838         (gst_element_get_event_masks), (gst_element_get_query_types),
6839         (gst_element_get_formats):
6840         * gst/gsterror.c: (_gst_core_errors_init),
6841         (_gst_library_errors_init), (_gst_resource_errors_init),
6842         (_gst_stream_errors_init):
6843         * gst/gstobject.c: (gst_object_default_deep_notify):
6844         * gst/gstpad.c: (gst_pad_get_event_masks),
6845         (gst_pad_get_internal_links_default):
6846         * gst/gstplugin.c: (gst_plugin_register_func),
6847         (gst_plugin_get_module):
6848         * gst/gststructure.c: (gst_structure_get_string),
6849         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6850         (gst_structure_to_abbr):
6851         * gst/gstutils.c: (gst_print_element_args):
6852         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6853         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6854         Aplied part of patch #157127: Cleanup of issues reported by 
6855         sparse.
6856         Also do not try to use cothreads when there is no cothread
6857         context yet.
6858
6859 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6860
6861         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6862         (gst_opt_scheduler_iterate):
6863         Applied patch #154061. Running a pipeline in which an element 
6864         calls GST_ELEMENT_ERROR in the chain function, the opt 
6865         scheduler doesn't unref the chain so it never gets freed.
6866
6867 2004-11-02  Wim Taymans  <wim@fluendo.com>
6868
6869         * gst/gststructure.c: (gst_structure_get_abbrs),
6870         (gst_structure_from_abbr), (gst_structure_to_abbr):
6871         Remove that ugly if-then thing in the code that converts
6872         between strings and types.
6873
6874 2004-11-02  Wim Taymans  <wim@fluendo.com>
6875
6876         * gst/gstscheduler.c: (gst_scheduler_add_element),
6877         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6878         Aplied clock distribution patch, this should fix bug
6879         #148787.
6880
6881 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6882
6883         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6884
6885         * po/LINGUAS:
6886         * po/nb.po:
6887           Added Norwegian Bokmaal translation
6888
6889 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6890
6891         * tools/gst-inspect.c: (print_signal_info):
6892           print signal arguments as pointers if they are
6893
6894 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6895
6896         * docs/pwg/building-boiler.xml:
6897           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6898
6899 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6900
6901         * gst/parse/parse.l:
6902         * testsuite/parse/parse1.c: (main):
6903         Since parse can do 'element name=a:b' make 'a:b.' work as
6904         well. 
6905         Added testcase to verify fix.
6906
6907 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6908
6909         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6910         Use the realpad when printing the direction.
6911         Add extra \n when printing extensions of typefind factories.
6912
6913 2004-10-13  David Schleef  <ds@schleef.org>
6914
6915         * examples/manual/Makefile.am: $< isn't portable in Makefile
6916         rules.
6917
6918 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6919
6920         * docs/gst/tmpl/gstobject.sgml:
6921         * docs/gst/tmpl/gstplugin.sgml:
6922         * docs/gst/tmpl/gstpluginfeature.sgml:
6923         * docs/gst/tmpl/gstregistry.sgml:
6924         * docs/gst/tmpl/gstversion.sgml:
6925         * gst/gstbin.c:
6926           more api documentation
6927         * gst/gstplugin.c: (gst_plugin_register_func),
6928         (gst_plugin_check_file), (gst_plugin_load_file):
6929           better error signaling and logging
6930
6931 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6932
6933         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6934           Subtract current queue contents from position queries.
6935
6936 2004-10-11  Johan Dahlin  <johan@gnome.org>
6937
6938         * gst/gsturi.c (gst_uri_get_location): unescape string
6939         (gst_uri_construct): escape string.
6940
6941 2004-10-11  Benjamin Otte  <otte@gnome.org>
6942
6943         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6944         (gst_pad_try_set_caps_nonfixed):
6945           allow renegotiation of unconnected pads (as inside spider). Simply
6946           return OK if unconnected - mimic try_set_caps there.
6947
6948 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6949
6950         * gst/gstbin.c: (gst_bin_sync_children_state):
6951           Add missing break.
6952
6953 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6954
6955         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6956         Set element to EOS before sending EOS event
6957
6958 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6959
6960         * gst/elements/gsttypefindelement.c:
6961         (gst_type_find_element_handle_event):
6962         Handle EOS events when doing the transition from
6963         typefind to data passing. This should fix the
6964         infinite loops in short files.
6965
6966 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6967
6968         * gst/gstthread.c: (gst_thread_change_state),
6969         (gst_thread_child_state_change):
6970         Make sure no iteration happens while performing
6971         the state change as it could mess up the internal
6972         consistency of the thread state.
6973
6974 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6975
6976         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6977         (gst_thread_change_state), (gst_thread_child_state_change):
6978         Do not try to grab the iterate lock in the state change method
6979         when we are in the same thread as the iterate or else we
6980         could deadlock. Some other cleanups.
6981
6982 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6983
6984         * configure.ac:
6985           bump nano to cvs
6986
6987 === release 0.8.7 ===
6988
6989 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6990
6991         * configure.ac:
6992         * NEWS:
6993         * RELEASE:
6994         * configure.ac:
6995           releasing 0.8.7, "A Cruise"
6996
6997 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6998
6999         * docs/random/mimetypes:
7000         Add an entry for Sony ATRAC3 audio format with mime-type
7001         used by rmdemux et riff-read
7002
7003 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7004
7005         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7006         Push the buffer store instead of clearing it in case that
7007         the stream is not seekable.
7008
7009 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7010
7011         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7012         (gst_thread_main_loop):
7013         Lock the iteration and the state change so that automatic
7014         negotiation and fixation does not happen at the same time
7015         as the in stream negotiation.
7016
7017 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7018
7019         * configure.ac:
7020           bump nano to cvs
7021
7022 === release 0.8.6 ===
7023
7024 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7025
7026         * configure.ac:
7027         * NEWS:
7028         * RELEASE:
7029         * configure.ac:
7030           releasing 0.8.6, "Narc"
7031
7032 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7033
7034         * configure.ac:
7035           prerel bump
7036
7037 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7038
7039         patch by: Steve Lhomme
7040
7041         * gst/elements/gstfakesrc.c:
7042         * gst/elements/gstidentity.c:
7043         * gst/gstthread.c:
7044           Fix for #153881
7045
7046 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7047
7048         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7049         Fix threadsafety of the crc checking function.
7050
7051 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7052
7053         patch by: Ronald Bultje
7054
7055         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7056         (gst_type_find_element_handle_event),
7057         (gst_type_find_element_chain):
7058         * gst/elements/gsttypefindelement.h:
7059          #153657.
7060          Filter out discont event from seekable sources when typefind
7061          asks them to seek.  Fixes typefind with demuxers for
7062          avi, asf and matroska.
7063
7064 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7065
7066         * docs/gst/gstreamer-sections.txt:
7067         * gst/gstcaps.c:
7068         * gst/gstcaps.h:
7069         * gst/gstpad.c:
7070           Revert preferred caps: (#147789)
7071
7072 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7073
7074         * win32/dirent.c:
7075           fix a memory leak
7076
7077 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7078
7079         * configure.ac:
7080           bump for prerelease
7081
7082 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7083
7084         * docs/Makefile.am:
7085         * docs/manual/elements-api.xml:
7086           restructure so that common stuff is shown first
7087         * docs/manual/init-api.xml:
7088           convert to examples
7089         * docs/manual/manual.xml:
7090         * docs/manuals.mak:
7091         * docs/url.entities:
7092           link to API on the website, possibly override later in build
7093         * examples/manual/.cvsignore:
7094           ignore more
7095         * examples/manual/Makefile.am:
7096           add more examples
7097         * examples/manual/extract.pl:
7098           error out on failure
7099
7100 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7101
7102         * docs/gst/tmpl/gstthread.sgml:
7103         * docs/manual/init-api.xml:
7104         * examples/manual/Makefile.am:
7105           convert two code bits to examples
7106
7107 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7108
7109         * gst/gstelement.c: (gst_element_change_state):
7110           Well, actually, I was about to remove this insane assert when
7111           I noticed Wim already did that. A warning is nice so we can
7112           fix actual ugs (using --g-fatal-warnings and backtraces), so
7113           I added that instead.
7114
7115 2004-09-06  Wim Taymans  <wim@fluendo.com>
7116
7117         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7118         (gst_element_threadsafe_properties_post_run),
7119         (gst_element_set_state), (gst_element_change_state):
7120         Added extra refcounting around various places. 
7121
7122 2004-09-06  Wim Taymans  <wim@fluendo.com>
7123
7124         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7125         Fix debug info.
7126
7127 2004-09-06  Wim Taymans  <wim@fluendo.com>
7128
7129         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7130         (remove_from_group):
7131         Some more debug info.
7132
7133 2004-09-03  Wim Taymans  <wim@fluendo.com>
7134
7135         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7136         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7137         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7138         (gst_fakesrc_get), (gst_fakesrc_change_state):
7139         * gst/elements/gstfakesrc.h:
7140         * gst/elements/gstidentity.c: (gst_identity_class_init),
7141         (gst_identity_init), (gst_identity_chain),
7142         (gst_identity_set_property), (gst_identity_get_property),
7143         (gst_identity_change_state):
7144         * gst/elements/gstidentity.h:
7145         Added datarate properties to limit the datarate.
7146
7147 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7148
7149         * gst/autoplug/gstspider.c: (plugin_init):
7150           don't set a rank. We don't want to autoplug by inserting spiders.
7151
7152 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7153
7154         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7155         (gst_spider_identity_plug):
7156           add a template for spider's sink
7157         * gst/gst.c: (gst_register_core_elements):
7158           queue's rank should be NULL, we don't want spider to add it.
7159
7160 2004-08-18  David Schleef  <ds@schleef.org>
7161
7162         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7163         * docs/libs/Makefile.am: same
7164         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7165         * docs/random/ds/0.9-planning: random additions
7166         * docs/random/ds/0.9-suggested-changes: same
7167         * gst/gstxml.h: remove vestigal GstXMLNs definition
7168
7169         Preferred caps: (#147789)
7170         * docs/gst/gstreamer-sections.txt: Add symbols
7171         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7172         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7173         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7174         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7175         (gst_caps_get_preferred), (gst_caps_set_preferred),
7176         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7177         (gst_caps_use_preferred): Handle caps preferences
7178         * gst/gstcaps.h: Add caps preferences
7179         * gst/gstpad.c: (gst_pad_link_get_preferred),
7180         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7181         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7182         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7183         negotiation.
7184
7185 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7186
7187         * gst/autoplug/gstspideridentity.c:
7188         (gst_spider_identity_request_new_pad):
7189         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7190         (gst_aggregator_init):
7191         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7192         (gst_fakesink_init):
7193         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7194         (gst_fakesrc_init):
7195         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7196         (gst_fdsink_init):
7197         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7198         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7199         (gst_filesink_init):
7200         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7201         (gst_filesrc_init):
7202         * gst/elements/gstidentity.c: (gst_identity_base_init),
7203         (gst_identity_init):
7204         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7205         (gst_multifilesrc_init):
7206         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7207         (gst_pipefilter_init):
7208         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7209         (gst_statistics_init):
7210         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7211         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7212           s/gst_pad_new/&_from_template/
7213           register pad templates in the base_init function
7214           add static pad template definitions
7215
7216 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7217
7218         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7219         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7220         * testsuite/refcounting/pad.c: (main):
7221         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7222           s/gst_pad_new/&_from_template/
7223           prepare deprecation of gst_pad_new
7224
7225 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7226
7227         patch by: Luca Ognibene <skaboy81@virgilio.it>
7228
7229         * gst/gstcaps.c:
7230         * gst/gstelement.c:
7231         * gst/gstpad.c:
7232         * gst/gstxml.c:
7233           fix memleaks.  Fixes #150001
7234
7235 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7236
7237         * docs/random/ds/0.9-suggested-changes:
7238           add notes - mostly about pad templates
7239
7240 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7241
7242         * win32/GStreamer.vcproj:
7243           temporary locale files are .gmo not .mo
7244
7245 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7246
7247         * configure.ac: bump nano to cvs
7248
7249 === release 0.8.5 ===
7250
7251 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7252
7253         * configure.ac:
7254           releasing 0.8.5, "Stuttgart"
7255         * NEWS:
7256         * RELEASE:
7257         * configure.ac:
7258         * docs/random/release:
7259           updates for release
7260
7261 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7262
7263         patch by: Wim Taymans (wim@fluendo.com)
7264
7265         * gst/gstbuffer.c:
7266         * gst/gstindex.h:
7267         * libs/gst/dataprotocol/dataprotocol.c:
7268           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7269
7270 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7271
7272         * Makefile.am:
7273         * win32/MANIFEST:
7274           add win32 dir to the build.  Fixes #149981.
7275
7276 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7277
7278         * configure.ac:
7279           bump libtool versioning
7280         * gst/gststructure.c:
7281           mark function as static
7282         * po/af.po:
7283         * po/az.po:
7284         * po/ca.po:
7285         * po/cs.po:
7286         * po/en_GB.po:
7287         * po/fr.po:
7288         * po/nl.po:
7289         * po/sq.po:
7290         * po/sr.po:
7291         * po/sv.po:
7292         * po/tr.po:
7293         * po/uk.po:
7294           translations update
7295         * win32/README.txt:
7296           trademark protection
7297
7298 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7299
7300         * configure.ac:
7301           fix GST_ORIGIN
7302           set GST_PACKAGE to source, and distinguish between release and other
7303         * tools/gst-inspect.c:
7304           print out plugin an element factory is part of so we see this info
7305
7306 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7307
7308         * docs/gst/gstreamer-sections.txt:
7309         * docs/gst/tmpl/gstbuffer.sgml:
7310         * docs/gst/tmpl/gstschedulerfactory.sgml:
7311           reorder docs a little, make GstBuffer's more sensible.
7312         * gst/gstbuffer.h:
7313           API: added GST_BUFFER_FLAG_DELTA_UNIT
7314         * gst/gstscheduler.c:
7315           comment API addition
7316
7317 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7318
7319         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7320           work with non-regular files that can be mmapped (like /dev/zero)
7321         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7322           get rid of typefinds that require a seek when we can't seek instead
7323           of trying them over and over again
7324         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7325           return non-zero failure value when the pipeline was interrupted or
7326           an error occurred
7327
7328 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7329
7330         * win32/config.h:
7331         * win32/GStreamer.vcproj:
7332           compile and install the locales
7333
7334 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7335
7336         * gst/gstvalue.c:
7337           fix a possible memory leak under Windows
7338
7339 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7340
7341         * win32/GStreamer.vcproj:
7342           fix a memory leak that occured under Windows
7343         * win32/gstreamer.def:
7344           add gst_scheduler_register
7345
7346 2004-08-11  Benjamin Otte  <otte@gnome.org>
7347
7348         * docs/gst/gstreamer-sections.txt:
7349         * gst/gstscheduler.c: (gst_scheduler_register):
7350         * gst/gstscheduler.h:
7351           API:
7352           add gst_scheduler_register shortcut similar to gst_element_register
7353         * gst/schedulers/entryscheduler.c: (plugin_init):
7354         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7355         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7356           use it
7357
7358 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7359
7360         * gst/gstvalue.h:
7361           fix a memory leak that occured under Windows
7362
7363 2004-08-10  Colin Walters  <walters@redhat.com>
7364
7365         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7366         Don't use O_EXCL to open temporary registry.  It will prevent
7367         registry creation if a temporary one already exists, which
7368         is unnecessary.
7369
7370 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7371
7372         * docs/gst/gstreamer-sections.txt:
7373         * docs/gst/tmpl/gstvalue.sgml:
7374           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7375
7376 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7377
7378         * win32/gstbytestream.vcproj:
7379         * win32/gstelements.vcproj:
7380         * win32/gstgetbits.vcproj:
7381         * win32/gst-inspect.vcproj:
7382         * win32/gst-launch.vcproj:
7383         * win32/gstoptimalscheduler.vcproj:
7384         * win32/GStreamer.vcproj:
7385         * win32/gst-register.vcproj:
7386         * win32/gstspider.vcproj:
7387           update the include and lib dirs to fit standard libraries as
7388           described in the Win32 manual
7389
7390 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7391
7392         * win32/config.h:
7393         * win32/gstversion.h:
7394           enable NLS again, push the version number for the coming 0.8.5 release
7395
7396 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7397
7398         * gst/gstvalue.h:
7399           export gst_type_XXX for windows DLLs
7400
7401 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7402
7403         * docs/faq/gst-uninstalled:
7404           fix PKG_CONFIG_PATH and PYTHONPATH
7405         * gst/schedulers/Makefile.am:
7406           cleanup
7407         * libs/gst/bytestream/bytestream.c:
7408           remove newline
7409         * po/LINGUAS:
7410         * po/sq.po:
7411           adding Albanian translation (Laurent Dhima)
7412         * po/cs.po:
7413           updated
7414
7415 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7416
7417         * po/ca.po:
7418         * po/sv.po:
7419           updated translations
7420
7421 2004-08-04  Benjamin Otte  <otte@gnome.org>
7422
7423         * tests/mass_elements.c: (main):
7424           allow specifying src and sink element explicitly, so I can test
7425           videotestsrc instead of fakesrc
7426
7427 2004-08-04  Benjamin Otte  <otte@gnome.org>
7428
7429         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7430         (gst_structure_id_empty_new), (gst_structure_empty_new),
7431         (gst_structure_copy):
7432           add gst_structure_id_empty_new_with_size to allow preallocating
7433           value array sizes. Use this in gst_structure_copy to get rid of
7434           reallocs.
7435           don't do quark=>string=>quark when copying structures
7436
7437 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7438
7439         * docs/manual/win32.xml:
7440         * win32/README.txt:
7441           update documentation with the clean version of dependencies
7442
7443 2004-08-03  Benjamin Otte  <otte@gnome.org>
7444
7445         * gst/schedulers/entryscheduler.c:
7446         (gst_entry_scheduler_remove_element):
7447           fix for GST_DISABLE_DEBUG
7448         * tools/gst-launch.c: (print_tag):
7449           fixes for G_DISABLE_ASSERT
7450
7451 2004-08-03  Benjamin Otte  <otte@gnome.org>
7452
7453         * gst/gst.c: (gst_register_core_elements):
7454           fix for G_DISABLE_ASSERT
7455         * gst/gstinfo.c: (__gst_in_valgrind):
7456           add for GST_DISABLE_DEBUG
7457
7458 2004-08-03  Benjamin Otte  <otte@gnome.org>
7459
7460         * gst/parse/parse.l:
7461           fix for G_DISABLE_ASSERT
7462
7463 2004-08-03  Wim Taymans  <wim@fluendo.com>
7464
7465         * gst/gstbin.c: (gst_bin_get_type),
7466         (gst_bin_child_state_change_func):
7467         * gst/gstthread.c: (gst_thread_change_state):
7468         Backported some debug logging from a reverted patch
7469         Don't try to destroy the thread twice. Added some more
7470         debugging in GstThread. Unlock and signal even if we
7471         are in the thread context.
7472
7473 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7474
7475         * po/uk.po:
7476           updated translation
7477
7478 2004-07-30  David Schleef  <ds@schleef.org>
7479
7480         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7481
7482 2004-07-29  David Schleef  <ds@schleef.org>
7483
7484         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7485         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7486
7487 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7488
7489         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7490         (gst_bin_add_func), (gst_bin_remove_func),
7491         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7492         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7493         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7494         (gst_bin_sync_children_state):
7495         * gst/gstbin.h:
7496         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7497         (gst_thread_change_state):
7498         * testsuite/states/Makefile.am:
7499           revert state change patches as agreed so we can rework them
7500           gradually
7501
7502 2004-07-29  Benjamin Otte  <otte@gnome.org>
7503
7504         * libs/gst/control/Makefile.am:
7505           link to libgstreamer (fixes Debian bug 262019, see
7506           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7507
7508 2004-07-29  Wim Taymans  <wim@fluendo.com>
7509
7510         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7511         (check_from_fraction_convert), (transform_test), (main):
7512         Make the test less pedantic about float roundoff errors.
7513
7514 2004-07-29  Benjamin Otte  <otte@gnome.org>
7515
7516         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7517         (gst_filesrc_srcpad_event):
7518           make seek events to before start/after end of file not fail, but
7519           seek to start/end instead
7520         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7521           add more output
7522
7523 2004-07-29  Benjamin Otte  <otte@gnome.org>
7524
7525         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7526           check that caps are fixed
7527         * gst/gstpad.c: (gst_pad_template_new):
7528           don't try to simplify caps, costs too much time on gst_init
7529         * gst/gstplugin.c: (gst_plugin_add_feature):
7530           G_ERROR if features are added twice
7531         * gst/gsttypefind.c: (gst_type_find_register):
7532         * gst/gstelementfactory.c: (gst_element_register):
7533           don't add features twice
7534         * docs/random/ds/0.9-suggested-changes:
7535           add note about possible gst_init optimization
7536
7537 2004-07-28  David Schleef  <ds@schleef.org>
7538
7539         * testsuite/elements/Makefile.am:
7540         * testsuite/elements/struct_i386.h:
7541         * testsuite/elements/struct_size.c: (main):  A little test
7542         to keep distcheck from working if someone changes a structure
7543         size accidentally.
7544
7545 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7546
7547         * docs/libs/Makefile.am:
7548         * docs/libs/gstreamer-libs-docs.sgml:
7549         * docs/libs/gstreamer-libs-sections.txt:
7550         * docs/libs/tmpl/gstbytestream.sgml:
7551         * docs/libs/tmpl/gstcontrol.sgml:
7552         * docs/libs/tmpl/gstdataprotocol.sgml:
7553         * docs/libs/tmpl/gstgetbits.sgml:
7554         * libs/gst/bytestream/Makefile.am:
7555         * libs/gst/bytestream/bytestream.c:
7556         * libs/gst/bytestream/bytestream.h:
7557         * libs/gst/control/Makefile.am:
7558         * libs/gst/dataprotocol/Makefile.am:
7559         * libs/gst/getbits/Makefile.am:
7560         * libs/gst/getbits/getbits.h:
7561           various doc and style fixes, adding bytestream to libs docs.
7562
7563 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7564
7565         * docs/gst/gstreamer-docs.sgml:
7566         * docs/libs/Makefile.am:
7567         * docs/libs/gstreamer-libs-docs.sgml:
7568         * docs/libs/gstreamer-libs-sections.txt:
7569         * libs/gst/control/dparam.c:
7570           more doc fixes.  gst-libs docs now build the same way as gst.
7571
7572 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7573
7574         * configure.ac:
7575         * testsuite/Makefile.am:
7576         * testsuite/bins/Makefile.am:
7577         * testsuite/caps/Makefile.am:
7578         * testsuite/cleanup/Makefile.am:
7579         * testsuite/clock/Makefile.am:
7580         * testsuite/debug/Makefile.am:
7581         * testsuite/dlopen/Makefile.am:
7582         * testsuite/dynparams/Makefile.am:
7583         * testsuite/elements/.cvsignore:
7584         * testsuite/elements/Makefile.am:
7585         * testsuite/enumcaps/Makefile.am:
7586         * testsuite/enumcaps/enumcaps.c:
7587         * testsuite/ghostpads/Makefile.am:
7588         * testsuite/indexers/Makefile.am:
7589         * testsuite/negotiation/Makefile.am:
7590         * testsuite/parse/Makefile.am:
7591         * testsuite/plugin/Makefile.am:
7592         * testsuite/refcounting/Makefile.am:
7593         * testsuite/schedulers/.cvsignore:
7594         * testsuite/states/Makefile.am:
7595         * testsuite/tags/Makefile.am:
7596         * testsuite/threads/Makefile.am:
7597           fold enumcaps into caps dir
7598           clean up Makefile.am's for testsuite
7599
7600 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7601
7602         * docs/gst/Makefile.am:
7603         * docs/libs/Makefile.am:
7604           clean up docs build.  Fixes needless rebuilding of template files.
7605
7606 2004-07-28  Wim Taymans  <wim@fluendo.com>
7607
7608         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7609         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7610         Make sure that a bin state change tries to keep the children
7611         in sync. 
7612         Added debug logging to the thread.
7613
7614 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7615
7616         * win32/GStreamer.vcproj:
7617         * win32/gstreamer.def:
7618           more exports for the plugins
7619
7620 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7621
7622         * win32/gstgetbits.vcproj:
7623         * win32/gstgetbits.def:
7624         * win32/msvc71.sln:
7625           add support for the getbits plugin
7626
7627 2004-07-27  Wim Taymans  <wim@fluendo.com>
7628
7629         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7630         (gst_value_transform_fraction_double), (_gst_value_initialize):
7631         * testsuite/caps/Makefile.am:
7632         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7633         (check_from_fraction_convert), (transform_test), (main):
7634         Added transform functions between double and fraction.
7635         Added testcase to verify transforms
7636
7637 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7638
7639         * win32/GStreamer.vcproj:
7640           rename GStreamer-0.8.lib to libgstreamer.lib
7641
7642 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7643
7644         * win32/gstelements.vcproj:
7645         * win32/gstoptimalscheduler.vcproj:
7646           fixes for the Release build
7647
7648 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7649
7650         * win32/config.h:
7651           update the version number
7652
7653 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7654
7655         * win32/GStreamer.vcproj:
7656           add gstinterface to the build
7657
7658 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7659
7660         * win32/gstreamer.def:
7661           add many definitions needed by plugins,
7662           GST_CAT_DEFAULT only available in the Debug build ?
7663
7664 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7665
7666         * gst/gstelement.c: (gst_element_set_eos_recursive):
7667           various whitespace fixes.
7668           doc fix, fixes #148497
7669
7670 2004-07-25  Benjamin Otte  <otte@gnome.org>
7671
7672         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7673           don't delay links on the sink elements, it causes unnegotiated
7674           links.
7675         * gst/elements/gsttypefindelement.c:
7676         (gst_type_find_element_base_init):
7677           add our padtemplates, we indeed do have some.
7678         * gst/elements/gsttypefindelement.c:
7679         (gst_type_find_element_handle_event),
7680         (gst_type_find_element_chain):
7681           don't push data when typefinding failed.
7682         * gst/gstpad.c: (gst_pad_link_fixate):
7683           check that no fixate function returns empty caps.
7684         * gst/gstpad.c: (gst_pad_push):
7685           check that the link is negotiated before data gets pushed.
7686         * tools/gst-register.c: (main):
7687           don't assert (fixes #148283)
7688
7689 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7690
7691         * docs/gst/gstreamer-sections.txt:
7692         * docs/gst/tmpl/gstconfig.sgml:
7693           add GST_PLUGIN_EXPORT definition
7694
7695 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7696
7697         * gst/gstplugin.h:
7698         * gst/gstconfig.h.in:
7699         * win32/gstconfig.h:
7700         * win32/gstelements.def:
7701         * win32/gstelements.vcproj:
7702         * win32/gstoptimalscheduler.def:
7703         * win32/gstoptimalscheduler.vcproj:
7704         * win32/gstspider.def:
7705         * win32/gstspider.vcproj:
7706           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7707
7708 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7709
7710         * docs/gst/gstreamer-sections.txt:
7711           remove GST_CAT_DEFAULT because the type has changed
7712
7713 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7714
7715         * win32/gstbytestream.vcproj:
7716         * win32/gstelements.vcproj:
7717         * win32/gst-inspect.vcproj:
7718         * win32/gst-launch.vcproj:
7719         * win32/gstoptimalscheduler.vcproj:
7720         * win32/GStreamer.vcproj:
7721         * win32/gst-register.vcproj:
7722         * win32/gstspider.vcproj:
7723         * win32/msvc71.sln:
7724           Copy the files where needed after building, The testsuite will be
7725           built separately
7726
7727 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7728
7729         * win32/config.h:
7730         * win32/README.txt:
7731         * docs/manual/win32.xml:
7732         Fixed the plugin and GStreamer location
7733
7734 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7735
7736         * win32/gstreamer.def:
7737         More exports for the plugins
7738
7739 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7740
7741         * gst/gstinfo.h:
7742         Marc was right, we need to export literally GST_CAT_DEFAULT
7743
7744 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7745
7746         * win32/config.h:
7747         NLS crashes in gettext, disabled until this is solved
7748
7749 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7750
7751         * win32/gst-inspect.vcproj:
7752         * win32/gst-launch.vcproj:
7753         Should use NLS when available
7754
7755 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7756
7757         * gst/registries/gstxmlregistry.c:
7758         removing the file doesn't seem to be a good idea on Linux
7759
7760 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7761
7762         * gst/registries/gstxmlregistry.c:
7763         Remove the registry before renaming the tempfile (needed for Windows)
7764
7765 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7766
7767         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7768         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7769         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7770         * gst/elements/gstmultifilesrc.h:
7771         Added newmedia property so it generates newmedia events between each
7772         file when property is set, as well as fixed eos handling
7773
7774 2004-07-22  David Schleef  <ds@schleef.org>
7775
7776         * gst/gststructure.c: (gst_structure_id_empty_new),
7777         (gst_structure_empty_new):  Set type field correctly.
7778         * gst/gststructure.h: Check type field correctly.
7779         * testsuite/caps/Makefile.am:
7780         * testsuite/caps/structure.c: (test1), (main): Add a very small
7781         test for structures.
7782
7783 2004-07-22  David Schleef  <ds@schleef.org>
7784
7785         * docs/random/ds/0.9-suggested-changes: more comments
7786         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7787
7788 2004-07-22  Benjamin Otte  <otte@gnome.org>
7789
7790         * gst/gstelementfactory.c: (gst_element_register):
7791           set the factory in the class struct, so gst_element_get_factory
7792           actually works
7793         * gst/parse/grammar.y:
7794           set element to playing when it gets unlocked as we can't rely on the
7795           bin state - all elements in the bin state might still be locked in
7796           NULL)
7797
7798 2004-07-22  Benjamin Otte  <otte@gnome.org>
7799
7800         * gst/gstelement.c: (gst_element_set_state_func):
7801           make this a static function
7802
7803 2004-07-22  Wim Taymans  <wim@fluendo.com>
7804
7805         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7806         (gst_opt_scheduler_pad_link):
7807         fix 147894-2 and the group_link problem.
7808
7809 2004-07-22  Wim Taymans  <wim@fluendo.com>
7810
7811         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7812         (handoff_identity), (main):
7813         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7814         (handoff_identity), (main):
7815         * testsuite/schedulers/Makefile.am:
7816         * testsuite/schedulers/group_link.c: (main):
7817         Show bug in scheduler when linking chain and loop based element 
7818         where the chain based element was not yet in a group.
7819
7820 2004-07-21  Benjamin Otte  <otte@gnome.org>
7821
7822         * gst/.cvsignore:
7823         * gst/autoplug/.cvsignore:
7824         * gst/elements/.cvsignore:
7825         * gst/indexers/.cvsignore:
7826         * libs/gst/bytestream/.cvsignore:
7827         * libs/gst/control/.cvsignore:
7828         * libs/gst/getbits/.cvsignore:
7829         * testsuite/states/.cvsignore:
7830         * testsuite/threads/.cvsignore:
7831           keep this up to date, since I seem to be the only one who cares
7832           about not missing files on commits (editor's note: no you don't,
7833           but feel free to change them at the time you add stuff instead
7834           of later on)
7835
7836 2004-07-21  Benjamin Otte  <otte@gnome.org>
7837
7838         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7839         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7840         (gst_bin_child_state_change_func), (set_kid_state_func),
7841         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7842           make state changes work correctly and reentrant (so removing
7843           elements from bins during state changes of bins doesn't cause
7844           segfaults or even wrong states)
7845           add debugging category and debugging output to print children states
7846         * gst/gstbin.c: (gst_bin_dispose): 
7847           add some assertion checks
7848         * gst/gstbin.h:
7849         * gst/gstbin.c: (gst_bin_sync_children_state):
7850           deprecate this function - it just does gst_bin_set_state (bin,
7851           GST_STATE (bin)) 
7852         * testsuite/threads/queue.c: (main):
7853           don't use gst_bin_sync_children_state anymore
7854         * testsuite/states/Makefile.am:
7855         * testsuite/states/bin.c:
7856           test that the state changes of bins work as expected
7857         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7858           some adjustments to change states correctly, too
7859         * gst/gstthread.c: (gst_thread_change_state):
7860           don't enable/disable "threadsafe" properties, they're unused and
7861           cause random segfaults
7862         * testsuite/threads/Makefile.am:
7863           the queue check randomly passes now, ignore it
7864
7865 2004-07-21  Benjamin Otte  <otte@gnome.org>
7866
7867         * gst/gstpad.c:
7868           check if data is NULL before outputting debug info. (fixes #145100)
7869
7870 2004-07-21  Benjamin Otte  <otte@gnome.org>
7871
7872         * gst/schedulers/entryscheduler.c:
7873         (gst_entry_scheduler_loop_wrapper),
7874         (gst_entry_scheduler_chain_wrapper),
7875         (gst_entry_scheduler_get_wrapper):
7876           reset the state when the cothread starts, so we don't get assertion
7877           failures on restarting of cothreads
7878
7879 2004-07-20  Benjamin Otte  <otte@gnome.org>
7880
7881         * gst/gstelement.c: (gst_element_link_pads_filtered):
7882           use correct sinkpad, if only sinkpad is specified, but not srcpad
7883           (fixes #147889)
7884         * gst/gstelement.c: (gst_element_set_state_func),
7885         (gst_element_change_state): ref/unref the element, signal handlers
7886         could get rid of the element otherwise
7887
7888 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7889
7890         * docs/random/ds/0.9-suggested-changes:
7891           Make note about renaming fixed-list to array.
7892         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7893         (_gst_value_initialize):
7894           Add array intersections.
7895         * testsuite/caps/intersect2.c: (main):
7896           Add test for array intersections.
7897
7898 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7899
7900         * configure.ac: back to cvs
7901
7902 === release 0.8.4 ===
7903
7904 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7905
7906         * configure.ac:
7907           releasing 0.8.4, "Paella"
7908           bump libtool versioning
7909
7910 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7911
7912         * po/LINGUAS:
7913         * po/ca.po:
7914           adding Catalan translation (Jordi Mallach)
7915
7916 2004-07-20  Wim Taymans  <wim@fluendo.com>
7917
7918         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7919         (handoff_identity), (main):
7920         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7921         (handoff_identity), (main):
7922         * testsuite/schedulers/Makefile.am:
7923         Added failing testcase for variant of #147894
7924
7925 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7926
7927         patch by: David Moore
7928
7929         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7930         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7931         (group_migrate_connected):
7932         * testsuite/schedulers/Makefile.am:
7933           fix for #142813 (Deadlock in optimal scheduler)
7934
7935 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7936
7937         patch by: Wim Taymans
7938
7939         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7940         (gst_opt_scheduler_schedule_run_queue),
7941         (gst_opt_scheduler_get_wrapper), (get_group),
7942         (group_migrate_connected):
7943         * testsuite/schedulers/Makefile.am:
7944           fix for #147819 (Add some checks in the opt scheduler)
7945
7946 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7947
7948         patch by: Benjamin Otte
7949
7950         * gst/gstelementfactory.c: (__gst_element_details_set):
7951           fix for #147929: running gst-register in non-utf8 locale can cause
7952           invalid registry
7953
7954 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7955
7956         patch by: Wim Taymans
7957
7958         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7959         (group_has_element), (element_get_reachables_func),
7960         (group_migrate_connected):
7961           fix for #147894 (opt scheduler decoupled elements mismanagement)
7962         * testsuite/schedulers/Makefile.am:
7963           testsuite app now passes
7964
7965 2004-07-19  Wim Taymans  <wim@fluendo.com>
7966
7967         * testsuite/schedulers/147819.c: (handoff_identity1),
7968         (handoff_identity2), (main):
7969         * testsuite/schedulers/Makefile.am:
7970         Added testcase for bug 147819
7971
7972 2004-07-19  Wim Taymans  <wim@fluendo.com>
7973
7974         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7975         (handoff_identity), (main):
7976         * testsuite/schedulers/Makefile.am:
7977         Added testcase for bug 147894
7978
7979 2004-07-16  Wim Taymans  <wim@fluendo.com>
7980
7981         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7982         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7983         * testsuite/schedulers/Makefile.am:
7984         Added testsuite for bug 142183 in its two incarnations. Refcount
7985         is not increased for scheduled elements and threadsafe properties
7986         mutexes are not properly unlocked.
7987
7988 2004-07-16  Wim Taymans  <wim@fluendo.com>
7989
7990         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7991         (create_chain), (destroy_chain), (create_group), (destroy_group),
7992         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7993         (group_dec_link), (gst_opt_scheduler_pad_link),
7994         (group_inc_links_for_element), (group_migrate_connected):
7995         Call group_inc_link with the proper src->sink ordering -- 
7996         break this, and we break sort_chain. patch from wingo for bug
7997         147713.
7998         Partially revert patch 1.89. When adding a loop based element to 
7999         the scheduler, the links to other groups are automatically followed
8000         and incremented. This should not happen because the bin will call
8001         pad_link explicitly for those connection, resulting in them counted 
8002         twice. Results in assertion failure on pipeline cleanup.
8003
8004 2004-07-16  Wim Taymans  <wim@fluendo.com>
8005
8006         * testsuite/schedulers/143777-2.c: (main):
8007         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8008         (main):
8009         * testsuite/schedulers/Makefile.am:
8010         Added cleanup code to testcase 143777-2.
8011         Added testcase to show bug 147713, does not really show the
8012         deadlock as I can't figure out how to trigger it, but it does
8013         demonstrate bad ordering in the scheduler.
8014
8015 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8016
8017         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8018           change strndup to g_strndup.  Fixes #147707
8019
8020 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8021
8022         * po/af.po:
8023         * po/az.po:
8024         * po/cs.po:
8025         * po/en_GB.po:
8026         * po/fr.po:
8027         * po/nl.po:
8028         * po/sr.po:
8029         * po/sv.po:
8030         * po/tr.po:
8031         * po/uk.po:
8032           updated translations
8033
8034 2004-07-16  Benjamin Otte  <otte@gnome.org>
8035
8036         * gst/gstvalue.c: (gst_greatest_common_divisor):
8037           use ints and return ints, fractions only use ints, too, so this
8038           avoids accidently casting multiplications to unsigned
8039         (gst_value_lcopy_fraction): it's ints, not uint32
8040         (gst_value_set_fraction): disallow minint, multiplying and negation
8041           are broken with it
8042         (gst_value_fraction_multiply): fix to make large numbers work and get
8043         rid of the assumption that the multiplication of two ints fits an
8044         int64 - dunno if that's true for all systems
8045         * testsuite/caps/Makefile.am:
8046         * testsuite/caps/fraction-multiply-and-zero.c:
8047         (check_multiplication), (check_equal), (zero_test), (main):
8048           add tests for all the stuff above
8049         * testsuite/caps/value_compare.c: (test1):
8050           fix comment
8051         * tests/.cvsignore:
8052         * testsuite/caps/.cvsignore:
8053         * testsuite/debug/.cvsignore:
8054         * testsuite/dlopen/.cvsignore:
8055         * testsuite/states/.cvsignore:
8056           get up to date
8057
8058 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8059
8060         * docs/manual/bins-api.xml:
8061         * docs/manual/factories.xml:
8062         * docs/manual/helloworld.xml:
8063         * docs/manual/links-api.xml: 
8064           fixes for out of date info, incorrect info and grammar
8065
8066 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8067
8068         * docs/manual/pads.xml:
8069         * docs/manual/pads-api.xml: grammar fix
8070
8071 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8072
8073         * docs/manual/pads-api.xml: typo + grammar fix
8074
8075 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8076
8077         * docs/gst/gstreamer-sections.txt:
8078           add new symbols
8079         * docs/gst/tmpl/gstelement.sgml:
8080         * docs/gst/tmpl/gstpad.sgml:
8081         * docs/gst/tmpl/gsttypes.sgml:
8082         * docs/gst/tmpl/gstvalue.sgml:
8083           update docs
8084         * gst/gststructure.c: (gst_structure_set_valist),
8085         (gst_structure_from_abbr), (gst_structure_to_abbr):
8086         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8087         (gst_greatest_common_divisor), (gst_value_init_fraction),
8088         (gst_value_copy_fraction), (gst_value_collect_fraction),
8089         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8090         (gst_value_get_fraction_numerator),
8091         (gst_value_get_fraction_denominator),
8092         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8093         (gst_value_deserialize_fraction),
8094         (gst_value_transform_fraction_string),
8095         (gst_value_transform_string_fraction),
8096         (gst_value_compare_fraction), (_gst_value_initialize):
8097         * gst/gstvalue.h:
8098           adding GstFraction GValue type, get/set, and multiply
8099         * testsuite/caps/Makefile.am:
8100         * testsuite/caps/fraction.c: (test), (main):
8101         * testsuite/caps/string-conversions.c: (main):
8102         * testsuite/caps/value_compare.c: (test1), (main):
8103           add regression tests for GstFraction
8104
8105 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8106         
8107         * docs/manual/init-api.xml: Grammar fix
8108
8109 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8110
8111         * docs/manual/states.xml: Fix inconsistent information
8112
8113 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8114
8115         * gst/gstelement.c: (gst_element_set_state):
8116         * gst/gstpad.c: (gst_pad_try_set_caps):
8117         * gst/gststructure.c:
8118         * gst/gstthread.c: (gst_thread_child_state_change):
8119         * gst/gstvalue.c: (gst_value_compare_double):
8120         * gst/gstvalue.h:
8121         * testsuite/parse/parse1.c: (main):
8122           debugging additions and style cleanups
8123
8124 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8125
8126         * docs/manual/states.xml: Grammar fix
8127
8128 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8129
8130         * docs/manual/pads.xml: Grammar fix
8131
8132 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8133
8134         * docs/manual/elements.xml: Fixed image reference
8135
8136 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8137
8138         * docs/manual/goals.xml: Grammar fix
8139
8140 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8141
8142         * docs/manual/motivation.xml:
8143         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8144
8145 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8146
8147         * docs/manual/motivation.xml: Fix spelling
8148
8149 2004-07-15  Benjamin Otte  <otte@gnome.org>
8150
8151         * gst/gstelement.h: 
8152           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8153           strings.
8154         * gst/gstelement.c (gst_element_class_init):
8155           GError's are boxed, not objects
8156         * gst/gstmarshal.list:
8157           update list for the fixed error signal
8158
8159 2004-07-14  Andy Wingo  <wingo@pobox.com>
8160
8161         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8162         there all along, but the function wasn't. (guile-gstreamer's build
8163         system uses the address of the function -- I wasn't actually
8164         trying to use this.)
8165
8166 2004-07-14  Andy Wingo  <wingo@pobox.com>
8167
8168         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8169         as gst_pad_proxy_pad_link) just link to every other pad when they
8170         are called. In the case where the graph has cycles, this will mean
8171         that a call to try_set_caps will recurse. Allow this recursion
8172         and return OK, while we wait for the first try_set_caps to give a
8173         proper return value.
8174         (gst_pad_link_call_link_functions): Since this function is the
8175         only one to set the NEGOTIATING flag on a pad, if the flag is set
8176         it means that the link functions have indirectly recursed. If this
8177         happens, error out to avoid infinite recursion and an eventual
8178         SEGV.
8179         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8180         (gst_pad_proxy_getcaps): Intersect the result with the template
8181         caps to ensure that the return value is valid.
8182
8183 2004-07-14  Andy Wingo  <wingo@pobox.com>
8184
8185         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8186         one refcount, the calling function is the owner of the buffer.
8187
8188 2004-07-14  Wim Taymans  <wim@fluendo.com>
8189
8190         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8191         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8192         Fix stupid warning when an element is to be migrated but
8193         is already migrated.
8194
8195 2004-07-14  Wim Taymans  <wim@fluendo.com>
8196
8197         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8198         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8199         Make sure that a single non-loop-based element does not 
8200         end up in a group. This fixes the testsuite again.
8201
8202 2004-07-14  Wim Taymans  <wim@fluendo.com>
8203
8204         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8205         (add_to_group), (merge_groups), (schedule_group),
8206         (gst_opt_scheduler_get_wrapper), (group_elements),
8207         (group_dec_link), (gst_opt_scheduler_pad_link),
8208         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8209         (gst_opt_scheduler_iterate):
8210         move isolated groups to a new chain.
8211         Emit a warning instead of segfaulting in some error cases.
8212         Fix a bug where the link count between groups was not calculated 
8213         correctly. Fixes #144510.
8214
8215 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8216         * gst/elements/gstfilesrc.c:
8217           Binary files support under Windows now OK
8218       
8219 2004-07-13  Benjamin Otte  <otte@gnome.org>
8220
8221           compatibility fixes for Solaris 8/gcc 2.95
8222         * configure.ac:
8223           include libintl libs in LDFLAGS
8224         * gstvalue.c (gst_value_deserialize_buffer):
8225           cast isxdigit stuff to int to silence compiler warning
8226
8227 2004-07-12  Benjamin Otte  <otte@gnome.org>
8228
8229         * gst/gsttypes.h:
8230           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8231           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8232           just causes support madness
8233         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8234           make it work without this
8235         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8236         (gst_file_index_commit):
8237           glib IO channels don't want binary mode
8238         * testsuite/bytestream/filepadsink.c: (main):
8239         * testsuite/bytestream/test1.c: (read_param_file):
8240           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8241
8242 2004-07-12  Benjamin Otte  <otte@gnome.org>
8243
8244         * gst/gstelement.c: (gst_element_class_init),
8245         (gst_element_set_state), (gst_element_set_state_func):
8246           virutalize gst_element_set_state, use set_state member in class
8247           struct that was already added in 0.7 for this.
8248         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8249         (gst_bin_change_state):
8250           make gst_bin_foreach works similar to other foreach functions, plug
8251           memleaks in it. Make functions using it work with the new approach.
8252           Document gst_bin_foreach, so it can be exported if we want to
8253         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8254           use virtualized set_state to make set_state on bins set the state of
8255           all its children.
8256
8257 2004-07-12  Benjamin Otte  <otte@gnome.org>
8258
8259         * configure.ac:
8260           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8261           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8262         * gst/gstpad.c: (gst_pad_alloc_buffer):
8263           allow buffer_alloc functions to return NULL and allocate a normal
8264           buffer in that case
8265
8266 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8267         * gst/elements/gstfilesink.c:
8268         * gst/elements/gstfilesrc.c:
8269         * gst/indexers/gstfileindex.c:
8270         * gst/gsttypes.h:
8271         * testsuite/bytestream/filepadsink.c:
8272         * testsuite/bytestream/test1.c:
8273           Handle binary files under Windows
8274
8275 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8276         * docs/manual/win32.xml:
8277         * win32/config.h:
8278         * win32/gst-register.vcproj:
8279         * win32/gstreamer.def:
8280           Update to another gettext public build
8281
8282 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8283         * gst/gstplugin.c:
8284           Fix an impossible C syntax
8285         * win32/config.h:
8286           Disable i18n under Windows for the moment
8287         * win32/gst-register.vcproj:
8288           Use this configuration
8289
8290 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8291         * docs/manual/quotes.xml:
8292           Keep the quotes file alive
8293         * docs/random/ds/0.9-suggested-changes:
8294           Add the suggestion of including a 'rowstride' as part of video
8295           format caps
8296
8297 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8298
8299         * gst/gstelement.c: (gst_element_set_state),
8300         (gst_element_change_state):
8301           d'oh.  Set PENDING state correctly before forcing bin to change.
8302         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8303         (gst_structure_parse_fixed_list):
8304         * gst/schedulers/gstoptimalscheduler.c:
8305         (gst_opt_scheduler_state_transition):
8306         * testsuite/states/parent.c: (main):
8307           remove comment now that it's fixed.
8308
8309 2004-07-11  Benjamin Otte  <otte@gnome.org>
8310
8311         * gst/gstclock.h:
8312           GST_SECOND shouldn't cause a conversion to unsigned.
8313         * testsuite/clock/.cvsignore:
8314         * testsuite/clock/Makefile.am:
8315         * testsuite/clock/signedness.c: (main):
8316           make sure it never will again
8317
8318 2004-07-11  Andy Wingo  <wingo@pobox.com>
8319
8320         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8321         whose state is higher than the bin state, raise the bin state to
8322         ensure that bin state := highest child state.
8323         
8324 2004-07-11  Andy Wingo  <wingo@pobox.com>
8325
8326         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8327         procedure on the children of a bin. Assumes that the procedure can
8328         change the set of children.
8329         (set_kid_state_func): New static function.
8330         (gst_bin_change_state): Use gst_bin_foreach to call
8331         set_kid_state_func. Fixes a bug: if a child had a state-change
8332         handler that removes it from the bin, there would be a segfault.
8333         Hopefully it should also work in the case where the state-change
8334         handler on one child adds or removes other children. In any case,
8335         fixes should go to gst_bin_foreach.
8336
8337 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8338
8339         * gst/gstelement.c: (gst_element_set_state):
8340           compatibility fix for latest plugins release.  Change loop back
8341           to while {}
8342
8343 2004-07-09  Wim Taymans  <wim@fluendo.com>
8344
8345         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8346         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8347         (gst_thread_main_loop):
8348         Since remove is virtual in GstBin we must not assume the 
8349         elements GList to have anothing useful.
8350         Add some more logging to GstThread and be a bit more paranoid
8351         when resetting the scheduler.
8352         Set the state of the bin to NULL before removing the children.
8353
8354 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8355
8356         * testsuite/threads/Makefile.am:
8357         * testsuite/threads/threadg.c:
8358           added test to check if problem when removing all elements from a
8359           GstThread before setting GstThread state to NULL
8360
8361 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8362
8363         * docs/gst/tmpl/gstelement.sgml:
8364         * docs/gst/tmpl/gsttypes.sgml:
8365         * gst/gstbin.c: (gst_bin_change_state):
8366         * gst/gstelement.c: (gst_element_set_state),
8367         (gst_element_change_state):
8368           rework so that for bins we try to set the state on all children
8369           as well even if the bin is in the correct state already.
8370           change while to do so at least one iteration is done.
8371           For regular elements, we fall back to the previous behaviour for
8372           now since we first need a new plugins release.
8373         * testsuite/states/parent.c: (main):
8374           test for this case
8375           Fixes #123774
8376
8377 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8378
8379         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8380         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8381         (gst_queue_release_locks), (gst_queue_change_state),
8382         (gst_queue_set_property):
8383           add proper lock debugging.  Change dispose to finalize, since
8384           we're freeing mutexes and other stuff which should happen only once.
8385
8386 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8387
8388         * docs/gst/tmpl/gstelement.sgml:
8389         * docs/gst/tmpl/gstplugin.sgml:
8390         * docs/gst/tmpl/gsttypes.sgml:
8391         * docs/pwg/building-state.xml:
8392         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8393         * gst/gstelement.c: (gst_element_change_state):
8394         * gst/gstthread.c: (gst_thread_change_state):
8395           catch wrong state changes in element base class.
8396
8397 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8398
8399         * gst/gstinfo.h:
8400           clean up layout a little.
8401
8402 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8403
8404         * configure.ac:
8405         * testsuite/Makefile.am:
8406         * testsuite/states/Makefile.am:
8407         * testsuite/states/parent.c: (main):
8408           re-enable states testsuite dir.  Add test for state changes and
8409           parent behaviour
8410
8411 2004-07-09  Wim Taymans  <wim@fluendo.com>
8412
8413         * gst/schedulers/gstoptimalscheduler.c:
8414         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8415         (element_get_reachables_func), (element_get_reachables),
8416         (debug_element), (rechain_group), (group_migrate_connected),
8417         (gst_opt_scheduler_pad_unlink):
8418         Do not try to migrate decoupled elements to a new group since
8419         they are not added to groups.
8420
8421 2004-07-08  Benjamin Otte  <otte@gnome.org>
8422
8423         * gst/gstelement.c: (gst_element_error_func):
8424           make reentrant (= allow removing elements in error handler)
8425
8426 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8427
8428         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8429         (gst_pad_send_event), (gst_pad_call_chain_function):
8430           events sent to elements below PAUSED cannot be handled, so
8431           don't try to
8432
8433 2004-07-08  Wim Taymans  <wim@fluendo.com>
8434
8435         * gst/schedulers/gstoptimalscheduler.c:
8436         (chain_recursively_migrate_group), (create_group),
8437         (schedule_group), (gst_opt_scheduler_pad_link),
8438         (group_elements_set_visited), (element_get_reachables_func),
8439         (element_get_reachables), (group_can_reach_group), (debug_element),
8440         (rechain_group), (group_migrate_connected),
8441         (gst_opt_scheduler_pad_unlink):
8442         * testsuite/schedulers/Makefile.am:
8443         Implemented group splitting and rechaining.
8444         Fixes 143777 and 143777-2 in the testsuite.
8445
8446 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8447
8448         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8449           extra debugging
8450         * gst/gstevent.h:
8451         * gst/gstinfo.c: (gst_debug_log_default):
8452           print time nicely.  add thread pointer until someone figures out
8453           a completely portable way of getting at thread id's.
8454         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8455         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8456         (gst_pad_call_chain_function):
8457           extra debugging
8458         * gst/schedulers/gstoptimalscheduler.c:
8459         (get_group_schedule_function), (loop_group_schedule_function),
8460         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8461         (pad_clear_queued), (gst_opt_scheduler_iterate):
8462           rename BUFPEN and friends to DATAPEN since that's what they are.
8463
8464 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8465
8466         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8467         * gst/gstbuffer.h:
8468         * gst/gstpad.c:
8469           cleanups and debugging
8470
8471 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8472
8473         * configure.ac:
8474         * gst/gstvalue.c: (gst_value_compare_enum),
8475         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8476         (gst_value_can_compare), (gst_value_compare):
8477         * testsuite/Makefile.am:
8478         * testsuite/enumcaps/Makefile.am:
8479         * testsuite/enumcaps/enumcaps.c:
8480           Fix enum serialization, deserialization, comparison in caps, add
8481           a test to ensure that this continues working in the future.
8482
8483 2004-07-06  David Schleef  <ds@schleef.org>
8484
8485         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8486         Fix memleak.
8487
8488 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8489
8490         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8491         * gst/gstplugin.h:
8492         * gst/registries/gstxmlregistry.c:
8493         (plugin_times_older_than_recurse), (plugin_times_older_than),
8494         (gst_xml_registry_parse_padtemplate):
8495           only rebuild registry when actual plugins have a newer time than
8496           the registry.  Fixes #145520
8497
8498 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8499
8500         * docs/manual/manual.xml:
8501         * docs/manual/win32.xml:
8502           add chapter on win32 building.  fixes #142422
8503
8504 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8505
8506         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8507
8508         * gst/autoplug/gstspider.c: (gst_spider_init),
8509         (gst_spider_dispose):
8510           fix spider memleaks.  fixes #137863
8511
8512 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8513
8514         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8515
8516         * gst/schedulers/gstoptimalscheduler.c:
8517         (gst_opt_scheduler_pad_unlink):
8518           fix SIGBUS error, fixes #145338
8519
8520 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8521
8522         * gst/gstobject.c: (gst_object_replace):
8523         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8524         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8525           clean up clock lifecycle.  Fixes #109831
8526
8527 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8528
8529         * po/LINGUAS:
8530         * po/cs.po:
8531           added Czech translation (Miloslav Trmac)
8532
8533 2004-07-04  David Schleef  <ds@schleef.org>
8534
8535         * tools/Makefile.am:
8536         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8537
8538 2004-07-04  David Schleef  <ds@schleef.org>
8539
8540         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8541
8542 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8543
8544         * gst/gstbin.c: (gst_bin_restore_thyself):
8545           chain to parent restore so the bins get restored correctly
8546           in the editor
8547
8548 2004-07-03  David Schleef  <ds@schleef.org>
8549
8550         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8551         Actually do something in these functions, like before the big
8552         caps change.  (bug #145137)
8553
8554 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8555
8556         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8557         (gst_element_get_compatible_pad_filtered):
8558         * gst/gstthread.c: (gst_thread_main_loop):
8559           more debugging
8560
8561 2004-07-02  David Schleef  <ds@schleef.org>
8562
8563         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8564         * gst/gstobject.h:
8565         * gst/gstparse.h:
8566         * gst/gsttrace.h:
8567         * gst/gstxml.h:
8568
8569 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8570
8571         * gst/gstpad.c: (gst_pad_check_schedulers),
8572         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8573         (gst_pad_link_prepare):
8574           revert until testsuite is fixed
8575
8576 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8577
8578         * testsuite/Makefile.am:
8579         * testsuite/caps/filtercaps.c: (main):
8580         * testsuite/clock/clock1.c: (main):
8581         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8582           fix some more tests
8583
8584 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8585
8586         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8587         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8588         * testsuite/cleanup/cleanup4.c: (main):
8589           fix testsuite
8590
8591 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8592
8593         * libs/gst/control/control.c:
8594         * libs/gst/control/dparam.c:
8595         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8596         * libs/gst/control/dparammanager.c:
8597         * libs/gst/control/dparammanager.h:
8598         * testsuite/dynparams/Makefile.am:
8599         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8600         (gst_dptest_change_state), (gst_dptest_chain), (main):
8601           fix testcase for dparams
8602           add debugging category
8603
8604 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8605
8606         * testsuite/Rules:
8607           change path
8608
8609 2004-07-02  Benjamin Otte  <otte@gnome.org>
8610
8611         * tests/.cvsignore:
8612         * tests/Makefile.am:
8613         * tests/mass_elements.c: (gst_get_current_time), (main):
8614           add simple benchmark to test various speeds of fakesrc ! identity !
8615           identity ! ... ! fakesink.
8616           Usage: mass_elements [num_identities] [num_buffers]
8617           If not specified they default to 1000.
8618
8619 2004-07-02  Benjamin Otte  <otte@gnome.org>
8620
8621         * gst/gstpad.c: (gst_pad_check_schedulers),
8622         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8623         (gst_pad_link_prepare):
8624           check that pads that get linked belong to the same manager. The old
8625           code allowed linking elements before putting them into bins, so it
8626           worked to link them and then put them in different threads, which
8627           lead to weird behaviour.
8628           Since this effectively disallows linking elements before putting
8629           them in a bin, some applications might not work after this and error
8630           out. If these applications are too critical, we might need to revert
8631           that patch. Please test this before the next release...
8632
8633 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8634
8635         * gst/gstpad.c: (gst_pad_get_caps):
8636           throw an error if the getcaps function does not return a subset of
8637           the template caps.
8638         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8639           make disconts without position info an error in debugging
8640         * tests/spidey_bench.c: (handoff), (main):
8641           don't count first try when averaging
8642
8643 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8644
8645         * gst/gstplugin.c: (gst_plugin_load_file):
8646           figure out problem with dynamic test
8647
8648 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8649
8650         * docs/gst/Makefile.am:
8651           fix docs build
8652
8653 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8654
8655         * po/POTFILES.in:
8656         * po/af.po:
8657         * po/az.po:
8658         * po/en_GB.po:
8659         * po/fr.po:
8660         * po/nl.po:
8661         * po/sr.po:
8662         * po/sv.po:
8663         * po/tr.po:
8664         * po/uk.po:
8665         * tools/gst-register.c: (plugin_added_func), (main):
8666           i18n-ize -register, fix plural
8667
8668 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8669
8670         * gst/elements/gstidentity.c: (gst_identity_class_init),
8671         (gst_identity_init), (gst_identity_chain),
8672         (gst_identity_set_property), (gst_identity_get_property):
8673         * gst/elements/gstidentity.h:
8674           check for perfect stream
8675
8676 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8677
8678         * gst/elements/gstidentity.c: (gst_identity_chain):
8679           print offset_end
8680
8681 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8682
8683         * docs/gst/Makefile.am:
8684         * docs/gst/gstreamer-docs.sgml:
8685           doc fixes
8686
8687 2004-06-24  David Schleef  <ds@schleef.org>
8688
8689         * autogen.sh:  Remove call to env, since the buildbot isn't
8690         broken anymore.
8691
8692 2004-06-24  Wim Taymans  <wim@fluendo.com>
8693
8694         * gst/elements/Makefile.am:
8695         * gst/elements/gstelements.c:
8696         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8697         (gst_multifdsink_class_init), (gst_multifdsink_init),
8698         (gst_multifdsink_add), (gst_multifdsink_remove),
8699         (gst_multifdsink_clear), (gst_multifdsink_chain),
8700         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8701         * gst/elements/gstmultifdsink.h:
8702         Added an element that writes to multiple filedescriptors at once.
8703
8704 2004-06-24  Benjamin Otte  <otte@gnome.org>
8705
8706         * gst/parse/grammar.y:
8707           don't try to link elements before they have been added to bins
8708
8709 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8710
8711         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8712         (gst_file_pad_get_length):
8713         * libs/gst/bytestream/filepad.h:
8714           add 2 new functions
8715
8716 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8717
8718         * docs/gst/gstreamer-sections.txt:
8719         remove from docs, the define that Benjamin removed from gstelement.h
8720
8721 2004-06-22  Benjamin Otte  <otte@gnome.org>
8722
8723         * gst/gstelement.h:
8724           remove define that referenced a nonexisting GstElement struct member
8725
8726 2004-06-20  Benjamin Otte  <otte@gnome.org>
8727
8728         * gst/gstdata.c: (gst_data_is_writable):
8729           whoops, return values were wrong, so writable data was marked as
8730           non-writable and vice versa. (fixes #143953, spotted by Francis
8731           Labonte)
8732           Shows how rarely we need to copy data ;)
8733
8734 2004-06-20  Benjamin Otte  <otte@gnome.org>
8735
8736         * testsuite/schedulers/.cvsignore:
8737         * testsuite/schedulers/Makefile.am:
8738         * testsuite/schedulers/143777-2.c: (main):
8739           add test for opt breakage in bug #143777
8740
8741 2004-06-20  Benjamin Otte  <otte@gnome.org>
8742
8743         * gst/gstpad.c: (gst_pad_call_chain_function):
8744           check for if we were unlinked while inside the chainfunction (fixes
8745           entrygthread having issues with #143777)
8746         * testsuite/schedulers/143777.c: (main):
8747         * testsuite/schedulers/Makefile.am:
8748           add a test for that fix
8749
8750 2004-06-20  Benjamin Otte  <otte@gnome.org>
8751
8752         * gst/gstvalue.c: (gst_value_set_int_range):
8753           test that start is smaller then end
8754         * libs/gst/bytestream/Makefile.am:
8755         * libs/gst/bytestream/filepad.c: 
8756         * libs/gst/bytestream/filepad.h:
8757           add GstFilePad - a pad that behaves like a FILE*
8758         * testsuite/bytestream/.cvsignore:
8759         * testsuite/bytestream/Makefile.am:
8760         * testsuite/bytestream/filepadsink.c: 
8761           test for the GstFilePad
8762
8763 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8764
8765         * gst/elements/gstidentity.c: (gst_identity_class_init),
8766         (gst_identity_init), (gst_identity_set_clock),
8767         (gst_identity_chain), (gst_identity_set_property),
8768         (gst_identity_get_property):
8769         * gst/elements/gstidentity.h:
8770         * gst/gstclock.c: (gst_clock_id_wait):
8771           add a "sync" property to sync to the clock
8772
8773 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8774
8775         * gst/gstelementfactory.c: (gst_element_factory_create):
8776           make the freakin "elementfactory bla has no type" message more
8777           useful. So we actually can do something when someone shows up
8778           complaining about it.
8779
8780 2004-06-15  Johan Dahlin  <johan@gnome.org>
8781
8782         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8783         found. This matches the old behavior better. Thanks to Thomas for
8784         pointing out.
8785
8786 2004-06-14  David Schleef  <ds@schleef.org>
8787
8788         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8789         -fomit-frame-pointer.  Appears to generate correct code in
8790         other cases as well.
8791
8792 2004-06-14  Johan Dahlin  <johan@gnome.org>
8793
8794         * tools/gst-inspect.c (main): Add two new command line options: -a
8795         to print all elements and -n to print the name on each line. Also
8796         fix some error reporting.
8797         (main): Simplify, remove -n and always print names if -a is specified
8798
8799 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8800
8801         * win32/gstconfig.h:
8802         * win32/GSTreamer.vcproj:
8803         * win32/Makefile:
8804         * gst/gstconfig.h.in:
8805         * gst/gst.h:
8806         * gst/gstbin.h:
8807         * gst/gstelement.h:
8808         * gst/gstevent.h:
8809         * gst/gstobject.h:
8810         * gst/gstpad.h:
8811         * docs/gst/gstreamer-sections.txt:
8812         * docs/gst/tmpl/gstconfig.sgml:
8813           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8814
8815 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8816         * docs/gst/gstreamer-sections.txt:
8817         * docs/gst/tmpl/gstconfig.sgml:
8818         Add the GSTREAMER_EXPORT macro to the docs
8819
8820 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8821
8822         * tools/gst-compprep.c: (handle_xmlerror), (main):
8823         Add a check for the version that introduced SetStructuredError to fix
8824         the build on FC1
8825
8826 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8827
8828         * win32/msvc71.sln:
8829         * win32/testsuite/:
8830           prepare to compile the testsuite with MSVC
8831
8832 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8833
8834         * docs/manual/win32.xml:
8835           attempt to transform the Win32 README into an XML doc
8836
8837 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8838
8839         * gst/gst.c:
8840         * gst/gstbin.*:
8841         * gst/config.h.in:
8842         * gst/gstelement.*:
8843         * gst/gstevent.h:
8844         * gst/gstobject.*:
8845         * gst/gstpad.h:
8846         * tools/gst-register.c:
8847         * win32/gstreamer.def:
8848           extern symbols are now exported for the Windows DLL
8849
8850 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8851
8852         * gst/gstinfo.h:
8853           fix a problem to enable/disable DEBUG under MSVC
8854
8855 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8856
8857         * win32/:
8858           enable more debug code in DEBUG build
8859
8860 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8861
8862         * win32/config.h:
8863         * gst/gst-i18n-app.h:
8864           enable NLS under Windows
8865
8866 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8867         * tools/gst-compprep.c: (handle_xmlerror), (main):
8868           Make an error that baffled me a bit clearer
8869
8870 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8871
8872         * gst/gstqueue.c:
8873           don't use g_queue_get_length () because it's 2.4, use ->length
8874
8875 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8876
8877         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8878
8879         * tools/gst-inspect.c: (print_signal_info):
8880           don't free random data twice. (fixes #144185)
8881
8882 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8883
8884         * gst/gstqueue.c:
8885         * gst/gstqueue.h:
8886           fix removing from the wrong queue on event timeout
8887           fix disposing of the event queue by casting correctly
8888           add mutexes for handling the event queue
8889           someone was sleeping when fixing queue last time around :)
8890
8891 2004-06-10  Johan Dahlin  <johan@gnome.org>
8892
8893         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8894         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8895
8896 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8897
8898         * docs/random/gdp:
8899         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8900         * libs/gst/dataprotocol/dataprotocol.c:
8901         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8902         (gst_dp_buffer_from_header):
8903         * libs/gst/dataprotocol/dataprotocol.h:
8904         * libs/gst/dataprotocol/dp-private.h:
8905           rev version to 0.1, add buffer flags and copy them
8906
8907 2004-06-09  Johan Dahlin  <johan@gnome.org>
8908
8909         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8910         the flags from the buffer we're copying.
8911
8912 2004-06-09  Wim Taymans  <wim@fluendo.com>
8913
8914         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8915         * gst/elements/gstidentity.c: (gst_identity_init),
8916         (gst_identity_chain):
8917         Print more buffer info in fakesink.
8918         Make identity output similar to fakesink.
8919
8920 2004-06-07  Daniel Gazard  <dany42@free.fr>
8921
8922         reviewed by Benjamin Otte  <otte@gnome.org>
8923
8924         * configure.ac:
8925           fix cross compiling not working. (fixes #143741)
8926
8927 2004-06-07  Benjamin Otte  <otte@gnome.org>
8928
8929         * gst/gstelement.c: (gst_element_set_time_delay):
8930           add failure check
8931         * gst/gstinfo.h:
8932           put brackets around macro arguments of GST_TIME_ARGS, add note to
8933           move it to correct header in 0.9
8934
8935 2004-06-07  Benjamin Otte  <otte@gnome.org>
8936
8937         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8938         (gst_file_index_load), (_file_index_id_save_entries),
8939         (gst_file_index_commit), (gst_file_index_add_association),
8940         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8941         (gst_file_index_plugin_init):
8942           make debugging use a default category
8943
8944 2004-06-06  David Moore  <dcm@acm.org>
8945
8946         reviewed by Benjamin Otte  <otte@gnome.org>
8947
8948         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8949         (gst_fdsrc_change_state):
8950           reset offset counter when going READY => PAUSED. (fixes #142903)
8951
8952 2004-06-06  ed@catmur.co.uk
8953
8954         reviewed by Benjamin Otte  <otte@gnome.org>
8955
8956         * gst/registries/gstxmlregistry.c:
8957         (gst_xml_registry_rebuild_recurse):
8958           don't rely on g_dir_open to figure out if a file is a directory, use
8959           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8960           directories. (fixes #142850)
8961
8962 2004-06-06  Benjamin Otte  <otte@gnome.org>
8963
8964         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8965           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8966         * libs/gst/bytestream/adapter.c:
8967         * libs/gst/bytestream/adapter.h:
8968           fix copyright in header and typo in debugging category name
8969
8970 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8971
8972         * configure.ac:
8973           bump nano to cvs
8974
8975 === release 0.8.3 ===
8976
8977 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8978
8979         * configure.ac:
8980           update libtool versioning
8981           do a new release
8982         * docs/gst/tmpl/gstelement.sgml:
8983         * docs/gst/tmpl/gsttypes.sgml:
8984         * gst/gstinfo.c: (_gst_debug_init):
8985           put back GST_CAT_DATAFLOW to fix API breakage
8986
8987 2004-06-04  David Schleef  <ds@schleef.org>
8988
8989         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8990
8991 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8992
8993         * configure.ac:
8994           bump nano to cvs
8995
8996 === release 0.8.2 ===
8997
8998 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8999
9000         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9001           check GST_DEBUG environment variable which is parsed the same way
9002           as --gst-debug=
9003
9004 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9005
9006         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9007                             gstmd5sink.c gstshaper.c gsttee.c
9008                             gsttypefindelement.c
9009         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9010
9011           - removing trailing commas at end of enums
9012             it is correct C99 code but C90 compilers would complain
9013             (AIX, Forte, ...)
9014             ('should' fix #143290, at least partially)
9015
9016 2004-05-27  Wim Taymans  <wim@fluendo.com>
9017
9018         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9019         (chain_group_set_enabled), (create_group), (add_to_group),
9020         (merge_groups), (setup_group_scheduler), (group_elements),
9021         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9022         Don't try to follow the pad connections with other groups
9023         when a loop based element is added to the scheduler because
9024         the bin will inform the scheduler about the pad links a little
9025         later.
9026
9027 2004-05-27  Wim Taymans  <wim@fluendo.com>
9028
9029         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9030         (remove_from_chain), (chain_group_set_enabled),
9031         (setup_group_scheduler), (group_element_set_enabled),
9032         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9033         (gst_opt_scheduler_show):
9034         Elements without a group can do a state change as well, just wait
9035         with the setup of the scheduling function when it is added to a
9036         chain.
9037
9038 2004-05-27  Wim Taymans  <wim@fluendo.com>
9039
9040         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9041         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9042         (merge_groups), (setup_group_scheduler),
9043         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9044         (gst_opt_scheduler_show):
9045         Fixes to maintain internal consistency of the scheduler data
9046         structures. 
9047          - adding an enabled group to a chain should increment the
9048            number of enabled elements in that chain.
9049          - removing an enabled group from a chain could disable the
9050            chain.
9051          - removing a disabled group from a chain could enable the
9052            chain.
9053          - add g_assert when internal inconsistency is detected.
9054          - adding an element to a group could increase the number of
9055            links this group has with other groups.
9056          - merging two groups also merges the chains.
9057          - also show group links in the _show method.
9058            
9059
9060 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9061
9062         * gst/gstcaps.c: (gst_caps_structure_simplify):
9063           don't print error messages when there is no error
9064         * gst/gstvalue.c: (gst_value_compare_int_range):
9065           compare the second value, too
9066         * testsuite/caps/Makefile.am:
9067         * testsuite/caps/random.c: (assert_on_error), (main):
9068           add tests to make sure the two things above are checked for
9069
9070 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9071
9072         * configure.ac:
9073         * libs/gst/dataprotocol/Makefile.am:
9074         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9075         * libs/gst/dataprotocol/dataprotocol.h:
9076           wrap header in GST_ENABLE_NEW.  make code use it
9077
9078 2004-05-23  Johan Dahlin  <johan@gnome.org>
9079
9080         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9081         so verbose and print GstElement signal names all the time.
9082
9083 2004-05-22  David Schleef  <ds@schleef.org>
9084
9085         * gst/registries/gstxmlregistry.c:
9086         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9087         (bug #142957)
9088
9089 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9090
9091         * configure.ac:
9092           scrub cflags for glib2 so gcc doesn't complain when glib is in
9093           /usr/local
9094
9095 2004-05-21  Johan Dahlin  <johan@gnome.org>
9096
9097         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9098         __GNUC__, patch from Brian Cameron, fixes bug #142804
9099
9100 2004-05-20  David Schleef  <ds@schleef.org>
9101
9102         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9103         comparison code.  (bug #142819)
9104
9105 2004-05-20  Wim Taymans  <wim@fluendo.com>
9106
9107         * gst/gstbuffer.c: (gst_buffer_default_copy):
9108         * gst/gstbuffer.h:
9109         Added Comment to a flag.
9110         copy relevant flags in _buffer_copy.
9111
9112 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9113
9114         reviewed by: Wim Taymans <wim at fluendo dot com>
9115
9116         * gst/gstbuffer.h:
9117           add GST_BUFFER_IN_CAPS buffer flag
9118         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9119         (gst_structure_parse_any_list), (gst_structure_parse_list),
9120         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9121         * gst/gstvalue.c: (gst_value_serialize_any_list),
9122         (gst_value_transform_any_list_string),
9123         (gst_value_list_prepend_value), (gst_value_list_append_value),
9124         (gst_value_list_get_size), (gst_value_list_get_value),
9125         (gst_value_transform_list_string),
9126         (gst_value_transform_fixed_list_string),
9127         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9128         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9129         (_gst_value_initialize):
9130         * gst/gstvalue.h:
9131           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9132           < , > as a format.
9133         * testsuite/caps/string-conversions.c: (main):
9134           add regression tests for < >
9135
9136 2004-05-20  Johan Dahlin  <johan@gnome.org>
9137
9138         * docs/gst/Makefile.am (all-local): Re-add
9139
9140 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9141
9142         * docs/gst/Makefile.am:
9143         * docs/gst/gstreamer-docs.sgml:
9144         * docs/libs/Makefile.am:
9145         * docs/libs/gstreamer-libs-docs.sgml:
9146           fix distcheck issues
9147
9148 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9149
9150         * libs/gst/dataprotocol/Makefile.am:
9151           add to autotest
9152
9153 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9154
9155         * libs/gst/dataprotocol/Makefile.am:
9156         * libs/gst/dataprotocol/dataprotocol.c:
9157         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9158         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9159         * libs/gst/dataprotocol/dp-private.h:
9160           use GST macros to read/write fixed length ints
9161           add some more asserts
9162
9163 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9164
9165         * docs/libs/gstreamer-libs-docs.sgml:
9166         * docs/libs/gstreamer-libs-sections.txt:
9167           remove idct and putbits
9168         * configure.ac:
9169         * docs/libs/tmpl/gstdataprotocol.sgml:
9170         * libs/gst/Makefile.am:
9171         * libs/gst/dataprotocol/Makefile.am:
9172         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9173         (buffer_test), (caps_test), (event_test), (main):
9174         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9175         (gst_dp_dump_byte_array), (gst_dp_init),
9176         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9177         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9178         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9179         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9180         (gst_dp_validate_header), (gst_dp_validate_payload),
9181         (gst_dp_validate_packet), (plugin_init):
9182         * libs/gst/dataprotocol/dataprotocol.h:
9183         * libs/gst/dataprotocol/dp-private.h:
9184           add dataprotocol
9185
9186 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9187
9188         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9189           fix int variable deserialization and add a helper so we can actually
9190           debug this.
9191
9192 2004-05-18  David Schleef  <ds@schleef.org>
9193
9194         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9195           argv[0].  Calling yourself is probably not the best way to
9196           construct a test like this, btw.
9197
9198 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9199
9200         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9201           don't claim to be more intelligent than a scheduler when the
9202           scheduler claims the pipeline is stopped
9203         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9204         (safe_cothread_destroy),
9205         (gst_entry_scheduler_remove_all_cothreads),
9206         (gst_entry_scheduler_reset), (_remove_cothread),
9207         (gst_entry_scheduler_state_transition):
9208           hold off cothread destruction if we're not in main cothread
9209         * configure.ac:
9210         * testsuite/Makefile.am:
9211           add new test dir
9212         * testsuite/schedulers/.cvsignore:
9213         * testsuite/schedulers/Makefile.am:
9214           add tests
9215         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9216           check relinking and adding/removing elements from a running pipeline
9217         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9218           check unlinking in a running pipeline
9219         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9220           check unreffing a running pipeline
9221         * testsuite/schedulers/useless_iteration.c: (main):
9222           check iterating a pipeline that contains running threads works
9223
9224 2004-05-18  David Schleef  <ds@schleef.org>
9225
9226         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9227           is false.
9228
9229 2004-05-18  Wim Taymans  <wim@fluendo.com>
9230
9231         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9232         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9233         Fixed an error introduced with patch for 1.63. When setting
9234         a get based element as the entry point in a group, make sure
9235         to mark the group as GET based.
9236
9237 2004-05-18  Wim Taymans  <wim@fluendo.com>
9238
9239         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9240         (setup_group_scheduler), (loop_group_schedule_function),
9241         (gst_opt_scheduler_pad_link):
9242         Added some more debug info and fixed a bug where the group
9243         type was set to LOOP but it was in fact unknown.
9244
9245 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9246
9247         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9248           make resetting scheduler work twice in a row
9249
9250 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9251
9252         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9253         (CREATE_USERIALIZATION), (_gst_value_initialize),
9254         (gst_value_compare_float), (gst_value_serialize_float),
9255         (gst_value_deserialize_float), (gst_value_compare_enum),
9256         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9257           add serialization and comparison functions for long, int64, enum and
9258           float values
9259         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9260           use best serialization function in type hierarchy instead of only a
9261           matching one. This is required for enums to work.
9262         * gst/parse/grammar.y:
9263           use gst_caps_deserialize
9264         * testsuite/parse/Makefile.am:
9265           parse1 now works
9266         * testsuite/parse/parse1.c: (main):
9267           remove aggregator check, aggregator is broken, this test works now
9268           but fails because of bug #138012
9269         * testsuite/parse/parse2.c: (main):
9270           s/xvideosink/xvimagesink - this test looks a lot like we should
9271           disable it
9272
9273 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9274
9275         * gst/gstelement.c: (gst_element_class_init):
9276           whoops, store the signal id correctly
9277         * gst/schedulers/gstbasicscheduler.c:
9278         (gst_basic_scheduler_chain_wrapper):
9279           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9280           chain function isn't linked
9281
9282 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9283         * configure.ac:
9284         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9285         support until we decide where the flags should be used
9286         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9287         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9288         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9289         Output refused caps in the debug info
9290
9291 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9292
9293         * gst/elements/gstidentity.c: (gst_identity_chain):
9294           add duration debug
9295         * gst/gstinfo.c: (gst_debug_log_default):
9296           add timestamp
9297
9298 2004-05-13  Benjamin Otte  <otte@gnome.org>
9299
9300         * gst/gstpipeline.c: (gst_pipeline_dispose),
9301         (gst_pipeline_change_state):
9302           call gst_scheduler_reset on dispose (fixes #141416)
9303
9304 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9305
9306         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9307           compute mapsize correctly
9308         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9309           use correct datatypes when calling a varargs function
9310         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9311           push a DISCONT event as first thing
9312         * gst/gst_private.h:
9313         * gst/gstinfo.c: (_gst_debug_init):
9314           remove GST_DATAFLOW debugging category
9315         * gst/gstbin.c: (gst_bin_iterate):
9316           use GST_SCHEDULING category
9317         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9318         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9319         (gst_pad_call_get_function):
9320           add GST_DATAFLOW to easily track flow of buffers or events.
9321         * gst/gstqueue.c: (gst_queue_get_type),
9322         (gst_queue_handle_pending_events), (gst_queue_chain),
9323         (gst_queue_get), (gst_queue_handle_src_event):
9324           use own static debugging category GST_DATAFLOW for dataflow,
9325           use DEBUG category for showing which path events go, use LOG
9326           category for buffers.
9327
9328 2004-05-10  David Schleef  <ds@schleef.org>
9329
9330         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9331
9332 2004-05-10  David Schleef  <ds@schleef.org>
9333
9334         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9335         symbols, because otherwise we don't know what they are.  Thanks,
9336         the GStreamer team.
9337         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9338
9339 2004-05-10  David Schleef  <ds@schleef.org>
9340
9341         (from Steve Lhomme)
9342         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9343         are deleted.  Fix.
9344         * win32/Makefile.inspect:
9345         * win32/Makefile.launch:
9346         * win32/Makefile.register:
9347
9348 2004-05-10  David Schleef  <ds@schleef.org>
9349
9350         * gst/gstinfo.h: Add missing inline function.
9351         * gst/gsttrace.c: add include
9352         * gst/parse/grammar.y: remove unused code
9353         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9354         more portable.
9355         * tools/gst-register.c: wrap unistd.h
9356         
9357         More additions/fixes from Steve for the MSVC build.
9358         * win32/GStreamer.vcproj:
9359         * win32/Makefile:
9360         * win32/Makefile.inspect:
9361         * win32/Makefile.launch:
9362         * win32/Makefile.register:
9363         * win32/README.txt:
9364         * win32/gst-inspect.vcproj:
9365         * win32/gst-launch.vcproj:
9366         * win32/gst-register.vcproj:
9367         * win32/gstbytestream.def:
9368         * win32/gstbytestream.vcproj:
9369         * win32/gstconfig.h:
9370         * win32/gstelements.def:
9371         * win32/gstelements.vcproj:
9372         * win32/gstenumtypes.c:
9373         * win32/gstenumtypes.h:
9374         * win32/gstoptimalscheduler.def:
9375         * win32/gstoptimalscheduler.vcproj:
9376         * win32/gstreamer.def:
9377         * win32/gstspider.def:
9378         * win32/gstspider.vcproj:
9379         * win32/gstversion.h:
9380         * win32/msvc71.sln:
9381
9382 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9383
9384         * gst/gstelement.c: (gst_element_class_init),
9385         (gst_element_no_more_pads):
9386         * gst/gstelement.h:
9387           add gst_element_no_more_pads and the "no-more-pads" signal
9388
9389 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9390
9391         * gst/gstregistry.c: (gst_registry_add_plugin):
9392           refuse to add plugins when a plugin with same name is already
9393           registered. Fixes a bunch of "How to remove plugins?" issues.
9394           May lead to other problems though, let's test
9395
9396 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9397
9398         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9399         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9400         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9401
9402 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9403
9404         * tests/Makefile.am: fix am16 issue
9405
9406 2004-05-09  Benjamin Otte  <otte@gnome.org>
9407
9408         * libs/gst/bytestream/Makefile.am:
9409           we should indeed add .c files to makefiles or they won't be built
9410           (d'oh)
9411
9412 2004-05-08  Benjamin Otte  <otte@gnome.org>
9413
9414         * gst/gstpad.c: (gst_pad_proxy_fixate):
9415           really reduce the set of caps
9416
9417 2004-05-08  Benjamin Otte  <otte@gnome.org>
9418
9419         * tests/Makefile.am:
9420         * tests/spidey_bench.c: (handoff), (main):
9421           add benchmark to test how long spider needs to create a pipeline
9422
9423 2004-05-08  Benjamin Otte  <otte@gnome.org>
9424
9425         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9426           mark links as unengaged when unnegotiating instead of deactivating.
9427           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9428
9429 2004-05-08  Benjamin Otte  <otte@gnome.org>
9430
9431         * docs/manual/helloworld.xml:
9432           s/audiosink/osssink (patch by Patrick Guimond)
9433
9434 2004-05-07  David Schleef  <ds@schleef.org>
9435
9436         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9437         since it contains important stuff.
9438
9439 2004-05-07  David Schleef  <ds@schleef.org>
9440
9441         * testsuite/caps/caps.c: (test3), (main): A check for appending
9442         ANY caps.
9443
9444 2004-05-07  David Schleef  <ds@schleef.org>
9445
9446         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9447         which may contain commas.  Fixes detection of -Wa,-mregnames
9448
9449 2004-05-06  David Schleef  <ds@schleef.org>
9450
9451         Changes to handle compilers that don't have variadic macro
9452         support.  In particular, glib headers define some inlines
9453         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9454         builds.
9455         * gst/Makefile.am:
9456         * gst/cothreads.c:
9457         * gst/elements/gstfdsink.c:
9458         * gst/elements/gstfdsrc.c:
9459         * gst/elements/gstfilesink.c:
9460         * gst/elements/gstfilesrc.c:
9461         * gst/gst_private.h:
9462         * gst/gstatomic.c:
9463         * gst/gstcaps.c: (gst_caps_append):
9464         * gst/gstcpu.c: (gst_cpuid_i386):
9465         * gst/gstelement.c:
9466         * gst/gsterror.c:
9467         * gst/gstfilter.c:
9468         * gst/gstinfo.h:
9469         * gst/gstprobe.c:
9470         * gst/gstquery.c:
9471         * gst/gstregistry.c:
9472         * gst/gststructure.c:
9473         * gst/gsttaginterface.c:
9474         * gst/gsttrace.c: (gst_trace_new):
9475         * gst/gsttrashstack.c:
9476         * gst/gsturi.c:
9477         * gst/gstvalue.c:
9478         * gst/parse/grammar.y:
9479         * gst/parse/parse.l:
9480         * tools/gst-inspect.c: (main):
9481         * tools/gst-launch.c: (main):
9482         * tools/gst-xmlinspect.c: (PUT_STRING):
9483
9484 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9485
9486         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9487         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9488         * gst/elements/gstfilesrc.h:
9489           send NEW_MEDIA events correctly
9490         * gst/elements/gsttypefindelement.c: (start_typefinding),
9491         (gst_type_find_element_handle_event):
9492           restart typefinding when we get a NEW_MEDIA event
9493         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9494         (gst_bin_dispose):
9495           don't die when someone removes elements in callbacks
9496         * gst/gstelement.c: (gst_element_change_state):
9497           improve debugging
9498         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9499           we need a NEW_MEDIA event to engage a link
9500         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9501           don't g_print debugging stuff
9502         * testsuite/caps/simplify.c: (check_caps):
9503
9504 2004-05-04  Benjamin Otte  <otte@gnome.org>
9505
9506         * gst/parse/grammar.y:
9507           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9508
9509 2004-05-04  Benjamin Otte  <otte@gnome.org>
9510
9511         * testsuite/caps/renegotiate.c: (main):
9512           improve output in error case
9513
9514 2004-05-04  Benjamin Otte  <otte@gnome.org>
9515
9516         * gst/parse/grammar.y:
9517           fix assert to not trigger when there's no error argument
9518         * gst/parse/parse.l:
9519           fix definition of caps to allow more than two structures
9520         * testsuite/caps/Makefile.am:
9521         * testsuite/caps/renegotiate.c: (main):
9522           it's sinesrc and works in that case
9523
9524 2004-05-04  Wim Taymans  <wim@fluendo.com>
9525
9526         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9527         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9528         when removing an element from a group, we always need to
9529         decrement the link count that this group had with other 
9530         groups through the element.
9531         added an extra assert to catch inconsistencies when decrementing
9532         the link count.
9533
9534 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9535
9536         * configure.ac:
9537         * docs/gst/Makefile.am:
9538         * docs/gst/gstreamer-sections.txt:
9539         * docs/gst/tmpl/gstcompat.sgml:
9540         * examples/appreader/Makefile.am:
9541         * examples/cutter/Makefile.am:
9542         * examples/events/Makefile.am:
9543         * examples/helloworld/Makefile.am:
9544         * examples/helloworld2/Makefile.am:
9545         * examples/launch/Makefile.am:
9546         * examples/manual/Makefile.am:
9547         * examples/mixer/Makefile.am:
9548         * examples/pingpong/Makefile.am:
9549         * examples/plugins/Makefile.am:
9550         * examples/queue/Makefile.am:
9551         * examples/queue2/Makefile.am:
9552         * examples/queue3/Makefile.am:
9553         * examples/queue4/Makefile.am:
9554         * examples/retag/Makefile.am:
9555         * examples/thread/Makefile.am:
9556         * examples/typefind/Makefile.am:
9557         * examples/xml/Makefile.am:
9558         * gst/Makefile.am:
9559         * gst/autoplug/Makefile.am:
9560         * gst/elements/Makefile.am:
9561         * gst/gstcompat.h:
9562         * gst/indexers/Makefile.am:
9563         * gst/parse/Makefile.am:
9564         * gst/registries/Makefile.am:
9565         * gst/schedulers/Makefile.am:
9566         * libs/gst/bytestream/Makefile.am:
9567         * libs/gst/control/Makefile.am:
9568         * libs/gst/getbits/Makefile.am:
9569         * po/af.po:
9570         * po/az.po:
9571         * po/en_GB.po:
9572         * po/fr.po:
9573         * po/nl.po:
9574         * po/sr.po:
9575         * po/sv.po:
9576         * po/tr.po:
9577         * po/uk.po:
9578         * tests/Makefile.am:
9579         * tests/bufspeed/Makefile.am:
9580         * tests/instantiate/Makefile.am:
9581         * tests/memchunk/Makefile.am:
9582         * tests/muxing/Makefile.am:
9583         * tests/negotiation/Makefile.am:
9584         * tests/probes/Makefile.am:
9585         * tests/sched/Makefile.am:
9586         * tests/seeking/Makefile.am:
9587         * tests/threadstate/Makefile.am:
9588         * testsuite/caps/Makefile.am:
9589         * testsuite/cleanup/Makefile.am:
9590         * testsuite/dlopen/Makefile.am:
9591         * testsuite/dynparams/Makefile.am:
9592         * testsuite/plugin/Makefile.am:
9593         * testsuite/states/Makefile.am:
9594         * tools/Makefile.am:
9595           reorganize compile/link flags to be consistent
9596           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9597
9598 2004-05-04  David Schleef  <ds@schleef.org>
9599
9600         The "once more, with feeling" check-in.
9601         * testsuite/caps/Makefile.am: dist caps_strings
9602         * testsuite/caps/renegotiate.c: (main): This test triggers a
9603           segfault in the core.  Marking as failing.
9604
9605 2004-05-03  David Schleef  <ds@schleef.org>
9606
9607         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9608           by the build bots.
9609         * testsuite/caps/renegotiate.c: (main): Same.
9610
9611 2004-05-03  David Schleef  <ds@schleef.org>
9612
9613         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9614
9615 2004-05-03  David Schleef  <ds@schleef.org>
9616
9617         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9618           variable to find our source file.
9619
9620 2004-05-03  David Schleef  <ds@schleef.org>
9621
9622         * configure.ac:  Link plugins with libgstreamer and dependent
9623           libraries
9624         * testsuite/caps/Makefile.am:
9625         * testsuite/caps/caps_strings:
9626         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9627           through a file of caps strings and test each one
9628
9629 2004-05-04  Benjamin Otte  <otte@gnome.org>
9630
9631         * libs/gst/bytestream/Makefile.am:
9632         * libs/gst/bytestream/adapter.c: 
9633         * libs/gst/bytestream/adapter.h:
9634           add GstAdapter, similar to bytestream, but doesn't require ugly event
9635           handling or uglier loopbased elements
9636
9637 2004-05-03  David Schleef  <ds@schleef.org>
9638
9639         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9640         * testsuite/caps/erathostenes.c:
9641         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9642
9643 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9644
9645         * docs/pwg/pwg.xml:
9646           remove hardcoded stylesheet path (duh)
9647         * docs/random/release:
9648         * docs/gst/gstreamer-sections.txt:
9649         * gst/Makefile.am:
9650         * gst/gst.h:
9651         * gst/gst_private.h:
9652         * gst/gstcaps.c:
9653         * gst/gstevent.c:
9654         * gst/gstformat.c:
9655         * gst/gstinfo.c:
9656         * gst/gstinfo.h:
9657         * gst/gstinterface.c:
9658         * gst/gstmemchunk.c:
9659         * gst/gstprobe.c:
9660         * gst/gstquery.c:
9661         * gst/gstregistry.c:
9662         * gst/gstregistrypool.c:
9663         * gst/gststructure.c:
9664         * gst/gsttaginterface.c:
9665         * gst/gstthread.c:
9666         * gst/gsttrace.c:
9667         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9668         * gst/gsturi.c:
9669         * gst/gstvalue.c:
9670           deprecate gst_info; remove gstlog.h
9671    
9672
9673 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9674
9675         * Makefile.am:
9676         * po/en_GB.po:
9677         * po/sv.po:
9678         * po/uk.po:
9679           updated translations
9680
9681 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9682
9683         * gst/gstbin.c: (gst_bin_dispose):
9684           better debugging
9685
9686 2004-05-03  Johan Dahlin  <johan@gnome.org>
9687
9688         * gst/schedulers/gstoptimalscheduler.c
9689         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9690         really is a GstElement. Avoids critical when running gst-launch -v
9691         and a oggdemux/decoding pipeline.
9692
9693 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9694
9695         * docs/gst/tmpl/gstpipeline.sgml :
9696         * docs/manual/elements-api.xml :
9697                 doc fix by Patrick Guimond (Protector) from devel ML
9698                 reviewed by ronald
9699
9700 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9701
9702         * docs/gst/Makefile.am :
9703         * docs/libs/Makefile.am :
9704                 apply a patch from Arwed v. Merkatz so that gtk-doc
9705                 generated docs install (same for .devhelp file)
9706                 (fixes part 1 of #138836)
9707
9708 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9709
9710         * docs/faq/dependencies.xml: typo
9711         * docs/faq/getting.xml :
9712             - fix download URL for new gstreamer site
9713             - hide sf.net download page as latest version aren't there
9714             - fix apt URLs
9715             - fill "get via CVS" paragraph (link to dev page on the site)
9716         * docs/faq/general.xml:
9717             hide status tables as they no more exists
9718             change case on plugins license file to reflect reality
9719         * docs/faq/troubleshooting.xml:
9720             remove the wiki question/answer as there is no more wiki
9721
9722 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9723
9724         * gst/gsterror.h:
9725           include the headers needed for declarations used in this header
9726
9727 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9728
9729         * docs/random/uraeus/gstreamer_and_midi.txt :
9730           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9731           (fixes #132288)
9732
9733 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9734
9735         reviewed by Benjamin Otte  <otte@gnome.org>
9736
9737         * gst/schedulers/gthread-cothreads.h:
9738           free allocated data for main cothread, too when destroying context
9739           (fixes #141417)
9740
9741 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9742
9743         * docs/manual/goals.xml : remove duplicated paragraph at end 
9744         of doc page (fixes #141448)
9745
9746 2004-04-29  David Schleef  <ds@schleef.org>
9747
9748         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9749         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9750
9751 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9752
9753         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9754           fix property
9755         * gst/gstcaps.c:
9756           fix doc string
9757         * po/POTFILES.in:
9758           rename typefind source file
9759
9760 2004-04-28  David Schleef  <ds@schleef.org>
9761
9762         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9763         * win32/GStreamer.vcproj:
9764         * win32/Makefile:
9765         * win32/config.h:
9766         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9767         (_trewinddir), (_ttelldir), (_tseekdir):
9768         * win32/dirent.h:
9769         * win32/gst-inspect.vcproj:
9770         * win32/gst-launch.vcproj:
9771         * win32/gst-register.vcproj:
9772         * win32/gstbytestream.vcproj:
9773         * win32/gstelements.vcproj:
9774         * win32/gstoptimalscheduler.vcproj:
9775         * win32/gstspider.vcproj:
9776         * win32/gtchar.h:
9777         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9778         * win32/mman.h:
9779         * win32/mman.inl:
9780         * win32/msvc71.sln:
9781
9782 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9783
9784         * gst/gst.c: (init_post):
9785         * gst/gstinfo.c:
9786           remove useless _gst_progname stuff
9787         * tools/gst-inspect.c: (print_field), (print_caps):
9788           improve caps output
9789
9790 2004-04-28  David Schleef  <ds@schleef.org>
9791
9792         Disable parsing of a lot of files that aren't part of the
9793         exported API.  Move corresponding template files to old/,
9794         waiting for removal when they don't contain anything
9795         interesting.
9796         * docs/gst/Makefile.am:
9797         * docs/gst/gstreamer-sections.txt:
9798         * docs/gst/tmpl/cothreads.sgml:
9799         * docs/gst/tmpl/cothreads_compat.sgml:
9800         * docs/gst/tmpl/gettext.sgml:
9801         * docs/gst/tmpl/gobject2gtk.sgml:
9802         * docs/gst/tmpl/grammar.tab.sgml:
9803         * docs/gst/tmpl/gst-i18n-app.sgml:
9804         * docs/gst/tmpl/gst-i18n-lib.sgml:
9805         * docs/gst/tmpl/gst_private.sgml:
9806         * docs/gst/tmpl/gstaggregator.sgml:
9807         * docs/gst/tmpl/gstarch.sgml:
9808         * docs/gst/tmpl/gstatomic_impl.sgml:
9809         * docs/gst/tmpl/gstbufferstore.sgml:
9810         * docs/gst/tmpl/gstdata_private.sgml:
9811         * docs/gst/tmpl/gstdisksink.sgml:
9812         * docs/gst/tmpl/gstdisksrc.sgml:
9813         * docs/gst/tmpl/gstelementfactory.sgml:
9814         * docs/gst/tmpl/gstextratypes.sgml:
9815         * docs/gst/tmpl/gstfakesink.sgml:
9816         * docs/gst/tmpl/gstfakesrc.sgml:
9817         * docs/gst/tmpl/gstfdsink.sgml:
9818         * docs/gst/tmpl/gstfdsrc.sgml:
9819         * docs/gst/tmpl/gstfilesink.sgml:
9820         * docs/gst/tmpl/gstfilesrc.sgml:
9821         * docs/gst/tmpl/gsthttpsrc.sgml:
9822         * docs/gst/tmpl/gstidentity.sgml:
9823         * docs/gst/tmpl/gstindexfactory.sgml:
9824         * docs/gst/tmpl/gstmarshal.sgml:
9825         * docs/gst/tmpl/gstmd5sink.sgml:
9826         * docs/gst/tmpl/gstmultidisksrc.sgml:
9827         * docs/gst/tmpl/gstmultifilesrc.sgml:
9828         * docs/gst/tmpl/gstpadtemplate.sgml:
9829         * docs/gst/tmpl/gstpipefilter.sgml:
9830         * docs/gst/tmpl/gstschedulerfactory.sgml:
9831         * docs/gst/tmpl/gstsearchfuncs.sgml:
9832         * docs/gst/tmpl/gstshaper.sgml:
9833         * docs/gst/tmpl/gstspider.sgml:
9834         * docs/gst/tmpl/gstspideridentity.sgml:
9835         * docs/gst/tmpl/gststatistics.sgml:
9836         * docs/gst/tmpl/gsttee.sgml:
9837         * docs/gst/tmpl/gsttimecache.sgml:
9838         * docs/gst/tmpl/gsttypefind.sgml:
9839         * docs/gst/tmpl/gsttypefindfactory.sgml:
9840         * docs/gst/tmpl/gstxmlregistry.sgml:
9841         * docs/gst/tmpl/gthread-cothreads.sgml:
9842         * docs/gst/tmpl/old/cothreads.sgml:
9843         * docs/gst/tmpl/old/cothreads_compat.sgml:
9844         * docs/gst/tmpl/old/gettext.sgml:
9845         * docs/gst/tmpl/old/gobject2gtk.sgml:
9846         * docs/gst/tmpl/old/grammar.tab.sgml:
9847         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9848         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9849         * docs/gst/tmpl/old/gst_private.sgml:
9850         * docs/gst/tmpl/old/gstaggregator.sgml:
9851         * docs/gst/tmpl/old/gstarch.sgml:
9852         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9853         * docs/gst/tmpl/old/gstbufferstore.sgml:
9854         * docs/gst/tmpl/old/gstdata_private.sgml:
9855         * docs/gst/tmpl/old/gstdisksink.sgml:
9856         * docs/gst/tmpl/old/gstdisksrc.sgml:
9857         * docs/gst/tmpl/old/gstelementfactory.sgml:
9858         * docs/gst/tmpl/old/gstextratypes.sgml:
9859         * docs/gst/tmpl/old/gstfakesink.sgml:
9860         * docs/gst/tmpl/old/gstfakesrc.sgml:
9861         * docs/gst/tmpl/old/gstfdsink.sgml:
9862         * docs/gst/tmpl/old/gstfdsrc.sgml:
9863         * docs/gst/tmpl/old/gstfilesink.sgml:
9864         * docs/gst/tmpl/old/gstfilesrc.sgml:
9865         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9866         * docs/gst/tmpl/old/gstidentity.sgml:
9867         * docs/gst/tmpl/old/gstindexfactory.sgml:
9868         * docs/gst/tmpl/old/gstmarshal.sgml:
9869         * docs/gst/tmpl/old/gstmd5sink.sgml:
9870         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9871         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9872         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9873         * docs/gst/tmpl/old/gstpipefilter.sgml:
9874         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9875         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9876         * docs/gst/tmpl/old/gstshaper.sgml:
9877         * docs/gst/tmpl/old/gstspider.sgml:
9878         * docs/gst/tmpl/old/gstspideridentity.sgml:
9879         * docs/gst/tmpl/old/gststatistics.sgml:
9880         * docs/gst/tmpl/old/gsttee.sgml:
9881         * docs/gst/tmpl/old/gsttimecache.sgml:
9882         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9883         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9884         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9885         * docs/gst/tmpl/old/types.sgml:
9886         * docs/gst/tmpl/types.sgml:
9887
9888         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9889         gtkdoc-scan doesn't like files with the same name in different
9890         directories.
9891         * gst/elements/Makefile.am:
9892         * gst/elements/gstelements.c:
9893         * gst/elements/gsttypefind.c: 
9894         * gst/elements/gsttypefind.h:
9895         * gst/elements/gsttypefindelement.c:
9896         * gst/elements/gsttypefindelement.h:
9897
9898 2004-04-28  David Schleef  <ds@schleef.org>
9899
9900         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9901         patch (bug #141317):
9902         * gst/gst-i18n-lib.h: Allow disabling gettext.
9903         * gst/gstatomic_impl.h: disable warning when it's dumb.
9904         * gst/gstclock.c: fix include
9905         * gst/gstcompat.h: fix variadic macro
9906         * gst/gstinfo.c: fix include
9907         * gst/gstmacros.h: add defines for inlines on MSVC
9908         * gst/gstplugin.c: fix includes
9909         * gst/gstregistry.c: fix includes
9910         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9911         * gst/gstsystemclock.c: fix include
9912         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9913         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9914         * gst/registries/gstxmlregistry.c:
9915         (gst_xml_registry_parse_element_factory): fix use of non-portable
9916         functions
9917         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9918         * libs/gst/control/dparammanager.h: same
9919
9920 2004-04-28  David Schleef  <ds@schleef.org>
9921
9922         Move a bunch of unused files to old/ with names that are
9923         not case-insensitive-unique.  These files still contain some
9924         useful information that needs to be merged into gstbin.sgml,
9925         etc., so they shouldn't be deleted yet.
9926         * docs/gst/tmpl/GstBin.sgml:
9927         * docs/gst/tmpl/GstBuffer.sgml:
9928         * docs/gst/tmpl/GstCaps.sgml:
9929         * docs/gst/tmpl/GstClock.sgml:
9930         * docs/gst/tmpl/GstCompat.sgml:
9931         * docs/gst/tmpl/GstData.sgml:
9932         * docs/gst/tmpl/GstElement.sgml:
9933         * docs/gst/tmpl/GstEvent.sgml:
9934         * docs/gst/tmpl/GstIndex.sgml:
9935         * docs/gst/tmpl/GstStructure.sgml:
9936         * docs/gst/tmpl/GstTag.sgml:
9937         * docs/gst/tmpl/old/GstBin.sgml:
9938         * docs/gst/tmpl/old/GstBuffer.sgml:
9939         * docs/gst/tmpl/old/GstCaps.sgml:
9940         * docs/gst/tmpl/old/GstClock.sgml:
9941         * docs/gst/tmpl/old/GstCompat.sgml:
9942         * docs/gst/tmpl/old/GstData.sgml:
9943         * docs/gst/tmpl/old/GstElement.sgml:
9944         * docs/gst/tmpl/old/GstEvent.sgml:
9945         * docs/gst/tmpl/old/GstIndex.sgml:
9946         * docs/gst/tmpl/old/GstStructure.sgml:
9947         * docs/gst/tmpl/old/GstTag.sgml:
9948
9949 2004-04-28  David Schleef  <ds@schleef.org>
9950
9951         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9952         (gst_caps_append), (gst_caps_append_structure),
9953         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9954         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9955         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9956         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9957         (gst_caps_intersect), (gst_caps_normalize),
9958         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9959         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9960         * gst/gstcaps.h: use GST_IS_CAPS().
9961
9962 2004-04-26  David Schleef  <ds@schleef.org>
9963
9964         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9965         assembly.  gcc doesn't handle it correctly. (bug #141083)
9966         * gst/gsttrashstack.h: same
9967
9968 2004-04-25  Benjamin Otte  <otte@gnome.org>
9969
9970         * gst/gstelement.c: (gst_element_change_state):
9971           fix assertion to do an int comparison
9972
9973 2004-04-25  Benjamin Otte  <otte@gnome.org>
9974
9975         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9976           better debugging output on error
9977
9978 2004-04-25  Benjamin Otte  <otte@gnome.org>
9979
9980         * gst/gstcaps.c: (gst_caps_subtract):
9981           fix memleak
9982
9983 2004-04-23  Benjamin Otte  <otte@gnome.org>
9984
9985         * gst/gstvalue.c: (gst_value_compare_buffer),
9986         (_gst_value_initialize):
9987           add comparison function for buffers
9988
9989 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9990
9991         * docs/pwg/pwg.xml:
9992           Just found out that this so-called "ima-wav" format is really
9993           just "dvi adpcm" (according to the MS WAV documentation). So
9994           renaming it. We didn't use it yet anyway.
9995
9996 2004-04-23  Benjamin Otte  <otte@gnome.org>
9997
9998         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9999           call gst_caps_is_subset
10000
10001 2004-04-23  Benjamin Otte  <otte@gnome.org>
10002
10003         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10004         (gst_caps_is_subset):
10005           add documentation
10006
10007 2004-04-23  Benjamin Otte  <otte@gnome.org>
10008           
10009         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10010         (gst_caps_structure_subtract), (gst_caps_subtract),
10011         (gst_caps_structure_figure_out_union),
10012         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10013           fix simplifying and subtracting not working correctly with optional
10014           properties
10015           solve assorted problems that make it now simplify ebven more
10016         * docs/gst/tmpl/gstcaps.sgml:
10017         * gst/gstcaps.h:
10018           make gst_caps_do_simplify return a bool to indicate if it simplified
10019         * testsuite/caps/simplify.c: (main):
10020           add more checks. The tests is quite a bit useless right now because
10021           the core is heavily simplifying itself.
10022         * testsuite/caps/caps.h:
10023           fix caps to contain all optional properties
10024
10025 2004-04-22  Benjamin Otte  <otte@gnome.org>
10026
10027         * docs/gst/tmpl/gstcaps.sgml:
10028         * docs/gst/tmpl/gstfilesrc.sgml:
10029         * docs/gst/tmpl/gststructure.sgml:
10030         * docs/gst/tmpl/gstvalue.sgml:
10031           update for recent API changes
10032         * gst/gstcaps.c: (gst_caps_do_simplify):
10033           fix to stop trying with a freed structure
10034         * gst/gstpad.c: (gst_pad_link_fixate):
10035           simplify caps
10036         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10037           remove C++ comment
10038         * gst/gstpad.h:
10039           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10040         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10041         (gst_structure_to_string):
10042           keep the correct type when using lists of ranges
10043         * gst/gstvalue.c: (gst_value_list_prepend_value),
10044         (gst_value_list_append_value):
10045           copy the value before adding to the list (d'oh)
10046         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10047         (gst_value_subtract_int_range_int_range):
10048           handle overflows correctly
10049         * gst/gstvalue.c: (gst_value_subtract_from_list):
10050           fix memleak
10051         * testsuite/caps/caps.h:
10052           add a caps that caused segfaults
10053
10054 2004-04-22  Benjamin Otte  <otte@gnome.org>
10055
10056         * testsuite/refcounting/pad.c: (main):
10057           fix test
10058
10059 2004-04-22  Benjamin Otte  <otte@gnome.org>
10060
10061         * gst/gstcaps.c: (gst_caps_subtract):
10062           allow subtracting ANY and EMPTY from ANY caps
10063
10064 2004-04-22  Benjamin Otte  <otte@gnome.org>
10065
10066         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10067         (gst_caps_union):
10068           only simplify in functions that create new caps. Simplifying in
10069           gst_caps_append breaks tests.
10070
10071 2004-04-22  Benjamin Otte  <otte@gnome.org>
10072
10073         * gst/gstcaps.c: (gst_caps_structure_simplify):
10074           unset GValue after use
10075         * gst/gstcaps.c: (gst_caps_append), 
10076         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10077           use gst_caps_simplify (reduces registry size by 30%)
10078         * gst/gstpad.c: (gst_pad_template_new):
10079           don't allow NULL caps
10080
10081 2004-04-22  Benjamin Otte  <otte@gnome.org>
10082
10083         * docs/gst/gstreamer-sections.txt:
10084           add gst_caps_do_simplify
10085         * gst/gstcaps.c:
10086           add documentation for gst_caps_do_simplify
10087         * gst/gstvalue.h:
10088           fix typo in gst_value_register_subtract_func declaration for gst-doc
10089
10090 2004-04-22  Benjamin Otte  <otte@gnome.org>
10091
10092         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10093           fix bug when converting from empty string.
10094         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10095         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10096           use gst_caps_new_empty to allocate a new caps. Only that function
10097           allocates memory for caps now.
10098         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10099         (gst_caps_remove_structure):
10100           add ability to remove one structure (but not to header yet)
10101         * gst/gstcaps.c: (gst_caps_compare_structures),
10102         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10103         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10104         * gst/gstcaps.h:
10105           add gst_caps_do_simplify that tries to simplify a caps in place.
10106           Deprecate old gst_caps_simplify function.
10107         * testsuite/caps/caps.h:
10108           add caps.h containing a common set of caps to test against.
10109         * testsuite/caps/sets.c: (check_caps), (main):
10110           use it.
10111         * testsuite/caps/.cvsignore:
10112         * testsuite/caps/Makefile.am:
10113         * testsuite/caps/simplify.c: (check_caps), (main):
10114           add test to check correctness and efficency of caps simplification.
10115
10116 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10117
10118         reviewed by Benjamin Otte  <otte@gnome.org>
10119
10120         * gst/gstparse.c: (_gst_parse_escape):
10121           Free the GString used in _gst_parse_escape()
10122
10123 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10124
10125         * gst/gstpad.c: (gst_pad_link_negotiate):
10126           refuse to link if the link is not possible
10127         * configure.ac:
10128         * testsuite/Makefile.am:
10129         * testsuite/negotiation/.cvsignore:
10130         * testsuite/negotiation/Makefile.am:
10131         * testsuite/negotiation/pad_link.c: (main):
10132           add test that checks the above behaviour
10133
10134 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10135
10136         * docs/gst/gstreamer-sections.txt:
10137           add newly added API
10138
10139 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10140
10141         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10142         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10143         (gst_filesrc_open_file), (gst_filesrc_close_file),
10144         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10145         * gst/elements/gstfilesrc.h:
10146           add support for non-regular files (#140734)
10147
10148 2004-04-21  Benjamin Otte  <otte@gnome.org>
10149
10150         * gst/gstpad.c: (gst_pad_link_fixate):
10151           add sophisticated error checking code to see if fixation functions
10152           did their fixation right
10153
10154 2004-04-21  Benjamin Otte  <otte@gnome.org>
10155
10156         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10157           check for ANY caps before appending/unioning
10158         * gst/gstcaps.c: (gst_caps_is_subset),
10159         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10160         (gst_caps_structure_subtract), (gst_caps_subtract):
10161         * gst/gstcaps.h:
10162           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10163           the API. deprecate gst_caps_is_equal_fixed
10164         * gst/gstpad.c: (gst_pad_try_set_caps):
10165         * gst/gstqueue.c: (gst_queue_link):
10166           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10167         * gst/gststructure.c: (gst_structure_get_name_id):
10168         * gst/gststructure.h:
10169           add function gst_structure_get_name_id
10170         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10171         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10172         (gst_value_subtract_int_range_int_range),
10173         (gst_value_subtract_double_double_range),
10174         (gst_value_subtract_double_range_double),
10175         (gst_value_subtract_double_range_double_range),
10176         (gst_value_subtract_from_list), (gst_value_subtract_list),
10177         (gst_value_can_intersect), (gst_value_subtract),
10178         (gst_value_can_subtract), (gst_value_register_subtract_func),
10179         (_gst_value_initialize):
10180         * gst/gstvalue.h:
10181           add support for subtracting values from each other. Note that
10182           subtracting means subtracting as in set theory. Required for caps
10183           stuff above.
10184         * testsuite/caps/.cvsignore:
10185         * testsuite/caps/Makefile.am:
10186         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10187         * testsuite/caps/sets.c: (check_caps), (main):
10188         * testsuite/caps/subtract.c: (check_caps), (main):
10189           add tests for subtraction and equality code.
10190
10191 2004-04-20  David Schleef  <ds@schleef.org>
10192
10193         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10194         * gst/indexers/Makefile.am:
10195         * gst/schedulers/Makefile.am:
10196         * libs/gst/bytestream/Makefile.am:
10197         * libs/gst/control/Makefile.am:
10198         * libs/gst/getbits/Makefile.am:
10199
10200 2004-04-20  David Schleef  <ds@schleef.org>
10201
10202         * common/as-libtool.mak: Fine-tune DLL building.
10203         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10204         (like gst-plugins)
10205         * examples/plugins/Makefile.am: remove plugindir
10206         * gst/autoplug/Makefile.am: DLL building fixes
10207         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10208         Windows.
10209         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10210         * gst/indexers/Makefile.am: DLL building fixes
10211         * gst/schedulers/Makefile.am: DLL building fixes.
10212         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10213         * libs/gst/control/Makefile.am: same
10214         * libs/gst/getbits/Makefile.am: same
10215         * testsuite/Makefile.am: New dlopen directory
10216         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10217         when dlopened.
10218         * testsuite/dlopen/dlopen_gst.c: (main): same
10219         * testsuite/dlopen/loadgst.c: (do_test): same
10220
10221 2004-04-20  David Schleef  <ds@schleef.org>
10222
10223         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10224         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10225
10226 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10227
10228         * gst/gstelement.c: (gst_element_wait),
10229         (gst_element_set_time_delay), (gst_element_change_state):
10230           Use GST_TIME_*
10231
10232 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10233
10234         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10235         (gst_spider_identity_plug):
10236           improve debugging messages
10237         * gst/gstbin.c: (gst_bin_remove_func):
10238           make sure the state_change function is only called with simple state
10239           transitions
10240
10241 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10242
10243         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10244         (gst_fakesink_set_property), (gst_fakesink_chain):
10245         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10246         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10247         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10248         * gst/elements/gstidentity.c: (gst_identity_chain),
10249         (gst_identity_set_property):
10250         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10251         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10252           add warnings to _set_property for unknown arguments
10253           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10254
10255 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10256
10257         * Makefile.am:
10258         * docs/manuals.mak:
10259           add .po file download snippet
10260           fix a bug in the doc makefile
10261
10262 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10263
10264         * Makefile.am:
10265         * po/LINGUAS:
10266         * po/en_GB.po:
10267           Added en_GB translation (Gareth Owen)
10268
10269 2004-04-20  Johan Dahlin  <johan@gnome.org>
10270
10271         * gst/gstpad.c (_invent_event): Clean up
10272
10273 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10274
10275         * testsuite/caps/filtercaps.c: (main):
10276           fix test to test things correctly (caps are complicated)
10277
10278 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10279
10280         * testsuite/caps/Makefile.am:
10281         * testsuite/caps/filtercaps.c: (main):
10282           add test (that doesn't work right now, but should)
10283
10284 2004-04-19  David Schleef  <ds@schleef.org>
10285
10286         * configure.ac: Add test for allowing unaligned access.  Add define
10287         to put in gstconfig.h.
10288         * docs/gst/gstreamer-sections.txt: New symbols
10289         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10290         * docs/gst/tmpl/gstfilesrc.sgml:
10291         * docs/gst/tmpl/gstparse.sgml:
10292         * docs/gst/tmpl/gsttypes.sgml:
10293         * docs/gst/tmpl/gstutils.sgml:
10294         * docs/gst/tmpl/gstvalue.sgml:
10295         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10296         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10297         on most !i386/!powerpc architectures.  From Daniel Gazard
10298         <daniel.gazard@free.fr>.  (bug #140156)
10299         * po/af.po: Check in changes made by gettext.
10300         * po/az.po:
10301         * po/fr.po:
10302         * po/nl.po:
10303         * po/sr.po:
10304         * po/sv.po:
10305
10306 2004-04-20  Benjamin Otte  <otte@gnome.org>
10307
10308         * gst/schedulers/entryscheduler.c: 
10309         (gst_entry_scheduler_yield):
10310           refuse to yield when decoupled elements insist on doing that.
10311           At least it's better than crashing
10312
10313 2004-04-19  David Schleef  <ds@schleef.org>
10314
10315         * docs/libs/Makefile.am: Change sinclude to include
10316         * docs/gst/Makefile.am: same
10317         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10318
10319 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10320
10321         * po/LINGUAS:
10322         * po/uk.po:
10323           Added Ukrainian translation (Maxim V. Dziumanenko)
10324
10325 2004-04-19  Johan Dahlin  <johan@gnome.org>
10326
10327         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10328         checking here, do it before calling the function.
10329         Clean up, use for loops instead of while loops while iterating
10330         over lists.
10331
10332         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10333         in debug message.
10334         (gst_spider_create_and_plug): Improve debug message.
10335         General: Replace while loops which iterates over GLists with for
10336         loops. Which are much cleaner, improves readability, especially
10337         for gst_spider_identity_plug
10338
10339         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10340         fixes bug 140477
10341
10342 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10343
10344         * po/LINGUAS:
10345         * po/tr.po:
10346           Added Turkish translation (Baris Cicek)
10347
10348 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10349
10350         * docs/faq/troubleshooting.xml:
10351           Mention gst-register in the FAQ (fixes 139045).
10352
10353 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10354
10355         * docs/gst/gstreamer-sections.txt:
10356
10357 2004-04-17  Benjamin Otte  <otte@gnome.org>
10358
10359         * gst/gstelement.c: (gst_element_dispose):
10360           simplify
10361         * gst/gstpad.c: (gst_pad_call_chain_function):
10362           don't create loads of events due to bad macro usage
10363
10364 2004-04-16  David Schleef  <ds@schleef.org>
10365
10366         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10367         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10368         * gst/gstvalue.c: (gst_value_serialize_buffer),
10369         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10370         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10371         to indicate types that are fixed wrt caps or not.  Switching to
10372         this function fixes (bug #140298).
10373         * gst/gstvalue.h:
10374
10375 2004-04-16  David Schleef  <ds@schleef.org>
10376
10377         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10378         for GST_UNALIGNED_ACESS, since we essentially know which archs
10379         are ok.
10380
10381 2004-04-17  Benjamin Otte  <otte@gnome.org>
10382
10383         * docs/gst/Makefile.am:
10384           ignore gst/parse directory when building docs (fixes #140205)
10385
10386 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10387
10388         * testsuite/refcounting/mem.c: (vmsize):
10389           do error checking
10390
10391 2004-04-16  Johan Dahlin  <johan@gnome.org>
10392
10393         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10394         and gst_pad_call_get_function.
10395
10396 2004-04-15  David Schleef  <ds@schleef.org>
10397
10398         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10399         checks if we can access unaligned memory.
10400         * configure.ac: Use it.
10401
10402 2004-04-16  Benjamin Otte  <otte@gnome.org>
10403
10404         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10405         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10406         * gst/elements/gstfilesrc.h:
10407           s/seek_happened/need_discont/ and require discont before sending any
10408           data
10409
10410 2004-04-15  David Schleef  <ds@schleef.org>
10411
10412         * gst/gstvalue.c: (gst_value_serialize_buffer),
10413         (gst_value_deserialize_buffer), (_gst_value_initialize):
10414         Register these types as fundamental types. (bug #140015)
10415
10416 2004-04-16  Benjamin Otte  <otte@gnome.org>
10417
10418         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10419         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10420         (gst_pad_pull):
10421           implement enforcing discont events before buffers are passed. This
10422           allows state changes of only some elements and later correctly going
10423           on where they left off (or in short: you can now set audio sinks to
10424           NULL to release the device when the pipeline is paused)
10425         * gst/gstpad.c: (gst_pad_call_chain_function),
10426         (gst_pad_call_get_function):
10427         * gst/gstpad.h:
10428           add gst_pad_call_chain_function and gst_pad_call_get_function for
10429           scheduler interaction. They are required because of the changes
10430           above.
10431         * gst/schedulers/entryscheduler.c: (get_buffer),
10432         (gst_entry_scheduler_chain_wrapper),
10433         (gst_entry_scheduler_get_wrapper),
10434         (gst_entry_scheduler_state_transition),
10435         (gst_entry_scheduler_pad_link):
10436         * gst/schedulers/gstbasicscheduler.c:
10437         (gst_basic_scheduler_chain_wrapper),
10438         (gst_basic_scheduler_src_wrapper),
10439         (gst_basic_scheduler_chainhandler_proxy),
10440         (gst_basic_scheduler_gethandler_proxy),
10441         (gst_basic_scheduler_cothreaded_chain),
10442         (gst_basic_scheduler_chain_elements):
10443         * gst/schedulers/gstoptimalscheduler.c:
10444         (get_group_schedule_function), (pad_clear_queued),
10445         (gst_opt_scheduler_pad_link):
10446           use the new functions instead of calling get/chain-functions
10447           directly.
10448
10449 2004-04-15  David Schleef  <ds@schleef.org>
10450
10451         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10452         * docs/gst/tmpl/gstinfo.sgml: same
10453         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10454         gtk-doc put here.
10455         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10456         * examples/queue/queue.c: (main):  We iterate pipelines, not
10457         bins.  (bug #139996)
10458
10459 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10460
10461         * docs/pwg/advanced-types.xml:
10462           Add MS RLE support. Also document Qt RLE although I have no sample
10463           files for that yet. And document an extra property for ADPCM.
10464
10465 2004-04-15  David Schleef  <ds@schleef.org>
10466
10467         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10468         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10469         Windows.
10470
10471 2004-04-15  David Schleef  <ds@schleef.org>
10472
10473         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10474         symbol names to not conflict with new gstinfo.h symbols.
10475         * gst/gstinfo.h: Add inline functions for all those crazy
10476         compilers that don't know how to handle variadic macros (MSVC).
10477
10478 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10479
10480         * configure.ac: bump nano to 1
10481
10482 === release 0.8.1 ===
10483
10484 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10485
10486         * NEWS:
10487         * RELEASE:
10488         * configure.ac:
10489           releasing 0.8.1, "Snow Brigade"
10490
10491 2004-04-14  David Schleef  <ds@schleef.org>
10492
10493         * testsuite/Makefile.am: define tests_ignore
10494         * testsuite/Rules: Added new tests_ignore, which get compiled,
10495         but not run (generally because they're inconsistent or have
10496         heisenbugs).  Now we can ensure all the .c files compile in
10497         testsuite/.
10498         * testsuite/bins/Makefile.am: define tests_ignore
10499         * testsuite/bytestream/Makefile.am:
10500         * testsuite/caps/Makefile.am:
10501         * testsuite/clock/Makefile.am:
10502         * testsuite/debug/Makefile.am:
10503         * testsuite/debug/global.c: (gst_debug_log_one),
10504         (gst_debug_log_two): Fix compilation problem.
10505         * testsuite/dynparams/Makefile.am:
10506         * testsuite/elements/Makefile.am:
10507         * testsuite/ghostpads/Makefile.am:
10508         * testsuite/indexers/Makefile.am:
10509         * testsuite/parse/Makefile.am:
10510         * testsuite/plugin/Makefile.am:
10511         * testsuite/refcounting/Makefile.am:
10512         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10513         results, because it's not calculated correctly.
10514         * testsuite/refcounting/pad.c: (main): same
10515         * testsuite/states/Makefile.am:
10516         * testsuite/tags/Makefile.am:
10517         * testsuite/threads/Makefile.am:
10518
10519 2004-04-14  David Schleef  <ds@schleef.org>
10520
10521         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10522         generating bad code around the cpu detection asm code.
10523
10524 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10525
10526         * tools/gst-inspect.c: (print_element_info):
10527           print numeric version of rank as well, since we added some - 1
10528           rank values to elements
10529
10530 2004-04-13  David Schleef  <ds@schleef.org>
10531
10532         * configure.ac:  Disable various code when compiling for MinGW.
10533         * gst/elements/Makefile.am:
10534         * gst/elements/gstelements.c:
10535         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10536         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10537         * gst/registries/gstxmlregistry.c: (make_dir):
10538
10539 2004-04-13  David Schleef  <ds@schleef.org>
10540
10541         * gst/Makefile.am:
10542         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10543         assembly.
10544         * gst/gstcpuid_i386.s: remove
10545
10546 2004-04-13  David Schleef  <ds@schleef.org>
10547
10548         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10549         seems to think it needs to be done.
10550         * docs/gst/tmpl/gstfakesink.sgml:
10551         * docs/gst/tmpl/gstfakesrc.sgml:
10552         * docs/gst/tmpl/gstfdsink.sgml:
10553         * docs/gst/tmpl/gstfdsrc.sgml:
10554         * docs/gst/tmpl/gstfilesink.sgml:
10555         * docs/gst/tmpl/gstfilesrc.sgml:
10556         * docs/gst/tmpl/gstidentity.sgml:
10557         * docs/gst/tmpl/gstmd5sink.sgml:
10558         * docs/gst/tmpl/gstmultifilesrc.sgml:
10559         * docs/gst/tmpl/gstpipefilter.sgml:
10560         * docs/gst/tmpl/gstshaper.sgml:
10561         * docs/gst/tmpl/gstspider.sgml:
10562         * docs/gst/tmpl/gstspideridentity.sgml:
10563         * docs/gst/tmpl/gststatistics.sgml:
10564         * docs/gst/tmpl/gsttee.sgml:
10565         * docs/gst/tmpl/gsttypefind.sgml:
10566         * docs/gst/tmpl/gstutils.sgml:
10567
10568 2004-04-13  David Schleef  <ds@schleef.org>
10569
10570         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10571         and to build DLLs on Windows.
10572         * gst/Makefile.am:
10573         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10574         (gst_filesrc_open_file):
10575         * gst/schedulers/Makefile.am:
10576
10577 2004-04-13  David Schleef  <ds@schleef.org>
10578
10579         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10580         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10581         fixating lists.
10582
10583 2004-04-12  David Schleef  <ds@schleef.org>
10584
10585         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10586         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10587         to using it.
10588         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10589         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10590         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10591         * gst/gststructure.c: (gst_structure_set_valist),
10592         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10593         support for buffers.
10594         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10595         intended to be const.
10596         * gst/gsttag.h: same
10597         * gst/gstvalue.c: (gst_value_serialize_buffer),
10598         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10599         to (de)serialize buffers.
10600         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10601         * testsuite/caps/string-conversions.c: (main):
10602         * testsuite/caps/value_serialize.c: add new test
10603
10604 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10605
10606         * docs/pwg/advanced-types.xml:
10607           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10608
10609 2004-04-11  Benjamin Otte  <otte@gnome.org>
10610
10611         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10612           rename categories to basic_*
10613         * gst/schedulers/gstbasicscheduler.c: 
10614         (gst_basic_scheduler_chain_wrapper),
10615         (gst_basic_scheduler_chainhandler_proxy),
10616         (gst_basic_scheduler_gethandler_proxy),
10617         (gst_basic_scheduler_eventhandler_proxy):
10618           debugging category fixes - put common stuff in log category
10619         * gst/schedulers/gstbasicscheduler.c: 
10620         (gst_basic_scheduler_chain_elements):
10621           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10622           active and linking two active chains
10623
10624 2004-04-10  Benjamin Otte  <otte@gnome.org>
10625
10626         * docs/pwg/intro-preface.xml:
10627           fix dead links and remove reference to Wiki
10628
10629 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10630
10631         * gst/schedulers/gstbasicscheduler.c:
10632           make sure we can switch back to the main function if we're still in
10633           the main function (supposed to fix #139617)
10634         * gst/schedulers/gthread-cothreads.h:
10635           don't throw an error when switching to the same cothread
10636
10637 2004-04-09  Benjamin Otte  <otte@gnome.org>
10638
10639         * gst/gstbin.c: (gst_bin_get_type):
10640         * gst/gstclock.c: (gst_clock_get_type):
10641         * gst/gstindex.c: (gst_index_get_type):
10642         * gst/gstobject.c: (gst_object_get_type),
10643         (gst_signal_object_get_type):
10644         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10645         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10646         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10647         * gst/gstqueue.c: (gst_queue_get_type):
10648         * gst/gstregistry.c: (gst_registry_get_type):
10649         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10650         * gst/gstthread.c: (gst_thread_get_type):
10651           don't use memchunks for these objects, use malloc instead
10652
10653 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10654
10655         * docs/gst/.cvsignore:
10656         * docs/gst/Makefile.am:
10657         * docs/gst/gstreamer-sections.txt:
10658         * docs/gst/tmpl/gstaggregator.sgml:
10659         * docs/gst/tmpl/gstbuffer.sgml:
10660         * docs/gst/tmpl/gstclock.sgml:
10661         * docs/gst/tmpl/gstelement.sgml:
10662         * docs/gst/tmpl/gstfakesink.sgml:
10663         * docs/gst/tmpl/gstfakesrc.sgml:
10664         * docs/gst/tmpl/gstfdsink.sgml:
10665         * docs/gst/tmpl/gstfdsrc.sgml:
10666         * docs/gst/tmpl/gstfilesink.sgml:
10667         * docs/gst/tmpl/gstfilesrc.sgml:
10668         * docs/gst/tmpl/gstidentity.sgml:
10669         * docs/gst/tmpl/gstindex.sgml:
10670         * docs/gst/tmpl/gstinfo.sgml:
10671         * docs/gst/tmpl/gstmd5sink.sgml:
10672         * docs/gst/tmpl/gstmultifilesrc.sgml:
10673         * docs/gst/tmpl/gstpad.sgml:
10674         * docs/gst/tmpl/gstpipefilter.sgml:
10675         * docs/gst/tmpl/gstpipeline.sgml:
10676         * docs/gst/tmpl/gstpluginfeature.sgml:
10677         * docs/gst/tmpl/gstqueue.sgml:
10678         * docs/gst/tmpl/gstregistry.sgml:
10679         * docs/gst/tmpl/gstscheduler.sgml:
10680         * docs/gst/tmpl/gstshaper.sgml:
10681         * docs/gst/tmpl/gstspider.sgml:
10682         * docs/gst/tmpl/gstspideridentity.sgml:
10683         * docs/gst/tmpl/gststatistics.sgml:
10684         * docs/gst/tmpl/gstsystemclock.sgml:
10685         * docs/gst/tmpl/gsttee.sgml:
10686         * docs/gst/tmpl/gstthread.sgml:
10687         * docs/gst/tmpl/gsttypefind.sgml:
10688         * docs/gst/tmpl/gstutils.sgml:
10689           further doc build fixes
10690
10691 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10692
10693         * docs/gst/Makefile.am:
10694           make docs exit on scanning problems
10695           fix nonsrcdir build issues
10696         * docs/gst/gstreamer-sections.txt:
10697           adding stuff from -unused
10698         * gst/gstqueue.h:
10699           create GstQueueSize
10700         * gst/schedulers/cothreads_compat.h:
10701           fix cothread warnings
10702
10703 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10704
10705         * docs/gst/gstreamer-sections.txt:
10706           remove defines deprecated by Benjamin
10707
10708 2004-04-07  Benjamin Otte  <otte@gnome.org>
10709
10710         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10711           when the buffer is complete, don't check if other buffers are needed
10712         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10713           check that the offset is >0 so we don't try to read before the
10714           beginning of the file
10715         * gst/gstpad.c: (gst_pad_set_pad_template):
10716           sink the template, so we don't end up with 130k pad templates
10717
10718 2004-04-06  Benjamin Otte  <otte@gnome.org>
10719
10720         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10721           don't ref the element, adding already reffed it. And we didn't unref
10722           it later anyway... (huge memleak when you used many spider elements)
10723         * gst/gstelement.c: (gst_element_base_class_finalize):
10724         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10725         (gst_element_register):
10726         * gst/gsturi.c: (gst_element_make_from_uri):
10727           use gst_object_(un)ref instead of g_object(un)ref
10728
10729 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10730
10731         * gst/gstbuffer.h:
10732           remove macro that wouldn't work anymore because struct member has
10733           been removed.
10734         * gst/schedulers/entryscheduler.c: (schedule_forward):
10735           fix segfault for unconnected pads
10736         
10737 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10738
10739         reviewed by David Schleef <ds@schleef.org>
10740
10741         * gst/gstinfo.h:
10742           *_FORMAT modifiers should require putting a % in front of them for
10743           consistency reasons.
10744
10745 2004-04-05  Colin Walters  <walters@redhat.com>
10746
10747         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10748         space.
10749
10750 2004-04-05  Benjamin Otte  <otte@gnome.org>
10751
10752         * configure.ac:
10753         * gst/Makefile.am:
10754         * gst/gst_private.h:
10755         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10756           add support for detecting if GStreamer runs inside valgrind.
10757           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10758           print a big message in valgrind that GStreamer has detected it's
10759           running inside and might now use different code.
10760         * gst/gstmemchunk.c: (populate), (free_area),
10761         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10762         (gst_mem_chunk_free):
10763           flag memchunks for valgrind, so it can detect leaking of chunks.
10764           This allows detecting leaks of GstBuffer and GstEvent correctly
10765           inside valgrind.
10766
10767 2004-04-05  David Schleef  <ds@schleef.org>
10768
10769         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10770           jensgr@gmx.net (Jens Granseuer)
10771
10772 2004-04-05  David Schleef  <ds@schleef.org>
10773
10774         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10775         (gst_buffer_default_free), (gst_buffer_default_copy),
10776         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10777         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10778         structures in one place.
10779
10780 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10781
10782         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10783           (GST_TIME_FORMAT, GST_TIME_ARGS)
10784
10785 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10786
10787         * testsuite/elements/Makefile.am:
10788           disable test until it stops breaking make distcheck
10789
10790 2004-04-05  Johan Dahlin  <johan@gnome.org>
10791
10792         * po/sv.po: Updated translation
10793
10794 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10795
10796         * gst/gstplugin.c: (gst_plugin_load_file):
10797           fix segfault for when original plugin was loaded statically
10798
10799 2004-04-05  Benjamin Otte  <otte@gnome.org>
10800
10801         * testsuite/debug/category.c: (main):
10802         * testsuite/debug/commandline.c: (main):
10803         * testsuite/debug/output.c: (main):
10804           fix tests to work again with debugging enabled
10805
10806 2004-04-05  Benjamin Otte  <otte@gnome.org>
10807
10808         * gst/schedulers/gstbasicscheduler.c:
10809         (gst_basic_scheduler_pad_link):
10810           fix to work with recent scheduling changes
10811
10812 2004-04-05  Benjamin Otte  <otte@gnome.org>
10813
10814         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10815         prepareChangeLog doesn't work when cvs indents):
10816           don't throw an error when no element can be scheduled, there's too
10817           many weird reasons why it doesn't work. Return STOPPED instead.
10818           decoupled elemts' schedulability doesn't depend on bufpens.
10819
10820 2004-04-04  Benjamin Otte  <otte@gnome.org>
10821
10822         * gst/schedulers/gstbasicscheduler.c:
10823         (gst_basic_scheduler_pad_select):
10824           fix uninitialized variable warnings
10825
10826 2004-04-04  Benjamin Otte  <otte@gnome.org>
10827
10828         * gst/gstpad.c: (gst_pad_collect_valist):
10829           fix uninitialized variable warning
10830         * gst/schedulers/entryscheduler.c: (schedule_forward):
10831           fix shadowed variable
10832
10833 2004-04-04  Benjamin Otte  <otte@gnome.org>
10834
10835         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10836         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10837         (gst_pad_select):
10838         * gst/gstpad.h:
10839         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10840         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10841         * gst/gstscheduler.h:
10842           implement gst_pad_collect as replacement for gst_pad_select.
10843           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10844           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10845           new pad_select, lock and unlock calls.
10846         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10847         * gst/cothreads.h:
10848         * gst/schedulers/cothreads_compat.h:
10849         * gst/schedulers/gthread-cothreads.h:
10850           remove unused cothread_lock and cothread_unlock calls
10851         * gst/schedulers/entryscheduler.c:
10852         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10853         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10854         (gst_entry_scheduler_pad_select):
10855           update to new API
10856         * gst/schedulers/gstbasicscheduler.c:
10857         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10858         (gst_basic_scheduler_pad_select):
10859           remove useless lock and unlock calls, update pad_select to new API
10860           (untested)
10861         * gst/schedulers/gstoptimalscheduler.c:
10862         (gst_opt_scheduler_class_init):
10863           remove useless select, lock and unlock function calls
10864         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10865           use gst_pad_collect instead of gst_pad_select
10866
10867 2004-04-04  Benjamin Otte  <otte@gnome.org>
10868
10869         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10870         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10871         (schedule_next_element), (print_entry):
10872           add can_schedule_pad to handle element states.
10873           add schedule_forward to select the correct entry to schedule next
10874
10875 2004-04-03  Benjamin Otte  <otte@gnome.org>
10876
10877         * gst/schedulers/entryscheduler.c: 
10878           remove unused variable, fix error inside Rb, fix compile warning in
10879           unreachable code
10880
10881 2004-04-03  Benjamin Otte  <otte@gnome.org>
10882
10883         * gst/schedulers/entryscheduler.c:
10884           completely revamp the inner workings, so it's a lot easier to
10885           understand and extend
10886
10887 2004-04-03  Andy Wingo  <wingo@pobox.com>
10888
10889         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10890         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10891         This allows better introspection of pipeline topology.
10892         (add_to_chain): Don't do trickery to put loop elements first;
10893         rather, queue a chain sort by marking the chain as dirty.
10894         (remove_from_chain): Mark the chain dirty.
10895         (sort_chain): New function. Sorts the group list so that terminal
10896         sinks are first. This means elements on the sink side will be
10897         preferentially sscheduled before elements on the src side of the
10898         pipeline.
10899         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10900         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10901         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10902         (group_inc_link): Change argument and variable names to match the
10903         new link structure member names (src and sink).
10904         (group_dec_link): Add some description
10905
10906 2004-04-03  Benjamin Otte  <otte@gnome.org>
10907
10908         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10909         * gst/gstinfo.h:
10910         * testsuite/debug/category.c: (main):
10911         * testsuite/debug/commandline.c: (main):
10912         * testsuite/debug/output.c: (main):
10913         * testsuite/debug/printf_extension.c: (main):
10914           fix to successfully build and test with --disable-gst-debug
10915           configure switch (fixes #138705)
10916
10917 2004-04-03  Benjamin Otte  <otte@gnome.org>
10918
10919         * docs/pwg/building-boiler.xml:
10920           add cvs login line and s/anonymous/anoncvs/
10921
10922 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10923
10924         reviewed by Benjamin Otte  <otte@gnome.org>
10925
10926         * gst/gststructure.c: (gst_structure_free):
10927           memleak fix: free fields array (partial fix for #134839)
10928
10929 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10930
10931         * docs/random/ds/0.9-suggested-changes:
10932           Add a note to change handoff use in fakesrc to be usable in
10933           a more generic way (fakesrc should be renamed to appsrc or so).
10934         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10935           Change signal type to scope, so we can fill the buffer in the
10936           handoff handler (that's the whole use of this signal...).
10937
10938 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10939
10940         * docs/pwg/other-ntoone.xml:
10941           Document muxers and n-to-1 elements.
10942
10943 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10944
10945         * gst/registries/gstxmlregistry.c
10946         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10947         determine if a file is a G_MODULE. The old one discards paths
10948         containing "so" somewhere in the middle. My home directory is
10949         called "soto". Go figure...
10950
10951 2004-03-31  David Schleef  <ds@schleef.org>
10952
10953         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10954         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10955         * gst/gstbuffer.h:
10956
10957 2004-03-31  David Schleef  <ds@schleef.org>
10958
10959         * gst/gstvalue.c: (gst_value_union_int_int_range),
10960         (gst_value_union_int_range_int_range), (gst_value_can_union),
10961         (gst_value_union), (_gst_value_initialize):  Add some union
10962         implementations.  We didn't have any previously.
10963         * testsuite/caps/Makefile.am:
10964         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10965         (gst_audioscale_getcaps), (test_caps), (main): A little test
10966         that is the same as the caps manipulation in audioscale.
10967
10968 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10969
10970         * docs/faq/general.xml:
10971           add entry about "does gst support format X?"
10972
10973 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10974
10975         * gst/gstthread.c:
10976           fix docs
10977         * gst/gstutils.h:
10978           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10979
10980 2004-03-30  Benjamin Otte  <otte@gnome.org>
10981
10982         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10983           set the offset of the buffer to the requested offset
10984         * gst/elements/gsttypefind.c: (stop_typefinding):
10985           revert patch 1.18 (which I unfortunately don't know the reason for).
10986           This is needed to allow downstream elements to seek. Otherwise
10987           typefind might overwrite a previous seek by downstream elements.
10988           This lead to errors with id3tag and typefind on some mp3s.
10989         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10990         (gst_entry_scheduler_iterate):
10991           be more verbose when debugging
10992
10993 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10994
10995         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10996           make sure we don't get NULL strings
10997
10998 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10999
11000         * gst/gstcaps.c:
11001         * gst/gstelement.c:
11002         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11003         * gst/gstindex.c: (gst_index_resolver_get_type),
11004         (gst_index_get_type), (gst_index_factory_get_type):
11005         * gst/gstinfo.c:
11006         * gst/gstpad.c:
11007         * gst/gstplugin.c:
11008         * gst/gsturi.c: (gst_uri_handler_get_type):
11009         * gst/gstvalue.c:
11010           first batch of documentation fixes
11011
11012 2004-03-29  David Schleef  <ds@schleef.org>
11013
11014         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11015         * docs/gst/gstreamer-docs.sgml:  More hacking
11016         * docs/gst/gstreamer-sections.txt:
11017         * docs/gst/tmpl/cothreads_compat.sgml:
11018         * docs/gst/tmpl/gstcaps.sgml:
11019         * docs/gst/tmpl/gstclock.sgml:
11020         * docs/gst/tmpl/gstelement.sgml:
11021         * docs/gst/tmpl/gstevent.sgml:
11022         * docs/gst/tmpl/gstpad.sgml:
11023         * docs/gst/tmpl/gstutils.sgml:
11024         * docs/gst/tmpl/gstxml.sgml:
11025         * docs/gst/tmpl/gthread-cothreads.sgml:
11026         * docs/random/ds/0.9-suggested-changes:
11027         * gst/elements/gstfakesink.h: doc fixes
11028         * gst/elements/gstfakesrc.h: doc fixes
11029         * gst/gstcaps.c: doc fixes
11030         * gst/gstcaps.h: doc fixes
11031         * gst/gstelement.c: doc fixes
11032         * gst/gstelement.h: doc fixes
11033         * gst/gstindex.c: doc fixes
11034         * gst/gstinfo.c: doc fixes
11035         * gst/gstpad.c: doc fixes
11036         * gst/gstpad.h: doc fixes
11037         * gst/gstplugin.c: doc fixes
11038         * gst/gsttypefind.h: doc fixes
11039         * gst/gsturi.c: doc fixes
11040         * gst/gstvalue.c: doc fixes
11041
11042 2004-03-29  Colin Walters  <walters@redhat.com>
11043
11044         * gst/registries/gstxmlregistry.c (get_time)
11045         (plugin_times_older_than_recurse):
11046         Use the result of stat to determine whether a path is a file,
11047         so we don't attempt to opendir() files.
11048
11049 2004-03-29  Benjamin Otte  <otte@gnome.org>
11050
11051         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11052           print caps in debugging output when setting caps failed
11053         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11054         (schedule_next_element), (get_buffer), (run_chainhandler),
11055         (element_may_start), (gst_entry_scheduler_chain_handler),
11056         (gst_entry_scheduler_get_handler),
11057         (gst_entry_scheduler_state_transition),
11058         (gst_entry_scheduler_pad_link):
11059           make this scheduler a testcase for mandatory
11060           discont-before-first-buffer which is needed if we want to allow apps
11061           to release the sound device.
11062           add SCHED_ASSERT macro to print scheduler state before an assertion
11063           triggers.
11064
11065 2004-03-29  Benjamin Otte  <otte@gnome.org>
11066
11067         * COPYING:
11068           replace by LGPL (former COPYING.LIB). The core is completely
11069           licensed LGPL.
11070         * COPYING.LIB:
11071           remove
11072
11073 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11074
11075         * po/af.po:
11076         * po/sv.po:
11077           updated Afrikaans and Swedish
11078
11079 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11080
11081         * po/LINGUAS:
11082         * po/az.po:
11083           adding Azerbaijani (Mətin Əmirov)
11084
11085 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11086
11087         * gst/gstelement.h: 
11088         * gst/gstelement.c (gst_element_set_time_delay): New function for
11089         setting element time taking into account a hardware buffering
11090         delay.
11091         (gst_element_set_time): Now just an invocation of
11092         gst_element_set_time_delay.
11093         * gst/gstclock.h: 
11094         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11095         allowing to set event times in the future.
11096         (gst_clock_get_event_time): Now just an invocation of
11097         gst_clock_get_event_time_delay.
11098
11099 2004-03-28  Benjamin Otte  <otte@gnome.org>
11100
11101         * gst/gstbin.c: (gst_bin_set_element_sched),
11102         (gst_bin_unset_element_sched):
11103           don't add decoupled elements to schedulers - otherwise it's
11104           impossible to control if a link to a decoupled element was already
11105           removed from a scheduler or not.
11106         * gst/schedulers/cothreads_compat.h:
11107         * gst/schedulers/gthread-cothreads.h:
11108           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11109           is no "unused" warning.
11110         * gst/schedulers/Makefile.am:
11111         * gst/schedulers/entryscheduler.c:
11112           add new scheduler, based on ideas from talking to David and Martin.
11113           It's supposed to be small and correct. Currently it's also slow (but
11114           it's not noticable)
11115         * examples/retag/retag.c: (main):
11116         * testsuite/bytestream/test1.c: (main):
11117           fix missing NULLs at end of variadic functions
11118         * testsuite/elements/.cvsignore:
11119           update
11120
11121 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11122
11123         * gst/gstevent.h:
11124         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11125
11126 2004-03-25  David Schleef  <ds@schleef.org>
11127
11128         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11129         * docs/gst/tmpl/gstaggregator.sgml:
11130         * docs/gst/tmpl/gstautoplugfactory.sgml:
11131         * docs/gst/tmpl/gstbin.sgml:
11132         * docs/gst/tmpl/gstbuffer.sgml:
11133         * docs/gst/tmpl/gstbufferstore.sgml:
11134         * docs/gst/tmpl/gstfakesink.sgml:
11135         * docs/gst/tmpl/gstfakesrc.sgml:
11136         * docs/gst/tmpl/gstmd5sink.sgml:
11137         * docs/gst/tmpl/gstreamer-unused.sgml:
11138         * docs/gst/tmpl/gstsearchfuncs.sgml:
11139         * docs/gst/tmpl/gstshaper.sgml:
11140         * docs/gst/tmpl/gstspider.sgml:
11141         * docs/gst/tmpl/gsttee.sgml:
11142         * docs/gst/tmpl/gstutils.sgml:
11143         * docs/gst/tmpl/gstvalue.sgml:
11144         * docs/gst/tmpl/gstxml.sgml:
11145         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11146         and we don't support it.
11147         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11148         (gst_use_threads), (gst_has_threads): same
11149         * gst/gstthreaddummy.c: same
11150         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11151         * gst/autoplug/gstspider.h: same
11152         * gst/elements/gstaggregator.h: Remove bogus function from header
11153         * gst/elements/gstfakesink.h: same
11154         * gst/elements/gstfakesrc.h: same
11155         * gst/elements/gstmd5sink.h: same
11156         * gst/elements/gstshaper.h: same
11157         * gst/elements/gsttee.h: same
11158         * gst/gstbin.c: doc fixes
11159         * gst/gstbin.h: Remove unused definition.
11160         * gst/gstbuffer.c: doc fixes
11161         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11162         * gst/gstfilter.c: doc fixes
11163         * gst/gsttag.c: doc fixes
11164         * gst/gstvalue.c: doc fixes
11165
11166 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11167
11168         * docs/pwg/advanced-types.xml:
11169           Document typefinding.
11170         * docs/pwg/other-oneton.xml:
11171           Document one-to-n elements, demuxers and parsers.
11172
11173 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11174
11175         reviewed by: David Schleef  <ds@schleef.org>
11176
11177         * configure.ac: Check bison version (bug #127838)
11178
11179 2004-03-25  David Schleef  <ds@schleef.org>
11180
11181         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11182         * docs/gst/gstreamer-sections.txt:
11183         * docs/gst/tmpl/gstautoplug.sgml:
11184         * docs/gst/tmpl/gststaticautoplug.sgml:
11185         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11186         * docs/gst/tmpl/gstutils.sgml:
11187         * docs/gst/tmpl/gstxml.sgml:
11188
11189 2004-03-24  David Schleef  <ds@schleef.org>
11190
11191         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11192         manual being such complete crap, that I decided to do major
11193         hacking of it.  This checkin replaces any fine tuning that
11194         may have been done previously, with the benefit of actually
11195         being complete for much of the API that was changed since
11196         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11197         * docs/gst/gstreamer-sections.txt:
11198         * docs/gst/tmpl/GstBin.sgml:
11199         * docs/gst/tmpl/GstBuffer.sgml:
11200         * docs/gst/tmpl/GstCaps.sgml:
11201         * docs/gst/tmpl/GstClock.sgml:
11202         * docs/gst/tmpl/GstCompat.sgml:
11203         * docs/gst/tmpl/GstData.sgml:
11204         * docs/gst/tmpl/GstElement.sgml:
11205         * docs/gst/tmpl/GstEvent.sgml:
11206         * docs/gst/tmpl/GstIndex.sgml:
11207         * docs/gst/tmpl/GstStructure.sgml:
11208         * docs/gst/tmpl/GstTag.sgml:
11209         * docs/gst/tmpl/cothreads.sgml:
11210         * docs/gst/tmpl/cothreads_compat.sgml:
11211         * docs/gst/tmpl/gettext.sgml:
11212         * docs/gst/tmpl/grammar.tab.sgml:
11213         * docs/gst/tmpl/gst-i18n-app.sgml:
11214         * docs/gst/tmpl/gst-i18n-lib.sgml:
11215         * docs/gst/tmpl/gst.sgml:
11216         * docs/gst/tmpl/gst_private.sgml:
11217         * docs/gst/tmpl/gstaggregator.sgml:
11218         * docs/gst/tmpl/gstarch.sgml:
11219         * docs/gst/tmpl/gstatomic.sgml:
11220         * docs/gst/tmpl/gstatomic_impl.sgml:
11221         * docs/gst/tmpl/gstbin.sgml:
11222         * docs/gst/tmpl/gstbuffer.sgml:
11223         * docs/gst/tmpl/gstbufferstore.sgml:
11224         * docs/gst/tmpl/gstcaps.sgml:
11225         * docs/gst/tmpl/gstclock.sgml:
11226         * docs/gst/tmpl/gstcompat.sgml:
11227         * docs/gst/tmpl/gstconfig.sgml:
11228         * docs/gst/tmpl/gstcpu.sgml:
11229         * docs/gst/tmpl/gstdata.sgml:
11230         * docs/gst/tmpl/gstdata_private.sgml:
11231         * docs/gst/tmpl/gstelement.sgml:
11232         * docs/gst/tmpl/gstenumtypes.sgml:
11233         * docs/gst/tmpl/gsterror.sgml:
11234         * docs/gst/tmpl/gstevent.sgml:
11235         * docs/gst/tmpl/gstfakesink.sgml:
11236         * docs/gst/tmpl/gstfakesrc.sgml:
11237         * docs/gst/tmpl/gstfilesink.sgml:
11238         * docs/gst/tmpl/gstfilter.sgml:
11239         * docs/gst/tmpl/gstindex.sgml:
11240         * docs/gst/tmpl/gstinfo.sgml:
11241         * docs/gst/tmpl/gstinterface.sgml:
11242         * docs/gst/tmpl/gstlog.sgml:
11243         * docs/gst/tmpl/gstmacros.sgml:
11244         * docs/gst/tmpl/gstmarshal.sgml:
11245         * docs/gst/tmpl/gstmd5sink.sgml:
11246         * docs/gst/tmpl/gstmultifilesrc.sgml:
11247         * docs/gst/tmpl/gstobject.sgml:
11248         * docs/gst/tmpl/gstpad.sgml:
11249         * docs/gst/tmpl/gstparse.sgml:
11250         * docs/gst/tmpl/gstpipeline.sgml:
11251         * docs/gst/tmpl/gstplugin.sgml:
11252         * docs/gst/tmpl/gstpluginfeature.sgml:
11253         * docs/gst/tmpl/gstqueue.sgml:
11254         * docs/gst/tmpl/gstreamer-unused.sgml:
11255         * docs/gst/tmpl/gstregistry.sgml:
11256         * docs/gst/tmpl/gstregistrypool.sgml:
11257         * docs/gst/tmpl/gstscheduler.sgml:
11258         * docs/gst/tmpl/gstsearchfuncs.sgml:
11259         * docs/gst/tmpl/gstshaper.sgml:
11260         * docs/gst/tmpl/gstspider.sgml:
11261         * docs/gst/tmpl/gstspideridentity.sgml:
11262         * docs/gst/tmpl/gststructure.sgml:
11263         * docs/gst/tmpl/gstsystemclock.sgml:
11264         * docs/gst/tmpl/gsttag.sgml:
11265         * docs/gst/tmpl/gsttaginterface.sgml:
11266         * docs/gst/tmpl/gsttee.sgml:
11267         * docs/gst/tmpl/gstthread.sgml:
11268         * docs/gst/tmpl/gsttrace.sgml:
11269         * docs/gst/tmpl/gsttrashstack.sgml:
11270         * docs/gst/tmpl/gsttypefind.sgml:
11271         * docs/gst/tmpl/gsttypes.sgml:
11272         * docs/gst/tmpl/gsturi.sgml:
11273         * docs/gst/tmpl/gsturitype.sgml:
11274         * docs/gst/tmpl/gstutils.sgml:
11275         * docs/gst/tmpl/gstvalue.sgml:
11276         * docs/gst/tmpl/gstversion.sgml:
11277         * docs/gst/tmpl/gstxml.sgml:
11278         * docs/gst/tmpl/gstxmlregistry.sgml:
11279         * docs/gst/tmpl/gthread-cothreads.sgml:
11280         * docs/gst/tmpl/types.sgml:
11281
11282 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11283
11284         * docs/pwg/other-sink.xml:
11285         * docs/pwg/other-source.xml:
11286           Documentation on how to write source and sink elements. Other
11287           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11288           manager, autoplugger) are all still pending.
11289
11290 2004-03-25  Benjamin Otte  <otte@gnome.org>
11291
11292         * testsuite/elements/Makefile.am:
11293         * testsuite/elements/gst-compprep-check:
11294           add check to make sure gst-compprep works
11295         * testsuite/elements/gst-inspect-check.in:
11296           improve initialization output
11297         * testsuite/Makefile.am:
11298         * testsuite/gst-inspect-check:
11299           remove old file
11300
11301 2004-03-24  David Schleef  <ds@schleef.org>
11302
11303         * testsuite/elements/Makefile.am:
11304         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11305         to the testsuite.
11306
11307 2004-03-24  Benjamin Otte  <otte@gnome.org>
11308
11309         * libs/gst/control/dparam.c: (gst_dparam_attach),
11310         (gst_dparam_detach):
11311         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11312           fix lvalue casts for real
11313
11314 2004-03-24  Benjamin Otte  <otte@gnome.org>
11315
11316         * gst/schedulers/gstbasicscheduler.c:
11317         (gst_basic_scheduler_src_wrapper):
11318         * gst/schedulers/gstoptimalscheduler.c:
11319         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11320         (pad_clear_queued), (gst_opt_scheduler_add_element),
11321         (gst_opt_scheduler_remove_element):
11322           fix GStreamer to not have issues with lvalue casts anymore (fixes
11323           #136841)
11324
11325 2004-03-24  Benjamin Otte  <otte@gnome.org>
11326
11327         * gst/gstelement.c:
11328           add documentation about a gobject quirk where the object hasn't the
11329           correct class pointer set on initialization
11330         * gst/schedulers/gstbasicscheduler.c:
11331         (gst_basic_scheduler_src_wrapper):
11332           make sure to not run into an infinite loop
11333
11334 2004-03-22  Benjamin Otte  <otte@gnome.org>
11335
11336         * gst/gstutils.c: (gst_util_dump_mem):
11337         * gst/gstutils.h:
11338           first argument of gst_util_dump_mem should be const
11339
11340 2004-03-22  Johan Dahlin  <johan@gnome.org>
11341
11342         * gst/gstvalue.h: Clean up a little bit.
11343
11344 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11345
11346         reviewed by Benjamin Otte  <otte@gnome.org>
11347
11348         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11349         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11350         (gst_aggregator_class_init), (gst_aggregator_init):
11351         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11352         (gst_filesrc_dispose), (gst_filesrc_set_location):
11353         * gst/elements/gstidentity.c: (gst_identity_finalize),
11354         (gst_identity_class_init), (gst_identity_chain):
11355         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11356         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11357         (gst_statistics_class_init):
11358         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11359         (gst_tee_get_property):
11360           clean up used memory in this elements correctly on teardown (closes
11361           #137279)
11362
11363 2004-03-20  Colin Walters  <walters@redhat.com>
11364
11365         * gst/registries/gstxmlregistry.c:
11366         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11367         registry saving atomic.
11368
11369 2004-03-20  Colin Walters  <walters@redhat.com>
11370
11371         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11372         Just use
11373         access() instead of actually creating and deleting files.
11374
11375 2004-03-18  David Schleef  <ds@schleef.org>
11376
11377         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11378         (bug #137625)
11379
11380 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11381
11382         * po/sv.po: updated translation (Christian Rose)
11383
11384 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11385
11386         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11387         (gst_filesink_get_query_types), (_do_init),
11388         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11389           return FALSE silently
11390         * po/af.po: updated translation (Petri Jooste)
11391
11392 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11393
11394         * Makefile.am:
11395         * configure.ac:
11396           dist common properly
11397         * po/af.po:
11398         * po/fr.po:
11399         * po/nl.po:
11400         * po/sr.po:
11401         * po/sv.po:
11402           refreshing translations
11403
11404 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11405
11406         * po/LINGUAS:
11407         * po/sv.po:
11408         * po/af.po:
11409           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11410
11411 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11412
11413         * Makefile.am: use common/release.mak
11414
11415 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11416
11417         * docs/faq/gst-uninstalled:
11418           adding gst-monkeysaudio to the list of possible plugin dirs
11419
11420 2004-03-16  David Schleef  <ds@schleef.org>
11421
11422         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11423         (gst_init_check_with_popt_table):  Fix some gettext strings to
11424         make them easier to translate.  Required making the strings
11425         non-const.
11426
11427 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11428
11429         * configure.ac: bump nano to 1
11430
11431 === release 0.8.0 ===
11432
11433 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11434
11435         * configure.ac: release 0.8.0, "Executive Slacks"
11436
11437 2004-03-16  Johan Dahlin  <johan@gnome.org>
11438
11439         * gst/schedulers/gstoptimalscheduler.c
11440         (gst_opt_scheduler_pad_unlink): Remove double ;,
11441         spotted by Scott Wheeler
11442
11443 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11444
11445         * configure.ac: bump libtool version
11446
11447 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11448
11449         * gst/gstcaps.h:
11450         * gst/gststructure.h:
11451           add reserved padding
11452
11453 2004-03-15  Benjamin Otte  <otte@gnome.org>
11454
11455         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11456           set the first parameter for select call correctly.
11457           (fixes #137230)
11458
11459 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11460
11461         * *.c,*.h: don't mix tabs and spaces
11462
11463 2004-03-15  Johan Dahlin  <johan@gnome.org>
11464
11465         * gst/schedulers/gstoptimalscheduler.c
11466         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11467         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11468
11469         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11470         
11471 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11472
11473         * testsuite/Rules:
11474           fix gst-register rules
11475
11476 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11477
11478         * testsuite/Rules:
11479           use versioned gst-register
11480
11481 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11482
11483         * docs/libs/gstreamer-libs-sections.txt:
11484           remove </SUBSECTION>
11485         * gst/gstplugin.c:
11486         * gst/gstregistry.c: (gst_registry_add_plugin):
11487         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11488         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11489           add debugging and fix some comment blocks
11490
11491 2004-03-15  Johan Dahlin  <johan@gnome.org>
11492
11493         * *.h: Revert indent changes.
11494         
11495 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11496
11497         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11498           g_error_free the g_error
11499         * tools/gst-feedback-m.m:
11500           check for other versions of gstreamer
11501         * tools/gst-indent:
11502           use sh, not bash
11503
11504 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11505
11506         * tools/gst-register.c: do not spill paths when registries are not
11507           writable, until we fix the "user running gst-register" case.
11508
11509 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11510
11511         * *.c, *.h: commit of gst-indent run on core
11512
11513 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11514
11515         * tools/gst-indent:
11516         * tools/Makefile.am:
11517           add our indentation style as a script
11518
11519 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11520
11521         * po/sr.po:
11522         * po/LINGUAS:
11523           added Serbian translation
11524
11525 2004-03-13  Benjamin Otte  <otte@gnome.org>
11526
11527         * gst/gstelement.c:
11528           add documentation note about gst_element_found_tags_for_pad not
11529           being usable in getfunctions. (see #137042)
11530
11531 2004-03-12  David Schleef  <ds@schleef.org>
11532
11533         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11534         change API right now!  Readd gst_caps_is_simple() macro.
11535         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11536         uninitialized variable.  I'd bet this caused crashes.
11537         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11538
11539 2004-03-12  Johan Dahlin  <johan@gnome.org>
11540
11541         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11542         * gst/gstcaps.h: Clean up
11543
11544         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11545         _gst_caps_initalize()
11546
11547         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11548         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11549
11550         * gst/gststructure.c (gst_structure_get_type): Ditto
11551
11552         * gst/gststructure.h: Ditto
11553         
11554 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11555
11556         * gst/gstqueue.c: (gst_queue_init):
11557           Reset default max. values in queues. Reason is simply to avoid
11558           braindead use. If you want wider values, use the properties. The
11559           default is supposed to always work. Wider values would make this
11560           beast a memory hog by default (250 full-PAL RGB32 video frames?
11561           That's 440 MB! No thank you).
11562
11563 2004-03-10  David Schleef  <ds@schleef.org>
11564
11565         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11566         were found.  (bug #136793)
11567
11568 2004-03-10  Johan Dahlin  <johan@gnome.org>
11569
11570         * gst/schedulers/gstoptimalscheduler.c
11571         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11572         links to elements within the same group, so we can finally remove
11573         that annoying warning. Refactor the code a little bit
11574         (group_dec_links_for_element): Split out
11575
11576 2004-03-09  David Schleef  <ds@schleef.org>
11577
11578         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11579         (bug #134863)
11580
11581 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11582
11583         * configure.ac: first bug fix due to major/minor bump
11584
11585 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11586
11587         * configure.ac: bump nano to 1
11588
11589 === release 0.7.6 ===
11590
11591 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11592
11593         * NEWS:
11594         * RELEASE:
11595         * configure.ac:
11596           releasing 0.7.6, "Almost"
11597         * po/fr.po:
11598         * po/nl.po:
11599         * tools/Makefile.am:
11600         * tools/gst-feedback-m.m:
11601           unversioned source
11602
11603 2004-03-09  Johan Dahlin  <johan@gnome.org>
11604
11605         Reviewed by: Thomas Vander Stichele
11606
11607         * gst/gstelement.c (gst_element_class_init): register second
11608         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11609         language bindings can (de)marshall correctly.
11610
11611         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11612
11613         * gst/gsterror.c (gst_g_error_get_type): New function
11614
11615         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11616         with VOID:OBJECT,OBJECT,STRING 
11617
11618 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11619
11620         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11621         Free a leaked g_timer on early returns.
11622
11623 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11624
11625         * docs/pwg/advanced-types.xml:
11626           Add cinepak description.
11627
11628 2004-03-07  David Schleef  <ds@schleef.org>
11629
11630         * docs/random/mimetypes:  Added cinepak description
11631
11632 2004-03-07  Andy Wingo  <wingo@pobox.com>
11633
11634         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11635
11636         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11637         there are no links to other groups when a group is destroyed.
11638         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11639         removed from a group, make sure the link count to elements linked
11640         to other pads is appropriately decremented. This really fixes
11641         #135672.
11642
11643         The 1.60->1.61 patch has been reapplied in light of this fix.
11644
11645         * gst/gstelement.c (gst_element_dispose): Really protect against
11646         multiple invocations this time.
11647
11648 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11649
11650         * docs/gst/gstreamer-sections.txt:
11651         * docs/gst/tmpl/gsttag.sgml:
11652           remove some deprecated functions, document some existing ones
11653         * gst/gsttag.c: (gst_tag_get_flag):
11654         * gst/gsttag.h:
11655           add accessor function
11656
11657 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11658
11659         * docs/gst/gstreamer-sections.txt:
11660         * docs/gst/tmpl/gsttag.sgml:
11661         * docs/gst/tmpl/gstxml.sgml:
11662         * gst/gsttag.c: (gst_tag_get_flag):
11663         * gst/gsttag.h:
11664
11665 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11666
11667         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11668         leak
11669
11670 2004-03-05  David Schleef  <ds@schleef.org>
11671
11672         * REQUIREMENTS: Add bison and flex.
11673         * configure.ac: Fix comment about bison.
11674         * docs/random/ds/0.9-suggested-changes: yer ma
11675         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11676
11677 2004-03-05  Benjamin Otte  <otte@gnome.org>
11678
11679         * gst/gstelement.c: (gst_element_error_full):
11680           revert recent recursive state changing commit - messing with other
11681           elements' states is evil and should be done by apps only.
11682
11683 2004-03-05  Benjamin Otte  <otte@gnome.org>
11684
11685         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11686           check for empty intersection instead of NULL caps
11687         (gst_element_get_compatible_pad_filtered):
11688           remove old workaround that is only a bug nowadays
11689
11690 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11691
11692         * gst/gstelement.c: (gst_element_error_full):
11693           make elements try to recursively change state to PAUSED on all
11694           parents after an error to suppress ensuing warnings
11695         * gst/parse/grammar.y:
11696           make it check if it was able to sync the state, and throw an error
11697           if not, so stuff like
11698           oggdemux ! vorbisdec ! osssink gets caught
11699
11700 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11701
11702         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11703           it contains lib64; use AS_AC_EXPAND to handle it properly
11704
11705 2004-03-05  David Schleef  <ds@schleef.org>
11706
11707         * gst/gstcpuid_i386.s:  Remove unused code
11708         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11709         (gst_getbits_newbuf): Remove MMX code
11710         * libs/gst/getbits/getbits.h: Remove MMX code
11711
11712 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11713
11714         * debian/.cvsignore:
11715         * debian/README.Debian:
11716         * debian/changelog:
11717         * debian/control:
11718         * debian/control.in:
11719         * debian/copyright:
11720         * debian/gstreamer-core-libs-dev.files:
11721         * debian/gstreamer-core-libs.files:
11722         * debian/gstreamer-core.files:
11723         * debian/gstreamer-core.postinst:
11724         * debian/gstreamer-core.postrm:
11725         * debian/gstreamer-doc.files:
11726         * debian/gstreamer-doc.links:
11727         * debian/gstreamer-doc.lintian:
11728         * debian/gstreamer-runtime.files:
11729         * debian/gstreamer-runtime.manpages:
11730         * debian/gstreamer-runtime.postinst:
11731         * debian/gstreamer-runtime.postrm:
11732         * debian/gstreamer-tools.files:
11733         * debian/gstreamer-tools.manpages:
11734         * debian/libgstreamer-dev.files:
11735         * debian/libgstreamer0.4.1.files:
11736         * debian/libgstreamerVERSION.files:
11737         * debian/rules:
11738         Debian package info not maintained here.
11739
11740 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11741
11742         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11743         * gst/gstbin.c: (gst_bin_class_init):
11744         * gst/gstelement.c: (gst_element_class_init):
11745         * gst/gstindex.c: (gst_index_class_init):
11746         * gst/gstobject.c: (gst_object_class_init),
11747         (gst_signal_object_class_init):
11748         * gst/gstpad.c: (gst_pad_template_class_init):
11749         * gst/gstregistry.c: (gst_registry_class_init):
11750         * gst/gsturi.c: (gst_uri_handler_base_init):
11751         * gst/gstxml.c: (gst_xml_class_init):
11752         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11753         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11754           make all signal names use dashes instead of underscore
11755
11756 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11757
11758         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11759
11760 2004-03-03  Benjamin Otte  <otte@gnome.org>
11761
11762         * gst/schedulers/gstoptimalscheduler.c:
11763           revert last commit by Andy Wingo. It causes segfaults on unreffing
11764           in Rhythmbox. (see bug #135672)
11765
11766 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11767
11768         * po/fr.po: fix typo
11769
11770 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11771
11772         * tools/gst-inspect.c: (main): 
11773         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11774
11775 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11776
11777         * configure.ac:
11778           get GLIB_ONLY and POPT flags for the nonversioned binaries
11779         * tools/Makefile.am:
11780           use them
11781
11782 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11783
11784         * gst/gst.c: (init_post):
11785           change so that GST_REGISTRY now is where the global registry gets
11786           saved, since that is where plugins now get attached to first, and
11787           spilled over to the user registry.  Note that in the case of using
11788           GST_REGISTRY env var, we don't want to affect any real registries
11789           beyond the one given by this var, and thus we don't set a user
11790           registry to spill to.  So make sure GST_REGISTRY is writable.
11791
11792 2004-03-01  David Schleef  <ds@schleef.org>
11793
11794         * AUTHORS:  Added some names.  Add yourself if you're missing.
11795
11796 2004-03-01  David Schleef  <ds@schleef.org>
11797
11798         * MAINTAINERS: Add
11799
11800 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11801
11802         * configure.ac:
11803           remove whitespace
11804         * docs/gst/tmpl/gstbuffer.sgml:
11805         * docs/gst/tmpl/gstdata.sgml:
11806         * docs/gst/tmpl/gstreamer-unused.sgml:
11807         * docs/gst/tmpl/gstxml.sgml:
11808           doc update
11809         * docs/manuals.mak:
11810           add a FIXME
11811         * docs/pwg/intro-preface.xml:
11812         * docs/pwg/pwg.xml:
11813           remove GNOME
11814         * gst/gst.c: (init_post):
11815           try GST_PLUGIN_PATH paths for the _global_registry first
11816         * gst/gstelement.h:
11817           add the error message as well, otherwise (null) debug info doesn't
11818           make much sense
11819         * tools/gst-register.c: (main):
11820           spill paths to next registry if this registry is not writable
11821         * po/fr.po:
11822         * po/nl.po:
11823           translation updates
11824
11825 2004-03-01  Johan Dahlin  <johan@gnome.org>
11826
11827         * gst/gstbuffer.c (_gst_buffer_initialize): 
11828         * gst/gstdata.c (gst_data_get_type): 
11829         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11830         instead of ref, since some applications that uses GBoxed
11831         routines depends on a function that actually returns a copy.
11832
11833 2004-02-27  Benjamin Otte  <otte@gnome.org>
11834
11835         * gst/gstbuffer.h:
11836           remove gst_buffer_free, use gst_data_unref
11837         * gst/gstdata.c: (gst_data_get_type):
11838           use refcounting in GstData GBoxed registration
11839         * gst/gstdata.h:
11840           remove gst_data_free, use gst_data_unref
11841
11842 2004-02-27  Johan Dahlin  <johan@gnome.org>
11843
11844         * gst/gstdata.c (gst_data_get_type): New function, register
11845         GstData as a GBoxed type.
11846
11847         * gst/gstdata.h (GST_TYPE_DATA): New macro
11848
11849 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11850
11851         * Makefile.am:
11852         * gstreamer.spec.in:
11853           put back RELEASE
11854         * gst/Makefile.am:
11855           clean up non-disting of built files
11856         * testsuite/debug/commandline.c:
11857           test fix for option rename
11858
11859 2004-02-26  David Schleef  <ds@schleef.org>
11860
11861         * configure.ac:  We don't really need glib-2.3.  Also remove
11862         some unneeded checks for library functions.
11863         * gst/Makefile.am:  Instead, we need to not dist files created
11864         by glib-genmarshal.
11865
11866 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11867
11868         * configure.ac:
11869           bump glib required version to 2.3.0 for g_value_takes_boxed
11870
11871  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11872
11873         * common/m4/gst-docs.m4
11874         change flavour text from enable to disable as enable is our default
11875         closes bug Bug 135304
11876
11877 === release 0.7.5 ===
11878  
11879  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11880  
11881         * NEWS:
11882           instate NEWS file
11883         * Makefile.am:
11884         * gstreamer.spec.in:
11885         * RELEASE:
11886           put back release
11887         * configure.ac:
11888         * docs/random/release:
11889           more updates
11890
11891 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11892
11893         * gst/gsttag.c: (_gst_tag_initialize):
11894         * po/fr.po:
11895         * po/nl.po:
11896           remove hyphen from codec tags
11897
11898 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11899
11900         * gst/parse/Makefile.am:
11901           fix dependency so that a make from a clean build works the first
11902           time
11903
11904 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11905
11906         * docs/random/release:
11907           update release strategy
11908         * po/fr.po:
11909           auto-update po file
11910         * po/nl.po:
11911           update dutch translation
11912
11913 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11914
11915         * docs/manual/debugging.xml:
11916         fix manual for new debugging system
11917
11918 2004-02-25  Andy Wingo  <wingo@pobox.com>
11919
11920         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11921         gst_pad_link_prepare. Please email the list with specific reasons
11922         for reverting.
11923
11924 2004-02-24  Andy Wingo  <wingo@pobox.com>
11925
11926         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11927         invocations.
11928
11929         * gst/schedulers/gstoptimalscheduler.c:
11930         I added a mess of prototypes at the top of the file by way of
11931         documentation. Some of the operations on chains and groups were
11932         re-organized.
11933
11934         (create_group): Added a type argument so if the group is enabled,
11935         the setup_group_scheduler knows what to do.
11936         (group_elements): Added a type argument here, too, to be passed on
11937         to create_group.
11938         (group_element_set_enabled): If an unlinked PLAYING element is
11939         added to a bin, we have to create a new group to hold the element,
11940         and this function will be called before the group is added to the
11941         chain. Thus we have a valid case for group->chain==NULL. Instead
11942         of calling chain_group_set_enabled, just set the flag on the group
11943         (the chain's status will be set when the group is added to it).
11944         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11945         Setup the group scheduler when the group is enabled, not
11946         specifically when an element goes PAUSED->PLAYING. This means
11947         PLAYING elements can be added, linked, and scheduled into a
11948         PLAYING pipeline, as was intended.
11949         (add_to_group): Don't ref the group twice. I don't know when this
11950         double-ref got in here. Removing it has the potential to cause
11951         segfaults if other parts of the scheduler are buggy. If you find
11952         that the scheduler is segfaulting for you, put in an extra ref
11953         here and see if that hacks over the underlying issue. Of course,
11954         then find out what code is unreffing a group it doesn't own...
11955         (create_group): Make the extra refcount floating, and remove it
11956         after adding the element. This means that...
11957         (unref_group): Destroy when the refcount reaches 0, not 1, like
11958         every other refcounted object in the known universe.
11959         (remove_from_group): When a group becomes empty, set it to be not
11960         active, and remove it from its chain. Don't unref it again,
11961         there's no floating reference any more.
11962         (destroy_group): We have to remove the group from the chain in
11963         remove_from_group (rather than here) to break refcounting cycles
11964         (the chain always has a ref on the group). So assert that
11965         group->chain==NULL.
11966         (ref_group_by_count): Removed, it was commented out anyway.
11967         (merge_chains): Use the remove_from_chain and add_to_chain
11968         primitives to do the reparenting, instead of rolling our own
11969         implementation.
11970         (add_to_chain): The first non-disabled group in the chain's group
11971         list will be the entry point for the chain. Because buffers can
11972         accumulate in loop elements' peer bufpens, we preferentially
11973         schedule loop groups before get groups to avoid unnecessary
11974         execution of get-based groups when the bufpens are already full.
11975         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11976         (get_group_schedule_function): Ditto.
11977         (loop_group_schedule_function): Ditto.
11978         (gst_opt_scheduler_loop_wrapper): Ditto.
11979         (gst_opt_scheduler_iterate): Ditto.
11980
11981         I understand the opt scheduler now, yippee!
11982
11983         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11984         (gst_pad_get_name, gst_pad_set_chain_function) 
11985         (gst_pad_set_get_function, gst_pad_set_event_function) 
11986         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11987         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11988         (gst_pad_set_query_function, gst_pad_get_query_types) 
11989         (gst_pad_get_query_types_default) 
11990         (gst_pad_set_internal_link_function) 
11991         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11992         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11993         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11994         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11995         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11996         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11997         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11998         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11999         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12000         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12001         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12002         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12003         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12004         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12005         argument checks, and some doc fixes.
12006
12007         (gst_pad_custom_new_from_template): Um, does anyone
12008         use these functions? Actually make a custom pad instead of a
12009         normal one.
12010         (gst_pad_try_set_caps): Transpose some checks.
12011         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12012         the pad is in negotiation.
12013         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12014         
12015         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12016
12017         * gst/gstelement.h: 
12018         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12019         on the list.
12020
12021 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12022
12023         * gst/gstbin.c: (gst_bin_add):
12024           add error for not being able to add elements
12025
12026 2004-02-22  Julien MOUTTE <julien@moutte.net>
12027
12028         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12029         audio-codec and video-codec.
12030
12031 2004-02-22  Benjamin Otte  <otte@gnome.org>
12032
12033         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12034
12035         * autogen.sh:
12036           replace test -e with test -x for mkinstalldirs to be more portable.
12037           (fixes #134816)
12038
12039 2004-02-22  Benjamin Otte  <otte@gnome.org>
12040
12041         * gst/gstpad.c:
12042           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12043           too noisy
12044         * gst/gsttag.c: (_gst_tag_initialize):
12045         * gst/gsttag.h:
12046           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12047         * libs/gst/control/dparam.c: (gst_dparam_attach):
12048         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12049           check that types for attached dparams match
12050
12051 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12052
12053         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12054         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12055         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12056           fix errors
12057
12058 2004-02-20  Andy Wingo  <wingo@pobox.com>
12059
12060         * gst/gstbin.c:
12061         * gst/gstbuffer.c:
12062         * gst/gstplugin.c:
12063         * gst/registries/gstxmlregistry.c: 
12064         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12065
12066         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12067         (gst_element_add_pad): DEBUG->INFO, some fixes.
12068         (gst_element_get_compatible_pad_template): Just see if the
12069         templates' caps intersect, not if one is a strict subset of the
12070         other. This conforms more to what gst_pad_link_intersect() does.
12071         (gst_element_class_add_pad_template): Don't memcpy the pad
12072         template, just ref it.
12073         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12074
12075         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12076         (gst_pad_link_filtered): Debug changes.
12077         (gst_pad_link_prepare): New function, consolidated from
12078         can_link_filtered and link_filtered.
12079
12080         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12081         look more like that of the functions in gstelement.c
12082
12083         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12084         object, and return the empty string if object is NULL.
12085
12086         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12087         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12088         LOG, not DEBUG. We still get flex info on debug.
12089
12090         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12091         debug string more verbose.
12092         (plugin_times_older_than): DEBUG->LOG.
12093
12094 2004-02-20  Julien MOUTTE <julien@moutte.net>
12095
12096         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12097         will emit found_tag for each stream they demux with the codec.
12098
12099 2004-02-20  Benjamin Otte  <otte@gnome.org>
12100
12101         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12102           copy navigation event correctly. Check freeing tag lists. 
12103         * gst/gstthread.c: (gst_thread_change_state):
12104           don't abort() on state changing mess - it might happen because of
12105           bugs.
12106         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12107           use boxed functions
12108         * gst/gstvalue.h:
12109           fix GST_VALUE_HOLDS_CAPS
12110
12111 2004-02-19  David Schleef  <ds@schleef.org>
12112
12113         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12114         and use it for GST_FUNCTION.  (bug #134750)
12115
12116 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12117
12118         * po/fr.po:
12119         * po/nl.po:
12120           updating translations
12121
12122 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12123
12124         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12125
12126 2004-02-18  kost@imn.htwk-leipzig.de
12127
12128         reviewed by: David Schleef  <ds@schleef.org>
12129
12130         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12131         for libgstcontrol.
12132
12133 2004-02-18  David Schleef  <ds@schleef.org>
12134
12135         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12136         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12137         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12138         * tools/gst-inspect.c: (print_element_info): Support dumping of
12139         double dparam information.
12140
12141 2004-02-17  David Schleef  <ds@schleef.org>
12142
12143         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12144         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12145         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12146         Use GST_TYPE_CAPS in signal prototype.
12147         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12148         Convert GST_TYPE_CAPS to boxed.
12149         * gst/gstelement.c: (gst_element_class_init):
12150         Use GST_TYPE_TAG_LIST in signal prototype.
12151         * gst/gstindex.c: (gst_index_class_init):
12152         * gst/gstindex.h:
12153         Add GST_TYPE_INDEX_ENTRY type.
12154         * gst/gstmarshal.list:
12155         Add necessary marshal types.
12156         * gst/gstpad.c: (gst_real_pad_class_init),
12157         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12158         (gst_pad_recover_caps_error):
12159         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12160         * gst/gststructure.c: (_gst_structure_initialize),
12161         (gst_structure_copy), (_gst_structure_copy_conditional):
12162         * gst/gststructure.h:
12163         Convert GST_TYPE_STRUCTURE to boxed.
12164         * gst/gsttag.c: (gst_tag_list_get_type):
12165         * gst/gsttag.h:
12166         Add GST_TYPE_TAG_LIST type.
12167
12168 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12169
12170         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12171         to what we agreed with david.
12172         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12173
12174 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12175
12176         * po/nl.po: update translation
12177
12178 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12179
12180         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12181           throw an error if spider is trying to play a mime type there is
12182           no decoder for
12183         * po/POTFILES.in:
12184           add gst/autoplug/gstspider.c for translation
12185
12186 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12187
12188         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12189         silently when the pad is negotiating.
12190
12191 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12192
12193         * docs/faq/Makefile.am:
12194           add script to run gstreamer uninstalled 
12195         * docs/faq/faq.xml:
12196         * docs/faq/developing.xml:
12197         * docs/faq/gst-uninstalled:
12198           extract script to run gstreamer uninstalled
12199         * docs/manuals.mak:
12200           add EXTRA_SOURCES variable for Makefile.am's to set to
12201           use additional SOURCE files for the doc build
12202
12203 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12204
12205         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12206
12207 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12208
12209         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12210         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12211         an error was thrown by osssink. Basically a state change failure for
12212         an element in a different scheduling group was considered as
12213         successful, which means that caps nego was going on and weird stuff
12214         happened. Like I wrote in the comment there, if someone wants to
12215         revert that please drop me a mail explaining why because I really see
12216         no point in keeping that broken behaviour there.
12217         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12218         be empty, we then return NULL which will trigger a nice error when 
12219         pulling from the pad.
12220
12221 2004-02-13  David Schleef  <ds@schleef.org>
12222
12223         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12224         (gst_dparam_get_property), (gst_dparam_set_property),
12225         (gst_dparam_do_update_default):
12226         * libs/gst/control/dparam.h:
12227         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12228         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12229         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12230         (gst_dpsmooth_do_update_double):
12231         * libs/gst/control/dparam_smooth.h:
12232         * libs/gst/control/dparammanager.c:
12233         (gst_dpman_inline_direct_update):
12234         Add support for double dparams.
12235
12236 2004-02-13  David Schleef  <ds@schleef.org>
12237
12238         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12239         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12240
12241 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12242
12243         reviewed by: David Schleef  <ds@schleef.org>
12244
12245         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12246         (gst_fdsrc_init), (gst_fdsrc_set_property),
12247         (gst_fdsrc_get_property), (gst_fdsrc_get):
12248         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12249         and sends an EOS event if file descriptor reading times out.
12250
12251 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12252
12253         * configure.ac:
12254           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12255
12256 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12257
12258         * configure.ac: pass required libxml version as argument
12259         (bug reported by Christophe Fergeau)
12260
12261 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12262   
12263         * docs/gst/gstreamer-docs.sgml:
12264         * docs/gst/tmpl/gstxml.sgml:
12265         * docs/libs/gstreamer-libs-docs.sgml:
12266           version API docs
12267
12268 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12269
12270         * gst/gstinfo.c:
12271         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12272         (gst_registry_pool_feature_filter):
12273         * gst/gstthread.c: (gst_thread_class_init):
12274         * gst/gstvalue.c:
12275           add includes exposed by building without libxml
12276         * gst/indexers/Makefile.am:
12277           do not build fileindex when LOADSAVE disabled; we should have
12278           a better libxml check later since fileindex depends on xml, not
12279           LOADSAVE or REGISTRY
12280         * libs/gst/control/Makefile.am:
12281           link with m
12282         * tools/Makefile.am:
12283           fix wrong source code for gst-xmlinspect
12284
12285 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12286
12287         * configure.ac:
12288           fix gcov help output
12289           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12290         * docs/random/release:
12291           some updated releasing notes
12292         * gstreamer.spec.in:
12293           more updates
12294
12295 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12296
12297         * docs/faq/faq.xml:
12298         * docs/manual/manual.xml:
12299         * docs/pwg/pwg.xml:
12300         * docs/pwg/titlepage.xml:
12301           put version in documentation
12302
12303 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12304
12305         * tools/Makefile.am: fix man page installation
12306
12307 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12308
12309         * configure.ac:
12310           don't check for libxml when load/save and registry disabled (#105844)
12311         * gstreamer.spec.in:
12312           sync with fedora candidate spec
12313
12314 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12315
12316         * po/fr.po:
12317         * po/nl.po:
12318           replace multidisksrc with multifilesrc
12319
12320 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12321
12322         * po/POTFILES.in:
12323           update to multidisksrc => multifilesrc file renaming (#134145)
12324
12325 2004-02-11  David Schleef  <ds@schleef.org>
12326
12327         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12328         * docs/gst/tmpl/gstpadtemplate.sgml: same
12329         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12330         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12331         fixing dance.
12332         * gst/gstutils.c: Remove disabled code that uses GstProps.
12333         * gst/registries/gstxmlregistry.h: same
12334         * docs/random/ds/0.9-suggested-changes: random notes
12335
12336 2004-02-11  kost@imn.htwk-leipzig.de
12337
12338         reviewed by: David Schleef  <ds@schleef.org>
12339
12340         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12341         initialisation of clock (bug #134128)
12342
12343 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12344
12345         * configure.ac:
12346         * gst/elements/Makefile.am:
12347         * gst/elements/gstelements.c:
12348         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12349         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12350         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12351         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12352         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12353         * gst/elements/gstmultifilesrc.h:
12354           rename multidisksrc to multifilesrc (part of #122200)
12355
12356 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12357
12358         * docs/manuals.mak:
12359           fix automake complaints
12360         * gst-element-check.m4:
12361           fix unquotedness
12362
12363 2004-02-11  David Schleef  <ds@schleef.org>
12364
12365         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12366         * gst/gstatomic_impl.h: Disable sparc implementation.
12367
12368 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12369
12370         * gst-element-check.m4:
12371           fix underquoted macros as reported by automake 1.8.x (#133800)
12372         * configure.ac:
12373           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12374           by autopoint (fixes #132996)
12375
12376 2004-02-10  Andy Wingo  <wingo@pobox.com>
12377
12378         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12379         way to do inheritance.
12380         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12381         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12382         Routine docs.
12383         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12384         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12385         doc.
12386         (gst_pad_unlink, gst_pad_is_linked): Docs.
12387         (gst_pad_renegotiate): A brief description of capsnego.
12388         (gst_pad_try_set_caps): Document.
12389         (gst_pad_try_set_caps_nonfixed): Document.
12390         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12391         (gst_pad_set_parent): Deprecated (although not out of the API).
12392         (gst_pad_get_parent): Deprecated, although many plugins use this.
12393         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12394         are private and will go away in 0.9.
12395         (gst_pad_perform_negotiate): Doc.
12396         (gst_pad_link_unnegotiate): I think this is meant to be static.
12397         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12398         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12399         (gst_pad_get_peer): Doc updates.
12400         (gst_pad_caps_change_notify): Doc.
12401         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12402         (gst_ghost_pad_new): Doc fixes.
12403
12404         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12405         (gst_object_check_uniqueness): 
12406
12407         * gst/gstelement.c (gst_element_add_pad) 
12408         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12409         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12410         (gst_element_get_static_pad, gst_element_get_pad_list) 
12411         (gst_element_class_get_pad_template_list) 
12412         (gst_element_class_get_pad_template): Work on the docs.
12413         (gst_element_get_pad_template_list): Uses the class method.
12414         (gst_element_get_compatible_pad_template): Docs, and consolidate
12415         some test conditions. 
12416         (gst_element_get_pad_from_template): New static function.
12417         (gst_element_request_compatible_pad): Docs, and work with
12418         non-request compatible templates. 
12419         (gst_element_get_compatible_pad_filtered): Docs and remove
12420         redundant checks.
12421         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12422         (gst_element_link_filtered, gst_element_link_many) 
12423         (gst_element_link, gst_element_link_pads) 
12424         (gst_element_unlink_many): Docs.
12425
12426 2004-02-05  Andy Wingo  <wingo@pobox.com>
12427
12428         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12429         s/pointer/boxed/.
12430
12431         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12432
12433         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12434         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12435         with the type=GST_TYPE_CAPS. This allows language bindings to know
12436         what kind of data they're dealing with.
12437
12438         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12439         to NULL when g_value_init is called. GstCaps, which rolls its own
12440         type implementation, now does the same instead of allocating empty
12441         caps.
12442         (_gst_caps_initialize, _gst_caps_collect_value,
12443         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12444         table methods. This allows G_VALUE_COLLECT to work.
12445
12446 2004-02-05  Andy Wingo  <wingo@pobox.com>
12447
12448         * configure.ac:
12449         * testsuite/Makefile.am (SUBDIRS): 
12450         * testsuite/ghostpads/Makefile.am: 
12451         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12452
12453         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12454         These two routines are the only ones that set
12455         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12456         pad template. They should be made static, depending on ABI needs.
12457         (gst_real_pad_dispose): Handle the case of ghost pads without a
12458         parent. Assert after dealing with ghost pads that the ghost pad
12459         list is empty.
12460         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12461         set after creation.
12462         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12463         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12464         functions. set_property will call add_ghost_pad/remove_ghost_pad
12465         as appropriate.
12466         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12467
12468         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12469         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12470         (gst_element_remove_pad): Handle ghost pads as well.
12471         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12472         depending on API-stability needs).
12473
12474 2004-02-05  Andy Wingo  <wingo@pobox.com>
12475
12476         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12477         of course they're const
12478
12479 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12480
12481         * tools/Makefile.am:
12482         * tools/gst-feedback:
12483         * tools/gst-feedback-0.7:
12484           make gst-feedback versioned too for consistency
12485
12486 2004-02-11  David Schleef  <ds@schleef.org>
12487
12488         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12489         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12490
12491 2004-02-10  Julien MOUTTE <julien@moutte.net>
12492
12493         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12494         the structure does not contain a valid tag list. Adding a safety check
12495         to remove a noisy warning in that case.
12496
12497 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12498
12499         * gst/gst.c: fix name to be in line with others
12500
12501 2004-02-09  Julien MOUTTE <julien@moutte.net>
12502
12503         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12504         not shout that loud when len is 0. Just return 0 silently.
12505
12506 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12507
12508         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12509         because data_unref has one and I prefer the debug to be symetric.
12510         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12511         were refed when added to the queue and unrefed only once when the queue
12512         was flushed. Now the flush handler unref the buffers two times : first
12513         unref for the ref added when pushing in the queue's tail and second
12514         unref to destroy the flushed buffer.
12515
12516 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12517
12518         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12519
12520 2004-02-06  David Schleef  <ds@schleef.org>
12521
12522         * docs/random/ds/0.9-suggested-changes: Random ramblings
12523         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12524         to int before printing.
12525         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12526         * gst/parse/parse.l: same.  See bug #129600
12527
12528 2004-02-06  David Schleef  <ds@schleef.org>
12529
12530         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12531         (gst_index_add_entry), (gst_index_add_associationv),
12532         (gst_index_add_association): Add gst_index_add_associationv()
12533         and clean up gst_index_add_association(). #127133
12534
12535 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12536
12537         * autogen.sh: check out common with right tag if CVS/Tag exists
12538
12539 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12540
12541         * testsuite/ghostpads/ghostpads.c: (main):
12542           fix testsuite from segfaulting
12543
12544 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12545
12546         * Makefile.am: add release target
12547         * configure.ac: bump nano to 1
12548         * docs/random/release:
12549
12550 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12551
12552         * gst/gstcaps.h:
12553         * gst/gstelement.c: (gst_element_base_class_init),
12554         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12555         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12556         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12557         (gst_real_pad_dispose):
12558         * gst/gststructure.c: (gst_structure_free),
12559         (gst_structure_from_string):
12560           put reverted patch back in
12561         * gst/gstelement.c: (gst_element_remove_pad):
12562           free explicit caps if they're set
12563         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12564           copy the structure when fixating
12565
12566 2004-02-05  David Schleef  <ds@schleef.org>
12567
12568         * gst/gstmarshal.list:
12569         * gst/gstpad.c: (gst_real_pad_class_init),
12570         (_gst_real_pad_fixate_accumulator):
12571         Revert POINTER->BOXED change in signal marshaller.
12572
12573 === release 0.7.4 ===
12574                                                                                 
12575 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12576                                                                                 
12577         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12578         * configure.ac: changed for release
12579
12580 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12581
12582         * gstreamer.spec.in:
12583           bump required version of gtk-doc
12584
12585 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12586
12587         * gst/gstcaps.h:
12588         * gst/gstelement.c: (gst_element_base_class_init),
12589         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12590         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12591         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12592         (gst_real_pad_dispose):
12593         * gst/gststructure.c: (gst_structure_free),
12594         (gst_structure_from_string):
12595           revert patch that breaks applications, reapply after release
12596           to get this fixed properly
12597
12598 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12599
12600         * gst/gsttag.c: (_gst_tag_initialize):
12601         * gst/gsttag.h:
12602           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12603
12604 2004-02-04  David Schleef  <ds@schleef.org>
12605
12606         Fix some memleaks:
12607         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12608         (gst_spider_plug_from_srcpad):
12609         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12610
12611 2004-02-04  David Schleef  <ds@schleef.org>
12612
12613         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12614         a GstRealPad before accessing its structure members.
12615
12616 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12617
12618         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12619         (gst_clock_get_speed):
12620         * gst/gstclock.h:
12621           reset padding, remove unused fields
12622
12623 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12624
12625         * gst/autoplug/gstspideridentity.c:
12626         (gst_spider_identity_sink_loop_type_finding):
12627           use get_allowed_caps, not get_caps (fixes #132519)
12628         * gst/elements/gsttypefind.c: (stop_typefinding):
12629           use correct order when sending buffers and seeking
12630
12631 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12632
12633         * configure.ac:
12634         * gst/gstelement.h:
12635         * gst/gstpad.h:
12636         * gst/gstqueue.h:
12637           upgrade libtool CURRENT, reset padding
12638
12639 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12640
12641         * configure.ac:
12642           bump to prerelease
12643           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12644
12645 2004-02-04  David Schleef  <ds@schleef.org>
12646
12647         * docs/random/ds/0.9-suggested-changes: random notes
12648         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12649         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12650         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12651         expansion.
12652         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12653         (gst_filesink_get_query_types): same
12654         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12655         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12656         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12657         to use new GST_PTR_FORMAT.
12658         * gst/gstelement.h: deprecate function factory macros
12659         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12660         These are our last variadic macros that can't be replaced with
12661         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12662         attempting to deprecate gst_element_clock_wait().
12663         * gst/gstevent.h: same
12664         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12665         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12666         * gst/gstpad.h: deprecate function factory macros similar to above.
12667
12668 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12669
12670         * configure.ac:
12671         * tools/Makefile.am:
12672         * tools/gst-run.c: (popt_callback), (hash_print_key),
12673         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12674         (get_candidates), (main):
12675           add new source file to generate non-versioned wrapper binaries
12676           for our tools.
12677
12678 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12679
12680         * gst/gstevent.c: (_gst_event_free):
12681           actually break; inside the switch statement
12682         * gst/parse/grammar.y:
12683           fix memleak where GValues weren't unset
12684
12685 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12686
12687         * gst/gststructure.c: (gst_structure_from_string):
12688           fix huge memleak
12689         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12690         (new_entry), (gst_type_find_element_chain):
12691         * gst/gstelement.c: (gst_element_base_class_init),
12692         (gst_element_class_set_details):
12693         * gst/gstpad.c: (gst_pad_can_link_filtered):
12694           fix smaller memleaks
12695         * gst/gstpad.c: (gst_real_pad_dispose):
12696           check that explicit caps are gone
12697         * gst/gststructure.c: (gst_structure_free):
12698           actually free the structure
12699         * gst/gstelement.c: (gst_element_clear_pad_caps):
12700           unset explicit caps
12701
12702 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12703
12704         * tools/Makefile.am:
12705           use AM_CFLAGS since all the CFLAGS are the same
12706           use AM_LDFAGS
12707
12708 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12709
12710         * docs/manual/gnome.xml:
12711           expand example a little
12712         * gst/gst.c: (gst_init_with_popt_table),
12713         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12714           make sure popt option displays are done with right textdomain
12715           use GstPoptOption type
12716         * gst/gst.h:
12717           create GstPoptOption type
12718
12719 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12720
12721         * gst/gsterror.c: (_gst_stream_errors_init):
12722         * gst/gsterror.h:
12723           adding error type for no codec
12724         * po/POTFILES.in:
12725           add gst-inspect
12726         * po/nl.po:
12727           update dutch translation
12728         * tools/gst-inspect.c: (print_element_list), (main):
12729           do proper internationalization
12730         * tools/gst-launch.c: (idle_func):
12731           remove commented out function call
12732
12733 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12734
12735         * docs/README:
12736           add some error fixing notes
12737         * docs/gst/gstreamer-sections.txt:
12738           remove double entries
12739         * docs/gst/tmpl/gstbin.sgml:
12740         * docs/gst/tmpl/gstclock.sgml:
12741           remove override
12742         * docs/gst/tmpl/gstelement.sgml:
12743         * docs/gst/tmpl/gstindex.sgml:
12744         * docs/gst/tmpl/gstobject.sgml:
12745         * docs/gst/tmpl/gstpadtemplate.sgml:
12746         * docs/gst/tmpl/gstreamer-unused.sgml:
12747         * docs/gst/tmpl/gsttag.sgml:
12748         * docs/gst/tmpl/gstthread.sgml:
12749         * docs/gst/tmpl/gstxml.sgml:
12750         * gst/gsttag.h:
12751           sync header prototypes with c decls
12752         * gst/gsttaginterface.c:
12753           fix doc headers
12754
12755 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12756
12757         * gst/parse/Makefile.am:
12758         * gst/gstobject.h:
12759           get rid of gstmarshal.h dependency. It's not needed.
12760         * gst/gst.h:
12761         * gst/elements/gstfakesink.c:
12762         * gst/elements/gstfakesrc.c:
12763         * gst/elements/gstidentity.c:
12764         * gst/gstbin.c:
12765         * gst/gstelement.c:
12766         * gst/gstindex.c:
12767         * gst/gstobject.c:
12768         * gst/gstpad.c:
12769         * gst/gstthread.c:
12770         * gst/gstxml.c:
12771         * libs/gst/control/dparam.c:
12772         * libs/gst/control/dparammanager.c:
12773           include gstmarshal.h.
12774         Fixes #132045
12775
12776 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12777
12778         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12779         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12780         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12781         * gst/elements/gstfilesrc.h:
12782           don't ref the filesrc when creating mmaped buffers. Don't keep a
12783           list of not-yet-destroyed buffers.
12784         * gst/gstbuffer.h:
12785           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12786
12787 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12788
12789         * gst/gst.c: (init_pre):
12790           remove textdomain
12791
12792 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12793
12794         * docs/pwg/advanced-events.xml:
12795         * docs/pwg/advanced-scheduling.xml:
12796         * docs/pwg/intro-basics.xml:
12797         * docs/pwg/other-manager.xml:
12798         * docs/pwg/other-nton.xml:
12799         * docs/pwg/other-ntoone.xml:
12800         * docs/pwg/other-oneton.xml:
12801         * docs/pwg/pwg.xml:
12802           All sort of documentation... Forgot what. Point is that I want this
12803           in before I leave. The 'other-*' will be the last section and will
12804           explain issues specific to these type of elements.
12805
12806 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12807
12808         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12809         (gst_filesrc_get_read):
12810           set all the values on buffers that we can
12811
12812 2004-02-02  David Schleef  <ds@schleef.org>
12813
12814         Change usage of isblah() to g_ascii_isblah() to be more locale
12815         independent.  (#133076)
12816         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12817         * gst/gstutils.c:
12818         * gst/parse/parse.l:
12819
12820 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12821
12822         reviewed by: David Schleef  <ds@schleef.org>
12823
12824         Fix memory leaks:
12825         * gst/gstcaps.c: (gst_caps_to_string):
12826         * gst/registries/gstxmlregistry.c:
12827         (gst_xml_registry_add_path_list_func),
12828         (gst_xml_registry_parse_padtemplate):
12829
12830 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12831
12832         * gst/gstelement.c: (gst_element_default_error):
12833           suffix error messages with period
12834
12835 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12836
12837         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12838         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12839         * gst/gsterror.c: (gst_error_get_message):
12840           Suffix with dots
12841         * po/fr.po:
12842         * po/nl.po:
12843           Update translation files
12844
12845 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12846
12847         * gst/autoplug/gstspideridentity.c:
12848         (gst_spider_identity_sink_loop_type_finding):
12849         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12850         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12851         (gst_filesink_close_file), (gst_filesink_handle_event),
12852         (gst_filesink_chain):
12853         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12854         (gst_filesrc_get_read), (gst_filesrc_open_file):
12855         * gst/elements/gstidentity.c: (gst_identity_chain):
12856         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12857         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12858         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12859         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12860         * gst/gsterror.c: (_gst_core_errors_init),
12861         (_gst_library_errors_init), (_gst_resource_errors_init),
12862         (_gst_stream_errors_init), (gst_error_get_message):
12863         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12864         (gst_pad_recover_caps_error), (gst_pad_pull):
12865         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12866         * gst/schedulers/gstbasicscheduler.c:
12867         (gst_basic_scheduler_chainhandler_proxy),
12868         (gst_basic_scheduler_gethandler_proxy),
12869         (gst_basic_scheduler_cothreaded_chain):
12870           Suffix error messages with period.
12871           Use (NULL) instead of NULL
12872
12873 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12874
12875         * docs/gst/tmpl/gstelement.sgml:
12876         * docs/gst/tmpl/gstxml.sgml:
12877         * gst/gstelement.c: (gst_element_error_full):
12878           add element path to error
12879
12880 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12881
12882         * docs/random/mimetypes:
12883           update raw int/float info
12884         * gst/gsttag.c: (_gst_tag_initialize):
12885         * gst/gsttag.h:
12886           add GST_TAG_ENCODER
12887
12888 2004-01-30  David Schleef  <ds@schleef.org>
12889
12890         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12891           missing (#132991)
12892
12893 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12894
12895         reviewed by Benjamin Otte 
12896           parts of the patch submitted in bug #113913
12897
12898         * configure.ac:
12899           use AC_C_INLINE. Use = instead of == with test
12900         * examples/plugins/example.c:
12901         * gst/autoplug/gstspideridentity.c:
12902         * gst/elements/gstfdsrc.c:
12903         * gst/elements/gstfilesrc.c:
12904         * gst/elements/gstidentity.c:
12905         * gst/elements/gstmultidisksrc.c:
12906         * gst/elements/gststatistics.c:
12907         * gst/gstelement.c:
12908         * gst/gstobject.c:
12909         * gst/gstpad.c:
12910         * gst/gstpipeline.c:
12911         * gst/gstthread.c:
12912           don't end enums with a comma
12913         * gst/gstindex.c: (gst_index_compare_func):
12914           do explicit casting to gint
12915         * gst/gsttrace.c: (gst_trace_text_flush):
12916           #define strsize as a macro
12917
12918 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12919
12920         * docs/README:
12921         * docs/gst/gstreamer-docs.sgml:
12922         * docs/gst/gstreamer-sections.txt:
12923         * docs/gst/tmpl/gstelement.sgml:
12924         * docs/gst/tmpl/gsterror.sgml:
12925         * docs/gst/tmpl/gstinterface.sgml:
12926         * docs/gst/tmpl/gstreamer-unused.sgml:
12927         * docs/gst/tmpl/gststructure.sgml:
12928         * docs/gst/tmpl/gsttag.sgml:
12929         * docs/gst/tmpl/gsttaginterface.sgml:
12930         * docs/gst/tmpl/gstvalue.sgml:
12931         make sure all API ends up in the built docs
12932         * gst/gstinterface.c:
12933         * gst/gststructure.c: (gst_structure_id_set_value),
12934         (gst_structure_set_value), (gst_structure_id_get_value):
12935         * gst/gststructure.h:
12936         * gst/gstvalue.h:
12937         sync .h with .c declarations
12938
12939 2004-01-30  Julien Moutte  <julien@moutte.net>
12940
12941         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12942         Ronald will fix riffread.
12943
12944 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12945
12946         * docs/pwg/advanced-interfaces.xml:
12947           Added tuner interface docs.
12948
12949 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12950
12951         * docs/random/mimetypes:
12952           correct Theora information
12953         * gst/gstelement.h:
12954           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12955
12956 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12957
12958         * gst/gstelement.c: (gst_element_error_full):
12959         * gst/gstelement.h:
12960           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12961
12962 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12963
12964         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12965         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12966         again and even before DISCONT.
12967         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12968         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12969         bytestream so that it's not stopping to fill the bytestream if events
12970         different than EOS or DISCONT are received. Instead it process them so
12971         that they go downstream.
12972
12973 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12974
12975         * docs/gst/tmpl/gstelement.sgml:
12976         * docs/gst/tmpl/gstreamer-unused.sgml:
12977         * docs/gst/tmpl/gstxml.sgml:
12978         * gst/autoplug/gstspideridentity.c:
12979         (gst_spider_identity_sink_loop_type_finding):
12980         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12981         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12982         (gst_filesink_close_file), (gst_filesink_handle_event),
12983         (gst_filesink_chain):
12984         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12985         (gst_filesrc_get_read), (gst_filesrc_open_file):
12986         * gst/elements/gstidentity.c: (gst_identity_chain):
12987         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12988         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12989         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12990         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12991         * gst/gstelement.h:
12992         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12993         (gst_pad_recover_caps_error), (gst_pad_pull):
12994         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12995         * gst/schedulers/gstbasicscheduler.c:
12996         (gst_basic_scheduler_chainhandler_proxy),
12997         (gst_basic_scheduler_gethandler_proxy),
12998         (gst_basic_scheduler_cothreaded_chain):
12999           gst_element_error -> GST_ELEMENT_ERROR
13000
13001 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13002
13003         * docs/Makefile.am:
13004         * docs/gst/tmpl/gstelement.sgml:
13005         * docs/gst/tmpl/gstxml.sgml:
13006         * docs/manuals.mak:
13007         * docs/pwg/advanced-request.xml:
13008         * docs/pwg/advanced-scheduling.xml:
13009         * docs/pwg/advanced-tagging.xml:
13010           fix non-validating docbook using CDATA
13011           make sure make check-local gets run first to check if it validates
13012
13013 2004-01-29  Julien MOUTTE <julien@moutte.net>
13014
13015         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13016         handling (up and downstream).
13017         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13018         my_filter thing.
13019
13020 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13021
13022         * docs/pwg/advanced-tagging.xml:
13023           Add docs about tag writing.
13024
13025 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13026
13027         * docs/pwg/advanced-tagging.xml:
13028           Add a part about tag reading and application signalling... Tag
13029           writing still needs to be documented.
13030         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13031           We can set file locations in READY, too.
13032
13033 2004-01-29  Julien MOUTTE <julien@moutte.net>
13034
13035         * docs/random/ds/element-checklist: Adding some notes about src
13036         events.
13037
13038 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13039
13040         * docs/random/mimetypes:
13041           Update docs to point to correct elements for various mimetypes, and
13042           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
13043           <stephane.loeuillet@tiscali.fr>.
13044
13045 2004-01-28  David Schleef  <ds@schleef.org>
13046
13047         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13048
13049 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13050
13051         * docs/random/mimetypes:
13052           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13053           undefined"
13054         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13055           make it only work in NULL.
13056         * gst/gstcaps.c:
13057           don't posion NULL caps
13058         * gst/gstelement.c: (gst_element_set_time):
13059           add debugging statement
13060         * gst/gstelement.c: (gst_element_emit_found_tag),
13061         (gst_element_found_tag_func), (gst_element_found_tags):
13062         * gst/gstelement.h:
13063           These functions take const taglists
13064         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13065           fix memleak
13066         * gst/gstpad.c: (gst_pad_event_default):
13067           make more effort on handling discont and clocks, g_warn if everything
13068           fails
13069         * gst/gststructure.c: (gst_structure_remove_fields),
13070         (gst_structure_remove_fields_valist):
13071         * gst/gststructure.h:
13072           add gst_structure_remove_fields(_valist)
13073         * gst/gsttag.c:
13074           fix doc glitch
13075
13076 2004-01-28  David Schleef  <ds@schleef.org>
13077
13078         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13079         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13080         Fix memory leakage of gst_caps_to_string().
13081
13082         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13083         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13084         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13085         (gst_spider_identity_sink_loop_type_finding):
13086         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13087         (find_suggest):
13088         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13089         (gst_pad_set_explicit_caps):
13090         * gst/parse/grammar.y:
13091
13092 2004-01-28  David Schleef  <ds@schleef.org>
13093
13094         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13095         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13096         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13097         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13098         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13099         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13100         (gst_debug_log_default), (_gst_info_printf_extension),
13101         (_gst_info_printf_extension_arginfo):  Add printf extension.
13102         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13103         * gst/gststructure.c: (gst_structure_to_string),
13104         (_gst_structure_parse_value): Use gst_value_deserialize() and
13105         remove old code.
13106         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13107         (gst_value_deserialize_boolean), (gst_strtoi),
13108         (gst_value_deserialize_int), (gst_value_deserialize_double),
13109         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13110         a bunch of deserialize functions and gst_value_deserialize.
13111         * gst/gstvalue.h: er, _de_serialize, not unserialize
13112         * testsuite/caps/string-conversions.c: (main): We don't currently
13113         handle (float) in caps, so convert these to (double).
13114         * testsuite/debug/Makefile.am: Add new test for the printf extension
13115         * testsuite/debug/printf_extension.c: (main): same
13116
13117 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13118
13119         * docs/random/company/time:
13120           Add some docs about clocking and time
13121
13122 2004-01-28  Julien MOUTTE <julien@moutte.net>
13123
13124         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13125
13126 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13127
13128         * docs/pwg/advanced-clock.xml:
13129         * docs/pwg/advanced-dparams.xml:
13130         * docs/pwg/advanced-events.xml:
13131         * docs/pwg/advanced-interfaces.xml:
13132         * docs/pwg/advanced-midi.xml:
13133         * docs/pwg/advanced-request.xml:
13134         * docs/pwg/advanced-scheduling.xml:
13135         * docs/pwg/advanced-tagging.xml:
13136         * docs/pwg/advanced-types.xml:
13137         * docs/pwg/appendix-checklist.xml:
13138         * docs/pwg/building-boiler.xml:
13139         * docs/pwg/building-chainfn.xml:
13140         * docs/pwg/building-filterfactory.xml:
13141         * docs/pwg/building-pads.xml:
13142         * docs/pwg/building-props.xml:
13143         * docs/pwg/building-signals.xml:
13144         * docs/pwg/building-state.xml:
13145         * docs/pwg/building-testapp.xml:
13146         * docs/pwg/intro-basics.xml:
13147         * docs/pwg/intro-preface.xml:
13148         * docs/pwg/other-autoplugger.xml:
13149         * docs/pwg/other-sink.xml:
13150         * docs/pwg/other-source.xml:
13151         * docs/pwg/titlepage.xml:
13152           fix up id's
13153
13154 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13155
13156         * docs/95NonPath:
13157         * docs/HACKING:
13158         * docs/README:
13159         * docs/building-the-docs-on-debian:
13160           collect relevant bits of doc info
13161
13162 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13163
13164         * docs/pwg/advanced_tagging.xml:
13165           Half-assed commit so Thomas can re-arrange document IDs here to be
13166           consistent, too.
13167
13168 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13169
13170         * docs/manual/autoplugging.xml:
13171         * docs/manual/bins-api.xml:
13172         * docs/manual/bins.xml:
13173         * docs/manual/buffers-api.xml:
13174         * docs/manual/buffers.xml:
13175         * docs/manual/clocks.xml:
13176         * docs/manual/components.xml:
13177         * docs/manual/cothreads.xml:
13178         * docs/manual/debugging.xml:
13179         * docs/manual/dparams-app.xml:
13180         * docs/manual/dynamic.xml:
13181         * docs/manual/elements-api.xml:
13182         * docs/manual/elements.xml:
13183         * docs/manual/factories.xml:
13184         * docs/manual/gnome.xml:
13185         * docs/manual/goals.xml:
13186         * docs/manual/helloworld.xml:
13187         * docs/manual/helloworld2.xml:
13188         * docs/manual/init-api.xml:
13189         * docs/manual/intro.xml:
13190         * docs/manual/links-api.xml:
13191         * docs/manual/links.xml:
13192         * docs/manual/manual.xml:
13193         * docs/manual/motivation.xml:
13194         * docs/manual/pads-api.xml:
13195         * docs/manual/pads.xml:
13196         * docs/manual/plugins-api.xml:
13197         * docs/manual/plugins.xml:
13198         * docs/manual/programs.xml:
13199         * docs/manual/queues.xml:
13200         * docs/manual/quotes.xml:
13201         * docs/manual/schedulers.xml:
13202         * docs/manual/states-api.xml:
13203         * docs/manual/states.xml:
13204         * docs/manual/threads.xml:
13205         * docs/manual/typedetection.xml:
13206         * docs/manual/xml.xml:
13207           use chapter, part, section or misc as id starts for all bits
13208
13209 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13210
13211         * docs/gst/gstreamer-sections.txt:
13212           Fix up TITLE of the sections
13213
13214 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13215
13216         * docs/pwg/advanced_interfaces.xml:
13217           Add documentation on propertyprobing.
13218         * docs/pwg/advanced_events.xml:
13219         * docs/pwg/advanced_tagging.xml:
13220         * docs/pwg/building_boiler.xml:
13221         * docs/pwg/building_filterfactory.xml:
13222         * docs/pwg/pwg.xml:
13223           Move filterfactory and tagging into their own chapter, add a chapter
13224           on events. all these are empty placeholders that will be filled in
13225           some day.
13226
13227 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13228
13229         * docs/pwg/advanced_interfaces.xml:
13230           Docs for mixer interface. Also a check for website uploading.
13231
13232 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13233
13234         * docs/HACKING:
13235         * docs/Makefile.am:
13236         * docs/faq/Makefile.am:
13237         * docs/gst/Makefile.am:
13238         * docs/gst/tmpl/gstelement.sgml:
13239         * docs/gst/tmpl/gstplugin.sgml:
13240         * docs/gst/tmpl/gstreamer-unused.sgml:
13241         * docs/libs/Makefile.am:
13242         * docs/manual/Makefile.am:
13243         * docs/manuals.mak:
13244         * docs/pwg/Makefile.am:
13245         * docs/upload.mak:
13246           Separate out upload target and make it similar for
13247           both docbook and gtk-doc docs
13248
13249 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13250
13251         * docs/manuals.mak:
13252           Fix upload target to work with freedesktop
13253
13254 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13255
13256         * docs/pwg/advanced_types.xml:
13257           Add notes on creating your own types.
13258         * docs/pwg/building_boiler.xml:
13259         * docs/pwg/building_pads.xml:
13260         * docs/pwg/building_state.xml:
13261           Add some stuff about how to retrieve values from structures, how
13262           that relates to types and change layout slightly again to be almost
13263           perfect.
13264
13265 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13266
13267         * docs/pwg/advanced_dparams.xml:
13268         * docs/pwg/advanced_scheduling.xml:
13269           Change index layout slightly.
13270
13271 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13272
13273         * docs/pwg/advanced_clock.xml:
13274         * docs/pwg/advanced_interfaces.xml:
13275         * docs/pwg/advanced_midi.xml:
13276           General placeholders for now.
13277         * docs/pwg/advanced_request.xml:
13278           Explanation about sometimes and request pads.
13279         * docs/pwg/advanced_scheduling.xml:
13280           Concept of bytestream, loopfunctions and schedulers.
13281         * docs/pwg/building_boiler.xml:
13282           Add something about plugin-init.
13283
13284 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13285
13286         * docs/pwg/building_pads.xml:
13287           Fix broken docbook
13288
13289 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13290
13291         * docs/pwg/advanced_interfaces.xml:
13292         * docs/pwg/pwg.xml:
13293           Add as a placeholder for future filling-in.
13294         * docs/pwg/basics_autoplugging.xml:
13295         * docs/pwg/basics_buffers.xml:
13296         * docs/pwg/basics_elements.xml:
13297         * docs/pwg/basics_events.xml:
13298         * docs/pwg/basics_plugins.xml:
13299         * docs/pwg/basics_types.xml:
13300           Remove, because unused (this is all in intro_basics.xml).
13301         * docs/pwg/building_signals.xml:
13302           Short intro to signals + reference to GObject docs - we really
13303           shouldn't go into these sort of things to deply because we don't
13304           use them that extensively anyway.
13305         * docs/pwg/building_state.xml:
13306           Explanation of states. Benjamin, please check.
13307         * docs/pwg/building_testapp.xml:
13308           Put everything in one page - putting only a few lines of content
13309           per page doesn't really make sense.
13310
13311           Time to get into the advanced topics. ;).
13312
13313 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13314
13315         * docs/pwg/advanced_types.xml:
13316           Finish documenting the current state of mimetypes.
13317         * docs/pwg/building_boiler.xml:
13318         * docs/pwg/building_chainfn.xml:
13319         * docs/pwg/building_pads.xml:
13320         * docs/pwg/building_props.xml:
13321         * docs/pwg/building_testapp.xml:
13322           Start documenting the "how to build a simple audio filter" part
13323           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13324           states and (maybe?) a short introduction to capsnego in the chapter
13325           on pads (building_pads.xml). Capsnego should probably be explained
13326           fully in advanced_capsnego.xml or so.
13327
13328 2004-01-26  David Schleef  <ds@schleef.org>
13329
13330         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13331         * gst/gstpad.h: Add new function to allow element to (somewhat)
13332         specify non-fixed caps on a pad.
13333         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13334         that I added a few weeks ago.
13335
13336 2004-01-26  David Schleef  <ds@schleef.org>
13337
13338         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13339           making try_set_caps() work with non-fixed caps.
13340
13341 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13342
13343         * docs/pwg/advanced_types.xml:
13344         * docs/pwg/intro_basics.xml:
13345         * docs/pwg/intro_preface.xml:
13346         * docs/pwg/pwg.xml:
13347         * docs/pwg/titlepage.xml:
13348           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13349           in here (docs/random/mimetypes), and will from there on work on both
13350           updating outdated parts and adding missing parts.
13351           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13352
13353 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13354
13355         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13356           policy is set
13357
13358 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13359
13360         * gst/gstelement.h:
13361           remove gst_element_factory_get_version. It doesn't exist anymore.
13362         * gst/gstplugin.c:
13363         * gst/gstplugin.h:
13364           remove gst_plugin_set_name and change gst_plugin_get_longname to
13365           gst_plugin_get_description to match code.
13366         * gst/gsterror.h:
13367           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13368         * gst/gstpad.c: (gst_pad_try_set_caps):
13369           make it work with nonfixed caps.
13370           Note that even in the nonfixed case the link function of the pad
13371           that tries to set caps isn't called.
13372
13373 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13374
13375         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13376           fix bug where buffer was not assembled correctly
13377         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13378           silence by default
13379         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13380           only seek if there's no more buffers that could work without seeking
13381
13382 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13383
13384         * gst/gsttag.c: (_gst_tag_initialize):
13385         * gst/gsttag.h:
13386           Add application tag (for encoding/muxing app).
13387
13388 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13389
13390         * autogen.sh:
13391           make autopoint force, and libtoolize not copy
13392         * common/m4/as-docbook.m4:
13393           added docbook xml catalog setup check
13394         * common/m4/gst-doc.m4:
13395           use docbook check
13396
13397 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13398
13399         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13400         * gst/gsttag.h:
13401           add GstTagFlag
13402
13403 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13404
13405         * docs/gst/gstreamer-sections.txt:
13406         * docs/gst/tmpl/gst.sgml:
13407         * docs/gst/tmpl/gstbuffer.sgml:
13408         * docs/gst/tmpl/gstclock.sgml:
13409         * docs/gst/tmpl/gstelement.sgml:
13410         * docs/gst/tmpl/gstreamer-unused.sgml:
13411         * docs/gst/tmpl/gstxml.sgml:
13412           sync latest API changes to docs
13413
13414 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13415
13416         * gst/gstpluginfeature.c:
13417           fix doc snippet
13418         * tools/gst-inspect.c: (print_element_list):
13419           fix output of typefind
13420           add GPL header
13421         * tools/gst-launch.c:
13422           add GPL header
13423
13424 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13425
13426         * gst/elements/Makefile.am:
13427         * gst/elements/gstelements.c:
13428         * gst/elements/gsttypefindelement.c:
13429         * gst/elements/gsttypefindelement.h:
13430         * po/POTFILES.in:
13431         * po/fr.po:
13432         * po/nl.po:
13433           renamed gsttypefindelement to gsttypefind, conserving CVS history
13434
13435 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13436
13437         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13438         * gst/gsttag.h:
13439           add some tags used in ogg as well
13440           fix _ in replaygain tags
13441
13442 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13443
13444         * gst/gsterror.h:
13445           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13446
13447 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13448
13449         * gst/gstelement.c: (gst_element_error_full):
13450         * gst/gstelement.h:
13451           change _extended to _full
13452
13453 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13454
13455         reviewed by: <delete if not using a buddy>
13456
13457         * docs/gst/tmpl/gst.sgml:
13458         * docs/gst/tmpl/gstbuffer.sgml:
13459         * docs/gst/tmpl/gstclock.sgml:
13460         * docs/gst/tmpl/gstelement.sgml:
13461         * docs/gst/tmpl/gstreamer-unused.sgml:
13462         * docs/gst/tmpl/gstxml.sgml:
13463         * gst/gstelement.c: (gst_element_error_full):
13464         * gst/gstelement.h:
13465
13466 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13467
13468         * gst/gstelement.h: fix _gst_element_error_printf prototype
13469
13470 2004-01-20  David Schleef  <ds@schleef.org>
13471
13472         * gst/gststructure.c: (gst_structure_to_string):
13473         Convert function to use gst_value_serialize().
13474         * gst/gstvalue.c: (gst_value_serialize_list),
13475         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13476         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13477         (gst_value_serialize_int), (gst_value_serialize_double),
13478         (gst_string_wrap), (gst_value_serialize_string),
13479         (gst_value_serialize), (gst_value_deserialize):
13480         * gst/gstvalue.h:
13481         Add implementations for serialize.
13482
13483 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13484
13485         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13486         we want to keep that one in the future or change xvidenc.c to use 
13487         another error.
13488
13489 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13490
13491         * gst/gstelement.c: (_gst_element_error_printf):
13492         * gst/gstelement.h:
13493           privatise function
13494
13495 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13496
13497         * docs/random/error:
13498           doc explaining error system
13499         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13500           cleanup
13501
13502 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13503
13504         * gst/gst-i18n-app.h:
13505         * gst/gst-i18n-lib.h:
13506           remove inclusion of config.h
13507         * po/POTFILES.in:
13508         * po/nl.po:
13509           add gst/gstelement.c
13510
13511 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13512
13513         * po/nl.po: updated Dutch translation
13514
13515 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13516
13517         * gst/gsterror.c: (_gst_core_errors_init),
13518         (_gst_library_errors_init), (_gst_resource_errors_init),
13519         (_gst_stream_errors_init):
13520         remove ending punctuation dots
13521
13522 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13523
13524         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13525         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13526         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13527         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13528         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13529         use GST_ERROR_SYSTEM
13530
13531 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13532
13533         * gst/gstelement.c: (gst_element_error_printf),
13534         (gst_element_error_extended):
13535         * gst/gstelement.h:
13536           add a helper printf function so we can have NULL values passed.
13537
13538 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13539
13540         * gst/gstelement.h:
13541           add G_STMT macros to gst_element_error, which isn't strictly
13542           necessary but people tell me to anyway.
13543
13544 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13545
13546         * gst/Makefile.am:
13547         * gst/autoplug/gstspideridentity.c:
13548         (gst_spider_identity_sink_loop_type_finding):
13549         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13550         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13551         (gst_filesink_close_file), (gst_filesink_handle_event),
13552         (gst_filesink_chain):
13553         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13554         (gst_filesrc_map_region), (gst_filesrc_get_read),
13555         (gst_filesrc_open_file):
13556         * gst/elements/gstidentity.c: (gst_identity_chain):
13557         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13558         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13559         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13560         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13561         * gst/gst.h:
13562         * gst/gst_private.h:
13563         * gst/gstelement.c: (gst_element_class_init),
13564         (gst_element_default_error), (gst_element_error_func),
13565         (gst_element_error_extended):
13566         * gst/gstelement.h:
13567         * gst/gsterror.c: (_gst_core_errors_init),
13568         (_gst_library_errors_init), (_gst_resource_errors_init),
13569         (_gst_stream_errors_init), (gst_error_get_message):
13570         * gst/gsterror.h:
13571         * gst/gstinfo.c: (_gst_debug_init):
13572         * gst/gstmarshal.list:
13573         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13574         (gst_pad_recover_caps_error), (gst_pad_pull):
13575         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13576         * gst/schedulers/gstbasicscheduler.c:
13577         (gst_basic_scheduler_chainhandler_proxy),
13578         (gst_basic_scheduler_gethandler_proxy),
13579         (gst_basic_scheduler_cothreaded_chain):
13580         * po/POTFILES.in:
13581         * po/fr.po:
13582         * po/nl.po:
13583           change error signal
13584           add error categories
13585
13586 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13587
13588         * gst/gsttag.c: (_gst_tag_initialize):
13589         * gst/gsttag.h:
13590         Add replaygain tag
13591
13592 2004-01-18  Colin Walters  <walters@verbum.org>
13593
13594         * examples/retag/retag.c: Call gst_init before processing
13595         program args.  Add g_assert to _link_many call.
13596
13597 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13598
13599         * gst/gstpad.c: (gst_pad_alloc_buffer):
13600           Return a newly allocated buffer when the pad has no peer.
13601
13602 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13603
13604         * gst/gstclock.c: (gst_clock_get_time):
13605           make it compile with gcc 2.95 again.
13606           Patch by Scott Wheeler
13607
13608 2004-01-15  David Schleef  <ds@schleef.org>
13609
13610         * gst/gstcaps.h:
13611         Added gst_caps_is_simple() macro.
13612         * testsuite/caps/caps.c: (test1):
13613         * testsuite/caps/intersect2.c: (main):
13614         * testsuite/caps/intersection.c: (main):
13615         Fixes to make 'make check' work again after removing
13616         gst_caps_is_chained().
13617
13618 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13619
13620         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13621         and additions to the MIDI document.
13622
13623 2004-01-15  David Schleef  <ds@schleef.org>
13624
13625         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13626         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13627         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13628
13629 2004-01-15  David Schleef  <ds@schleef.org>
13630
13631         * gst/gstqueue.c:
13632         * gst/gstqueue.h:
13633         Fix the spelling of "treshold" and make min_threshold actually
13634         affect the queue.
13635
13636 2004-01-15  David Schleef  <ds@schleef.org>
13637
13638         * gst/gstcaps.c:
13639         Add lots of documentation.
13640         * gst/gstcaps.h:
13641         Deprecate a few functions.
13642         * gst/gstpad.c:
13643         Removed use of deprecated functions.
13644
13645 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13646
13647         * gst/gstpad.c: (gst_pad_is_linked):
13648         * gst/gstpad.h:
13649           implement gst_pad_is_linked
13650         * gst/gstelement.h:
13651           reserve space for initiate_state_change
13652
13653 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13654
13655         * gst/autoplug/gstspideridentity.c:
13656         (gst_spider_identity_sink_loop_type_finding):
13657           break infinite loop by just returning instead of looping
13658         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13659           set event time difference correctly. Set it to 1 second instead
13660           of 100ms to be more tolerant
13661         * gst/gstelement.c: (gst_element_set_time):
13662           add debugging output
13663
13664 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13665
13666         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13667           query if buffers are inside the pool, ignore events
13668
13669 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13670
13671         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13672         (gst_clock_set_speed), (gst_clock_set_active),
13673         (gst_clock_is_active), (gst_clock_reset),
13674         (gst_clock_handle_discont):
13675         * gst/gstclock.h:
13676           deprecate old interface and disable functions that aren't in use
13677           anymore.
13678         * gst/gstelement.h:
13679         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13680         (gst_element_set_time), (gst_element_adjust_time):
13681           add concept of "element time" and functions to get/set this time.
13682         * gst/gstelement.c: (gst_element_change_state):
13683           update element time correctly.
13684         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13685           This is a debug message, not a g_critical.
13686         * gst/gstpad.c: (gst_pad_event_default):
13687           handle discontinuous events right with element time.
13688         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13689           update to clocking fixes.
13690           set clocks on elements in READY=>PAUSED. The old behaviour caused
13691           a wrong element time on the first element that started playing.
13692         * gst/schedulers/gstbasicscheduler.c:
13693         (gst_basic_scheduler_class_init):
13694         * gst/schedulers/gstoptimalscheduler.c:
13695         (gst_opt_scheduler_class_init):
13696           remove code that just implements the default behaviour.
13697         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13698           update to use new clocking functions
13699         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13700         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13701           update to test new element time.
13702         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13703           use _get_allowed_caps instead of _get_caps. This catches filtered
13704           caps correctly.
13705         * testsuite/debug/commandline.c:
13706           update for new GST_DEBUG syntax.
13707         * testsuite/threads/Makefile.am:
13708           disable a test that only works sometimes.
13709
13710 2004-01-13  Julien MOUTTE <julien@moutte.net>
13711
13712         * po/LINGUAS: Adding fr.
13713         * po/fr.po: Adding french translation.
13714
13715 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13716
13717         * gst/parse/grammar.y:
13718         * po/POTFILES.in:
13719         * po/nl.po:
13720         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13721           translate parsing error messages
13722
13723 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13724
13725         * po/POTFILES.in: adding gst-launch
13726         * po/nl.po: updated translation, all 99 strings translated
13727         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13728         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13729           fix strings for translation
13730
13731 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13732
13733         * gst/gst.c:
13734           - capitalize beginnings of popt options
13735           - fix strings for translation
13736           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13737
13738 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13739
13740         * po/README: add some notes on how to update translations
13741
13742 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13743
13744         * ABOUT-NLS: removed, is autogenerated from autopoint
13745         * autogen.sh: add autopoint stuff
13746         * configure.ac: fix up gettext stuff
13747         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13748         * gst/elements/gsttypefindelement.c: add header include
13749         * gst/gettext.h: add header, copy from system-installed header
13750         * gst/gst-i18n-app.h: to be included by each app having translations
13751         * gst/gst-i18n-lib.h: to be included by each lib having translations
13752         * gst/gst.c: (init_pre): fix up gettext calls
13753         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13754         * po/LINGUAS: the new way to specify translations present
13755         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13756         * po/Makevars: the variables filled in for GStreamer
13757         * po/POTFILES.in: added new files with translations
13758         * po/de.po: has new strings
13759         * po/nl.po: readded, has new strings
13760
13761 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13762
13763         * gst/gsttag.c: fix some strings marked for translation
13764
13765 2004-01-13  Iain <iain@prettypeople.org>
13766
13767         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13768         group when we add an element to it, cos we unref it when we remove one
13769
13770 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13771
13772         * testsuite/debug/commandline.c: (debug_not_reached):
13773         * testsuite/debug/output.c: (check_message):
13774           fix testsuite
13775
13776 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13777
13778         * examples/cutter/.cvsignore:
13779         * examples/helloworld/.cvsignore:
13780         * examples/launch/.cvsignore:
13781         * examples/manual/.cvsignore:
13782         * examples/mixer/.cvsignore:
13783         * examples/pingpong/.cvsignore:
13784         * examples/plugins/.cvsignore:
13785         * examples/queue/.cvsignore:
13786         * examples/queue2/.cvsignore:
13787         * examples/queue3/.cvsignore:
13788         * examples/queue4/.cvsignore:
13789         * examples/retag/.cvsignore:
13790         * examples/thread/.cvsignore:
13791         * examples/typefind/.cvsignore:
13792         * examples/xml/.cvsignore:
13793         * gst/.cvsignore:
13794         * gst/autoplug/.cvsignore:
13795         * gst/elements/.cvsignore:
13796         * gst/indexers/.cvsignore:
13797         * gst/parse/.cvsignore:
13798         * gst/registries/.cvsignore:
13799         * gst/schedulers/.cvsignore:
13800         * libs/gst/bytestream/.cvsignore:
13801         * libs/gst/control/.cvsignore:
13802         * libs/gst/getbits/.cvsignore:
13803         * tests/.cvsignore:
13804         * tests/bufspeed/.cvsignore:
13805         * tests/instantiate/.cvsignore:
13806         * tests/memchunk/.cvsignore:
13807         * tests/muxing/.cvsignore:
13808         * tests/sched/.cvsignore:
13809         * tests/seeking/.cvsignore:
13810         * tests/threadstate/.cvsignore:
13811         * testsuite/.cvsignore:
13812         * testsuite/caps/.cvsignore:
13813         * testsuite/cleanup/.cvsignore:
13814         * testsuite/dynparams/.cvsignore:
13815         * testsuite/plugin/.cvsignore:
13816         * tools/.cvsignore:
13817           update - this is huge, because it includes *.bb, *.bbg and *.da files
13818           which are generated for gcov.
13819
13820 2004-01-11  David Schleef  <ds@schleef.org>
13821
13822         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13823         a function to parse integers in ways that strto[u]l() does not.
13824
13825 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13826
13827         * tools/gst-inspect.c: (print_caps):
13828           improve output of caps a bit
13829
13830 2004-01-11  David Schleef  <ds@schleef.org>
13831
13832         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13833         inherit correct flags (READONLY and DONTKEEP).
13834
13835 2004-01-11  David Schleef  <ds@schleef.org>
13836
13837         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13838         (gst_filesrc_map_region):
13839         * gst/gstbuffer.c: (_gst_buffer_initialize),
13840         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13841         (gst_buffer_new), (gst_buffer_create_sub),
13842         (gst_buffer_is_span_fast), (gst_buffer_span):
13843         * gst/gstbuffer.h:
13844         Change GstBuffer private structure element names. (all files)
13845         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13846         (gst_queue_link):
13847         * gst/gstqueue.h:
13848         Implement getcaps/pad_link functions that handle the case where
13849         there are data in the queue.
13850
13851 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13852
13853         * gst/elements/gstbufferstore.c:
13854           initialize debugging structure correctly
13855         * gst/elements/gsttee.c: (gst_tee_set_property):
13856           g_object_notify when property was changed
13857         * gst/elements/gsttypefindelement.c:
13858         (gst_type_find_element_change_state):
13859           clear caps correctly
13860
13861 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13862
13863         * gst/gstqueue.c: (gst_queue_init):
13864           Use better defaults for when a queue should block. This
13865           gets rid of jerky playback for quite a few files.
13866           It takes more memory.
13867
13868 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13869
13870         (gst_xml_registry_parse_padtemplate):
13871           make critical message slightly more useful
13872
13873 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13874
13875         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13876         (gst_debug_message_get), (gst_debug_log_default):
13877         * gst/gstinfo.h:
13878           Change gst_debug_log(_valist) to take a const format string.
13879           Change prototype of log function and functions using those to 
13880           take a GstDebugMessage instead of a string that requires using
13881           gst_debug_message_get.
13882
13883 2004-01-08  David Schleef  <ds@schleef.org>
13884
13885         * Makefile.am:
13886         * configure.ac:
13887         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13888         and -ftest-coverage, which allows gcov to show information about
13889         testsuite coverage.
13890
13891 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13892
13893         * gst/gstutils.h:
13894           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13895           GST_PARENT_CALL_WITH_DEFAULT
13896         * gst/elements/gstaggregator.c: 
13897         * gst/elements/gstbufferstore.c: 
13898         * gst/elements/gstfakesink.c: 
13899         * gst/elements/gstfakesrc.c: 
13900         * gst/elements/gstfdsink.c: 
13901         * gst/elements/gstfdsrc.c: 
13902         * gst/elements/gstfilesink.c: 
13903         * gst/elements/gstfilesrc.c: 
13904         * gst/elements/gstidentity.c: 
13905         * gst/elements/gstmd5sink.c: 
13906         * gst/elements/gstmultidisksrc.c:
13907         * gst/elements/gstpipefilter.c: 
13908         * gst/elements/gstshaper.c:
13909         * gst/elements/gststatistics.c:
13910         * gst/elements/gsttee.c:
13911         * gst/elements/gsttypefindelement.c:
13912           use them.
13913
13914 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13915
13916         * docs/gst/gstreamer-docs.sgml: remove props
13917         * docs/gst/gstreamer-sections.txt: remove props
13918         * docs/gst/tmpl/gst.sgml:
13919         * docs/gst/tmpl/gstbin.sgml:
13920         * docs/gst/tmpl/gstbuffer.sgml:
13921         * docs/gst/tmpl/gstcaps.sgml:
13922         * docs/gst/tmpl/gstclock.sgml:
13923         * docs/gst/tmpl/gstelement.sgml:
13924         * docs/gst/tmpl/gstindex.sgml:
13925         * docs/gst/tmpl/gstobject.sgml:
13926         * docs/gst/tmpl/gstpad.sgml:
13927         * docs/gst/tmpl/gstpadtemplate.sgml:
13928         * docs/gst/tmpl/gstreamer-unused.sgml:
13929         * docs/gst/tmpl/gstthread.sgml:
13930         * docs/gst/tmpl/gstxml.sgml:
13931           sync with code reorganization
13932
13933 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13934
13935         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13936         Make the 'Could not find compatible pad' message more informative.
13937
13938 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13939                                                                                 
13940         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13941           Fix for if we pass NULL as property to location.
13942         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13943         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13944           Fix for instantiate-test (see below).
13945         * gst/gststructure.c: (_gst_structure_parse_value):
13946           Fix compile error on gcc-2.96.
13947         * configure.ac:
13948         * tests/Makefile.am:
13949         * tests/instantiate/Makefile.am:
13950         * tests/instantiate/create.c: (create_all_elements), (main):
13951           Add a test that instantiates all elements. This makes it easy to
13952           track dead code for old API/design (like setting event functions
13953           on sink pads and so on).
13954
13955 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13956
13957         * gst/gstcaps.c: (gst_caps_append_structure):
13958           Move the poisoning to allow a NULL structure
13959         * gst/gstevent.c: (_gst_event_free):
13960           When freeing a navigation event, free the structure
13961           also
13962
13963 2004-01-04  David Schleef  <ds@schleef.org>
13964
13965         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13966         Remove usage of gst_pad_proxy_fixate.
13967         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13968         (gst_caps_split_one), (gst_caps_replace):
13969         Add poisoning code.
13970         * gst/gstmarshal.list:
13971         Add pointer__pointer for fixate signal
13972         * gst/gstpad.c: (gst_real_pad_class_init),
13973         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13974         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13975         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13976         Add poisoning code. Add fixate signal on RealPad. Change
13977         set_explicit_caps() to take const GstCaps, like try_set_caps().
13978         * gst/gstpad.h:
13979         * testsuite/caps/Makefile.am:
13980         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13981
13982 2004-01-03  David Schleef  <ds@schleef.org>
13983
13984         * gst/elements/gsttypefindelement.c:
13985         (gst_type_find_element_have_type), (gst_type_find_element_init):
13986         Use gst_pad_use_explicit_caps for src pad.
13987         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13988         before using it.
13989
13990 2004-01-03  David Schleef  <ds@schleef.org>
13991
13992         * gst/gstelement.c: (gst_element_link_pads_filtered),
13993         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13994         that linking was successful.
13995         * gst/gstpad.c: (gst_pad_link_free),
13996         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13997         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13998         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13999         GstPadLinkReturn correctly between functions, and don't fail
14000         when DELAYED is used (DELAYED is very important).  Better
14001         cleanup on unlinking and unnegotiation.  Should fix some spider
14002         bugs.
14003
14004 2004-01-02  David Schleef  <ds@schleef.org>
14005
14006         * gst/gstelement.c: (gst_element_class_init),
14007         (gst_element_base_class_init): ->padtemplates should be cleared
14008         in base_init, since we need to have a fresh list for every
14009         class.  (Alternately, we chould copy the list and share the
14010         actual pad templates (not the list), but that would require
14011         changing every plugin to move pad template registration from
14012         base_init to class_init.)
14013
14014 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14015
14016         * gst/gstelement.c: (gst_element_class_add_pad_template):
14017           Refuse registering a pad template if another pad template
14018           with the same name already exists (#114715).
14019
14020 2004-01-02  David Schleef  <ds@schleef.org>
14021
14022         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14023         (gst_caps_is_equal_fixed): Add new function.
14024         * gst/gstcaps.h: ditto.
14025         * gst/gstpad.c: (gst_real_pad_class_init),
14026         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14027         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14028         check new caps against existing caps -- if they're the same, return
14029         OK without renegotiating.  caps-nego-failed signal fixed so that
14030         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14031         to save an extra caps copy.  Don't complete negotiation if a pad
14032         link function returns DELAYED.
14033
14034 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14035
14036         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14037           Fix wrong g_return_if_fail
14038
14039 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14040
14041         * gst/gstbin.c: (gst_bin_class_init):
14042         Change the marshalling of element_added/element_removed
14043         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14044         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14045
14046 2004-01-01  David Schleef  <ds@schleef.org>
14047
14048         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14049         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14050         (gst_pad_use_explicit_caps):
14051         * gst/gstpad.h:
14052         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14053         to use an internal getcaps and link fuction so that negotiation
14054         always results in the explicitly set caps.
14055         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14056         are particularly useful for decoders.
14057
14058 2003-12-31  David Schleef  <ds@schleef.org>
14059
14060         * gst/elements/gstidentity.c: (gst_identity_class_init),
14061         (gst_identity_init), (gst_identity_chain),
14062         (gst_identity_set_property), (gst_identity_get_property):
14063         * gst/elements/gstidentity.h:
14064         * gst/gstqueue.c: (gst_queue_init):
14065           Negotiation fixes.
14066
14067 2003-12-31  David Schleef  <ds@schleef.org>
14068
14069         * gst/gstcaps.c: (gst_caps_intersect),
14070         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14071           Implement gst_caps_normalize().
14072         * testsuite/caps/normalisation.c: (main):
14073           Add an additional test
14074
14075 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14076
14077         * gst/gstqueue.c: (gst_queue_init):
14078           use gst_pad_proxy_getcaps()
14079
14080 2003-12-31  David Schleef  <ds@schleef.org>
14081
14082         * gst/elements/gstshaper.c: (gst_shaper_link):
14083         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14084         * gst/gstqueue.c: (gst_queue_link):
14085           Negotiation fixes.
14086
14087 2003-12-31  David Schleef  <ds@schleef.org>
14088
14089         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14090         * gst/gstpad.h: Add functions that are useful as default pad
14091         link and fixate functions for elements.
14092
14093 2003-12-30  David Schleef  <ds@schleef.org>
14094
14095         * gst/gstpad.c: (gst_pad_link_try):
14096           Fix segfault when attempting to return to old caps
14097
14098 2003-12-29  David Schleef  <ds@schleef.org>
14099
14100         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14101         (gst_caps_structure_simplify), (gst_caps_simplify):
14102         * gst/gstcaps.h:
14103           Add simplify function
14104         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14105         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14106         * gst/gstpad.h:
14107           Copy over srcnotify, sinknotify when calling old pad_link
14108           functions.  Add new is_negotiated() function.
14109         * gst/gststructure.c: (gst_structure_copy):
14110           Fix an incredibly stupid bug that should have been noticed
14111           weeks ago.  _copy() returned the argument, not the new copy.
14112
14113 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14114
14115         * gst/gstcaps.c: (gst_caps_append):
14116           add sanity checks
14117         * gst/gstcaps.h: (gst_caps_debug):
14118           remove, it doesn't exist anymore.
14119         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14120         (gst_element_threadsafe_properties_post_run):
14121           make debugging messages not clutter up THREAD debug category
14122         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14123         (gst_element_change_state):
14124           update to new caps API
14125         * gst/gstinterface.c: (gst_implements_interface_cast):
14126           don't put vital code in g_return_if_fail
14127         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14128         (gst_pad_link_filtered):
14129           add pst_pad_try_link and use it.
14130         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14131           implement correctly, deprecate first one.
14132         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14133           add and implement.
14134         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14135           implement.
14136         (gst_pad_get_negotiated_caps):
14137           add and implement. Make GST_PAD_CAPS call this function.
14138         (gst_pad_get_caps):
14139           remove unneeded check..
14140         (gst_pad_recover_caps_error):
14141           disable, always return FALSE.
14142         (gst_real_pad_dispose):
14143           don't free caps and appfilter anymore, they're unused.
14144         * gst/gstpad.h:
14145           Reflect changes mentioned above.
14146         * gst/gstsystemclock.c: (gst_system_clock_wait):
14147           Make 'clock is way behind' a debugging message.
14148         * gst/gstthread.c: (gst_thread_change_state):
14149           Fix debugging message
14150
14151 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14152
14153         * gst/gstinfo.h:
14154           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14155         * docs/gst/tmpl/gstreamer-unused.sgml:
14156           removed all traces of cvs conflicts
14157
14158 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14159
14160         * configure.ac:
14161         * gst/schedulers/cothreads_compat.h:
14162         * libs/Makefile.am:
14163           remove last instances of wingo cothread usage
14164
14165 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14166
14167         * gst/gstplugin.c:
14168         * gst/gstversion.h.in:
14169         * gst/parse/grammar.y:
14170           change comment block from /** to /* when not gtk-doc comments
14171
14172 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14173
14174         * gst/gst.c: whitespace and doc style fixes
14175
14176 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14177
14178         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14179
14180 2003-12-24  Colin Walters  <walters@verbum.org>
14181
14182         * gst/elements/gsttypefindelement.c:
14183           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14184           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14185           Don't double-free caps.
14186
14187 2003-12-23  David Schleef  <ds@schleef.org>
14188
14189         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14190           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14191           Many little fixes and additions of debug statements to
14192           get rhythmbox working.
14193
14194 2003-12-23  Colin Walters  <walters@verbum.org>
14195
14196         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14197         Use GST_PAD_LINK_SUCCESSFUL.
14198
14199 2003-12-23  David Schleef  <ds@schleef.org>
14200
14201         * gst/elements/gstaggregator.c:
14202         * gst/elements/gsttee.c:
14203           Use gst_pad_proxy_getcaps().
14204         * gst/gstpad.c:
14205         * gst/gstpad.h:
14206           Add gst_pad_proxy_getcaps(), which filter elements can use
14207           as a generic getcaps implementation.
14208           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14209           was advertised.
14210
14211 2003-12-23  David Schleef  <ds@schleef.org>
14212
14213         * gst/gstpad.c:
14214           Rearrange/rewrite much of the pad negotiation code, since it
14215           resembled pasta.  This actually changes the way some
14216           negotiation works, since the previous code was inconsistent
14217           depending on how it was invoked.  Add (internal) structure
14218           GstPadLink, which is used to hold some information (more in
14219           the future) about the link between two pads.  Fixes a number
14220           of bugs, including random lossage of filter caps when the
14221           initial negotiation is delayed.  A few functions are still
14222           unimplemented.
14223         * gst/gstpad.h:
14224           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14225           these when testing GstPadLinkReturn values instead of comparing
14226           directly.
14227
14228 2003-12-23  David Schleef  <ds@schleef.org>
14229
14230         * gst/gstvalue.c: 
14231         * gst/gstvalue.h:
14232           Rearrange lots of code.  Change registration of compare function
14233           into registration of compare/serialize/deserialize functions.
14234           Doesn't include implementation of gst_value_[de]serialize(),
14235           but that should be easy.
14236
14237 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14238
14239         * docs/gst/gstreamer-sections.txt:
14240         * docs/gst/tmpl/gstprops.sgml: removed
14241         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14242           David removed props and caps code, so let's remove their docs as well.
14243           Removed all no longer existing symbols from gstreamer-sections.txt
14244           
14245 2003-12-22  Colin Walters  <walters@verbum.org>
14246
14247         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14248           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14249           of tags directly.
14250
14251 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14252
14253         * gst/elements/gstelements.c:
14254           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14255         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14256           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14257           gst_caps (peer).
14258
14259 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14260
14261         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14262         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14263         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14264         (gst_spider_identity_sink_loop_type_finding):
14265         * gst/autoplug/gstspideridentity.h:
14266           Fix autoplugging in spider element, so it works with new caps.
14267           This was mainly caused by identifying empty caps incorrectly.
14268
14269 2003-12-22  David Schleef  <ds@schleef.org>
14270
14271         * gststructure.c, gstvalue.c, gstvalue.h: Add
14272           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14273           using g_value_copy()
14274
14275 2003-12-21  David Schleef  <ds@schleef.org>
14276
14277         * many, many files: Merge CAPS branch.  This includes:
14278           - implemention of GstValue and several GstValue types
14279           - implemention of GstStructure
14280           - entire rewrite of GstCaps
14281           - removal of GstProps
14282           - many changes to GstPad to compensate for new caps paradigm
14283           - removal of GstBufferpool
14284         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14285         gstvalue.h, gst/gstcaps[2]*.[ch]:
14286           - rename gstcaps2.[ch] to gstcaps.[ch]
14287
14288 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14289
14290         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14291         (gst_queue_chain), (gst_queue_handle_src_event):
14292           implement timeout for sending events. Workaround for if the
14293           pipeline on this queue is not passing any data.
14294
14295 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14296                                                                                 
14297         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14298         * moved CVS to freedesktop.org