gst/gstbuffer.c: some debugging
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
4           some debugging
5         * gst/gstcaps.h:
6           whitespace fixes
7         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8           more debugging
9         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
10         * gst/gststructure.h:
11           add a fixate function for booleans; add a FIXME that these func
12           names should probably be gst_structure_fixate_*
13
14 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
15
16         * docs/gst/gstreamer-docs.sgml:
17         * docs/gst/gstreamer-sections.txt:
18         * gst/Makefile.am:
19         * gst/gstbin.c: (gst_bin_get_type),
20         (gst_bin_child_proxy_get_child_by_index),
21         (gst_bin_child_proxy_get_children_count),
22         (gst_bin_child_proxy_init):
23         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
24         (gst_child_proxy_get_child_by_index),
25         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
27         (gst_child_proxy_get), (gst_child_proxy_set_property),
28         (gst_child_proxy_set_valist), (gst_child_proxy_set),
29         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
30         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
31         * gst/gstchildproxy.h:
32         * gst/parse/grammar.y:
33         * tools/gst-inspect.c: (print_interfaces),
34         (print_element_properties_info), (print_element_info):
35          ported gstchildproxy over from 0.8
36          ported gst-inspect fixes and enhancements over from 0.8
37
38 2005-08-22  Wim Taymans  <wim@fluendo.com>
39
40         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
41         (gst_base_transform_handle_buffer):
42         Also call the transform function if we have ANY caps.
43
44         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
45         Fix debug info.
46
47 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
48
49         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
50           Don't pretend to handle seek events if the source is not seekable
51
52 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
53
54         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
55           Remove extra parameter to debug output
56
57         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
58         (gst_base_src_do_seek), (gst_base_src_activate_push):
59           Fix seek event handling.
60
61         * gst/gstpipeline.c: (gst_pipeline_change_state):
62         * gst/gstqueue.c: (gst_queue_handle_sink_event),
63         (gst_queue_src_activate_push):
64           Don't start the src pad task on FLUSH_STOP if the pad
65           isn't linked.
66           Debug changes.
67
68 2005-08-22  Wim Taymans  <wim@fluendo.com>
69
70         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
71         Added check for gst_static_caps_get() refcounting.
72
73 2005-08-22  Wim Taymans  <wim@fluendo.com>
74
75         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
76         Make _static_caps_get() refcounting sane.
77         
78         * gst/gstelement.c: (gst_element_set_state):
79         Add g_return_val_if_fail() to protect against segfaults.
80
81 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
82
83         * docs/gst/tmpl/gstevent.sgml:
84         * gst/gstevent.c:
85         * gst/gstevent.h:
86           inlined remaining docs, added missing doc comments
87
88 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
89
90         * check/gst/gstbin.c: (GST_START_TEST):
91           since we don't know when preroll is done, use refcount range
92           check for the sink
93         * gst/check/gstcheck.h:
94           add macro for checking refcount range
95
96 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
97
98         * check/Makefile.am:
99           clean up environment for when registry gets built versus
100           when actual tests are run; valgrind seems to not report
101           leaks if GST_PLUGIN_PATH is set to some specific values
102         * check/gst/gstbin.c: (GST_START_TEST):
103           add more refcounting checks; maybe this exposes a
104           preroll lock bug ?
105         * common/check.mak:
106         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
107         * gst/check/gstcheck.h:
108         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
109         (gst_bin_change_state):
110         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
111           add/fix debugging/whitespace
112
113 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
114
115         * check/gst/gstevent.c: (event_probe), (test_event),
116         (GST_START_TEST):
117          Er, don't call gst_bin_watch_for_state_change you idiot.
118
119 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
120
121         * check/Makefile.am:
122           Use CHECK_CFLAGS and CHECK_LIBS
123         * check/gst/gstevent.c: (event_probe), (test_event),
124         (GST_START_TEST):
125           Don't leak events.
126         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
127         (gst_base_src_start), (gst_base_src_stop),
128         (gst_base_src_activate_push), (gst_base_src_activate_pull),
129         (gst_base_src_change_state):
130           Sprinkle gst_base_src_stop liberally around error paths to fix
131           problems reusing a source after failed state changes.
132         * gst/base/gsttypefindhelper.c: (helper_find_peek),
133         (helper_find_suggest), (gst_type_find_helper):
134           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
135         * gst/gstevent.h:
136         * docs/gst/tmpl/gstevent.sgml:
137           Migrate part of the docs from the SGML file. Wait for ensonic to
138           tell me how I did it wrong ;)
139         * tools/gst-typefind.c: (main):
140           Extra robustness to state changes between files.
141
142 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
143
144         * check/Makefile.am:
145           don't valgrind the controller test - it's leaking - Stefan, HELP
146         * gst/check/gstcheck.c: (gst_check_message_error),
147         (gst_check_chain_func), (gst_check_setup_element),
148         (gst_check_teardown_element), (gst_check_setup_src_pad),
149         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
150         (gst_check_teardown_sink_pad):
151         * gst/check/gstcheck.h:
152           add a bunch of methods to set up elements, and src and sink pads
153         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
154         * check/elements/identity.c: (setup_identity), (cleanup_identity),
155         (GST_START_TEST):
156           use them
157         * gst/gstmessage.c:
158         * gst/gsttag.h:
159           whitespace/doc fixes
160
161 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
162
163         * gst/gstelement.h:
164           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
165           be handled by the application and not always printed as well
166
167 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
168
169         * check/Makefile.am:
170           set GST_TOOLS_DIR
171         * gst/check/gstcheck.c: (gst_check_message_error):
172         * gst/check/gstcheck.h:
173           add a fail_unless_equals_int
174           add fail_unless for error messages
175
176 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
177
178         * check/Makefile.am:
179         * check/gst.supp:
180         * common/Makefile.am:
181         * common/check.mak:
182         * common/gst.supp:
183           factor out some of the common stuff so we can use it
184
185 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
186
187         * check/Makefile.am:
188         * check/gst/gstiterator.c: (GST_START_TEST):
189         * check/gst/gstsystemclock.c: (GST_START_TEST),
190         (gst_systemclock_suite):
191         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
192         * gst/gstclock.c:
193           valgrind more tests
194
195 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
196
197         * check/elements/.cvsignore:
198         * check/elements/gstfakesrc.c:
199           rename to name of element
200         * check/elements/identity.c: (chain_func), (event_func),
201         (setup_identity), (cleanup_identity), (GST_START_TEST),
202         (identity_suite), (main):
203           add a test for identity
204         * check/Makefile.am:
205         * pkgconfig/Makefile.am:
206         * pkgconfig/gstreamer-check.pc.in:
207         * pkgconfig/gstreamer-check-uninstalled.pc.in:
208         * gst/check:
209         * gst/Makefile.am:
210         * configure.ac:
211           move the check stuff to a library that gets installed
212         * check/gst-libs/controller.c: (GST_START_TEST):
213         * check/gst-libs/gdp.c:
214         * check/gst/gst.c: (GST_START_TEST):
215         * check/gst/gstbin.c:
216         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
217         * check/gst/gstbus.c:
218         * check/gst/gstcaps.c: (GST_START_TEST):
219         * check/gst/gstelement.c:
220         * check/gst/gstghostpad.c:
221         * check/gst/gstiterator.c:
222         * check/gst/gstmessage.c:
223         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
224         * check/gst/gstobject.c:
225         * check/gst/gstpad.c: (GST_START_TEST):
226         * check/gst/gststructure.c: (GST_START_TEST):
227         * check/gst/gstsystemclock.c: (GST_START_TEST),
228         (gst_systemclock_suite):
229         * check/gst/gsttag.c: (gst_tag_suite):
230         * check/gst/gstvalue.c:
231         * check/pipelines/cleanup.c:
232         * check/pipelines/simple_launch_lines.c:
233         * check/states/sinks.c:
234           change include statement
235
236         * docs/gst/gstreamer-sections.txt:
237         * docs/gst/tmpl/gstpad.sgml:
238           document more pad stuff
239         * gst/gstminiobject.c: (gst_mini_object_ref),
240         (gst_mini_object_unref):
241           debug refcounting
242
243 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
244
245         * docs/gst/tmpl/gst.sgml:
246         * gst/gst.c:
247           eliminate another tmpl file, fix spelling in the long-description
248
249 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
250
251         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
252         (test_event), (timediff), (gstevents_suite):
253           Should fix build on 64-bit arch's
254
255 2005-08-18  Andy Wingo  <wingo@pobox.com>
256
257         Make sure that when a pipeline goes to PLAYING, that data has
258         actually hit the sink.
259
260         * check/states/sinks.c (test_sink): A sink that doesn't get any
261         data shouldn't return SUCCESS for going to either PLAYING or
262         PAUSED. Test also the return values on the way back down.
263
264         * gst/gstelement.c (gst_element_set_state): When changing the
265         state of an element currently changing state asynchronously, go to
266         lost-state after commiting the pending state. Makes future calls
267         to get_state continue to return ASYNC.
268
269         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
270         ASYNC when going to PLAYING if we still don't have preroll, as can
271         happen with live sources.
272
273 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
274
275         * docs/pwg/advanced-types.xml:
276           Hack long paragraph into 2 chunks as a workaround for buggy
277           jadetex version in sid and breezy that loops infinitely and
278           eats all RAM.
279
280 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
281
282         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
283         (test_event), (timediff), (gstevents_suite):
284           Provide more error margin in clock measurements to allow for 
285           g_get_current_time inaccuracies.
286
287 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
288
289         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
290         (test_event), (timediff), (gstevents_suite):
291            Fix error message output so I might be able to tell why the
292            test works here but fails on the build farm.
293
294 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
295
296         * check/Makefile.am:
297         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
298         (test_event), (timediff), (gstevents_suite), (main):
299           I wrote a test!
300
301         * docs/design/part-seeking.txt:
302           Spelling correction
303
304         * docs/gst/tmpl/gstevent.sgml:
305         * docs/gst/tmpl/gstfakesrc.sgml:
306           Docs updates.
307
308         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
309           Treat a buffer-without-newsegment the same as a receiving 
310           a newsegment not in time format, and disable syncing to the clock
311           with a warning.
312
313         * gst/gstbus.c: (gst_bus_set_sync_handler):
314           Assert if anyone tries to replace the existing sync_handler for bus, 
315           as only the owner should be setting it.
316
317         * gst/gstevent.h:
318           Have a fixed set of custom event enums with events identified by
319           their structure name (as in 0.8), rather than a free-for-all
320           allowing collisions between enum values from different plugins.
321
322         * gst/gstpad.c: (gst_pad_class_init):
323           Docs change.
324           
325         * gst/gstqueue.c: (gst_queue_handle_sink_event):
326           Handle out-of-band downstream events from the sending thread.
327
328 2005-08-17  Andy Wingo  <wingo@pobox.com>
329
330         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
331         play-timeout==0 to mean no timeout at all. In that case, don't
332         bother with a get_state or a warning, just return directly, even
333         if it's ASYNC.
334
335         * gst/base/gstbasetransform.c: Debug changes.
336
337         * gst/gstutils.h:
338         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
339         ensure bins post state change messages. A bit of a hack but I can't
340         think of a way to avoid it.
341
342         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
343
344 2005-08-16  Andy Wingo  <wingo@pobox.com>
345
346         * gst/base/gstadapter.h:
347         * gst/base/gstadapter.c (gst_adapter_take): New function, like
348         peek() but you own the data. Not terribly efficient atm.
349
350 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
351
352         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
353         (gst_element_found_tags):
354         * gst/gstutils.h:
355           Add two utility functions for tag handling.
356
357 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
358
359         * docs/manual/advanced-dataaccess.xml:
360         * docs/manual/basics-helloworld.xml:
361           Fix docs to use _bin_add() before _link(), which fixes the examples
362           with recent core versions (reported by Madhan Raj M
363           <raj_madan@rediffmail.com>, #313199).
364
365 2005-08-16  Wim Taymans  <wim@fluendo.com>
366
367         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
368         Added subtract checks.
369
370         * docs/design/part-events.txt:
371         Some more docs about newsegment
372
373         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
374         Fix FIXME
375
376         * gst/gstcaps.c: (gst_caps_to_string):
377         Add comments, cleanups.
378         
379         * gst/gstelement.c: (gst_element_save_thyself):
380         cleanups
381         
382         * gst/gstvalue.c: (gst_value_collect_int_range),
383         (gst_string_unwrap), (gst_value_union_int_int_range),
384         (gst_value_union_int_range_int_range),
385         (gst_value_intersect_int_int_range),
386         (gst_value_intersect_int_range_int_range),
387         (gst_value_intersect_double_double_range),
388         (gst_value_intersect_double_range_double_range),
389         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
390         (gst_value_subtract_int_range_int),
391         (gst_value_subtract_double_range_double),
392         (gst_value_subtract_double_range_double_range),
393         (gst_value_subtract_from_list), (gst_value_subtract_list),
394         (gst_value_can_compare), (gst_value_compare_fraction):
395         Cleanups, add comments, remove unneeded asserts.
396
397 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
398
399         * tools/gst-launch.c: (event_loop):
400           don't convert NULL structures to strings
401
402 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
403
404         * docs/gst/gstreamer-sections.txt:
405           made some defines private
406         * docs/gst/tmpl/gstconfig.sgml:
407         * docs/gst/tmpl/gstqueue.sgml:
408         * docs/gst/tmpl/gsttaglist.sgml:
409         * docs/gst/tmpl/gsttypes.sgml:
410         * docs/gst/tmpl/gstutils.sgml:
411         * docs/pwg/appendix-porting.xml:
412         * gst/base/gstbasesink.h:
413         * gst/base/gstbasesrc.c:
414         * gst/base/gstbasesrc.h:
415         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
416         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
417         * gst/gstelement.c: (gst_element_class_init):
418         * gst/gstpad.c: (gst_pad_class_init):
419         * gst/gstqueue.c: (gst_queue_class_init):
420         * gst/gstxml.c: (gst_xml_class_init):
421           documented all undocumented signal inline
422         * libs/gst/controller/gst-controller.h:
423           added padding
424
425 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
426
427         * docs/pwg/appendix-porting.xml:
428           Document _set_link_function -> _set_setcaps_function.
429
430 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
431
432         * check/Makefile.am:
433           add a .check target for running the check
434         * check/gst-libs/controller.c: (GST_START_TEST):
435           cosmetic fixups
436         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
437           complete checks for gstbuffer; would be nice if I could get the
438           gcov stuff to work so I can see if I actually completed gstbuffer.c
439         * check/gstcheck.h:
440           add ASSERT_BUFFER_REFCOUNT
441
442 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
443
444         * docs/gst/gstreamer-sections.txt:
445         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
446         * gst/gsttag.h:
447           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
448           spew out a warning if a tag that is already registered
449           is re-registered, unless it is re-registered with a 
450           different type (#308438).
451
452 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
453
454         * docs/pwg/appendix-porting.xml:
455         * docs/pwg/building-state.xml:
456           Add some paragraphs about state changes in 0.9 to the PWG
457           and the porting guide, in particular about the new meaning
458           of GST_STATE_PAUSED and how to write state change functions
459           with concurrent access by multiple threads in mind.
460
461 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
462
463         * docs/gst/gstreamer-docs.sgml:
464         * docs/libs/gstreamer-libs-docs.sgml:
465           added deprecation and since indexes
466         * libs/gst/controller/gst-controller.c:
467         * libs/gst/controller/gst-helper.c:
468           added since tags
469
470
471 2005-08-11  Wim Taymans  <wim@fluendo.com>
472
473         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
474         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
475         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
476         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
477         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
478         (gst_ghost_pad_set_target):
479         Actually implement (re)setting the target on a ghostpad
480         as described in the docs.
481
482 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
483
484         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
485           Check whether GST_DEBUG_NO_COLOR environment variable is
486           set and disable coloured debug output if that is the case.
487
488 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
489
490         * gst/base/gsttypefindhelper.c: (helper_find_peek),
491         (gst_type_find_helper):
492           The memory returned by gst_type_find_peek() needs to
493           stay valid until the end of a typefind function, and
494           typefind functions may keep results from different 
495           offsets around, so we can't just unref the buffer from
496           the previous _peek(), but have to save all buffers 
497           returned by _peek() until typefinding is done and only
498           free them then.
499
500 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
501
502         * docs/gst/gstreamer-sections.txt:
503         * gst/gstutils.h:
504           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
505
506 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
507
508         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
509           Fix a pretty good memleak.
510
511 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
512
513         * gst/gstiterator.h:
514           Fix wrong include and 'make distcheck'.
515
516 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
517
518         * gst/gstbin.c: (bin_bus_handler):
519           Use gst_element_post_message() instead.
520
521 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
522
523         * gst/base/gstadapter.h:
524         * gst/base/gstbasesink.h:
525         * gst/base/gstbasesrc.h:
526         * gst/base/gstbasetransform.h:
527         * gst/base/gstcollectpads.h:
528         * gst/base/gstpushsrc.h:
529         * gst/gstiterator.h:
530           Add padding to our base elements' class and instance structs and
531           to GstIterator (you will need to rebuild all plugins and apps!)
532
533 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
534
535         * gst/gstbin.c: (bin_bus_handler):
536           Make default message forwarding from child->bus to bin->bus
537           threadsafe and make it not emit warnings if the parent has no bus.
538
539 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
540
541         * gst/gstelement.c: (activate_pads):
542           On paused->ready, set pad->caps to NULL, as is the documented
543           behaviour in this state change. Fixes playback of series of
544           media files when visualization is enabled in Totem.
545
546 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
547
548         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
549           Allow NULL as filter-caps (which means "any").
550
551 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
552
553         * docs/libs/gstreamer-libs-sections.txt:
554         * libs/gst/controller/gst-controller.c:
555         * libs/gst/controller/gst-controller.h:
556         * libs/gst/controller/gst-helper.c:
557           adding more entries to the docs and fix small doc-bugs
558
559 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
560
561         * docs/gst/gstreamer-docs.sgml:
562         * docs/gst/gstreamer-sections.txt:
563         * docs/gst/gstreamer.types:
564         * docs/gst/tmpl/gstbasesink.sgml:
565         * docs/gst/tmpl/gstbasesrc.sgml:
566         * docs/gst/tmpl/gstbasetransform.sgml:
567         * docs/gst/tmpl/gstfakesrc.sgml:
568         * gst/base/gstcollectpads.c:
569         * gst/base/gstcollectpads.h:
570         * libs/gst/controller/gst-controller.c:
571         * libs/gst/controller/gst-controller.h:
572         * libs/gst/controller/gst-helper.c:
573         * libs/gst/controller/gst-interpolation.c:
574         * libs/gst/controller/lib.c:
575           added long/short desc for controller docs
576           added collectpads base class docs
577           added correct includes to base-class docs
578
579 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
580
581         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
582         (gst_test_mono_source_set_property),
583         (gst_test_mono_source_class_init), (GST_START_TEST),
584         (gst_controller_suite):
585         * docs/gst/gstreamer-docs.sgml:
586         * docs/gst/gstreamer-sections.txt:
587         * docs/gst/gstreamer.types:
588         * docs/libs/gstreamer-libs-docs.sgml:
589         * docs/libs/gstreamer-libs-sections.txt:
590         * gst/base/gstadapter.c:
591         * libs/gst/controller/gst-controller.c:
592         (gst_controlled_property_new), (gst_controlled_property_free),
593         (gst_controller_new_valist),
594         (gst_controller_remove_properties_valist),
595         (gst_controller_sink_values), (_gst_controller_finalize):
596         * libs/gst/controller/gst-controller.h:
597         * libs/gst/controller/gst-helper.c:
598         (gst_object_control_properties), (gst_object_uncontrol_properties),
599         (gst_object_get_controller), (gst_object_set_controller),
600         (gst_object_sink_values), (gst_object_get_value_arrays),
601         (gst_object_get_value_array):
602           more tests (and fixes) for the controller
603           more docs for the controller
604           integrated companies docs for the adapter 
605
606 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
607
608         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
609         (GST_START_TEST), (fakesrc_suite):
610           add tests for sizetype
611
612 2005-08-04  Andy Wingo  <wingo@pobox.com>
613
614         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
615         fixes buffer_alloc proxying among other things.
616
617         * gst/base/gstbasetransform.c:
618         * gst/base/gstbasetransform.h:
619         Revert patch to gstbasetransform from 7-28 removing
620         delay_configure.
621
622         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
623         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
624         Semantics changed, should return not the size of the output buffer
625         but the byte size of a buffer with a given caps.
626
627         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
628         debug object.
629         (gst_base_transform_configure_caps): Don't set out_size here: (in,
630         out) are not the pad caps until setcaps finishes.
631         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
632         not-in-place case as well. Deal with changing from in-place to
633         not-in-place within calling pad_alloc_buffer. Still a bit
634         concerned about the overhead here...
635
636 2005-08-03  Andy Wingo  <wingo@pobox.com>
637
638         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
639         fixating is an error.
640
641 2005-08-04  Edward Hervey  <edward@fluendo.com>
642
643         * gst/base/gstadapter.h: 
644         Added gst_adapter_get_type() to the header
645
646 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
647
648         * check/Makefile.am:
649         * check/gst-libs/controller.c:
650         * libs/gst/controller/gst-controller.c:
651         (gst_controller_new_valist):
652           added check test suite for the controller
653         * gst/base/gstpushsrc.c:
654           fixed a doc typo
655
656 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
657
658         * docs/gst/Makefile.am:
659         * docs/gst/gstreamer-docs.sgml:
660         * docs/gst/gstreamer-sections.txt:
661         * docs/gst/gstreamer.types:
662         * docs/gst/tmpl/gstfakesrc.sgml:
663         * gst/base/README:
664         * gst/base/gstbasesink.c:
665         * gst/base/gstbasesink.h:
666         * gst/base/gstbasesrc.c:
667         * gst/base/gstbasesrc.h:
668         * gst/base/gstbasetransform.c:
669         * gst/base/gstpushsrc.c:
670         * gst/base/gstpushsrc.h:
671           add short/long description docs to base classes
672           add pushsrc to the docs
673           remove consolidated doc fragments
674
675 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
676
677         * configure.ac:
678         * docs/libs/Makefile.am:
679         * docs/libs/gstreamer-libs-docs.sgml:
680         * docs/libs/gstreamer-libs-sections.txt:
681         * docs/libs/gstreamer-libs.types:
682         * examples/Makefile.am:
683         * examples/controller/.cvsignore:
684         * examples/controller/Makefile.am:
685         * examples/controller/audio-example.c: (main):
686         * libs/gst/Makefile.am:
687         * libs/gst/controller/.cvsignore:
688         * libs/gst/controller/Makefile.am:
689         * libs/gst/controller/gst-controller.c:
690         (on_object_controlled_property_changed), (gst_timed_value_compare),
691         (gst_timed_value_find),
692         (gst_controlled_property_set_interpolation_mode),
693         (gst_controlled_property_new), (gst_controlled_property_free),
694         (gst_controller_find_controlled_property),
695         (gst_controller_new_valist), (gst_controller_new),
696         (gst_controller_remove_properties_valist),
697         (gst_controller_remove_properties), (gst_controller_set),
698         (gst_controller_set_from_list), (gst_controller_unset),
699         (gst_controller_get), (gst_controller_get_all),
700         (gst_controller_sink_values), (gst_controller_get_value_arrays),
701         (gst_controller_get_value_array),
702         (gst_controller_set_interpolation_mode),
703         (_gst_controller_finalize), (_gst_controller_init),
704         (_gst_controller_class_init), (gst_controller_get_type):
705         * libs/gst/controller/gst-controller.h:
706         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
707         (g_object_uncontrol_properties), (g_object_get_controller),
708         (g_object_set_controller), (g_object_sink_values),
709         (g_object_get_value_arrays), (g_object_get_value_array):
710         * libs/gst/controller/gst-interpolation.c:
711         (gst_controlled_property_find_timed_value_node),
712         (interpolate_none_get), (interpolate_trigger_get),
713         (interpolate_trigger_get_value_array):
714         * libs/gst/controller/lib.c: (gst_controller_init):
715         * pkgconfig/Makefile.am:
716         * pkgconfig/gstreamer-control-uninstalled.pc.in:
717         * pkgconfig/gstreamer-control.pc.in:
718         * testsuite/Makefile.am:
719         * testsuite/controller/.cvsignore:
720         * testsuite/controller/Makefile.am:
721         * testsuite/controller/interpolator.c: (main):
722           added controller code
723           removed dparam pc files
724
725 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
726         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
727         (gst_collectpads_stop):
728           Broadcast the condition when shutting down, to make sure we wake all
729           threads up. Shut down pads on finalize, for safety.
730
731 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
732         * gst/base/gstbasetransform.c: (gst_base_transform_init),
733         (gst_base_transform_handle_buffer),
734         (gst_base_transform_change_state):
735           Handle PAUSED->READY->PAUSED transition after negotiation
736           occurred already.
737         * gst/gstmessage.c: (gst_message_init):
738           Extra piece of debug for new messages.
739
740 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
741
742         * configure.ac:
743         * docs/gst/tmpl/gstbasesrc.sgml:
744         * docs/gst/tmpl/gstelement.sgml:
745         * docs/gst/tmpl/gstevent.sgml:
746         * docs/gst/tmpl/gstfakesrc.sgml:
747         * docs/gst/tmpl/gstformat.sgml:
748         * docs/gst/tmpl/gstghostpad.sgml:
749         * docs/gst/tmpl/gstpad.sgml:
750         * docs/gst/tmpl/gstquery.sgml:
751         * docs/gst/tmpl/gststructure.sgml:
752         * docs/gst/tmpl/gsttaglist.sgml:
753         * docs/gst/tmpl/gstvalue.sgml:
754         * docs/libs/gstreamer-libs-docs.sgml:
755         * docs/libs/gstreamer-libs-sections.txt:
756         * docs/libs/gstreamer-libs.types:
757         * libs/gst/Makefile.am:
758         * libs/gst/control/.cvsignore:
759         * libs/gst/control/Makefile.am:
760         * libs/gst/control/control.c:
761         * libs/gst/control/control.h:
762         * libs/gst/control/dparam.c:
763         * libs/gst/control/dparam.h:
764         * libs/gst/control/dparam_smooth.c:
765         * libs/gst/control/dparam_smooth.h:
766         * libs/gst/control/dparamcommon.h:
767         * libs/gst/control/dparammanager.c:
768         * libs/gst/control/dparammanager.h:
769         * libs/gst/control/dplinearinterp.c:
770         * libs/gst/control/dplinearinterp.h:
771         * libs/gst/control/unitconvert.c:
772         * libs/gst/control/unitconvert.h:
773         * testsuite/Makefile.am:
774         * testsuite/dynparams/.cvsignore:
775         * testsuite/dynparams/Makefile.am:
776         * testsuite/dynparams/dparamstest.c:
777         * tools/Makefile.am:
778         * tools/gst-inspect.c: (print_element_info), (main):
779         * tools/gst-xmlinspect.c: (print_element_info), (main):
780           deactivate and remove dparams (libgstcontrol)
781
782 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
783
784         * gst/elements/gsttypefindelement.c:
785         (gst_type_find_element_have_type), (gst_type_find_element_init),
786         (stop_typefinding), (gst_type_find_element_handle_event),
787         (gst_type_find_element_chain), (gst_type_find_element_getrange):
788         * gst/elements/gsttypefindelement.h:
789           Set caps on all outgoing buffers, not just the first one.
790
791 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
792
793         * gst/elements/gsttypefindelement.c:
794         (gst_type_find_element_have_type),
795         (gst_type_find_element_check_set_buffer_caps),
796         (gst_type_find_element_init), (stop_typefinding),
797         (gst_type_find_element_handle_event),
798         (gst_type_find_element_chain), (gst_type_find_element_getrange):
799         * gst/elements/gsttypefindelement.h:
800           Set caps on first outgoing buffer when we've found the type.
801
802 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
803
804         * docs/gst/gstreamer-docs.sgml:
805         * docs/gst/gstreamer-sections.txt:
806         * docs/gst/tmpl/gstscheduler.sgml:
807         * docs/gst/tmpl/gstschedulerfactory.sgml:
808           Remove some old cruft from docs.
809
810 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
811
812         * gst/gstpad.h:
813           Fix inline docs for GstPadLinkReturn.
814           
815         * gst/gststructure.c: (gst_structure_has_name):
816         * gst/gststructure.h:
817         * docs/gst/gstreamer-sections.txt:
818           New API: gst_structure_has_name().
819
820 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
821
822         * configure.ac:
823           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
824           and _LARGEFILE_SOURCE in config.h as required. Do not 
825           export those flags in our .pc files any longer (#142209).
826
827           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
828
829         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
830         (gst_file_sink_do_seek), (gst_file_sink_event),
831         (gst_file_sink_get_current_offset), (gst_file_sink_render):
832           Redo seek/tell calls with large file support in mind; add some
833           debugging messages; add log message that tells us when large
834           file support is unavailable or not enabled for some reason.
835
836         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
837           Add log message that tells us when large file support 
838           is unavailable or not enabled for some reason.
839
840 2005-07-29  Wim Taymans  <wim@fluendo.com>
841
842         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
843         Added test for removing an element with ghostpad from a bin.
844         Fixed test as current implementation does the right thing.
845
846         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
847         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
848         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
849         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
850         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
851         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
852         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
853         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
854         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
855         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
856         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
857         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
858         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
859         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
860         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
861         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
862         * gst/gstghostpad.h:
863         Clean up ghostpads, remove properties for internal stuff.
864         Make threadsafe.
865         Fix refcounting.
866         Prepare for switching targets, not all use cases work yet.
867
868 2005-07-29  Wim Taymans  <wim@fluendo.com>
869
870         * docs/design/part-gstghostpad.txt:
871         Small update.
872
873         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
874         (gst_bin_remove_func):
875         Unlinking pads while holding the bin LOCK is not a good
876         idea.
877
878         * gst/gstpad.c: (gst_pad_class_init),
879         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
880         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
881         No prob setting template after creating the pad.
882
883 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
884
885         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
886         (gst_bus_peek), (gst_bus_source_dispatch),
887         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
888         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
889           gst_bus_poll may be called from other threads. Handle
890           this nicely by not making poll_data disappear off the
891           stack once gst_bus_poll returns.
892           gst_bus_peek now increments the refcount on the returned
893           message.
894
895 2005-07-29  Wim Taymans  <wim@fluendo.com>
896
897         * docs/design/part-gstghostpad.txt:
898         Overview of current GhostPad datastructures and use
899         cases for changing the target.
900
901 2005-07-28  Wim Taymans  <wim@fluendo.com>
902
903         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
904         Added checks for hierarchy consistency whan adding linked
905         elements to bins.
906
907         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
908         Added check to test element scheduling without bin/pipeline.
909
910         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
911         First add elements to bin, then link.
912         
913         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
914         (gst_bin_remove_func):
915         Unlink pads from elements added/removed from bin to maintain
916         hierarchy consistency.
917
918 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
919
920         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
921         (gst_base_transform_handle_buffer):
922         * gst/base/gstbasetransform.h:
923           Remove broken delay_configure (fixes renegotiation of software
924           scaling pipelines); remove some leftover printf()s.
925
926 2005-07-28  Wim Taymans  <wim@fluendo.com>
927
928         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
929         Added some more tests for wrong hierarchy
930
931         * docs/design/part-overview.txt:
932         Some updates.
933
934         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
935         Cleanups.
936
937         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
938         (gst_element_dispose):
939         Some more cleanups.
940
941         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
942         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
943         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
944         (gst_pad_set_caps), (gst_pad_send_event):
945         Check for correct hierarchy when linking pads. Moving to
946         strict requirement for ghostpads when linking elements in
947         different bins.
948
949         * gst/gstpad.h:
950         Clean ups. Added WRONG_HIERARCHY return value.
951
952 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
953
954         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
955           Better debug if no transform is possible.
956
957 2005-07-27  Wim Taymans  <wim@fluendo.com>
958
959         * docs/random/wtay/network-transp:
960         Some old doc I had.
961
962 2005-07-27  Wim Taymans  <wim@fluendo.com>
963
964         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
965         (gst_dp_event_from_packet):
966         Fix serialization of seek events.
967
968 2005-07-27  Wim Taymans  <wim@fluendo.com>
969
970         * check/gst-libs/gdp.c: (GST_START_TEST):
971         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
972         Fix compilation and fix event serialization.
973
974 2005-07-27  Wim Taymans  <wim@fluendo.com>
975
976         * CHANGES-0.9:
977         * docs/design/part-TODO.txt:
978         * docs/design/part-events.txt:
979         Some docs updates
980
981         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
982         (gst_base_sink_event), (gst_base_sink_do_sync),
983         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
984         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
985         (gst_base_src_do_seek), (gst_base_src_event_handler),
986         (gst_base_src_loop):
987         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
988         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
989         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
990         (gst_base_transform_event), (gst_base_transform_handle_buffer),
991         (gst_base_transform_set_passthrough),
992         (gst_base_transform_is_passthrough):
993         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
994         * gst/elements/gstfilesink.c: (gst_file_sink_event):
995         Event updates.
996
997         * gst/gstbuffer.h:
998         Use faster casts.
999
1000         * gst/gstelement.c: (gst_element_seek):
1001         * gst/gstelement.h:
1002         Update gst_element_seek.
1003
1004         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
1005         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
1006         (gst_event_new_flush_start), (gst_event_new_flush_stop),
1007         (gst_event_new_eos), (gst_event_new_newsegment),
1008         (gst_event_parse_newsegment), (gst_event_new_tag),
1009         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
1010         (gst_event_parse_qos), (gst_event_new_seek),
1011         (gst_event_parse_seek), (gst_event_new_navigation):
1012         * gst/gstevent.h:
1013         Make GstEvent use GstStructure. Add parsing code, make sure the
1014         API is sufficiently generic.
1015         Mark possible directions of events and serialization.
1016
1017         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
1018         (_gst_message_copy), (gst_message_new_segment_start),
1019         (gst_message_new_segment_done), (gst_message_new_custom),
1020         (gst_message_parse_segment_start),
1021         (gst_message_parse_segment_done):
1022         Small cleanups.
1023
1024         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1025         (gst_pad_set_caps), (gst_pad_send_event):
1026         Update for new events. 
1027         Catch events sent in wrong directions.
1028
1029         * gst/gstqueue.c: (gst_queue_link_src),
1030         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1031         (gst_queue_handle_src_query):
1032         Event updates.
1033
1034         * gst/gsttag.c:
1035         * gst/gsttag.h:
1036         Remove event code from this file.
1037
1038         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1039         (gst_dp_event_from_packet):
1040         Event updates.
1041
1042 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1043
1044         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
1045         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1046         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1047           Make debugging actually useful.
1048
1049 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1050
1051         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1052         (gst_pad_fixate_caps):
1053           Implement default fixation once again, so that gst_pad_fixate()
1054           actually does anything at all. This probably needs to be some
1055           sort of a last resort, and use profile-based fixation first, but
1056           since that doesn't exist yet, this is the best we have. Fixes
1057           visualization in Totem.
1058
1059 2005-07-22  Wim Taymans  <wim@fluendo.com>
1060
1061         * docs/design/part-events.txt:
1062         Small update.
1063
1064         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1065         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1066         (gst_base_sink_activate_pull):
1067         Some more comments.
1068
1069         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1070         (gst_fake_src_create):
1071         Fix handoff marshall.
1072
1073         * gst/elements/gstidentity.c: (gst_identity_class_init),
1074         (gst_identity_transform_ip):
1075         We're a real inplace element.
1076
1077         * gst/gstbus.c: (gst_bus_post):
1078         Added some comments.
1079
1080         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1081         * tests/muxing/case1.c: (main):
1082         * tests/sched/dynamic-pipeline.c: (main):
1083         * tests/sched/interrupt1.c: (main):
1084         * tests/sched/interrupt2.c: (main):
1085         * tests/sched/interrupt3.c: (main):
1086         * tests/sched/runxml.c: (main):
1087         * tests/sched/sched-stress.c: (main):
1088         * tests/seeking/seeking1.c: (event_received), (main):
1089         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1090         (main):
1091         * tests/threadstate/threadstate3.c: (main):
1092         * tests/threadstate/threadstate4.c: (main):
1093         * tests/threadstate/threadstate5.c: (main):
1094         Fix the tests.
1095
1096 2005-07-21  Wim Taymans  <wim@fluendo.com>
1097
1098         * docs/design/part-seeking.txt:
1099         Some small additions.
1100
1101         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1102         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1103         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1104         * gst/base/gstbasesink.h:
1105         discont values are gint64, handle the math correctly.
1106
1107         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1108         Make the basesrc report error if the source pad is not linked.
1109
1110         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1111         (gst_queue_loop), (gst_queue_handle_src_query),
1112         (gst_queue_src_activate_push):
1113         Make queue collect data even if the srcpad is not linked.
1114         Start pushing out data as soon as it is linked.
1115
1116         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1117         * gst/gstutils.h:
1118         Added gst_flow_get_name() to ease error reporting.
1119
1120 2005-07-20  Wim Taymans  <wim@fluendo.com>
1121
1122         * gst/gstmessage.c: (gst_message_new_segment_start),
1123         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1124         (gst_message_parse_segment_done):
1125         * gst/gstmessage.h:
1126         Added a bunch of messages for advanced seeking.
1127
1128         * gst/parse/grammar.y:
1129         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1130         (gst_dpman_state_changed):
1131         Fix some new-pad -> pad-added signals
1132
1133 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1134
1135         * docs/manual/appendix-porting.xml:
1136         * docs/pwg/appendix-porting.xml:
1137           Document new-pad/state-change signal renames and the FixedList
1138           type rename.
1139
1140 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1141
1142         * docs/manual/advanced-autoplugging.xml:
1143         * docs/manual/basics-helloworld.xml:
1144         * docs/manual/basics-pads.xml:
1145         * docs/random/ds/0.9-suggested-changes:
1146         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1147         * gst/gstelement.h:
1148         * gst/gstevent.h:
1149         * gst/gstformat.h:
1150         * gst/gstquery.h:
1151         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1152         (gst_structure_parse_array), (gst_structure_parse_value):
1153         * gst/gstvalue.c: (gst_type_is_fixed),
1154         (gst_value_list_prepend_value), (gst_value_list_append_value),
1155         (gst_value_list_get_size), (gst_value_list_get_value),
1156         (gst_value_transform_array_string), (gst_value_serialize_array),
1157         (gst_value_deserialize_array), (gst_value_intersect_array),
1158         (gst_value_is_fixed), (_gst_value_initialize):
1159         * gst/gstvalue.h:
1160           GstElement::new-pad -> pad-added, GstElement::state-change ->
1161           state-changed, GstValueFixedList -> GstValueArray, add format and
1162           flags as their own arguments in gst_element_seek() (should improve
1163           "bindeability"), remove function generators since they don't work
1164           under a whole bunch of compilers (they were deprecated already
1165           anyway).
1166
1167 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1168
1169         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1170         (_gst_debug_register_funcptr):
1171         * gst/gstinfo.h:
1172           Fix illegal cast on some platforms (#309253).
1173
1174 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1175
1176         * gst/gstmessage.c: (gst_message_new_custom):
1177         * gst/gstmessage.h:
1178           Add _new_custom, make _new_application a macro to _new_custom.
1179
1180 2005-07-20  Wim Taymans  <wim@fluendo.com>
1181
1182         * gst/base/gstbasesrc.c: (gst_base_src_init),
1183         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1184         * gst/base/gstbasesrc.h:
1185         Add a gboolean to decide when to push out a discont.
1186
1187         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1188         (gst_queue_loop), (gst_queue_handle_src_query),
1189         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1190         (gst_queue_set_property), (gst_queue_get_property):
1191         Some cleanups.
1192
1193         * tests/threadstate/threadstate1.c: (main):
1194         Make a thread test compile and run... very silly..
1195
1196
1197 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1198
1199         * docs/manual/appendix-porting.xml:
1200           Mention removal of libgstgconf-0.9.la and existence of gconf
1201           elements.
1202
1203 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1204
1205         * docs/pwg/advanced-clock.xml:
1206         * docs/pwg/appendix-porting.xml:
1207         * docs/pwg/intro-preface.xml:
1208         * docs/pwg/other-base.xml:
1209         * docs/pwg/other-manager.xml:
1210         * docs/pwg/other-nton.xml:
1211         * docs/pwg/other-ntoone.xml:
1212         * docs/pwg/other-oneton.xml:
1213         * docs/pwg/pwg.xml:
1214           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1215           demuxer), remove n-to-n (was never written), fix some code examples
1216           and links and update the porting section to include all this.
1217
1218 2005-07-19  Wim Taymans  <wim@fluendo.com>
1219
1220         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1221         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1222         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1223         (gst_queue_src_activate_push), (gst_queue_change_state),
1224         (gst_queue_get_property):
1225         * gst/gstqueue.h:
1226         Propagate GstFlowReturn more intelligently upstream and output
1227         an ERROR/EOS when streaming stopped due to fatal error.
1228
1229 2005-07-19  Wim Taymans  <wim@fluendo.com>
1230
1231         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1232         Don't block forever for the state change to complete, the
1233         pipeline already did with a sensible timeout.
1234
1235 2005-07-19  Wim Taymans  <wim@fluendo.com>
1236
1237         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1238         Make sure we never call the create function is we
1239         got deactivated.
1240
1241 2005-07-19  Andy Wingo  <wingo@pobox.com>
1242
1243         * gst/parse/parse.l: Attempt to solve bug #172815.
1244
1245 2005-07-19  Wim Taymans  <wim@fluendo.com>
1246
1247         * docs/design/part-clocks.txt:
1248         * docs/design/part-events.txt:
1249         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1250         Small docs updates.
1251         Only update the seeking values when we are not
1252         busy streaming.
1253
1254 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1255
1256         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1257           Oops, ignore the result of gst_pad_push_event here.
1258
1259 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1260
1261         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1262         (gst_base_src_activate_push):
1263           Send discont event from the loop function, as pads
1264           aren't activated yet in the activate_push handler.
1265
1266         * gst/gstbin.c: (bin_bus_handler):
1267           Don't leak element name.
1268
1269 2005-07-18  Andy Wingo  <wingo@pobox.com>
1270
1271         * configure.ac: Use AS_LIBTOOL_TAGS.
1272
1273 2005-07-18  Wim Taymans  <wim@fluendo.com>
1274
1275         * docs/gst/gstreamer.types:
1276         Remove deleted types.
1277
1278 2005-07-18  Wim Taymans  <wim@fluendo.com>
1279
1280         * check/elements/gstfakesrc.c: (GST_START_TEST):
1281         * configure.ac:
1282         * gst/Makefile.am:
1283         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1284         (init_popt_callback):
1285         * gst/gst.h:
1286         * gst/gst_private.h:
1287         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1288         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1289         * gst/gstbin.h:
1290         * gst/gstbus.h:
1291         * gst/gstconfig.h.in:
1292         * gst/gstelement.c: (gst_element_class_init),
1293         (gst_element_set_base_time), (gst_element_get_base_time),
1294         (iterator_fold_with_resync), (gst_element_change_state),
1295         (gst_element_dispose), (gst_element_get_bus):
1296         * gst/gstelement.h:
1297         * gst/gstelementfactory.h:
1298         * gst/gsterror.c: (_gst_core_errors_init):
1299         * gst/gsterror.h:
1300         * gst/gstevent.h:
1301         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1302         * gst/gstindex.c:
1303         * gst/gstinfo.c: (_gst_debug_init):
1304         * gst/gstmessage.c: (_gst_message_copy):
1305         * gst/gstmessage.h:
1306         * gst/gstminiobject.h:
1307         * gst/gstobject.c:
1308         * gst/gstobject.h:
1309         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1310         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1311         * gst/gstpad.h:
1312         * gst/gstparse.h:
1313         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1314         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1315         (gst_pipeline_get_last_stream_time):
1316         * gst/gstpipeline.h:
1317         * gst/gstpluginfeature.h:
1318         * gst/gstquery.h:
1319         * gst/gstscheduler.c:
1320         * gst/gstscheduler.h:
1321         * gst/gststructure.h:
1322         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1323         (gst_task_finalize), (gst_task_func), (gst_task_create),
1324         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1325         (gst_task_stop), (gst_task_pause):
1326         * gst/gsttask.h:
1327         * gst/gsttypefind.h:
1328         * gst/gsttypes.h:
1329         * gst/registries/gstlibxmlregistry.c: (load_feature),
1330         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1331         * gst/registries/gstxmlregistry.c:
1332         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1333         * gst/schedulers/threadscheduler.c:
1334         * libs/gst/control/dparammanager.h:
1335         * tools/gst-inspect.c: (print_element_list),
1336         (print_plugin_features), (print_element_features):
1337         * tools/gst-xmlinspect.c: (print_element_list),
1338         (print_plugin_info), (main):
1339         Removed plugable schedulers.
1340         Removed Scheduler/Manager from elements.
1341         Removed gsttypes.h, rearranged includes.
1342         Removed dependency pad<->element, element<>pipeline, and
1343         various others,  fix includes.
1344         implement gst_pad_get_parent() with gst_object_get_parent()
1345         Make GstTask sefcontained.
1346         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1347         timeout.
1348         Fix endless loop in iterator_fold_with_resync.
1349
1350
1351 2005-07-18  Wim Taymans  <wim@fluendo.com>
1352
1353         * gst/Makefile.am:
1354         * gst/gstarch.h:
1355         Remove old file.
1356
1357 2005-07-18  Wim Taymans  <wim@fluendo.com>
1358
1359         * gst/Makefile.am:
1360         No more cothreads.h
1361
1362 2005-07-18  Wim Taymans  <wim@fluendo.com>
1363
1364         * gst/cothreads.c:
1365         * gst/cothreads.h:
1366         Let's remove these.
1367
1368 2005-07-18  Wim Taymans  <wim@fluendo.com>
1369
1370         * docs/design/part-dynamic.txt:
1371         * docs/design/part-events.txt:
1372         * docs/design/part-seeking.txt:
1373         Some more docs in the works.
1374
1375         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1376         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1377         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1378         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1379         (gst_base_transform_handle_buffer),
1380         (gst_base_transform_sink_activate_push),
1381         (gst_base_transform_src_activate_pull),
1382         (gst_base_transform_set_passthrough),
1383         (gst_base_transform_is_passthrough):
1384         Refcounting fixes.
1385
1386         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1387         Cleanups.
1388
1389         * gst/gstevent.c: (gst_event_finalize):
1390         Set SRC to NULL.
1391
1392         * gst/gstutils.c: (gst_element_unlink),
1393         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1394         (gst_pad_proxy_setcaps):
1395         * gst/gstutils.h:
1396         Add _get_parent_element() to get a pads parent as an element.
1397
1398 2005-07-18  Wim Taymans  <wim@fluendo.com>
1399
1400         * check/gst/gstbin.c: (GST_START_TEST):
1401         Remove bogus test.
1402
1403 2005-07-18  Wim Taymans  <wim@fluendo.com>
1404
1405         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1406         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1407         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1408         (gst_base_sink_event), (gst_base_sink_do_sync),
1409         (gst_base_sink_chain), (gst_base_sink_loop),
1410         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1411         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1412         Refcounting fixes.
1413         Fix logic for returning ASYNC when not prerolled.
1414
1415 2005-07-18  Wim Taymans  <wim@fluendo.com>
1416
1417         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1418         Fix nasty refcount bug.
1419
1420 2005-07-16 Philippe Khalaf <burger@speedy.org>
1421         * gst/elements/gstfdsrc.c:
1422         * gst/elements/gstfdsrc.h:
1423         * gst/elements/gstelements.c:
1424         * gst/elements/Makefile.am:
1425         Ported fdsrc to 0.9.
1426
1427 2005-07-16  Wim Taymans  <wim@fluendo.com>
1428
1429         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1430         (gst_base_sink_do_sync):
1431         Fix compile error.
1432
1433 2005-07-16  Wim Taymans  <wim@fluendo.com>
1434
1435         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1436         (gst_base_sink_event), (gst_base_sink_get_times),
1437         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1438         * gst/base/gstbasesink.h:
1439         Store and use discont values when syncing buffers as described
1440         in design docs.
1441         
1442         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1443         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1444         (gst_base_src_activate_push):
1445         Push discont event when starting.
1446
1447         * gst/elements/gstidentity.c: (gst_identity_transform):
1448         Small cleanups.
1449
1450         * gst/gstbin.c: (gst_bin_change_state):
1451         Small cleanups in base_time  distribution.
1452
1453         * gst/gstelement.c: (gst_element_set_base_time),
1454         (gst_element_get_base_time), (gst_element_change_state):
1455         * gst/gstelement.h:
1456         Added methods for the base_time of the element.
1457         Some MT fixes.
1458
1459         * gst/gstpipeline.c: (gst_pipeline_send_event),
1460         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1461         (gst_pipeline_get_last_stream_time):
1462         * gst/gstpipeline.h:
1463         MT fixes.
1464         Handle seeking as described in design doc, remove stream_time
1465         hack.
1466         Cleanups clock and stream_time selection code. Added accessors
1467         for the stream_time.
1468         
1469
1470 2005-07-16  Andy Wingo  <wingo@pobox.com>
1471
1472         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1473         (#305291).
1474
1475 2005-07-16  Wim Taymans  <wim@fluendo.com>
1476
1477         * check/gst/gstbin.c: (GST_START_TEST):
1478         Make elements silent as the deep_notify refs the
1479         parent, which might make the test fail.
1480
1481         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1482         Don't hold the lock for too long.
1483
1484 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1485
1486         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1487           Don't unref the caps we passed to gst_caps_make_writable() after
1488           passing them. gst_caps_make_writable() will do that for us.
1489
1490 2005-07-15  Andy Wingo  <wingo@pobox.com>
1491
1492         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1493         (#157311).
1494
1495         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1496         own marshalling function for the handoff signal. Properly type the
1497         buffer as a buffer. Fixes some warnings. Should do a more general
1498         solution.
1499         (gst_identity_class_init): Plug into the right marshaller.
1500
1501 2005-07-15  Wim Taymans  <wim@fluendo.com>
1502
1503         * docs/design/part-TODO.txt:
1504         * docs/design/part-clocks.txt:
1505         * docs/design/part-element-sink.txt:
1506         * docs/design/part-events.txt:
1507         * docs/design/part-gstpipeline.txt:
1508         Updated docs, mostly DISCONT related.
1509
1510 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1511
1512         * docs/pwg/building-pads.xml:
1513           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1514
1515 2005-07-15  Andy Wingo  <wingo@pobox.com>
1516
1517         * tools/gst-typefind.c: Update, add copyright block.
1518
1519         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1520         Normalize and truncate caps before fixation.
1521
1522         * gst/gstcaps.h:
1523         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1524         discards all but the first structure from its argument.
1525
1526 2005-07-15  Wim Taymans  <wim@fluendo.com>
1527
1528         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1529         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1530         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1531         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1532         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1533         (gst_base_transform_chain), (gst_base_transform_change_state),
1534         (gst_base_transform_set_passthrough),
1535         (gst_base_transform_is_passthrough):
1536         * gst/base/gstbasetransform.h:
1537         Make passthrough work using the bufferpools.
1538         Changed API a bit, subclasses have to write into a buffer
1539         provided by the base class.
1540         More debug info in nego functions.
1541         
1542         * gst/elements/gstidentity.c: (gst_identity_init),
1543         (gst_identity_transform):
1544         Port to new base class.
1545
1546 2005-07-15  Wim Taymans  <wim@fluendo.com>
1547
1548         * gst/gstmessage.c: (gst_message_new_state_changed):
1549         * tools/gst-launch.c: (event_loop), (main):
1550         Totally dump messages in -launch with the -m option.
1551         Fix message name for State messages,
1552
1553 2005-07-14  Wim Taymans  <wim@fluendo.com>
1554
1555         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1556         Post error messages on errors.
1557
1558 2005-07-14  Wim Taymans  <wim@fluendo.com>
1559
1560         * gst/gstcaps.c: (gst_caps_do_simplify):
1561         Remove debug info.
1562
1563         * gst/gsterror.h:
1564         Define error for stream stopped.
1565
1566         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1567         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1568         Do proper return values.
1569
1570         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1571         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1572         (gst_pad_get_range):
1573         Better return values.
1574
1575         * gst/gstpad.h:
1576         Reorganise return values, add macro to check for fatal errors.
1577
1578         * gst/gstqueue.c: (gst_queue_chain):
1579         Return proper GstFlowReturn values,
1580
1581 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1582
1583         * docs/gst/gstreamer-sections.txt:
1584         * docs/gst/gstreamer.types:
1585         * docs/gst/tmpl/gst.sgml:
1586         * docs/gst/tmpl/gstbasesink.sgml:
1587         * docs/gst/tmpl/gstbasesrc.sgml:
1588         * docs/gst/tmpl/gstbasetransform.sgml:
1589         * docs/gst/tmpl/gstbin.sgml:
1590         * docs/gst/tmpl/gstbuffer.sgml:
1591         * docs/gst/tmpl/gstcaps.sgml:
1592         * docs/gst/tmpl/gstclock.sgml:
1593         * docs/gst/tmpl/gstcompat.sgml:
1594         * docs/gst/tmpl/gstconfig.sgml:
1595         * docs/gst/tmpl/gstelement.sgml:
1596         * docs/gst/tmpl/gstelementdetails.sgml:
1597         * docs/gst/tmpl/gstelementfactory.sgml:
1598         * docs/gst/tmpl/gstenumtypes.sgml:
1599         * docs/gst/tmpl/gsterror.sgml:
1600         * docs/gst/tmpl/gstevent.sgml:
1601         * docs/gst/tmpl/gstfakesink.sgml:
1602         * docs/gst/tmpl/gstfakesrc.sgml:
1603         * docs/gst/tmpl/gstfilesink.sgml:
1604         * docs/gst/tmpl/gstfilesrc.sgml:
1605         * docs/gst/tmpl/gstfilter.sgml:
1606         * docs/gst/tmpl/gstformat.sgml:
1607         * docs/gst/tmpl/gstghostpad.sgml:
1608         * docs/gst/tmpl/gstimplementsinterface.sgml:
1609         * docs/gst/tmpl/gstindex.sgml:
1610         * docs/gst/tmpl/gstindexfactory.sgml:
1611         * docs/gst/tmpl/gstinfo.sgml:
1612         * docs/gst/tmpl/gstiterator.sgml:
1613         * docs/gst/tmpl/gstmacros.sgml:
1614         * docs/gst/tmpl/gstmemchunk.sgml:
1615         * docs/gst/tmpl/gstminiobject.sgml:
1616         * docs/gst/tmpl/gstobject.sgml:
1617         * docs/gst/tmpl/gstpad.sgml:
1618         * docs/gst/tmpl/gstpadtemplate.sgml:
1619         * docs/gst/tmpl/gstparse.sgml:
1620         * docs/gst/tmpl/gstpipeline.sgml:
1621         * docs/gst/tmpl/gstplugin.sgml:
1622         * docs/gst/tmpl/gstpluginfeature.sgml:
1623         * docs/gst/tmpl/gstquery.sgml:
1624         * docs/gst/tmpl/gstqueue.sgml:
1625         * docs/gst/tmpl/gstregistry.sgml:
1626         * docs/gst/tmpl/gstregistrypool.sgml:
1627         * docs/gst/tmpl/gstscheduler.sgml:
1628         * docs/gst/tmpl/gstschedulerfactory.sgml:
1629         * docs/gst/tmpl/gststructure.sgml:
1630         * docs/gst/tmpl/gstsystemclock.sgml:
1631         * docs/gst/tmpl/gsttaglist.sgml:
1632         * docs/gst/tmpl/gsttagsetter.sgml:
1633         * docs/gst/tmpl/gsttrace.sgml:
1634         * docs/gst/tmpl/gsttrashstack.sgml:
1635         * docs/gst/tmpl/gsttypefind.sgml:
1636         * docs/gst/tmpl/gsttypefindfactory.sgml:
1637         * docs/gst/tmpl/gsttypes.sgml:
1638         * docs/gst/tmpl/gsturihandler.sgml:
1639         * docs/gst/tmpl/gsturitype.sgml:
1640         * docs/gst/tmpl/gstutils.sgml:
1641         * docs/gst/tmpl/gstvalue.sgml:
1642         * docs/gst/tmpl/gstversion.sgml:
1643         * docs/gst/tmpl/gstxml.sgml:
1644         * docs/libs/tmpl/gstcontrol.sgml:
1645         * docs/libs/tmpl/gstdataprotocol.sgml:
1646         * docs/libs/tmpl/gstdparam.sgml:
1647         * docs/libs/tmpl/gstdplinint.sgml:
1648         * docs/libs/tmpl/gstdpman.sgml:
1649         * docs/libs/tmpl/gstdpsmooth.sgml:
1650         * docs/libs/tmpl/gstgetbits.sgml:
1651         * docs/libs/tmpl/gstunitconvert.sgml:
1652         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1653         (gst_push_src_base_init), (gst_push_src_class_init),
1654         (gst_push_src_init), (gst_push_src_create):
1655         * gst/base/gstpushsrc.h:
1656         * gst/elements/gstelements.c:
1657         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1658         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1659         (gst_fake_sink_init), (gst_fake_sink_set_property),
1660         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1661         (gst_fake_sink_event), (gst_fake_sink_preroll),
1662         (gst_fake_sink_render), (gst_fake_sink_change_state):
1663         * gst/elements/gstfakesink.h:
1664         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1665         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1666         (gst_fake_src_base_init), (gst_fake_src_class_init),
1667         (gst_fake_src_init), (gst_fake_src_event_handler),
1668         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1669         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1670         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1671         (gst_fake_src_create_buffer), (gst_fake_src_create),
1672         (gst_fake_src_start), (gst_fake_src_stop):
1673         * gst/elements/gstfakesrc.h:
1674         * gst/elements/gstfilesink.c: (_do_init),
1675         (gst_file_sink_base_init), (gst_file_sink_class_init),
1676         (gst_file_sink_init), (gst_file_sink_dispose),
1677         (gst_file_sink_set_location), (gst_file_sink_set_property),
1678         (gst_file_sink_get_property), (gst_file_sink_open_file),
1679         (gst_file_sink_close_file), (gst_file_sink_query),
1680         (gst_file_sink_event), (gst_file_sink_render),
1681         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1682         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1683         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1684         * gst/elements/gstfilesink.h:
1685         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1686         (gst_file_src_class_init), (gst_file_src_init),
1687         (gst_file_src_finalize), (gst_file_src_set_location),
1688         (gst_file_src_set_property), (gst_file_src_get_property),
1689         (gst_file_src_map_region), (gst_file_src_map_small_region),
1690         (gst_file_src_create_mmap), (gst_file_src_create_read),
1691         (gst_file_src_create), (gst_file_src_is_seekable),
1692         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1693         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1694         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1695         (gst_file_src_uri_handler_init):
1696         * gst/elements/gstfilesrc.h:
1697           more autistic cleanliness in functions/names/defines
1698
1699 2005-07-13  Andy Wingo  <wingo@pobox.com>
1700
1701         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1702         source couldn't negotiate.
1703
1704         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1705         connections again.
1706
1707         * gst/gstutils.h:
1708         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1709         function. I am channeling Hades. Put your boots on suckers!!!
1710
1711 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1712
1713         * testsuite/caps/Makefile.am:
1714         * testsuite/caps/value_compare.c:
1715         * testsuite/caps/value_intersect.c:
1716         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1717           move two testsuite apps over to the check dir
1718
1719 2005-07-12  Wim Taymans  <wim@fluendo.com>
1720
1721         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1722         Added more debug info in the negotiate process.
1723
1724         * gst/gstmessage.h:
1725         Prepare for segment playback.
1726
1727         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1728         Better debugging.
1729
1730         * gst/gstutils.c:
1731         Some more docs.
1732
1733         * tools/gst-launch.c: (main):
1734         NULL pipeline on errors.
1735
1736 2005-07-12  Andy Wingo  <wingo@pobox.com>
1737
1738         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1739         not it comes from a malloc region. Make sure our copy gets freed.
1740
1741 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1742
1743         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1744         * check/gst/gstmessage.c: (GST_START_TEST):
1745         * check/gst/gststructure.c: (GST_START_TEST),
1746         (gst_structure_suite), (main):
1747           more testing
1748         * gst/gstelement.c: (gst_element_message_full):
1749           clean up GError and debug string now that they get copied
1750         * gst/gstmessage.c: (gst_message_new_error),
1751         (gst_message_new_warning), (gst_message_parse_error),
1752         (gst_message_parse_warning):
1753           use GST_TYPE_G_ERROR for structure_new, and take copies of
1754           arguments, so that we don't mess up refcounting
1755
1756 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1757
1758         * check/Makefile.am:
1759           add per-test valgrind targets
1760         * check/gst-libs/gdp.c: (GST_START_TEST),
1761         (gst_data_protocol_suite), (main):
1762           clean up
1763
1764 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1765
1766         * check/Makefile.am:
1767           instate more valgrindable tests
1768         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1769         (GST_START_TEST), (fakesrc_suite):
1770         * check/gst/gstpad.c: (GST_START_TEST):
1771         * check/gst/gststructure.c: (GST_START_TEST):
1772           fix test leaks
1773         * docs/gst/tmpl/gstminiobject.sgml:
1774         * gst/gstpad.c: (gst_pad_finalize):
1775           fix the static mutex leak
1776
1777 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1778
1779         * check/Makefile.am:
1780           add two more tests for valgrinding
1781         * check/gst/gstvalue.c: (GST_START_TEST):
1782           test refcount of deserialized buffer, found a leak
1783         * docs/gst/gstreamer-docs.sgml:
1784         * docs/gst/gstreamer-sections.txt:
1785         * docs/gst/gstreamer.types:
1786         * docs/gst/tmpl/gstminiobject.sgml:
1787           add miniobject to docs
1788         * gst/gstminiobject.c:
1789           add some docs
1790         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1791         (gst_string_unwrap):
1792           fix a hard-to-find invalid write for one of the tests
1793           fix a leak for deserialized buffers
1794
1795 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1796
1797         * docs/pwg/advanced-events.xml:
1798         * docs/pwg/advanced-request.xml:
1799         * docs/pwg/advanced-scheduling.xml:
1800         * docs/pwg/appendix-porting.xml:
1801         * docs/pwg/building-boiler.xml:
1802         * docs/pwg/intro-preface.xml:
1803         * docs/pwg/other-ntoone.xml:
1804           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1805           of example code and explanation for pad activation, loop() and
1806           getrange() functions and a bit more. Remove old comments pointing
1807           to loop-functions.
1808         * examples/pwg/Makefile.am:
1809           Add loop/getrange examples.
1810
1811 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1812
1813         * configure.ac:
1814           check for valgrind binary + some fixes
1815         * check/gst.supp:
1816           valgrind suppressions for the tests
1817         * check/Makefile.am:
1818           add a valgrind: target that valgrinds the unit tests
1819         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1820         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1821         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1822         * check/gst/gstghostpad.c:
1823           added some cleanup
1824         * check/gst/gstdata.c:
1825           removed
1826         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1827         (thread_unref), (gst_mini_object_suite), (main):
1828           added
1829         * gst/gst.c: (gst_deinit):
1830         * gst/gst.h:
1831           add a method to clean up.
1832         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1833         (gst_system_clock_obtain):
1834           allow for disposing the system clock.
1835         * tools/gst-launch.c: (main):
1836           deinit
1837
1838 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1839
1840         * docs/gst/tmpl/gstbasesrc.sgml:
1841         * docs/gst/tmpl/gstfakesrc.sgml:
1842         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1843         (gst_base_src_init), (gst_base_src_set_property),
1844         (gst_base_src_get_property), (gst_base_src_get_range),
1845         (gst_base_src_start):
1846         * gst/base/gstbasesrc.h:
1847           add num-buffers property
1848         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1849         (gst_fakesrc_init), (gst_fakesrc_set_property),
1850         (gst_fakesrc_get_property), (gst_fakesrc_create),
1851         (gst_fakesrc_start):
1852           remove num-buffers property
1853
1854 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1855
1856         * docs/gst/gstreamer-sections.txt:
1857         * docs/gst/tmpl/gstbasesink.sgml:
1858         * docs/gst/tmpl/gstbasesrc.sgml:
1859         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1860         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1861         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1862         (gst_base_sink_set_property), (gst_base_sink_get_property),
1863         (gst_base_sink_handle_object), (gst_base_sink_event),
1864         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1865         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1866         (gst_base_sink_loop), (gst_base_sink_deactivate),
1867         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1868         (gst_base_sink_change_state):
1869         * gst/base/gstbasesink.h:
1870         * gst/base/gstbasesrc.h:
1871         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1872         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1873         (gst_filesink_init):
1874           more macro splitting
1875
1876 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1877
1878         * gst/gstelement.c: (gst_element_get_bus):
1879           add debug
1880         * tools/gst-launch.c: (check_intr), (event_loop):
1881           fix bus leaks
1882
1883 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1884
1885         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1886           fix a caps leak
1887
1888 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1889
1890         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1891         (gst_base_src_finalize):
1892           add finalize method and clean up properly
1893         * gst/gstpipeline.c: (gst_pipeline_dispose):
1894           add debug
1895
1896 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1897
1898         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1899         (gst_bin_suite):
1900           add more things to check
1901         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1902         * gst/gstelement.c:
1903           more debug
1904
1905 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1906
1907         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1908         (GST_START_TEST), (fakesrc_suite):
1909         * check/gst-libs/gdp.c: (GST_START_TEST):
1910         * check/gst/gst.c: (GST_START_TEST):
1911         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1912         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1913         * check/gst/gstbus.c: (GST_START_TEST):
1914         * check/gst/gstcaps.c: (GST_START_TEST):
1915         * check/gst/gstdata.c: (GST_START_TEST):
1916         * check/gst/gstelement.c: (GST_START_TEST):
1917         * check/gst/gstghostpad.c: (GST_START_TEST):
1918         * check/gst/gstiterator.c: (GST_START_TEST):
1919         * check/gst/gstmessage.c: (GST_START_TEST):
1920         * check/gst/gstobject.c: (GST_START_TEST):
1921         * check/gst/gstpad.c: (GST_START_TEST):
1922         * check/gst/gststructure.c: (GST_START_TEST):
1923         * check/gst/gstsystemclock.c: (GST_START_TEST),
1924         (gst_systemclock_suite):
1925         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1926         * check/gst/gstvalue.c: (GST_START_TEST):
1927         * check/pipelines/cleanup.c: (GST_START_TEST):
1928         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1929         * check/states/sinks.c: (GST_START_TEST):
1930         * check/gstcheck.c: (gst_check_init):
1931         * check/gstcheck.h:
1932           add debugging category
1933           use GST_START_TEST now, so we add a debug line
1934
1935 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1936
1937         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1938           add test for state change message on a bin
1939         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1940           add another test
1941         * gst/gstbin.c: (gst_bin_init):
1942         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1943         * gst/gstelement.c: (gst_element_post_message),
1944         (gst_element_set_state):
1945         * gst/gstelementfactory.c: (gst_element_factory_create):
1946         * gst/gstmessage.c: (gst_message_new):
1947         * gst/gstscheduler.c:
1948           various debugging additions and cleanups
1949
1950 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1951
1952         * check/Makefile.am:
1953         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1954         (main):
1955           adding tests for elements
1956         * gst/gstelement.c: (gst_element_dispose):
1957
1958 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1959
1960         * gst/registries/gstlibxmlregistry.c: (load_feature):
1961           plug more leaks.  A simple gst_init() now is leakfree, yay.
1962
1963 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1964
1965         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1966         (gst_xml_registry_load):
1967           plug another memleak
1968
1969 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1970
1971         * configure.ac:
1972           use GST_SET_ERROR_CFLAGS
1973         * docs/faq/cvs.xml:
1974           change to ERROR_CFLAGS
1975
1976 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1977
1978         * configure.ac:
1979           make GST_ERROR_CFLAGS overridable and re-enable Werror
1980         * docs/faq/cvs.xml:
1981           add a note about error CFLAGS
1982         * docs/gst/tmpl/gstfakesrc.sgml:
1983         * gst/elements/gstfakesrc.c:
1984           comment out some unused code
1985         * gst/gst.c: (split_and_iterate):
1986         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1987         (load_feature):
1988           plug some memleaks
1989
1990 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1991
1992         * common/Makefile.am:
1993         * common/gtk-doc.mak:
1994         * docs/gst/Makefile.am:
1995           factor out gtk-doc.mak
1996
1997 2005-07-07  Wim Taymans  <wim@fluendo.com>
1998
1999         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
2000         (gst_thread_scheduler_dispose):
2001         Unlock the STREAM_LOCK completely.
2002
2003 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2004
2005         * check/Makefile.am:
2006         * check/elements/.cvsignore:
2007         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2008         (START_TEST), (fakesrc_suite), (main):
2009         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2010         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2011         (gst_fakesrc_create), (gst_fakesrc_start):
2012         * gst/elements/gstfakesrc.h:
2013           adding a first element test
2014
2015 2005-07-07  Andy Wingo  <wingo@pobox.com>
2016
2017         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
2018         debug message.
2019
2020 2005-07-07  Wim Taymans  <wim@fluendo.com>
2021
2022         * gst/gstquery.c:
2023         * gst/gstquery.h:
2024         Remove old types
2025
2026 2005-07-07  Wim Taymans  <wim@fluendo.com>
2027
2028         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2029         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
2030         Allow subclasses to implement their own negotiation.
2031
2032 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2033
2034         * docs/design/part-gstbin.txt:
2035         * docs/design/part-gstpipeline.txt:
2036           Update design notes to reflect the movement of
2037           responsibility for bus handling from GstPipeline to
2038           GstBin
2039
2040 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2041
2042         * configure.ac:
2043           Remove unnecessary queue2/3/4 examples.
2044
2045 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2046
2047         * examples/Makefile.am:
2048         * examples/helloworld/helloworld.c: (event_loop), (main):
2049         * examples/queue/queue.c: (event_loop), (main):
2050         * examples/queue2/queue2.c: (main):
2051           Update a couple of the examples to work again.
2052
2053         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2054         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2055          Spelling corrections and extra debug.
2056         
2057         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2058         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2059         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2060         * gst/gstbin.h:
2061         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2062         (gst_pipeline_change_state):
2063         * gst/gstpipeline.h:
2064           Move the bus handler for children to the GstBin, and create a
2065           separate bus for receiving messages from children to the one the
2066           bus sends 'upwards' on.
2067
2068 2005-07-06  Wim Taymans  <wim@fluendo.com>
2069
2070         * gst/base/README:
2071         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2072         (gst_base_sink_handle_object), (gst_base_sink_loop),
2073         (gst_base_sink_change_state):
2074         * gst/base/gstbasesink.h:
2075         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2076         (gst_base_src_init), (gst_base_src_setcaps),
2077         (gst_base_src_getcaps), (gst_base_src_loop),
2078         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2079         (gst_base_src_start), (gst_base_src_change_state):
2080         * gst/base/gstbasesrc.h:
2081         Make basesrc negotiate.
2082         Handle the case where preroll fails in basesink.
2083         Update README.
2084
2085 2005-07-06  Wim Taymans  <wim@fluendo.com>
2086
2087         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2088         Implement the fixate function.
2089         Clean up acceptcaps.
2090
2091 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2092
2093         * docs/pwg/building-filterfactory.xml:
2094         * docs/pwg/pwg.xml:
2095           Remove never-written filter-factory chapter; I'll add the various
2096           base classes to part 4 ("other element types") later on.
2097
2098 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2099
2100         * docs/pwg/advanced-negotiation.xml:
2101         * docs/pwg/building-boiler.xml:
2102         * docs/pwg/building-pads.xml:
2103         * docs/pwg/pwg.xml:
2104         * examples/pwg/Makefile.am:
2105           Add a chapter on caps negotiation, simplify the original code
2106           samples a bit w.r.t. caps negotiation, add link to the advanced
2107           section. Add a bunch of examples showing different use cases of
2108           different types of caps negotiation. Upstream renegotiation isn't
2109           fully documented yet since nobody knows how that works.
2110
2111 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2112
2113         * check/gst/gstpad.c:
2114         * check/gstcheck.c:
2115         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2116           if pad has no parent, return NULL as list of internal links
2117
2118 2005-07-05  Andy Wingo  <wingo@pobox.com>
2119
2120         * gst/elements/gstfilesrc.c:
2121         * gst/elements/gstfakesrc.c: 
2122         * gst/base/gstpushsrc.c:
2123         * gst/base/gstbasesrc.h: 
2124         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2125         
2126 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2127
2128         * Makefile.am:
2129           better report generation target (lcov needs a patch)
2130
2131 2005-07-05  Andy Wingo  <wingo@pobox.com>
2132
2133         * gst/elements, testsuite: Null if we got it...
2134
2135 2005-07-05  Wim Taymans  <wim@fluendo.com>
2136
2137         * configure.ac:
2138         * libs/gst/dataprotocol/Makefile.am:
2139         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2140         * libs/gst/dataprotocol/dataprotocol.h:
2141         * pkgconfig/Makefile.am:
2142         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2143         * pkgconfig/gstreamer-dataprotocol.pc.in:
2144         Ported dataprotol to 0.9. 
2145         Added pkgconfig files.
2146
2147 2005-07-05  Andy Wingo  <wingo@pobox.com>
2148
2149         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2150         Default to returning TRUE for the case when tranform_caps returns
2151         a fixed caps, like for identity or volume.
2152
2153         * check/gst/gstbus.c (pound_bus_with_messages): 
2154         * check/gst/gstmessage.c (START_TEST): 
2155         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2156         message API change.
2157
2158         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2159         logic weaks here: always run transform_caps, trying passthrough
2160         operation only if the original caps intersects with the transform.
2161
2162         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2163         source and sink caps.
2164
2165         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2166         Intersect the peer caps with the pad template before going into
2167         transform_caps.
2168         (gst_base_transform_transform_caps): More debugging.
2169
2170         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2171         src argument.
2172
2173 2005-07-04  Edward Hervey  <edward@fluendo.com>
2174
2175         * gst/gstutils.c:
2176         * gst/gstutils.h:
2177         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2178         in bindings.
2179
2180 2005-07-04  Andy Wingo  <wingo@pobox.com>
2181
2182         * check/gst/gstpad.c: Only set explicit caps on pads.
2183
2184 2005-07-01  Andy Wingo  <wingo@pobox.com>
2185
2186         * tests/network-clock.scm: Commentary update.
2187
2188         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2189         Didn't really make sense, not implementable with basetransform,
2190         etc.
2191         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2192         attempt at implementing the sync property, needs an unlock method.
2193
2194         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2195         New func, by default returns the same caps (the identity
2196         transformation).
2197         (gst_base_transform_getcaps): Uses transform_caps to return
2198         something sensible.
2199         (gst_base_transform_setcaps): Complicated logic to get caps on
2200         both pads, even if they are different, and to call set_caps once
2201         for every time both pads get their caps set.
2202         (gst_base_transform_handle_buffer): Give the ref to the transform
2203         function. Allows in-place modification of the buffer.
2204
2205         * gst/base/gstbasetransform.h (transform_caps): New class method.
2206         Given caps on one side, what can I do on the other.
2207         (set_caps): Take two caps, one for each side of the element.
2208
2209         * gst/gstpad.h:
2210         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2211         caps in place. This is safe because we can check the mutability of
2212         the caps, and a good idea because fixate functions are just called
2213         as a matter of last resort. (Not actually implemented.)
2214         (gst_pad_set_caps): If the caps we're setting is actually the same
2215         as the existing pad caps, just update the pointer without calling
2216         setcaps. Assert that caps is either NULL or fixed, as per the
2217         docs.
2218
2219         * gst/gstghostpad.c: Update for fixate changes.
2220
2221 2005-07-02  Andy Wingo  <wingo@pobox.com>
2222
2223         * gst/gstcaps.c:
2224         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2225         two refcounts makes it immutable, which is enough. Doc more.
2226
2227 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2228
2229         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2230           Put the mini_object into GValue as a mini_object,
2231           not a gpointer, since that's how we declared
2232           the signal.
2233
2234 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2235
2236         * examples/pwg/Makefile.am:
2237           Fix buildbot again.
2238
2239 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2240
2241         * docs/pwg/building-testapp.xml:
2242           Add extra check.
2243         * examples/pwg/Makefile.am:
2244           Fix buildbot.
2245
2246 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2247
2248         * configure.ac:
2249         * examples/Makefile.am:
2250         * examples/pwg/Makefile.am:
2251         * examples/pwg/extract.pl:
2252           Enable building the PWG examples.
2253         * docs/pwg/advanced-interfaces.xml:
2254           Add URI interface stub.
2255         * docs/pwg/advanced-types.xml:
2256         * docs/pwg/other-autoplugger.xml:
2257         * docs/pwg/appendix-porting.xml:
2258         * docs/pwg/pwg.xml:
2259           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2260         * docs/pwg/building-boiler.xml:
2261         * docs/pwg/building-chainfn.xml:
2262         * docs/pwg/building-pads.xml:
2263         * docs/pwg/building-props.xml:
2264         * docs/pwg/building-state.xml:
2265         * docs/pwg/building-testapp.xml:
2266           Update the building-*.xml parts for 0.9 changes. All examples
2267           code blocks compile in examples/pwg/*.
2268
2269 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2270
2271         * docs/manual/advanced-autoplugging.xml:
2272         * docs/manual/appendix-checklist.xml:
2273         * docs/manual/appendix-integration.xml:
2274         * docs/manual/highlevel-components.xml:
2275           Fix playbin/decodebin examples, update docs a bit, mention bus
2276           instead of signals in various places, mention kmplayer and
2277           kaffeine since they have a working GStreamer backend in the KDE
2278           section.
2279
2280 2005-06-30  Wim Taymans  <wim@fluendo.com>
2281
2282         * CHANGES-0.9:
2283         * docs/design/draft-ghostpads.txt:
2284         * docs/design/draft-push-pull.txt:
2285         * docs/design/draft-query.txt:
2286         * docs/design/part-TODO.txt:
2287         * docs/design/part-query.txt:
2288         Added CHANGES-0.9 doc, updated status of other docs.
2289         
2290         * gst/gstquery.h:
2291         Remove "hmm" macro
2292
2293 2005-06-30  Wim Taymans  <wim@fluendo.com>
2294
2295         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2296         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2297         (gst_base_sink_change_state):
2298         * gst/base/gstbasesink.h:
2299         Some tweaks, only EOS and a buffer complete a preroll.
2300
2301 2005-06-30  Andy Wingo  <wingo@pobox.com>
2302
2303         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2304         activate_push down to the internal pad as well.
2305
2306 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2307
2308         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2309
2310         * gst/gsttaginterface.c:
2311           Some documentation fixes (#307394 and #307397).
2312
2313 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2314
2315         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2316
2317         * gst/gstvalue.c: (gst_value_intersect_list):
2318           Fix memleak (#309125).
2319
2320 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2321
2322         * docs/manual/advanced-dataaccess.xml:
2323           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2324         * docs/manual/basics-pads.xml:
2325           Add reference for filtered caps to above chapter.
2326
2327 2005-06-30  Wim Taymans  <wim@fluendo.com>
2328
2329         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2330         (gst_bin_change_state):
2331         Probes are gone.
2332         Lame attempt at making the state change function a bit
2333         more readable.
2334
2335 2005-06-30  Wim Taymans  <wim@fluendo.com>
2336
2337         * docs/design/part-clocks.txt:
2338         * docs/design/part-element-sink.txt:
2339         * docs/design/part-events.txt:
2340         * docs/design/part-preroll.txt:
2341         * docs/design/part-states.txt:
2342         Some more tweeks and additions to the docs.
2343
2344 2005-06-30  Wim Taymans  <wim@fluendo.com>
2345
2346         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2347         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2348         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2349         (gst_pad_check_pull_range), (gst_pad_get_range),
2350         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2351         * gst/gstpad.h:
2352         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2353         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2354         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2355         (gst_pad_remove_buffer_probe):
2356         Removed atomic operations, use existing LOCK.
2357         Move exception handling out of main code path.
2358
2359 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2360
2361         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2362         (silly_return_true_function), (gst_pad_class_init),
2363         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2364         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2365         (gst_pad_send_event):
2366           Fix accumulator, add default value by using _emitv() instead
2367           of _emit() for signal emission.
2368
2369 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2370
2371         * docs/manual/advanced-dataaccess.xml:
2372         * examples/manual/Makefile.am:
2373           Add probe example.
2374         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2375           Make work (??).
2376
2377 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2378
2379         * gst/elements/gstfilesink.c: (gst_filesink_render):
2380           Simplify code so that we don't have to handle short
2381           writes and return GST_FLOW_ERROR if an error occured.
2382
2383 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2384
2385         * docs/gst/gstreamer-docs.sgml:
2386           Remove probes more.
2387
2388 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2389
2390         * docs/gst/gstreamer-sections.txt:
2391         * docs/gst/tmpl/gstpad.sgml:
2392         * docs/gst/tmpl/gstprobe.sgml:
2393         * gst/Makefile.am:
2394         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2395         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2396         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2397         (gst_pad_push_event), (gst_pad_send_event):
2398         * gst/gstpad.h:
2399         * gst/gstutils.c: (gst_pad_add_data_probe),
2400         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2401         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2402         (gst_pad_remove_buffer_probe):
2403         * gst/gstutils.h:
2404           Remove old probes, add new g-signal-based probes and some utility
2405           functions.
2406
2407 2005-06-29  Edward Hervey  <edward@fluendo.com>
2408
2409         * gst/gstelementfactory.c:
2410         * gst/gstutils.h:
2411         * gst/gstutils.c:
2412         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2413         the definition to the header file.
2414
2415 2005-06-29  Andy Wingo  <wingo@pobox.com>
2416
2417         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2418         plugins from the source directory.
2419
2420 2005-06-29  Wim Taymans  <wim@fluendo.com>
2421
2422         * docs/gst/tmpl/gstbuffer.sgml:
2423         * docs/gst/tmpl/gstclock.sgml:
2424         Some fixings for blantently wrong text.
2425
2426 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2427
2428         * check/Makefile.am:
2429         * gst/gst.c: (add_path_func), (init_pre):
2430         * gst/gstregistry.c: (gst_registry_add_path):
2431           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2432           only scan the GST_PLUGIN_PATH locations, and not add
2433           system locations
2434
2435 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2436
2437         * docs/gst/gstreamer-sections.txt:
2438         * docs/gst/tmpl/gstbasesrc.sgml:
2439         * gst/gstelement.c:
2440         * gst/gstelement.h:
2441         * gst/gstevent.c:
2442         * gst/gstutils.c:
2443           doc fixes
2444
2445 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2446
2447         * docs/manual/advanced-autoplugging.xml:
2448           Fix autoplugging example.
2449
2450 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2451
2452         * docs/manual/advanced-autoplugging.xml:
2453         * docs/manual/mime-world.fig:
2454           Try to get autoplugging working, fix type detection. Fix text
2455           in hello-world image.
2456
2457 2005-06-29  Wim Taymans  <wim@fluendo.com>
2458
2459         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2460         (gst_base_sink_change_state):
2461         Small debug line.
2462
2463         * gst/gstclock.h:
2464         map SIGNAL and BROADCAST to the right function.
2465
2466         * gst/gstobject.h:
2467         Remove redundant braces.
2468
2469         * gst/gstpad.c: (gst_pad_set_caps):
2470         Don't call setcaps function when reseting caps to NULL.
2471
2472         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2473         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2474         (gst_system_clock_id_unschedule):
2475         Use BROADCAST as this is what we do.
2476
2477 2005-06-29  Wim Taymans  <wim@fluendo.com>
2478
2479         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2480         We are actually prerolling before commiting the state
2481         change. 
2482
2483 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2484
2485         * docs/manual/advanced-clocks.xml:
2486         * docs/manual/advanced-interfaces.xml:
2487         * docs/manual/advanced-metadata.xml:
2488         * docs/manual/advanced-position.xml:
2489         * docs/manual/advanced-schedulers.xml:
2490         * docs/manual/advanced-threads.xml:
2491         * docs/manual/appendix-porting.xml:
2492         * docs/manual/basics-bins.xml:
2493         * docs/manual/basics-bus.xml:
2494         * docs/manual/basics-elements.xml:
2495         * docs/manual/basics-helloworld.xml:
2496         * docs/manual/basics-pads.xml:
2497         * docs/manual/highlevel-components.xml:
2498         * docs/manual/manual.xml:
2499         * docs/manual/thread.fig:
2500           Update (until threads/scheduling) Application Development Manual;
2501           remove GstThread, add GstBus, add simple porting checklist, add
2502           documentation for tag writing, clocks, make all examples until this
2503           part compile and run.
2504         * examples/manual/Makefile.am:
2505           Update from changes to Application Development Manual; add bus
2506           example, remove thread example.
2507
2508 2005-06-28  Wim Taymans  <wim@fluendo.com>
2509
2510         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2511         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2512         (gst_bus_source_dispatch):
2513         Add debugging messages.
2514         Make internal methods static.
2515         Handle the case where the bus is flushed in the handler.
2516         
2517         * gst/gstelement.c: (gst_element_get_bus):
2518         Fix refcount in _get_bus();
2519
2520         * gst/gstpipeline.c: (gst_pipeline_change_state),
2521         (gst_pipeline_get_clock_func):
2522         Clock refcounting fixes.
2523         Handle the case where preroll timed out more gracefully.
2524         
2525         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2526         Clean up the internal thread in dispose. This is needed
2527         for subclasses that actually get disposed.
2528         
2529         * gst/schedulers/threadscheduler.c:
2530         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2531         (gst_thread_scheduler_dispose):
2532         Free thread pool in dispose.
2533
2534 2005-06-28  Andy Wingo  <wingo@pobox.com>
2535
2536         * tests/network-clock-utils.scm (debug, print-event): New utils.
2537
2538         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2539         (*packet-loss*): Unified loss probability.
2540         (network-time): Report out-of-band events.
2541
2542         * tests/plot-data: Add support for out-of-band events. Hack it
2543         into this script instead of passing it down the pipe; should fix
2544         this later.
2545
2546 2005-06-28  Wim Taymans  <wim@fluendo.com>
2547
2548         * docs/gst/gstreamer.types:
2549         * docs/gst/tmpl/gstbasesrc.sgml:
2550         * docs/gst/tmpl/gstpad.sgml:
2551         Docs fixes.
2552
2553 2005-06-28  Wim Taymans  <wim@fluendo.com>
2554
2555         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2556         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2557         (gst_proxy_pad_do_fixatecaps):
2558         Correctly proxy the check_pull_range function.
2559
2560 2005-06-28  Andy Wingo  <wingo@pobox.com>
2561
2562         * tests/network-clock.scm: Removed need for slib.
2563         
2564 2005-06-28  Wim Taymans  <wim@fluendo.com>
2565
2566         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2567         (gst_basesink_preroll_queue_flush):
2568         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2569         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2570         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2571         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2572         (gst_proxy_pad_set_property):
2573         * gst/gstpad.c:
2574         * gst/gstpad.h:
2575         * gst/gstqueue.c: (gst_queue_init):
2576         The deprecated pad loop function is removed now.
2577
2578 2005-06-28  Andy Wingo  <wingo@pobox.com>
2579
2580         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2581         New parameters, simulate network packet loss.
2582
2583         * tests/network-clock-utils.scm: Initialize the RNG.
2584
2585 2005-06-28  Wim Taymans  <wim@fluendo.com>
2586
2587         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2588         (gst_basesink_event), (gst_basesink_deactivate):
2589         Flushing the preroll queue always needs to unlock the waiters.
2590
2591 2005-06-28  Edward Hervey  <edward@fluendo.com>
2592
2593         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2594         Wheen a seek was successful on a pipeline, set the stream_time to the
2595         seek offset in order to have a synchronized stream_time.
2596
2597 2005-06-28  Wim Taymans  <wim@fluendo.com>
2598
2599         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2600         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2601         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2602         (gst_proxy_pad_do_fixatecaps):
2603         Call wrapper function instead of just calling the function
2604         pointers. This takes care of any locking and whatmore.
2605
2606 2005-06-28  Wim Taymans  <wim@fluendo.com>
2607
2608         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2609         (gst_pad_pull_range):
2610         * gst/gstpad.h:
2611         CONNECTED -> LINKED.
2612
2613 2005-06-28  Andy Wingo  <wingo@pobox.com>
2614
2615         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2616         source-munging commit!!!
2617
2618         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2619         (gst_object_sink): Take gpointer arguments, not GstObject --
2620         avoids casts. Like GLib.
2621
2622         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2623         activate.
2624
2625 2005-06-27  Andy Wingo  <wingo@pobox.com>
2626
2627         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2628         remaining buffer.
2629
2630         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2631         returns a sorted copy of the trace list.
2632         (gst_alloc_trace_print_live): New API, only prints traces with
2633         live objects. Sort the list.
2634         (gst_alloc_trace_print_all): Sort the list.
2635         (gst_alloc_trace_print): Align columns.
2636
2637         * gst/elements/gstttypefindelement.c:
2638         * gst/elements/gsttee.c:
2639         * gst/base/gstbasesrc.c:
2640         * gst/base/gstbasesink.c:
2641         * gst/base/gstbasetransform.c:
2642         * gst/gstqueue.c: Adapt for pad activation changes.
2643
2644         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2645         sched.
2646         (gst_pipeline_dispose): Drop ref on sched.
2647
2648         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2649         (gst_pad_activate_default): Push mode by default.
2650         (pre_activate_switch, post_activate_switch): New stubs, things to
2651         do before and after switching activation modes on pads.
2652         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2653         the pad's activate function to choose which mode to activate.
2654         Shortcut on deactivation and call the right function directly.
2655         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2656         mode.
2657         (gst_pad_activate_push): New API, same for push mode.
2658         (gst_pad_set_activate_function) 
2659         (gst_pad_set_activatepull_function) 
2660         (gst_pad_set_activatepush_function): Setters for new API.
2661
2662         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2663         Trace all miniobjects.
2664         (gst_mini_object_make_writable): Unref the arg if we copy, like
2665         gst_caps_make_writable.
2666
2667         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2668
2669         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2670         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2671         Adapt for new pad API.
2672
2673         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2674
2675         * gst/gstelement.h:
2676         * gst/gstelement.c (gst_element_iterate_src_pads) 
2677         (gst_element_iterate_sink_pads): New API functions.
2678         
2679         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2680         should fold into gstiterator.c in some form.
2681         (gst_element_pads_activate): Simplified via use of fold and
2682         delegation of decisions to gstpad->activate.
2683
2684         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2685         help in debugging.
2686
2687         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2688         class once in init, like gstmessage. Didn't run into this issue
2689         but it seems correct. Don't initialize a trace, gstminiobject does
2690         that.
2691
2692         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2693         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2694         to the bus.
2695         (assert_live_count): New util function, uses alloc traces to check
2696         cleanup.
2697
2698         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2699         To be modified when unlink drops the internal pad.
2700
2701 2005-06-27  Wim Taymans  <wim@fluendo.com>
2702
2703         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2704         (gst_bin_change_state):
2705         Cleanup the get_state() function a little, make sure it
2706         iterates the same set of elements.
2707         Added stub iterate_state_order().
2708
2709 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2710
2711         * docs/gst/gstreamer-docs.sgml:
2712         * docs/gst/gstreamer-sections.txt:
2713         * docs/gst/gstreamer.types:
2714         * docs/gst/tmpl/gstbasesink.sgml:
2715         * docs/gst/tmpl/gstbasesrc.sgml:
2716         * docs/gst/tmpl/gstbasetransform.sgml:
2717         * docs/gst/tmpl/gstelement.sgml:
2718         * docs/gst/tmpl/gstiterator.sgml:
2719         * gst/base/gstbasesrc.c:
2720         * gst/base/gstbasesrc.h:
2721         * gst/base/gstbasetransform.h:
2722         * gst/gstelement.c:
2723         * gst/gstiterator.h:
2724           adding basetransform and iterator docs
2725
2726 2005-06-27  Andy Wingo  <wingo@pobox.com>
2727
2728         * docs/design/part-activation.txt: Notes on how activation should
2729         work -- not quite implemented yet.
2730
2731 2005-06-25  Wim Taymans  <wim@fluendo.com>
2732
2733         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2734         At least get the chain function correct, needs more
2735         fixing.
2736
2737 2005-06-25  Wim Taymans  <wim@fluendo.com>
2738
2739         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2740         (gst_basesink_handle_object), (gst_basesink_event),
2741         (gst_basesink_do_sync), (gst_basesink_handle_event),
2742         (gst_basesink_change_state):
2743         * gst/gsttask.h:
2744         Right, two problems here: ghostpads don't take locks and
2745         glib _rec_mutex_lock_full() with depth==0 still locks.
2746         Catch illegal locking and g_warn them.
2747
2748 2005-06-25  Wim Taymans  <wim@fluendo.com>
2749
2750         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2751         Have to check for completion now...
2752
2753 2005-06-25  Wim Taymans  <wim@fluendo.com>
2754
2755         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2756         (gst_basesink_handle_object), (gst_basesink_event),
2757         (gst_basesink_do_sync), (gst_basesink_handle_event),
2758         (gst_basesink_change_state):
2759         * gst/gstpad.h:
2760         Unlock STREAM_LOCK whatever the recursion was.
2761
2762 2005-06-25  Wim Taymans  <wim@fluendo.com>
2763
2764         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2765         (gst_basesink_preroll_queue_empty),
2766         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2767         (gst_basesink_event), (gst_basesink_do_sync),
2768         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2769         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2770         (gst_basesink_change_state):
2771         Reworked the base sink, handle event and buffer serialisation
2772         correctly and removed possible deadlock.
2773         Handle EOS correctly.
2774
2775 2005-06-25  Wim Taymans  <wim@fluendo.com>
2776
2777         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2778         (gst_pipeline_change_state):
2779         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2780         Allow elements to post EOS in the state change function.
2781         Fix up -launch, make it exit the poll loop when the
2782         pipeline actually changed state.
2783         Fix up warning parsing in -launch.
2784
2785 2005-06-25  Wim Taymans  <wim@fluendo.com>
2786
2787         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2788         (gst_tee_sink_activate):
2789         Core takes STREAM_LOCK for us now.
2790
2791 2005-06-25  Wim Taymans  <wim@fluendo.com>
2792
2793         * gst/gstelement.c: (gst_element_get_state_func),
2794         (gst_element_set_state):
2795         * gst/gstelement.h:
2796         * gst/gstmessage.c: (gst_message_parse_error),
2797         (gst_message_parse_warning):
2798         Keep track of current target state while performing a state
2799         change so that subclasses can do something interesting.
2800         Fix parsing of warning/error messages when GError is NULL.
2801
2802 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2803
2804         * docs/gst/Makefile.am:
2805         * docs/gst/gstreamer-docs.sgml:
2806         * docs/gst/gstreamer-sections.txt:
2807         * docs/gst/gstreamer.types:
2808         * docs/gst/tmpl/gstbasesink.sgml:
2809         * docs/gst/tmpl/gstbasesrc.sgml:
2810         * docs/gst/tmpl/gstbin.sgml:
2811         * docs/gst/tmpl/gstcompat.sgml:
2812         * docs/gst/tmpl/gstfakesink.sgml:
2813         * docs/gst/tmpl/gstfakesrc.sgml:
2814         * docs/gst/tmpl/gstfilesink.sgml:
2815         * docs/gst/tmpl/gstfilesrc.sgml:
2816         * docs/gst/tmpl/gstindex.sgml:
2817         * docs/manual/appendix-quotes.xml:
2818         * gst/base/gstbasesrc.h:
2819         * gst/elements/gstfakesrc.h:
2820         * gst/gstmessage.h:
2821           start pulling in base classes and elements in our docs
2822
2823 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2824
2825         * docs/gst/Makefile.am:
2826         * docs/libs/Makefile.am:
2827           fixed make distcheck with gtk-doc 1.3
2828
2829 2005-06-23  Wim Taymans  <wim@fluendo.com>
2830
2831         * gst/gstelement.c: (gst_element_get_state_func),
2832         (gst_element_set_state), (gst_element_change_state):
2833         When the state did not change, also report NO_PREROLL
2834         when it matters.
2835
2836 2005-06-23  Wim Taymans  <wim@fluendo.com>
2837
2838         * gst/gstpad.c: (gst_pad_event_default):
2839         * gst/gstqueue.c: (gst_queue_loop):
2840         No unsafe task pausing please.
2841
2842 2005-06-23  Wim Taymans  <wim@fluendo.com>
2843
2844         * gst/schedulers/threadscheduler.c:
2845         (gst_thread_scheduler_task_start),
2846         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2847         Ref the task before pushing it on the threadpool. This
2848         makes sure that we have a ref when the threadfunction is
2849         actually called.
2850
2851 2005-06-23  Andy Wingo  <wingo@pobox.com>
2852
2853         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2854         offset is greater than the file's size.
2855
2856         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2857         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2858         * gst/gstobject.c (gst_object_class_init): Make the class lock
2859         recursive. Wim won't let me drop deep_notify. Decodebin works
2860         again, whoopdy doo.
2861
2862         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2863         internal pad, and hacks accordingly. Doesn't do it on the target
2864         pad because we change its caps. Probably catches all cases of
2865         interest tho.
2866         (gst_ghost_pad_set_property): Connect to notify::caps as
2867         appropritate.
2868
2869         * tests/network-clock.scm (plot-simulation): Pipe data to the
2870         elite python skript.
2871
2872         * tests/network-clock-utils.scm (define-parameter): New macro,
2873         defines a parameter that can be set via the command line.
2874         (set-parameter!, parse-parameter-arguments): Command line args
2875         parser.
2876
2877         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2878         stdin.
2879
2880 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2881
2882         * gst/elements/gsttypefindelement.c:
2883         (gst_type_find_element_handle_event):
2884           Don't restart typefinding on a discont.
2885         * gst/gstelement.c: (gst_element_set_state):
2886           Debug spelling fix.
2887         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2888           Allow changing mode of an active pad.
2889           Debug output fixes.
2890         * gst/registries/gstlibxmlregistry.c: (load_feature):
2891           Don't cast a static pad template to a normal pad template.
2892
2893 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2894
2895         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2896         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2897           remove gst_strtoll completely, since it didn't actually do
2898           anything more than what g_ascii_strtoull already does.
2899           check for range errors when deserializing
2900           do a cast for the unsigned cases; but further fixing needs
2901           a decision on what the interpretation of "(int)" and
2902           deserialization should be for values that fall outside the
2903           type's boundaries (ie, refuse, or interpret as casting)
2904
2905 2005-06-23  Wim Taymans  <wim@fluendo.com>
2906
2907         * check/Makefile.am:
2908         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2909         * docs/design/part-live-source.txt:
2910         * docs/design/part-states.txt:
2911         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2912         (gst_basesrc_set_live), (gst_basesrc_is_live),
2913         (gst_basesrc_get_range), (gst_basesrc_activate),
2914         (gst_basesrc_change_state):
2915         * gst/base/gstbasesrc.h:
2916         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2917         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2918         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2919         * gst/gstelement.c: (gst_element_get_state_func),
2920         (gst_element_set_state):
2921         * gst/gstelement.h:
2922         * gst/gsttypes.h:
2923         * tools/gst-launch.c: (event_loop), (main):
2924         Added support for live sources and other elements that
2925         cannot do preroll.
2926         Updated design docs, added live-source design doc.
2927         Implemented live source functionality in basesrc
2928         Fix error condition in _bin_get_state()
2929         Implement live source handling in -launch.
2930         Added check for live sources.
2931         Fixed case in GstBin where elements were changed state
2932         multiple times.
2933
2934
2935 2005-06-23  Andy Wingo  <wingo@pobox.com>
2936
2937         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2938         borken refcounting.
2939
2940         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2941         gst_caps_replace takes care of this for us.
2942
2943         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2944         gst_pad_set_caps on the target, not just its setcaps() function.
2945
2946         * tests/network-clock.scm: 
2947         * tests/network-clock-utils.scm: A network clock simulator.
2948         Something of an algorithmic testbed before doing something in C.
2949
2950 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2951
2952         * check/Makefile.am:
2953         * check/gst/capslist.h:
2954           copy over from 0.8, and add two with bitmasks specified with
2955           (int) 0xFF...
2956         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2957           add test to parse everything from capslist.h
2958         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2959         (main):
2960           add test for structure deserialization
2961         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2962           add tests for deserialization of strings to int types
2963         * gst/gststructure.c: (gst_structure_nth_field_name):
2964         * gst/gststructure.h:
2965           add a way to get the name of a field referenced by index
2966         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2967           instead of checking if the resulting long long lies between
2968           min and max, we check if the long long would fit into
2969           a number of bytes for the final type.
2970           This fixes cases where a string represents 2^32 - 1, which
2971           when cast to int would be the (valid) -1, but is bigger than
2972           G_MAXINT
2973
2974 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2975
2976         * gst/parse/grammar.y:
2977           add a log line for type deserialization
2978
2979 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2980
2981         * check/gst/gstvalue.c: (START_TEST):
2982         * gst/gstvalue.c: (gst_value_deserialize):
2983           return long long, not int, so gint64 deserialization actually
2984           works.  Is there any flag that makes the compiler check this ?
2985           Fixes #308559
2986
2987 2005-06-22  Wim Taymans  <wim@fluendo.com>
2988
2989         * gst/gstbuffer.h:
2990         Added convenience macros for setting buffers in GValue.
2991
2992 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2993
2994         * check/gst/.cvsignore:
2995         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2996           add a test deserializing int64, and comment part out because
2997           it fails, yay !
2998
2999 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3000
3001         * check/Makefile.am:
3002         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
3003         * testsuite/Makefile.am:
3004         * testsuite/caps/Makefile.am:
3005         * testsuite/caps/value_serialize.c:
3006         * testsuite/test_gst_init.c:
3007           move a value_serialize test over
3008
3009 2005-06-20  Wim Taymans  <wim@fluendo.com>
3010
3011         * gst/gstpad.c:
3012         Small doc updates.
3013         
3014         * gst/gstvalue.c: (gst_value_compare_buffer),
3015         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
3016         (gst_value_compare_flags), (gst_value_serialize_flags),
3017         (gst_value_deserialize_flags), (_gst_value_initialize):
3018         Fix serialisation of buffers, they are not boxed types anymore
3019
3020 2005-06-20  Wim Taymans  <wim@fluendo.com>
3021
3022         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3023         Testcase to show error in buffer-on-caps serialisation.
3024
3025 2005-06-20  Andy Wingo  <wingo@pobox.com>
3026
3027         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
3028         will be adding to later.
3029
3030         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
3031         if its socks fill with rocks.
3032         (gst_system_clock_obtain): Set the name on object construction.
3033         Avoid double-checked locking.
3034
3035 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
3036
3037         * gst/gsturi.c: (gst_element_make_from_uri):
3038           Fix potential endless loop.
3039
3040 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3041
3042         * check/Makefile.am:
3043           add gsttag
3044         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
3045         (main):
3046           move over from testsuite dir and clean up
3047         * configure.ac:
3048         * gst/gsttag.c:
3049         * testsuite/Makefile.am:
3050         * testsuite/tags/.cvsignore:
3051         * testsuite/tags/Makefile.am:
3052         * testsuite/tags/merge.c:
3053           remove testsuite/tags
3054
3055 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3056
3057         * docs/gst/gstreamer-sections.txt:
3058         * docs/gst/tmpl/gstenumtypes.sgml:
3059         * win32/gstenumtypes.c:
3060           clean up documentation build a little
3061
3062 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3063
3064         * check/gstcheck.h:
3065           add macros for checking refcounts on objects and caps
3066         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3067           add some more unit tests
3068         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3069         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3070           fix leaked refcounts (I hope :)) so unittest works
3071         * gst/gstpad.h:
3072           whitespace removal
3073
3074 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3075
3076         * configure.ac: back to HEAD
3077
3078 === release 0.9.1 ===
3079
3080 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3081
3082         * NEWS:
3083         * RELEASE:
3084           updated
3085
3086 2005-06-17  Andy Wingo  <wingo@pobox.com>
3087
3088         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3089         assert; it's always possible that the pad gets deactivated in
3090         between the checks in gstpad.c and the implementation. Rely on
3091         finish_preroll() to return a FLUSHING or similar instead of on the
3092         assert.
3093         
3094         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3095         clock and post an EOS message if we come out of finish_preroll in
3096         the playing state.
3097
3098 2005-06-16  David Schleef  <ds@schleef.org>
3099
3100         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3101         (gst_capsfilter_set_property): Allow NULL as possible value
3102         for filter_caps property, indicating GST_CAPS_ANY.
3103
3104 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3105
3106         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3107           fix debug output
3108         * gst/schedulers/Makefile.am:
3109           use libgst prefix
3110         * gstreamer.spec.in:
3111           fix spec for it
3112
3113 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3114
3115         * gstreamer.spec.in:
3116           clean up
3117
3118 2005-06-08  Andy Wingo  <wingo@pobox.com>
3119
3120         * gst/gstutils.c: RPAD fixes all around.
3121         (gst_element_link_pads): Refcounting fixes.
3122
3123         * tools/gst-inspect.c:
3124         * tools/gst-xmlinspect.c:
3125         * parse/grammar.y:
3126         * gst/base/gsttypefindhelper.c:
3127         * gst/base/gstbasesink.c:
3128         * gst/gstqueue.c: RPAD fixes.
3129
3130         * gst/gstghostpad.h:
3131         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3132         pads. The tricky thing is they provide both source and sink
3133         interfaces, since they proxy the internal pad for the external
3134         pad, and vice versa. Implement with lower-level ProxyPad objects,
3135         with the interior proxy pad as a child of the exterior ghost pad.
3136         Should write a doc on this.
3137         
3138         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3139         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3140         gst_object API.
3141         
3142         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3143         pads are real pads. No ghost pads in this file. Not documenting
3144         the myriad s/RPAD/PAD/ and REALIZE fixes.
3145         (gst_pad_class_init): Add properties for "direction" and
3146         "template". Both are construct-only, so they can't change during
3147         the life of the pad. Fixes properly deriving from GstPad.
3148         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3149         derived objects, just set properties when creating the objects via
3150         g_object_new.
3151         (gst_pad_get_parent): Implement as a function, return NULL if the
3152         parent is not an element.
3153         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3154         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3155         
3156         * gst/gstobject.c (gst_object_class_init): Make name a construct
3157         property. Don't set it in the object init.
3158
3159         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3160         with UNKNOWN direction.
3161         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3162         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3163         (gst_element_remove_pad): Remove ghost-pad special cases.
3164         (gst_element_pads_activate): Remove rpad cruft.
3165
3166         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3167         catch the pad's-parent-not-an-element case.
3168
3169         * gst/gst.h: Include gstghostpad.h.
3170
3171         * gst/gst.c (init_post): No more real, ghost pads.
3172
3173         * gst/Makefile.am: Add gstghostpad.[ch].
3174
3175         * check/Makefile.am:
3176         * check/gst/gstbin.c:
3177         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3178         into a bin creates ghost pads, and that the refcounts are right.
3179         Partly moved from gstbin.c.
3180
3181 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3182
3183         * check/gst-libs/.cvsignore:
3184         * check/gst/.cvsignore:
3185         * check/pipelines/.cvsignore:
3186           ignore more
3187         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3188         (START_TEST), (cleanup_suite), (main):
3189           add some tests related to cleanup after running pipelines
3190
3191 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3192
3193         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3194           add a testsuite for GstBuffer
3195
3196 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3197
3198         * gst/gstminiobject.h:
3199           add defines for accessing the refcount
3200
3201 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3202
3203         * Makefile.am: added support for html unit test coverage reports
3204
3205 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3206
3207         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3208           Free existing caps if the capsfilter changes. Add a FIXME about
3209           setting those caps on the pads.
3210
3211         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3212           Before adding a ghost pad to a parent bin, check that there isn't
3213           already one for the element on the bin. Prevents infinite recursion
3214           when using decodebin in parse pipelines. Andy says he'll rewrite the
3215           way this works anyway, so ignore the hack.
3216
3217 2005-06-02  Andy Wingo  <wingo@pobox.com>
3218
3219         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3220         file size, pass it on to the type find helper.
3221
3222         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3223         segment_start and segment_end properly according to the seek
3224         method. Segment_end is still a bit flaky because offset can be
3225         negative for CUR and END cases, but it takes -1 as an "unset"
3226         value.
3227
3228 2005-06-02  Wim Taymans  <wim@fluendo.com>
3229
3230         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3231         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3232         (gst_basesink_activate):
3233         * gst/base/gstbasesink.h:
3234         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3235         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3236         (gst_pad_query), (gst_pad_start_task):
3237         * gst/gstpad.h:
3238         * gst/gstqueue.c: (gst_queue_bufferalloc),
3239         (gst_queue_handle_sink_event), (gst_queue_chain):
3240         Bufferalloc: return GstFlowReturn to more accuratly report
3241         why allocation failed.
3242
3243 2005-06-02  Wim Taymans  <wim@fluendo.com>
3244
3245         * gst/gstpipeline.c: (gst_pipeline_send_event):
3246         Take snapshot of state without blocking.
3247
3248 2005-06-02  Wim Taymans  <wim@fluendo.com>
3249
3250         * docs/design/part-TODO.txt:
3251         * docs/design/part-caps.txt:
3252         * docs/design/part-clocks.txt:
3253         * docs/design/part-negotiation.txt:
3254         * docs/design/part-preroll.txt:
3255         Small doc updates 
3256
3257 2005-05-30  Wim Taymans  <wim@fluendo.com>
3258
3259         * gst/elements/gstidentity.c: (gst_identity_event),
3260         (gst_identity_transform), (gst_identity_get_property):
3261         Protect last_message property as it is accessed from
3262         multiple threads.
3263
3264 2005-05-30  Wim Taymans  <wim@fluendo.com>
3265
3266         * gst/gstelement.c: (gst_element_init),
3267         (gst_element_pads_activate), (gst_element_change_state):
3268         Slicker pad activation code.
3269
3270 2005-05-30  Wim Taymans  <wim@fluendo.com>
3271
3272         * gst/Makefile.am:
3273         * gst/gstelement.h:
3274         * gst/gstelementfactory.h:
3275         * gst/gsttypes.h:
3276         Move elementfactory methods to separate .h file.
3277
3278 2005-05-30  Wim Taymans  <wim@fluendo.com>
3279
3280         * docs/design/part-overview.txt:
3281         * gst/gstsystemclock.h:
3282         Small typo fixes, doc updates.
3283
3284 2005-05-30  Wim Taymans  <wim@fluendo.com>
3285
3286         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3287         (init_popt_callback):
3288         Remove cpu-opt flag.
3289
3290 2005-05-30  Wim Taymans  <wim@fluendo.com>
3291
3292         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3293         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3294         * gst/gstbuffer.h:
3295         Avoid typechecking in places where not needed.
3296         Added accessor for malloc_data.
3297
3298 2005-05-30  Wim Taymans  <wim@fluendo.com>
3299
3300         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3301         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3302         (gst_pad_configure_sink), (gst_pad_configure_src),
3303         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3304         (gst_pad_start_task):
3305         Propagate errors from _set_caps() in configure_src/sink
3306         functions instead of returning TRUE.
3307         FLUSH events can travel up and downstream
3308
3309
3310 2005-05-30  Wim Taymans  <wim@fluendo.com>
3311
3312         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3313         (gst_basesink_activate):
3314         Handle EOS in preroll.
3315
3316 2005-05-30  Wim Taymans  <wim@fluendo.com>
3317
3318         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3319         (gst_queue_loop), (gst_queue_handle_src_event):
3320         Remove old pieces of code
3321         Flushing the queue in an upstream event is a very bad idea.
3322
3323 2005-05-26  Andy Wingo  <wingo@pobox.com>
3324
3325         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3326         gst_value_set_mini_object so as to add a ref on the object (which
3327         will be removed when the value is unset).
3328
3329         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3330         arg type in ::handoff.
3331
3332         * gst/gstelement.c (gst_element_change_state): Also deactivate
3333         pads in READY->NULL, just in case the element didn't make it to
3334         PAUSED. Wingo tested, Wim approved.
3335
3336 2005-05-26  Wim Taymans  <wim@fluendo.com>
3337
3338         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3339         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3340         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3341         A flushing pad cannot be used to alloc_buffer from.
3342
3343 2005-05-26  Wim Taymans  <wim@fluendo.com>
3344
3345         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3346         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3347         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3348         (gst_bus_create_watch), (gst_bus_add_watch_full):
3349         * gst/gstbus.h:
3350         Implement a real GSource and use g_main_context_wakeup() to
3351         signal new messages instead of the socketpair.
3352
3353 2005-05-25  Wim Taymans  <wim@fluendo.com>
3354
3355         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3356         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3357         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3358         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3359         (gst_pad_send_event), (gst_pad_start_task):
3360         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3361         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3362         (gst_queue_sink_activate), (gst_queue_src_activate),
3363         (gst_queue_change_state):
3364         * gst/gstqueue.h:
3365         Fix state changes for non sinks. We now change sinks, then elements
3366         with unconnected srcpads, then the rest.
3367         More efficient queue unlocking in flush and state changes.
3368         Set the pad activate mode even if it does not have an activate
3369         function.
3370
3371 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3372
3373         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3374           Don't go in pull mode for non-seekable sources.
3375         * gst/elements/gsttypefindelement.h:
3376         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3377         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3378         (free_entry), (stop_typefinding),
3379         (gst_type_find_element_handle_event), (find_peek),
3380         (gst_type_find_element_chain), (do_pull_typefind),
3381         (gst_type_find_element_change_state):
3382           Allow typefinding (w/o seeking) in push-mode, simplified version
3383           of what was in 0.8.
3384         * gst/gstutils.c: (gst_buffer_join):
3385         * gst/gstutils.h:
3386           gst_buffer_join() from 0.8.
3387
3388 2005-05-25  Wim Taymans  <wim@fluendo.com>
3389
3390         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3391         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3392         (gst_pad_send_event), (gst_pad_start_task):
3393         Disable attempt at mode switching until it is figured out.
3394
3395 2005-05-25  Wim Taymans  <wim@fluendo.com>
3396
3397         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3398         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3399         (gst_basesink_finish_preroll), (gst_basesink_chain),
3400         (gst_basesink_loop), (gst_basesink_activate),
3401         (gst_basesink_change_state):
3402         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3403         (gst_basesrc_get_range), (gst_basesrc_loop),
3404         (gst_basesrc_activate):
3405         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3406         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3407         (gst_real_pad_init), (gst_real_pad_set_property),
3408         (gst_real_pad_get_property), (gst_pad_set_active),
3409         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3410         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3411         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3412         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3413         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3414         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3415         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3416         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3417         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3418         (gst_pad_stop_task):
3419         * gst/gstpad.h:
3420         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3421         (gst_queue_loop), (gst_queue_src_activate):
3422         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3423         (gst_task_get_state):
3424         * gst/gsttask.h:
3425         * gst/schedulers/threadscheduler.c:
3426         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3427         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3428         in task function.
3429         Remove ACTIVE pad flag, use FLUSHING everywhere
3430         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3431         functions.
3432         Add locks around IS_FLUSHING when reading.
3433         Take STREAM lock in chain(), get_range() functions so plugins
3434         don't need to take it anymore.
3435         
3436
3437
3438 2005-05-25  Wim Taymans  <wim@fluendo.com>
3439
3440         * tools/gst-launch.c: (event_loop):
3441         Unref message after using its contents instead of
3442         before.
3443
3444 2005-05-24  Wim Taymans  <wim@fluendo.com>
3445
3446         * docs/design/draft-ghostpads.txt:
3447         * docs/design/draft-push-pull.txt:
3448         * docs/design/draft-query.txt:
3449         * docs/design/part-overview.txt:
3450         Docs updates, added general overview doc.
3451
3452 2005-05-21  David Schleef  <ds@schleef.org>
3453
3454         * docs/gst/tmpl/old/GstBin.sgml:
3455         * docs/gst/tmpl/old/GstBuffer.sgml:
3456         * docs/gst/tmpl/old/GstCaps.sgml:
3457         * docs/gst/tmpl/old/GstClock.sgml:
3458         * docs/gst/tmpl/old/GstCompat.sgml:
3459         * docs/gst/tmpl/old/GstData.sgml:
3460         * docs/gst/tmpl/old/GstElement.sgml:
3461         * docs/gst/tmpl/old/GstEvent.sgml:
3462         * docs/gst/tmpl/old/GstIndex.sgml:
3463         * docs/gst/tmpl/old/GstStructure.sgml:
3464         * docs/gst/tmpl/old/GstTag.sgml:
3465         * docs/gst/tmpl/old/cothreads.sgml:
3466         * docs/gst/tmpl/old/cothreads_compat.sgml:
3467         * docs/gst/tmpl/old/gettext.sgml:
3468         * docs/gst/tmpl/old/gobject2gtk.sgml:
3469         * docs/gst/tmpl/old/grammar.tab.sgml:
3470         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3471         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3472         * docs/gst/tmpl/old/gst_private.sgml:
3473         * docs/gst/tmpl/old/gstaggregator.sgml:
3474         * docs/gst/tmpl/old/gstarch.sgml:
3475         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3476         * docs/gst/tmpl/old/gstbufferstore.sgml:
3477         * docs/gst/tmpl/old/gstdata_private.sgml:
3478         * docs/gst/tmpl/old/gstdisksink.sgml:
3479         * docs/gst/tmpl/old/gstdisksrc.sgml:
3480         * docs/gst/tmpl/old/gstelementfactory.sgml:
3481         * docs/gst/tmpl/old/gstextratypes.sgml:
3482         * docs/gst/tmpl/old/gstfakesink.sgml:
3483         * docs/gst/tmpl/old/gstfakesrc.sgml:
3484         * docs/gst/tmpl/old/gstfdsink.sgml:
3485         * docs/gst/tmpl/old/gstfdsrc.sgml:
3486         * docs/gst/tmpl/old/gstfilesink.sgml:
3487         * docs/gst/tmpl/old/gstfilesrc.sgml:
3488         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3489         * docs/gst/tmpl/old/gstidentity.sgml:
3490         * docs/gst/tmpl/old/gstindexfactory.sgml:
3491         * docs/gst/tmpl/old/gstmarshal.sgml:
3492         * docs/gst/tmpl/old/gstmd5sink.sgml:
3493         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3494         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3495         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3496         * docs/gst/tmpl/old/gstpipefilter.sgml:
3497         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3498         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3499         * docs/gst/tmpl/old/gstshaper.sgml:
3500         * docs/gst/tmpl/old/gstspider.sgml:
3501         * docs/gst/tmpl/old/gstspideridentity.sgml:
3502         * docs/gst/tmpl/old/gststatistics.sgml:
3503         * docs/gst/tmpl/old/gsttee.sgml:
3504         * docs/gst/tmpl/old/gsttimecache.sgml:
3505         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3506         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3507         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3508         * docs/gst/tmpl/old/types.sgml:
3509           I didn't intend to add these or check them in.
3510
3511 2005-05-19  David Schleef  <ds@schleef.org>
3512
3513         * configure.ac: Use -no-common everywhere.  In a sane world, it
3514           would be the default in libtool, because without it, you can't
3515           build DLLs on Windows.
3516         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3517         * docs/gst/gstreamer-sections.txt:
3518         * docs/gst/tmpl/gstcpu.sgml:
3519         * docs/gst/tmpl/gstdata.sgml:
3520         * docs/gst/tmpl/gstthread.sgml:
3521
3522 2005-05-19  David Schleef  <ds@schleef.org>
3523
3524         * gst/gstminiobject.c: (gst_value_set_mini_object),
3525         (gst_value_take_mini_object), (gst_value_get_mini_object):
3526         * gst/gstminiobject.h: Add GValue set/get functions.
3527
3528 2005-05-19  Wim Taymans  <wim@fluendo.com>
3529
3530         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3531         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3532         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3533         * gst/gstbuffer.h:
3534         * gst/gstbus.c: (gst_bus_post):
3535         * gst/gstelement.c: (gst_element_get_random_pad):
3536         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3537         Make subbufer unref the parent in finalize.
3538         some more debugging info.
3539
3540
3541 2005-05-19  Wim Taymans  <wim@fluendo.com>
3542
3543         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3544         (gst_basesink_init), (gst_basesink_finalize),
3545         (gst_basesink_activate), (gst_basesink_change_state):
3546         Don't free preroll queue too early.
3547
3548 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3549
3550         * gst/Makefile.am:
3551         * gst/ROADMAP:
3552           Hi, I'm outdated. Please shoot me.
3553
3554 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3555
3556         * gst/gstpipeline.c: (gst_pipeline_send_event):
3557           Do not access variables after they have been deleted.
3558
3559 2005-05-19  Wim Taymans  <wim@fluendo.com>
3560
3561         * tools/gst-inspect.c: (print_plugin_features):
3562         A plugin feature does unfortunatly not use the
3563         object name yet...
3564
3565 2005-05-18  Wim Taymans  <wim@fluendo.com>
3566
3567         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3568         Port _span() functions to new subbuffers.
3569
3570 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3571
3572         * gst/gstbin.c: (gst_bin_add_func):
3573           Fix clock settery in bins when adding kids after the clock has
3574           been selected.
3575
3576 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3577
3578         * gst/elements/gstidentity.c: (gst_identity_class_init):
3579           Workaround until signals support GstMiniObject.
3580
3581 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3582
3583         * gst/gstbuffer.c:
3584         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3585
3586 2005-05-18  Wim Taymans  <wim@fluendo.com>
3587
3588         * gst/base/Makefile.am:
3589         * gst/base/gstadapter.c: (gst_adapter_base_init),
3590         (gst_adapter_class_init), (gst_adapter_init),
3591         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3592         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3593         (gst_adapter_flush), (gst_adapter_available),
3594         (gst_adapter_available_fast):
3595         * gst/base/gstadapter.h:
3596         Ported and added adapter to the base classes.
3597
3598 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3599
3600         * gst/gst.c:
3601         * gst/gstmessage.c:
3602           Make sure the class is reffed/unreffed once before threads can be
3603           used.  Fixes #304551.
3604
3605 2005-05-17  Wim Taymans  <wim@fluendo.com>
3606
3607         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3608         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3609         * gst/gstminiobject.c: (gst_mini_object_get_type),
3610         (gst_mini_object_free):
3611         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3612         (gst_pad_push), (gst_pad_push_event):
3613         * gst/gstqueue.c: (gst_queue_change_state):
3614         Don't queue buffers in basesink when we are flushing.
3615         Unref buffer when flushing in basesink.
3616         Flush queue when going to READY
3617         Unref buffer when _push() returns an error.
3618         Don't free MiniObject instance when refcount is incremented
3619         in _finalize() so that we can recover objects.
3620
3621 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3622
3623         * docs/manual/advanced-schedulers.xml:
3624         * docs/manual/appendix-checklist.xml:
3625         * docs/pwg/advanced-clock.xml:
3626         * docs/pwg/advanced-interfaces.xml:
3627         * docs/pwg/advanced-request.xml:
3628         * docs/pwg/advanced-types.xml:
3629         * docs/pwg/intro-preface.xml:
3630         * examples/plugins/example.c: (gst_example_get_type),
3631         (gst_example_class_init), (gst_example_chain),
3632         (gst_example_set_property), (gst_example_get_property),
3633         (gst_example_change_state), (plugin_init):
3634         * examples/plugins/example.h:
3635           small doc fixes
3636
3637 2005-05-17  Wim Taymans  <wim@fluendo.com>
3638
3639         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3640         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3641         * gst/gstqueue.c: (gst_queue_change_state):
3642         Clear queue when going to READY.
3643         Remove IN_SETCAPS flag too.
3644
3645 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3646
3647         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3648           Remove implicit cast from gboolean to GstElementStateReturn;
3649           make sure we still return failure in paused => ready case if
3650           the parent class fails to change state and our own stop 
3651           vfunc succeeds.
3652
3653 2005-05-17  Wim Taymans  <wim@fluendo.com>
3654
3655         * tools/gst-launch.c: (event_loop):
3656         Message was unreffed too soon.
3657
3658 2005-05-16  Andy Wingo  <wingo@pobox.com>
3659
3660         * gst/gstbin.c (sink_iterator_filter): Err... um...
3661
3662         * check/gst/gstbin.c (test_ghost_pads): New test for the
3663         ghosting-if-elements-not-in-same-bin behavior.
3664
3665 2005-05-16  David Schleef  <ds@schleef.org>
3666
3667         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3668         accessing refcount directly.
3669
3670 2005-05-15  David Schleef  <ds@schleef.org>
3671
3672         * check/Makefile.am: remove GstData checks
3673         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3674         * gst/Makefile.am: add miniobject, remove data
3675         * gst/gst.h: add miniobject, remove data
3676         * gst/gstdata.c: remove
3677         * gst/gstdata.h: remove
3678         * gst/gstdata_private.h: remove
3679         * gst/gsttypes.h: remove GstEvent and GstMessage
3680         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3681         * gst/gstmarshal.list: change BOXED -> OBJECT
3682
3683         Implement GstMiniObject.
3684         * gst/gstminiobject.c:
3685         * gst/gstminiobject.h:
3686
3687         Modify to be subclasses of GstMiniObject.
3688         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3689         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3690         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3691         (gst_subbuffer_get_type), (gst_subbuffer_init),
3692         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3693         (gst_buffer_span):
3694         * gst/gstbuffer.h:
3695         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3696         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3697         (_gst_event_copy), (gst_event_new):
3698         * gst/gstevent.h:
3699         * gst/gstmessage.c: (_gst_message_initialize),
3700         (gst_message_get_type), (gst_message_class_init),
3701         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3702         (gst_message_new), (gst_message_new_error),
3703         (gst_message_new_warning), (gst_message_new_tag),
3704         (gst_message_new_state_changed), (gst_message_new_application):
3705         * gst/gstmessage.h:
3706         * gst/gstprobe.c: (gst_probe_perform),
3707         (gst_probe_dispatcher_dispatch):
3708         * gst/gstprobe.h:
3709         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3710         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3711         (_gst_query_copy), (gst_query_new):
3712
3713         Update elements for GstData -> GstMiniObject changes
3714         * gst/gstquery.h:
3715         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3716         (gst_queue_chain), (gst_queue_loop):
3717         * gst/elements/gstbufferstore.c:
3718         (gst_buffer_store_add_buffer_func),
3719         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3720         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3721         (gst_fakesink_render):
3722         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3723         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3724         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3725         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3726         (gst_filesrc_create_read):
3727         * gst/elements/gstidentity.c: (gst_identity_class_init):
3728         * gst/elements/gsttypefindelement.c:
3729         (gst_type_find_element_src_event), (free_entry_buffers),
3730         (gst_type_find_element_handle_event):
3731         * libs/gst/dataprotocol/dataprotocol.c:
3732         (gst_dp_header_from_buffer):
3733         * libs/gst/dataprotocol/dataprotocol.h:
3734         * libs/gst/dataprotocol/dp-private.h:
3735
3736 2005-05-15  David Schleef  <ds@schleef.org>
3737
3738         * gst/elements/gstelements.c: Don't include headers that were
3739         just removed.
3740
3741 2005-05-15  David Schleef  <ds@schleef.org>
3742
3743         * gst/elements/Makefile.am: Remove some elements that don't
3744         need to be in the core (or even exist at all).
3745         * gst/elements/gstaggregator.c:
3746         * gst/elements/gstaggregator.h:
3747         * gst/elements/gstmd5sink.c:
3748         * gst/elements/gstmd5sink.h:
3749         * gst/elements/gstmultifilesrc.c:
3750         * gst/elements/gstmultifilesrc.h:
3751         * gst/elements/gstpipefilter.c:
3752         * gst/elements/gstpipefilter.h:
3753         * gst/elements/gstshaper.c:
3754         * gst/elements/gstshaper.h:
3755         * gst/elements/gststatistics.c:
3756         * gst/elements/gststatistics.h:
3757         * po/POTFILES.in: Remove above files.
3758
3759 2005-05-14  Andy Wingo  <wingo@pobox.com>
3760
3761         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3762         so as to get the refs right.
3763         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3764         unreffing objects that don't pass the filter.
3765
3766         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3767         gst_element_set_bus.
3768         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3769         normal cases, this will destroy the bus.
3770
3771         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3772         object.
3773
3774         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3775         has no sinks.
3776
3777 2005-05-13  Andy Wingo  <wingo@pobox.com>
3778
3779         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3780         gst_pad_link, call pad_link_maybe_ghosting,
3781         (pad_link_maybe_ghosting): Links pads, making sure that the
3782         elements being linked are in the same bin.
3783         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3784         Helpers for pad_link_maybe_ghosting.
3785
3786 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3787
3788         * configure.ac:
3789           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3790
3791 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3792
3793         * docs/design/part-element-source.txt:
3794           Mention GstPushSrc
3795
3796 2005-05-12  Wim Taymans  <wim@fluendo.com>
3797
3798         * gst/base/gstbasesink.c: (gst_basesink_init),
3799         (gst_basesink_activate):
3800         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3801         (gst_basesrc_is_seekable):
3802         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3803         (bin_element_is_sink), (gst_bin_change_state):
3804         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3805         * gst/gstelement.h:
3806         Identify sinks by their flag to avoid overly complicated
3807         checks (fow now).
3808         Do state changes even for elements not reachable from the
3809         sinks.
3810         BaseSink is a sink now :)
3811         Some more debugging info in the basesrc.
3812
3813
3814 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3815
3816         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3817           Implement _query on a bin, similar to _send_event.
3818
3819 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3820
3821         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3822           Discont event offset format should be GST_FORMAT_BYTES,
3823           not GST_FORMAT_TIME.
3824
3825 2005-05-12  Wim Taymans  <wim@fluendo.com>
3826
3827         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3828         Same fix as Ronald's but without the signal. 
3829
3830 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3831
3832         * gst/gstutils.c: (gst_element_query_position):
3833           No, an element is not a pad.
3834
3835 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3836
3837         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3838         (gst_bin_get_state):
3839           If a child is removed from a bin while we remove the child from
3840           the bin and while we're retrieving its state, signal this to the
3841           get_state function so we abort the wait (instead of waiting for
3842           a timeout) and can immediately re-iterate over all other elements.
3843
3844 2005-05-12  Wim Taymans  <wim@fluendo.com>
3845
3846         * gst/base/Makefile.am:
3847         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3848         (gst_basesrc_start):
3849         * gst/base/gstbasesrc.h:
3850         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3851         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3852         (gst_pushsrc_init), (gst_pushsrc_create):
3853         * gst/base/gstpushsrc.h:
3854         Added is_seekable to BaseSrc
3855         Added simple PushSrc.
3856
3857 2005-05-11  Wim Taymans  <wim@fluendo.com>
3858
3859         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3860         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3861         (gst_element_link_pads), (gst_element_query_position),
3862         (gst_element_query_convert), (intersect_caps_func),
3863         (gst_pad_query_position), (gst_pad_query_convert):
3864         Fix refcounting in utils function.
3865         No point in trying to activate a pad when it's added, it could
3866         be added from the state change function and then we deadlock, the
3867         element has to decide what to do.
3868
3869 2005-05-10  Andy Wingo  <wingo@pobox.com>
3870
3871         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3872         *all* the arguments.
3873
3874         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3875         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3876         lock (according to the docs -- if this is wrong change the docs).
3877
3878         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3879         flush messages in the NULL state.
3880
3881         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3882         message immediately and return.
3883         (gst_bus_set_flushing): New function. If a bus is flushing, it
3884         flushes out any queued messages and immediately unrefs new
3885         messages. This is so when an element goes to NULL, all of the
3886         unhandled messages coming from it can be freed, and their
3887         references to the element dropped. In other words: message source
3888         ref considered harmful :P
3889
3890         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3891         we're finished with it.
3892
3893         * gst/gstmessage.c (gst_message_new_state_changed): 
3894
3895 2005-05-10  Wim Taymans  <wim@fluendo.com>
3896
3897         * gst/gstvalue.c: (gst_value_compare_flags),
3898         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3899         (_gst_value_initialize):
3900         Added flags serialize/deserialize/compare code.
3901
3902 2005-05-09  Andy Wingo  <wingo@pobox.com>
3903
3904         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3905         Intersect the peer's caps with our caps.
3906
3907 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3908
3909         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3910         * gst/elements/gsttypefindelement.c: (find_peek):
3911           Handle negative offsets better. Fixes decodebin.
3912
3913 2005-05-09  Wim Taymans  <wim@fluendo.com>
3914
3915         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3916         (gst_base_transform_event):
3917         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3918         Implement accept_caps.
3919         Fix silly lock/unlock mismatch in base class.
3920
3921 2005-05-09  Wim Taymans  <wim@fluendo.com>
3922
3923         * docs/design/draft-push-pull.txt:
3924         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3925         * gst/elements/gstfilesink.c: (gst_filesink_init),
3926         (gst_filesink_query):
3927         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3928         (gst_type_find_handle_src_query), (find_element_get_length):
3929         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3930         * gst/gstelement.h:
3931         * gst/gstmessage.c:
3932         * gst/gstmessage.h:
3933         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3934         (gst_real_pad_get_caps_unlocked),
3935         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3936         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3937         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3938         (gst_real_pad_dispose), (gst_real_pad_finalize),
3939         (gst_pad_load_and_link), (gst_pad_save_thyself),
3940         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3941         (gst_pad_check_pull_range), (gst_pad_pull_range),
3942         (gst_pad_template_get_type), (gst_pad_template_class_init),
3943         (gst_pad_template_init), (gst_pad_template_dispose),
3944         (name_is_valid), (gst_static_pad_template_get),
3945         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3946         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3947         (gst_pad_get_element_private), (gst_pad_start_task),
3948         (gst_pad_pause_task), (gst_pad_stop_task),
3949         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3950         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3951         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3952         (gst_ghost_pad_new):
3953         * gst/gstpad.h:
3954         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3955         (gst_query_new_position), (gst_query_set_position),
3956         (gst_query_parse_position), (gst_query_new_convert),
3957         (gst_query_set_convert), (gst_query_parse_convert):
3958         * gst/gstquery.h:
3959         * gst/gstqueryutils.c:
3960         * gst/gstqueryutils.h:
3961         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3962         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3963         (gst_queue_handle_src_query):
3964         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3965         (gst_element_query_position), (gst_element_query_convert),
3966         (intersect_caps_func), (gst_pad_query_position),
3967         (gst_pad_query_convert):
3968         * gst/gstutils.h:
3969         * tools/gst-inspect.c: (print_pad_info):
3970         * tools/gst-xmlinspect.c: (print_element_info):
3971         Remove old query functions. Ported old code.
3972         Added position/convert helper functions to gstutils.
3973         Reordered gstpad.c code, grouping relevant things.
3974         Remove gst_message_new(), always need to speficy a specific
3975         message.
3976
3977
3978 2005-05-09  Andy Wingo  <wingo@pobox.com>
3979
3980         * gst/gstiterator.h: Add some includes.
3981
3982         * gst/gstqueryutils.h: Include more headers.
3983
3984         * gst/gstpad.h:
3985         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3986         some uses of gst_pad_query.
3987
3988         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3989         NULL out parameters.
3990         (gst_query_new_position): New proc, allocates a new position
3991         query.
3992
3993         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3994         gstqueryutils.c to the build.
3995
3996         * gst/gststructure.c (gst_structure_set_valist): Implement with
3997         the generic G_VALUE_COLLECT.
3998         
3999 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
4000
4001         * gst/Makefile.am: (gst_headers):
4002         Added gstqueryutils.h to the list of headers to install, that was
4003         a 'nachty' move wingo :)
4004
4005 2005-05-06  Andy Wingo  <wingo@pobox.com>
4006
4007         * gst/gstquery.h
4008         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
4009         GstData, init a memchunk.
4010         (standard_definitions): Add a few query types, deprecate a few.
4011         (gst_query_get_type): New proc.
4012         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
4013         implementation.
4014         (gst_query_new_application, gst_query_get_structure): New public
4015         procs.
4016
4017         * docs/design/draft-query.txt: Removed LINKS from the query types,
4018         because all the rest can be dispatched to other pads -- seemed
4019         ugly to have a query that couldn't be dispatched. internal_links
4020         is fine as a pad method.
4021
4022         * gst/gstpad.h: Add query2 as a pad method, add the new functions
4023         in gstpad.c, but maintain binary compatibility for the moment.
4024         Will fix before 0.9 is out.
4025
4026         * gst/gstqueryutils.c: 
4027         * gst/gstqueryutils.h: New files, implement 3 methods for each
4028         query type: parse_query, parse_response, and set. Probably need an
4029         allocator as well.
4030
4031         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
4032
4033         * gst/elements/gstfilesink.c (gst_filesink_query2):
4034         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
4035         query_types, and formats methods.
4036
4037         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
4038         (gst_pad_set_query2_function): New functions.
4039         (gst_real_pad_init): Set query2_default as the default query2
4040         function. Basically just dispatches to internally linked pads.
4041
4042         Needs review!
4043         
4044         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
4045         without using the atomic operations. Only one thread can possibly
4046         be accessing the data at this point. Changed so as to avoid
4047         gst_atomic operations.
4048
4049 2005-05-06  Wim Taymans  <wim@fluendo.com>
4050
4051         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4052         Also set caps if we use the fallback buffer alloc.
4053
4054 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
4055
4056         * docs/gst/Makefile.am:
4057         * docs/gst/gstreamer-docs.sgml:
4058         * docs/gst/gstreamer-sections.txt:
4059         * docs/gst/tmpl/gstatomic.sgml:
4060         * docs/gst/tmpl/gstmemchunk.sgml:
4061         * testsuite/elements/struct_i386.h:
4062         * win32/GStreamer.vcproj:
4063         * win32/Makefile:
4064           Purge GstAtomic stuff from docs and win32 makefiles as well
4065
4066 2005-05-06  Wim Taymans  <wim@fluendo.com>
4067
4068         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4069         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4070         * gst/gstpad.c: (gst_pad_peer_get_caps):
4071         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4072         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4073         (gst_queue_src_activate), (gst_queue_change_state):
4074         * gst/gstqueue.h:
4075         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4076         (intersect_caps_func):
4077         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4078         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4079         Some fixes for the peer_get_caps() change.
4080
4081 2005-05-06  Wim Taymans  <wim@fluendo.com>
4082
4083         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4084         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4085         (gst_basesink_activate):
4086         Actually do something with error codes returned from the push
4087         functions.
4088
4089 2005-05-06  Wim Taymans  <wim@fluendo.com>
4090
4091         * docs/design/part-element-sink.txt:
4092         * docs/design/part-element-source.txt:
4093         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4094         (gst_basesink_event), (gst_basesink_activate):
4095         * gst/base/gstbasesink.h:
4096         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4097         (gst_basesrc_activate):
4098         * gst/base/gstbasesrc.h:
4099         * gst/gstelement.c: (gst_element_pads_activate):
4100         Some more documentation.
4101         Fixed scheduling decision in _pads_activate().
4102
4103 2005-05-05  Andy Wingo  <wingo@pobox.com>
4104
4105         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4106         the test suite.
4107
4108 2005-05-05  Wim Taymans  <wim@fluendo.com>
4109
4110         * gst/base/Makefile.am:
4111         * gst/base/gstbasesink.h:
4112         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4113         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4114         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4115         (gst_collectpads_class_init), (gst_collectpads_init),
4116         (gst_collectpads_finalize), (gst_collectpads_new),
4117         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4118         (find_pad), (gst_collectpads_remove_pad),
4119         (gst_collectpads_is_active), (gst_collectpads_collect),
4120         (gst_collectpads_collect_range), (gst_collectpads_start),
4121         (gst_collectpads_stop), (gst_collectpads_peek),
4122         (gst_collectpads_pop), (gst_collectpads_available),
4123         (gst_collectpads_read), (gst_collectpads_flush),
4124         (gst_collectpads_chain):
4125         * gst/base/gstcollectpads.h:
4126         * gst/elements/Makefile.am:
4127         * gst/elements/gstelements.c:
4128         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4129         (gst_fakesink_get_times), (gst_fakesink_event),
4130         (gst_fakesink_preroll), (gst_fakesink_render):
4131         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4132         (gst_filesink_init), (gst_filesink_set_location),
4133         (gst_filesink_open_file), (gst_filesink_close_file),
4134         (gst_filesink_pad_query), (gst_filesink_event),
4135         (gst_filesink_render), (gst_filesink_change_state):
4136         * gst/elements/gstfilesink.h:
4137         Added object to help in making collect pad based elements.
4138         Ported filesink.
4139         Make event function in sink baseclass return gboolean.
4140
4141 2005-05-05  Wim Taymans  <wim@fluendo.com>
4142
4143         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4144         (gst_bin_get_by_name):
4145         * gst/gstbuffer.h:
4146         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4147         (gst_clock_finalize):
4148         * gst/gstdata.c: (gst_data_replace):
4149         * gst/gstdata.h:
4150         * gst/gstelement.c: (gst_element_request_pad),
4151         (gst_element_pads_activate):
4152         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4153         (gst_object_unref):
4154         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4155         (gst_pad_set_checkgetrange_function),
4156         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4157         (gst_pad_check_pull_range), (gst_pad_pull_range),
4158         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4159         (gst_pad_pause_task), (gst_pad_stop_task):
4160         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4161         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4162         Fix name lookup in GstBin.
4163         Added _data_replace() function and _buffer_replace()
4164         Use finalize method to clean up clock.
4165         Fix refcounting on request pads.
4166         Fix pad schedule mode error.
4167         Some more object refcounting debug info,
4168
4169
4170 2005-05-04  Andy Wingo <wingo@pobox.com>
4171
4172         * check/Makefile.am:
4173         * docs/gst/tmpl/gstatomic.sgml:
4174         * docs/gst/tmpl/gstplugin.sgml:
4175         * gst/base/gstbasesink.c: (gst_basesink_activate):
4176         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4177         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4178         (gst_basesrc_query), (gst_basesrc_set_property),
4179         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4180         (gst_basesrc_activate):
4181         * gst/base/gstbasesrc.h:
4182         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4183         (gst_base_transform_src_activate):
4184         * gst/elements/gstelements.c:
4185         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4186         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4187         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4188         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4189         (gst_type_find_element_checkgetrange),
4190         (gst_type_find_element_activate):
4191         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4192         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4193         (gst_caps_load_thyself):
4194         * gst/gstelement.c: (gst_element_pads_activate),
4195         (gst_element_save_thyself), (gst_element_restore_thyself):
4196         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4197         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4198         * gst/gstpad.h:
4199         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4200         (gst_xml_parse_file), (gst_xml_parse_memory),
4201         (gst_xml_get_element), (gst_xml_make_element):
4202         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4203         (_file_index_id_save_xml), (gst_file_index_commit):
4204         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4205         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4206         (load_paths):
4207         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4208         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4209         * tools/gst-complete.c: (main):
4210         * tools/gst-compprep.c: (main):
4211         * tools/gst-inspect.c: (print_element_properties_info):
4212         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4213         * tools/gst-xmlinspect.c: (print_element_properties):
4214         GCC 4 fixen.
4215         
4216 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4217
4218         * gst/gstplugin.c: (gst_plugin_check_module),
4219         (gst_plugin_check_file), (gst_plugin_load_file):
4220             apply patch from #172526 to make register work on MacOSX
4221
4222 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4223
4224         * docs/gst/tmpl/gstconfig.sgml:
4225         * gst/gstconfig.h.in:
4226           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4227         * testsuite/debug/printf_extension.c: (main):
4228           Do not use GST_PTR_FORMAT on pointers to types with
4229           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4230         * testsuite/elements/property.h:
4231           use correct printf format
4232
4233 2005-05-02  Wim Taymans  <wim@fluendo.com>
4234
4235         * docs/design/draft-push-pull.txt:
4236         * docs/design/draft-query.txt:
4237         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4238         (gst_basesrc_start):
4239         Added draft for new query API.
4240         Added draft for better selecting scheduling methods.
4241         Make basesrc ignore length if the subclass does not support
4242         it.
4243
4244 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4245
4246         * gst/Makefile.am:
4247           possible fixes for automake-1.5 - _LIBADD is reserved
4248
4249 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4250
4251         * docs/faq/Makefile.am:
4252         * docs/manual/Makefile.am:
4253         * docs/manuals.mak:
4254         * docs/pwg/Makefile.am:
4255         * gst/Makefile.am:
4256           possible fixes for automake-1.5
4257
4258 2005-04-28  Wim Taymans  <wim@fluendo.com>
4259
4260         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4261         (gst_basesink_pad_getcaps), (gst_basesink_init),
4262         (gst_basesink_do_sync):
4263         * gst/gstclock.c: (gst_clock_entry_new):
4264         * gst/gstevent.c: (gst_event_discont_get_value):
4265         * gst/gstpipeline.c: (pipeline_bus_handler),
4266         (gst_pipeline_change_state):
4267         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4268         Better debugging of clocking info.
4269         Allow NULL values when getting discont values.
4270
4271 2005-04-27  Wim Taymans  <wim@fluendo.com>
4272
4273         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4274         * check/gst/gstpad.c: (gst_pad_suite):
4275         Increase timeout for checks.
4276
4277 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4278
4279         * check/Makefile.am:
4280           fix the broken rule for cleanup.  Apparently this rule is
4281           only needed on FC2, so maybe this warrants further autotool
4282           inspection.
4283
4284 2005-04-26  Wim Taymans  <wim@fluendo.com>
4285
4286         * gst/gsttrashstack.h:
4287         Ooohh. a nasty one! After having a failed pop() from the stack,
4288         it's possible that the stack is empty. In that case, don't
4289         follow the NULL pointer.
4290
4291 2005-04-25  Wim Taymans  <wim@fluendo.com>
4292
4293         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4294         (gst_pad_set_checkgetrange_function),
4295         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4296         (gst_pad_check_pull_range), (gst_pad_pull_range),
4297         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4298         (gst_pad_pause_task), (gst_pad_stop_task):
4299         * gst/gstplugin.c: (gst_plugin_load):
4300         * gst/gstplugin.h:
4301         Remove gst_library_load as it does more harm than good with
4302         the new g_module flags.
4303         Revert bogus caps template check in pad linking, pad caps
4304         are important when linking not the template, which is more
4305         general than the current caps.
4306
4307 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4308
4309         * gst/autoplug/.cvsignore:
4310         * gst/autoplug/Makefile.am:
4311         * gst/autoplug/gstsearchfuncs.c:
4312         * gst/autoplug/gstsearchfuncs.h:
4313         * gst/autoplug/gstspider.c:
4314         * gst/autoplug/gstspider.h:
4315         * gst/autoplug/gstspideridentity.c:
4316         * gst/autoplug/gstspideridentity.h:
4317         * gst/autoplug/spidertest.c:
4318           Die, spider, die.
4319
4320 2005-04-25  Wim Taymans  <wim@fluendo.com>
4321
4322         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4323         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4324         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4325         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4326         * gst/gstpad.h:
4327         Added stubs for unimplemented functions. 
4328
4329 2005-04-24  David Schleef  <ds@schleef.org>
4330
4331         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4332         please fix.
4333
4334 2005-04-24  David Schleef  <ds@schleef.org>
4335
4336         Convert everything from GstAtomicInt to g_atomic_int_*, and
4337         remove gstatomic.
4338         * gst/Makefile.am:
4339         * gst/gstatomic.c:
4340         * gst/gstatomic.h:
4341         * gst/gstatomic_impl.h:
4342         * gst/gstbuffer.c:
4343         * gst/gstcaps.c:
4344         * gst/gstcaps.h:
4345         * gst/gstclock.c:
4346         * gst/gstclock.h:
4347         * gst/gstdata.c:
4348         * gst/gstdata.h:
4349         * gst/gstdata_private.h:
4350         * gst/gstevent.c:
4351         * gst/gstinfo.c:
4352         * gst/gstinfo.h:
4353         * gst/gstmessage.c:
4354         * gst/gstobject.c:
4355         * gst/gstobject.h:
4356         * gst/gststructure.c:
4357         * gst/gststructure.h:
4358         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4359         * gst/gstutils.h:
4360
4361 2005-04-24  David Schleef  <ds@schleef.org>
4362
4363         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4364         make the regressions tests work.  Remove some code that is no
4365         longer true.
4366         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4367         Disable warning for pads without templates.
4368
4369 2005-04-24  David Schleef  <ds@schleef.org>
4370
4371         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4372         functions that handle filtered links.
4373         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4374         removed functions.
4375         * gst/gstutils.c: Fix/remove utility functions that handle
4376         filtered caps.
4377         * gst/gstutils.h:
4378         * gst/gstvalue.c: Add serialization/deserialization of caps
4379         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4380         requires fixing so that the filter caps notation creates
4381         a capsfilter element and sets the filter_caps property.  I
4382         think everyone probably wants to keep the shorthand notation.
4383         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4384         * docs/gst/tmpl/gstpad.sgml:
4385
4386         * gst/elements/gstelements.c: Register capsfilter element.
4387         * gst/Makefile.am: fix spacing
4388         * docs/random/ds/0.9-suggested-changes: random
4389
4390 2005-04-23  David Schleef  <ds@schleef.org>
4391
4392         * gst/elements/Makefile.am:
4393         * gst/elements/gstcapsfilter.c: New element that acts like an
4394         identity, but filters caps.  Will eventually replace filtered
4395         caps in pad linking.
4396         * gst/gstutils.c: (gst_element_create_all_pads): New function
4397         to create all the ALWAYS pads that are registered with an
4398         element class.  This functionality should eventually be
4399         merged in with GstElement initialization.
4400         * gst/gstutils.h:
4401         * testsuite/trigger/README: part of trigger test code that should
4402         have been checked in a long time ago.
4403
4404 2005-04-23  David Schleef  <ds@schleef.org>
4405
4406         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4407         needed with new versions of libtool (nobody will confirm this),
4408         and hard to carry around.
4409         * gst/autoplug/Makefile.am:
4410         * gst/base/Makefile.am:
4411         * gst/elements/Makefile.am:
4412         * gst/indexers/Makefile.am:
4413         * gst/schedulers/Makefile.am:
4414         * libs/gst/bytestream/Makefile.am:
4415         * libs/gst/control/Makefile.am:
4416         * libs/gst/dataprotocol/Makefile.am:
4417         * libs/gst/getbits/Makefile.am:
4418
4419 2005-04-21  Wim Taymans  <wim@fluendo.com>
4420
4421         * docs/design/draft-push-pull.txt:
4422         * docs/design/part-MT-refcounting.txt:
4423         * docs/design/part-TODO.txt:
4424         * docs/design/part-caps.txt:
4425         * docs/design/part-events.txt:
4426         * docs/design/part-gstbus.txt:
4427         * docs/design/part-gstpipeline.txt:
4428         * docs/design/part-messages.txt:
4429         * docs/design/part-push-pull.txt:
4430         * docs/design/part-query.txt:
4431         Some more docs.
4432
4433 2005-04-21  Wim Taymans  <wim@fluendo.com>
4434
4435         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4436         (gst_message_new), (gst_message_new_error),
4437         (gst_message_new_warning), (gst_message_new_tag),
4438         (gst_message_new_state_changed), (gst_message_new_application),
4439         (gst_message_get_structure):
4440         * gst/gstmessage.h:
4441         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4442         (gst_structure_copy_conditional):
4443         Use parent refcount in GstMessage to ensure GstStructure
4444         consistency.
4445         Cleaned up headers a bit.
4446         
4447
4448 2005-04-20  Wim Taymans  <wim@fluendo.com>
4449
4450         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4451         (gst_basesink_pad_getcaps), (gst_basesink_init),
4452         (gst_basesink_chain_unlocked):
4453         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4454         (gst_type_find_helper):
4455         * gst/elements/gsttypefindelement.c:
4456         (gst_type_find_element_have_type), (gst_type_find_element_init),
4457         (stop_typefinding), (gst_type_find_element_handle_event),
4458         (find_suggest), (gst_type_find_element_chain),
4459         (gst_type_find_element_checkgetrange),
4460         (gst_type_find_element_getrange), (do_typefind),
4461         (gst_type_find_element_activate):
4462         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4463         (gst_buffer_default_free), (gst_buffer_default_copy),
4464         (gst_buffer_set_caps):
4465         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4466         (gst_caps_replace):
4467         * gst/gstmessage.c: (gst_message_new),
4468         (gst_message_new_state_changed):
4469         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4470         (gst_pad_set_checkgetrange_function),
4471         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4472         (gst_pad_set_caps), (gst_pad_check_pull_range),
4473         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4474         * gst/gstpad.h:
4475         * gst/gsttypefind.c: (gst_type_find_register):
4476         Make gst_caps_replace() work like other _replace() functions.
4477         Use _caps_replace() where possible.
4478         Make sure _message_new() initialises its field.
4479         Add gst_static_pad_template_get_caps()
4480
4481
4482 2005-04-18  Andy Wingo  <wingo@pobox.com>
4483
4484         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4485         on the peer, not the pad. I think that was a typo. Pass an extra
4486         arg to see if random access is possible. Activate the pads as
4487         PULL_RANGE if possible.
4488
4489         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4490
4491         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4492         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4493         to PROP_....
4494
4495 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4496
4497         * docs/faq/using.xml:
4498           Add note on gstreamer-properties (#154996).
4499
4500 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4501
4502         * docs/random/bbb/optional-properties:
4503           Some analysis on optional properties.
4504
4505 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4506
4507         * docs/gst/tmpl/gstelementfactory.sgml:
4508         * gst/gstelement.h:
4509         * gst/gstelementfactory.c: (gst_element_factory_init),
4510         (gst_element_factory_cleanup), (gst_element_register),
4511         (__gst_element_factory_add_static_pad_template),
4512         (gst_element_factory_get_static_pad_templates),
4513         (gst_element_factory_can_src_caps),
4514         (gst_element_factory_can_sink_caps):
4515         * gst/registries/Makefile.am:
4516         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4517         (gst_xml_registry_class_init), (gst_xml_registry_init),
4518         (gst_xml_registry_new), (gst_xml_registry_set_property),
4519         (gst_xml_registry_get_property), (get_time), (make_dir),
4520         (gst_xml_registry_get_perms_func),
4521         (plugin_times_older_than_recurse), (plugin_times_older_than),
4522         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4523         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4524         (add_to_char_array), (read_string), (read_uint), (read_enum),
4525         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4526         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4527         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4528         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4529         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4530         (gst_xml_registry_rebuild):
4531         * gst/registries/gstlibxmlregistry.h:
4532         * tools/gst-compprep.c: (main):
4533         * tools/gst-inspect.c: (print_pad_templates_info):
4534         * tools/gst-xmlinspect.c: (print_element_info):
4535           Use libxml2 for registry parsing, use staticpadtemplates in
4536           elementfactories. Makes gst_init() +/- 10x faster.
4537
4538 2005-04-12  Wim Taymans  <wim@fluendo.com>
4539
4540         * gst/base/Makefile.am:
4541         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4542         (gst_basesink_pad_getcaps), (gst_basesink_init),
4543         (gst_basesink_event), (gst_basesink_change_state):
4544         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4545         (gst_basesrc_init), (gst_basesrc_query),
4546         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4547         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4548         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4549         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4550         (gst_basesrc_stop), (gst_basesrc_activate),
4551         (gst_basesrc_change_state):
4552         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4553         (helper_find_suggest), (gst_type_find_helper):
4554         * gst/base/gsttypefindhelper.h:
4555         * gst/elements/Makefile.am:
4556         * gst/elements/gstelements.c:
4557         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4558         (gst_fakesink_get_times), (gst_fakesink_event),
4559         (gst_fakesink_preroll), (gst_fakesink_render):
4560         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4561         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4562         (gst_fakesrc_get_property), (gst_fakesrc_create),
4563         (gst_fakesrc_start), (gst_fakesrc_stop):
4564         * gst/elements/gstfakesrc.h:
4565         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4566         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4567         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4568         (gst_filesrc_create_read), (gst_filesrc_create),
4569         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4570         (gst_filesrc_start):
4571         * gst/elements/gsttypefindelement.c:
4572         (gst_type_find_element_have_type), (gst_type_find_element_init),
4573         (start_typefinding), (stop_typefinding), (push_buffer_store),
4574         (gst_type_find_element_handle_event),
4575         (gst_type_find_element_chain),
4576         (gst_type_find_element_checkgetrange),
4577         (gst_type_find_element_getrange), (do_typefind),
4578         (gst_type_find_element_activate),
4579         (gst_type_find_element_change_state):
4580         * gst/elements/gsttypefindelement.h:
4581         * gst/gstpipeline.c: (pipeline_bus_handler):
4582         Added typefind helper.
4583         Small preroll fix in the base sink.
4584         Disable typefind code in basesrc.
4585         Crude port of typefindelement.
4586         Fakesrc cleanups.
4587
4588
4589 2005-04-11  Wim Taymans  <wim@fluendo.com>
4590
4591         * check/gst/gstbus.c: (gstbus_suite):
4592         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4593         * check/gstcheck.h:
4594           Fix up the timeout so that the test does not fail.
4595
4596 2005-04-06  Wim Taymans  <wim@fluendo.com>
4597
4598         * gst/base/README:
4599         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4600         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4601         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4602         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4603         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4604         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4605         (gst_basesrc_stop), (gst_basesrc_activate),
4606         (gst_basesrc_change_state), (basesrc_find_peek),
4607         (basesrc_find_suggest), (gst_basesrc_type_find):
4608         * gst/base/gstbasesrc.h:
4609         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4610         (gst_filesrc_class_init), (gst_filesrc_init),
4611         (gst_filesrc_finalize), (gst_filesrc_set_location),
4612         (gst_filesrc_set_property), (gst_filesrc_get_property),
4613         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4614         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4615         (gst_filesrc_create_read), (gst_filesrc_create),
4616         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4617         * gst/elements/gstfilesrc.h:
4618         * gst/gstelement.c: (gst_element_get_state_func),
4619         (gst_element_lost_state), (gst_element_pads_activate):
4620         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4621         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4622         (gst_pad_pull_range):
4623         * gst/gstpad.h:
4624         More work on the generic source base class, implement seeking,
4625         query.
4626         Make filesrc extend the base source class.
4627         Added gst_pad_set_checkgetrange_function to GstPad.
4628
4629 2005-04-06  Andy Wingo  <wingo@pobox.com>
4630
4631         * pkgconfig/gstreamer-base.pc.in:
4632         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4633
4634         * pkgconfig/Makefile.am:
4635         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4636
4637 2005-04-04  Wim Taymans  <wim@fluendo.com>
4638
4639         * gst/base/Makefile.am:
4640         * gst/base/README:
4641         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4642         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4643         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4644         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4645         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4646         (gst_basesrc_base_init), (gst_basesrc_class_init),
4647         (gst_basesrc_init), (gst_basesrc_get_formats),
4648         (gst_basesrc_get_query_types), (gst_basesrc_query),
4649         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4650         (gst_basesrc_set_property), (gst_basesrc_get_property),
4651         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4652         (gst_basesrc_loop), (gst_basesrc_activate),
4653         (gst_basesrc_change_state):
4654         * gst/base/gstbasesrc.h:
4655         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4656         (gst_fakesrc_class_init), (gst_fakesrc_init),
4657         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4658         (gst_fakesrc_get_property), (gst_fakesrc_create):
4659         * gst/elements/gstfakesrc.h:
4660         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4661         (gst_filesrc_open_file), (gst_filesrc_loop),
4662         (gst_filesrc_activate), (filesrc_find_peek),
4663         (gst_filesrc_type_find):
4664         Made base source class, make fakesrc extend it.
4665         Add comments to basesink class.
4666         Some filesrc cleanup.
4667
4668 2005-03-31  David Schleef  <ds@schleef.org>
4669
4670         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4671         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4672         expected to link against libgstreamer.
4673         * gst/base/Makefile.am: link against libgstreamer
4674         * gst/elements/Makefile.am: same
4675
4676 2005-03-31  Andy Wingo  <wingo@pobox.com>
4677
4678         * tests/instantiate/Makefile.am:
4679         * tests/instantiate/caps.c: Add test to test speed of caps copy
4680         and free.
4681
4682         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4683         GMemChunk to be fair.
4684
4685         * gst/gsttrashstack.h: Remove warning about using the fallback
4686         trash stack implementation, it's still faster than malloc.
4687
4688 2005-03-30  Andy Wingo  <wingo@pobox.com>
4689
4690         * tests/complexity.c: Add a copyright.
4691
4692 2005-03-31  Wim Taymans  <wim@fluendo.com>
4693
4694         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4695         (gst_base_transform_class_init), (gst_base_transform_init),
4696         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4697         (gst_base_transform_get_property),
4698         (gst_base_transform_sink_activate),
4699         (gst_base_transform_src_activate),
4700         (gst_base_transform_change_state):
4701         * gst/base/gstbasetransform.h:
4702         * gst/elements/gstidentity.c: (gst_identity_class_init),
4703         (gst_identity_event), (gst_identity_check_perfect),
4704         (gst_identity_transform), (gst_identity_start),
4705         (gst_identity_stop):
4706         Added start/stop methods to transform base class so subclasses 
4707         don't need to deal with state changes even.
4708
4709 2005-03-31  Wim Taymans  <wim@fluendo.com>
4710
4711         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4712         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4713         * gst/gstevent.h:
4714         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4715         (gst_pad_pull_range):
4716         Added rate to the discont event to prepare for variable speed
4717         and reverse playback.
4718
4719 2005-03-29  David Schleef  <ds@schleef.org>
4720
4721         * configure.ac:
4722         * testsuite/trigger/Makefile.am:
4723         * testsuite/trigger/trigger.c: A little example program to show
4724         how trigger-based elements can work.
4725
4726 2005-03-29  Wim Taymans  <wim@fluendo.com>
4727
4728         * gst/base/Makefile.am:
4729         * gst/base/README:
4730         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4731         (gst_basesink_base_init), (gst_basesink_class_init),
4732         (gst_basesink_pad_getcaps), (gst_basesink_init),
4733         (gst_basesink_activate), (gst_basesink_change_state):
4734         * gst/base/gstbasesink.h:
4735         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4736         (gst_base_transform_base_init), (gst_base_transform_finalize),
4737         (gst_base_transform_class_init), (gst_base_transform_init),
4738         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4739         (gst_base_transform_event), (gst_base_transform_getrange),
4740         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4741         (gst_base_transform_set_property),
4742         (gst_base_transform_get_property),
4743         (gst_base_transform_sink_activate),
4744         (gst_base_transform_src_activate),
4745         (gst_base_transform_change_state):
4746         * gst/base/gstbasetransform.h:
4747         * gst/elements/gstidentity.c: (gst_identity_finalize),
4748         (gst_identity_class_init), (gst_identity_init),
4749         (gst_identity_event), (gst_identity_check_perfect),
4750         (gst_identity_transform), (gst_identity_set_property),
4751         (gst_identity_get_property), (gst_identity_change_state):
4752         * gst/elements/gstidentity.h:
4753         * gst/gstelement.c: (gst_element_get_state_func),
4754         (gst_element_lost_state), (gst_element_pads_activate):
4755         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4756         (gst_pad_check_pull_range), (gst_pad_pull_range):
4757         * gst/gstpad.h:
4758         Simplify pad activation.
4759         Added function to check if pull_range can be performed.
4760         Error out when pulling inactive or flushing pads.
4761         Removed const from refcounted types as it does not make sense.
4762         Simplify pad templates in basesink
4763         Added base class for simple 1-to-1 transforms.
4764         Make identity subclass the base transform.
4765
4766 2005-03-29  Andy Wingo  <wingo@pobox.com>
4767
4768         * docs/libs/gstreamer-libs-overrides.txt: 
4769         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4770         really don't understand what's going on, but like whatever. I want
4771         green buildbot!
4772
4773         * docs/gst/Makefile.am:
4774         * docs/libs/Makefile.am: Dist the overrides files.
4775
4776         * check/Makefile.am (clean-local): Remove .libs directories.
4777
4778         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4779         elements to EXTRA_DIST, so po/ files are happy.
4780
4781         * po/POTFILES.in: Er, remove it here.
4782
4783         * po/POTFILES: Remove gstspider.c.
4784
4785         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4786
4787         * docs/libs/gstreamer-libs-docs.sgml: 
4788         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4789         bytestream.
4790
4791         * tests/complexity.c (main): Set the length of the preroll queue
4792         on the sinks to prevent a lockup.
4793
4794         * libs/gst/dataprotocol/Makefile.am: 
4795         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4796         the same as the one in check/gst-libs/gdp.c.
4797
4798         * po/, docs/gst/: Commit automatic changes to docs and po files.
4799
4800         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4801         the versioned libgstbase.
4802
4803         * check/Makefile.am: Depend on an unversioned gst-register, seems
4804         to make autoconf happier.
4805
4806         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4807
4808 2005-03-28  Wim Taymans  <wim@fluendo.com>
4809
4810         * configure.ac:
4811         * docs/design/part-gstelement.txt:
4812         * docs/design/part-negotiation.txt:
4813         * docs/design/part-preroll.txt:
4814         * docs/design/part-scheduling.txt:
4815         * docs/design/part-states.txt:
4816         * gst/Makefile.am:
4817         * gst/base/Makefile.am:
4818         * gst/base/README:
4819         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4820         (gst_basesink_base_init), (gst_basesink_class_init),
4821         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4822         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4823         (gst_basesink_set_pad_functions),
4824         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4825         (gst_basesink_set_property), (gst_basesink_get_property),
4826         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4827         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4828         (gst_basesink_preroll_queue_push),
4829         (gst_basesink_preroll_queue_empty),
4830         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4831         (gst_basesink_event), (gst_basesink_get_times),
4832         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4833         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4834         (gst_basesink_loop), (gst_basesink_activate),
4835         (gst_basesink_change_state):
4836         * gst/base/gstbasesink.h:
4837         * gst/elements/Makefile.am:
4838         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4839         (gst_fakesink_class_init), (gst_fakesink_init),
4840         (gst_fakesink_set_property), (gst_fakesink_get_property),
4841         (gst_fakesink_get_times), (gst_fakesink_event),
4842         (gst_fakesink_preroll), (gst_fakesink_render),
4843         (gst_fakesink_change_state):
4844         * gst/elements/gstfakesink.h:
4845         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4846         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4847         * gst/gstelement.c: (gst_element_add_pad),
4848         (gst_element_get_state_func), (gst_element_abort_state),
4849         (gst_element_commit_state), (gst_element_lost_state),
4850         (gst_element_set_state), (gst_element_pads_activate):
4851         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4852         * gst/gstpipeline.c: (gst_pipeline_send_event),
4853         (gst_pipeline_change_state):
4854         Added state change code.
4855         Added/updated docs.
4856         Added sink base class, make fakesink extend the base class.
4857         Small cleanups in GstPipeline.
4858
4859 2005-03-26  David Schleef  <ds@schleef.org>
4860
4861         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4862         is broken and should be implemented in a different library.
4863         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4864         * gst/gst.h: remove gstcpu.h
4865         * gst/gstcpu.c: remove
4866         * gst/gstcpu.h: remove
4867         * gst/Makefile.am.future: Remove this file.  It's ancient.
4868
4869 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4870
4871         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4872         (gst_bin_send_event):
4873           Add default event/set_manager handlers. The set_manager handler
4874           takes care that the manager is distributed over kids that were
4875           already in the bin before the manager was set. The event handler
4876           is a utility virtual function that sends the event over all sinks,
4877           so that gst_element_send_event (bin, event); has the expected
4878           behaviour.
4879         * gst/gstpad.c: (gst_pad_event_default):
4880           Re-install default event handling for discontinuities, so that
4881           seeking works without requiring hacks in applications or extra
4882           code in sinks.
4883         * gst/gstpipeline.c: (gst_pipeline_class_init),
4884         (gst_pipeline_send_event):
4885           Half hack, half utility: set a pipeline to PAUSED for seek events,
4886           since that is the only way we can guarantee a/v sync. Means that
4887           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4888           and it "just works".
4889
4890 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4891
4892         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4893           Lock/unlock mismatch.
4894
4895 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4896
4897         * docs/faq/gst-uninstalled:
4898           add gst-plugins-base
4899         * docs/gst/Makefile.am:
4900           don't error out until docs are fixed
4901         * docs/gst/gstreamer.types:
4902           remove thread
4903
4904 2005-03-22  Wim Taymans  <wim@fluendo.com>
4905
4906         * check/Makefile.am:
4907         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4908         * gst/gststructure.c: (gst_structure_set_valist),
4909         (gst_structure_copy_conditional):
4910         Activated more tests.
4911         Added message test.
4912         Added G_TYPE_POINTER to GstStructure.
4913         
4914
4915 2005-03-22  Wim Taymans  <wim@fluendo.com>
4916
4917         * docs/design/part-TODO.txt:
4918         * docs/design/part-events.txt:
4919         * docs/design/part-gstbin.txt:
4920         * docs/design/part-gstbus.txt:
4921         * docs/design/part-gstpipeline.txt:
4922         * docs/design/part-messages.txt:
4923         * gst/gstbus.c:
4924         * gst/gstmessage.c:
4925         Docs updates
4926
4927 2005-03-21  Wim Taymans  <wim@fluendo.com>
4928
4929         * gst/gstbus.c: (gst_bus_post):
4930         Fix copy-and-paste error.
4931
4932 2005-03-21  Wim Taymans  <wim@fluendo.com>
4933
4934         * check/Makefile.am:
4935         * gst/Makefile.am:
4936         * gst/elements/Makefile.am:
4937         * gst/elements/gstelements.c:
4938         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4939         (gst_fakesink_event), (gst_fakesink_chain):
4940         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4941         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4942         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4943         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4944         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4945         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4946         (gst_fakesrc_loop), (gst_fakesrc_activate),
4947         (gst_fakesrc_change_state):
4948         * gst/elements/gstfakesrc.h:
4949         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4950         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4951         (gst_filesrc_open_file), (gst_filesrc_loop),
4952         (gst_filesrc_activate), (gst_filesrc_change_state),
4953         (filesrc_find_peek), (filesrc_find_suggest),
4954         (gst_filesrc_type_find):
4955         * gst/elements/gstidentity.c: (gst_identity_finalize),
4956         (gst_identity_class_init), (gst_identity_init),
4957         (gst_identity_proxy_getcaps), (identity_queue_push),
4958         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4959         (gst_identity_getrange), (gst_identity_chain),
4960         (gst_identity_sink_loop), (gst_identity_src_loop),
4961         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4962         (gst_identity_set_property), (gst_identity_get_property),
4963         (gst_identity_change_state):
4964         * gst/elements/gstidentity.h:
4965         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4966         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4967         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4968         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4969         (gst_tee_sink_activate):
4970         * gst/elements/gsttee.h:
4971         * gst/gst.c: (gst_register_core_elements), (init_post):
4972         * gst/gst.h:
4973         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4974         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4975         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4976         (gst_bin_change_state):
4977         * gst/gstbin.h:
4978         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4979         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4980         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4981         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4982         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4983         (bus_watch_callback), (bus_watch_destroy),
4984         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4985         (poll_timeout), (gst_bus_poll):
4986         * gst/gstbus.h:
4987         * gst/gstcaps.h:
4988         * gst/gstdata.h:
4989         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4990         (gst_element_post_message), (gst_element_message_full),
4991         (gst_element_get_state_func), (gst_element_get_state),
4992         (gst_element_abort_state), (gst_element_commit_state),
4993         (gst_element_lost_state), (gst_element_set_state),
4994         (gst_element_pads_activate), (gst_element_change_state),
4995         (gst_element_dispose), (gst_element_set_manager_func),
4996         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4997         (gst_element_set_manager), (gst_element_get_manager),
4998         (gst_element_set_bus), (gst_element_get_bus),
4999         (gst_element_set_scheduler), (gst_element_get_scheduler):
5000         * gst/gstelement.h:
5001         * gst/gstevent.c: (gst_event_new_segment_seek),
5002         (gst_event_new_flush):
5003         * gst/gstevent.h:
5004         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
5005         (_gst_message_free), (gst_message_get_type), (gst_message_new),
5006         (gst_message_new_eos), (gst_message_new_error),
5007         (gst_message_new_warning), (gst_message_new_tag),
5008         (gst_message_new_state_changed), (gst_message_new_application),
5009         (gst_message_get_structure), (gst_message_parse_tag),
5010         (gst_message_parse_state_changed), (gst_message_parse_error),
5011         (gst_message_parse_warning):
5012         * gst/gstmessage.h:
5013         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
5014         (gst_real_pad_set_property), (gst_pad_set_active),
5015         (gst_pad_is_active), (gst_pad_set_blocked_async),
5016         (gst_pad_set_blocked), (gst_pad_is_blocked),
5017         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
5018         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
5019         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5020         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
5021         (gst_pad_link_filtered), (gst_pad_relink_filtered),
5022         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
5023         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
5024         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
5025         (gst_pad_set_caps), (gst_pad_configure_sink),
5026         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
5027         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
5028         (gst_real_pad_dispose), (gst_real_pad_finalize),
5029         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
5030         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5031         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
5032         * gst/gstpad.h:
5033         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
5034         (pipeline_bus_handler), (gst_pipeline_change_state),
5035         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
5036         * gst/gstpipeline.h:
5037         * gst/gstprobe.h:
5038         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5039         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
5040         (gst_queue_link_src), (gst_queue_bufferalloc),
5041         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5042         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
5043         (gst_queue_loop), (gst_queue_handle_src_event),
5044         (gst_queue_handle_src_query), (gst_queue_src_activate),
5045         (gst_queue_change_state):
5046         * gst/gstqueue.h:
5047         * gst/gstscheduler.c: (gst_scheduler_init),
5048         (gst_scheduler_dispose), (gst_scheduler_create_task),
5049         (gst_scheduler_factory_create):
5050         * gst/gstscheduler.h:
5051         * gst/gststructure.c: (gst_structure_get_type),
5052         (gst_structure_copy_conditional):
5053         * gst/gststructure.h:
5054         * gst/gsttaginterface.h:
5055         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5056         (gst_task_init), (gst_task_dispose), (gst_task_create),
5057         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5058         (gst_task_pause):
5059         * gst/gsttask.h:
5060         * gst/gstthread.c:
5061         * gst/gstthread.h:
5062         * gst/gsttypes.h:
5063         * gst/schedulers/Makefile.am:
5064         * gst/schedulers/cothreads_compat.h:
5065         * gst/schedulers/entryscheduler.c:
5066         * gst/schedulers/faircothreads.c:
5067         * gst/schedulers/faircothreads.h:
5068         * gst/schedulers/fairscheduler.c:
5069         * gst/schedulers/gstbasicscheduler.c:
5070         * gst/schedulers/gstoptimalscheduler.c:
5071         * gst/schedulers/gthread-cothreads.h:
5072         * gst/schedulers/threadscheduler.c:
5073         (gst_thread_scheduler_task_get_type),
5074         (gst_thread_scheduler_task_class_init),
5075         (gst_thread_scheduler_task_init),
5076         (gst_thread_scheduler_task_start),
5077         (gst_thread_scheduler_task_stop),
5078         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5079         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5080         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5081         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5082         (plugin_init):
5083         * libs/gst/Makefile.am:
5084         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5085         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5086         (gst_file_pad_parent_set):
5087         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5088         (gst_dp_event_from_packet):
5089         * tests/complexity.c: (main):
5090         * tests/mass_elements.c: (main):
5091         * testsuite/states/locked.c: (message_received), (main):
5092         * testsuite/states/parent.c: (main):
5093         * tools/gst-inspect.c: (print_element_flag_info),
5094         (print_implementation_info), (print_pad_info):
5095         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5096         (main):
5097         * tools/gst-md5sum.c: (event_loop), (main):
5098         * tools/gst-typefind.c: (main):
5099         * tools/gst-xmlinspect.c: (print_element_info):
5100         Next big merge.
5101         Added GstBus for mainloop integration.
5102         Added GstMessage for sending notifications on the bus.
5103         Added GstTask as an abstraction for pipeline entry points.
5104         Removed GstThread.
5105         Removed Schedulers.
5106         Simplified GstQueue for multithreaded core.
5107         Made _link threadsafe, removed old capsnego.
5108         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5109         Added pad blocking functions.
5110         Reworked scheduling functions in GstPad to prepare for
5111         scheduling updates soon.
5112         Moved events out of data stream.
5113         Simplified GstEvent types.
5114         Added return values to push/pull.
5115         Removed clocking from GstElement.
5116         Added prototypes for state change function for next merge.
5117         Removed iterate from bins and state change management.
5118         Fixed some elements, disabled others for now.
5119         Fixed -inspect and -launch.
5120         Added check for GstBus.
5121
5122 2005-03-10  Wim Taymans  <wim@fluendo.com>
5123
5124         * docs/design/part-MT-refcounting.txt:
5125         * docs/design/part-clocks.txt:
5126         * docs/design/part-gstelement.txt:
5127         * docs/design/part-gstobject.txt:
5128         * docs/design/part-standards.txt:
5129         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5130         (gst_bin_remove_func), (gst_bin_remove):
5131         * gst/gstbin.h:
5132         * gst/gstbuffer.c:
5133         * gst/gstcaps.h:
5134         * testsuite/clock/clock1.c: (main):
5135         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5136         (main):
5137         * testsuite/dlopen/loadgst.c: (do_test):
5138         * testsuite/refcounting/bin.c: (add_remove_test1),
5139         (add_remove_test2), (main):
5140         * testsuite/refcounting/element.c: (main):
5141         * testsuite/refcounting/element_pad.c: (main):
5142         * testsuite/refcounting/pad.c: (main):
5143         * tools/gst-launch.c: (sigint_handler_sighandler):
5144         * tools/gst-typefind.c: (main):
5145         Doc updates.
5146         Added doc about clock.
5147         removed gst_bin_iterate_recurse_up(), marked methods
5148         for removal.
5149         Fix more testsuites.
5150
5151 2005-03-09  Wim Taymans  <wim@fluendo.com>
5152
5153         * gst/gstpad.c: (gst_pad_get_direction),
5154         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5155         (gst_pad_collect_valist):
5156         * testsuite/bins/interface.c: (main):
5157         * testsuite/caps/audioscale.c: (test_caps):
5158         * testsuite/caps/caps.c: (test1), (test2), (test3):
5159         * testsuite/caps/deserialize.c: (main):
5160         * testsuite/caps/enumcaps.c: (main):
5161         * testsuite/caps/filtercaps.c: (main):
5162         * testsuite/caps/intersect2.c: (main):
5163         * testsuite/caps/random.c: (main):
5164         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5165         * testsuite/caps/sets.c: (check_caps):
5166         * testsuite/caps/simplify.c: (check_caps), (main):
5167         * testsuite/caps/subtract.c: (check_caps):
5168         Fix _pad_get_direction wrt ghostpads.
5169         Fix caps testsuite.
5170
5171 2005-03-09  Wim Taymans  <wim@fluendo.com>
5172
5173         * check/Makefile.am:
5174         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5175         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5176         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5177         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5178         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5179         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5180         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5181         (bin_element_is_sink), (gst_bin_iterate_sinks),
5182         (gst_bin_iterate_all_by_interface):
5183         * gst/gstbin.h:
5184         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5185         (gst_element_change_state), (gst_element_dispose),
5186         (gst_element_finalize), (gst_element_set_loop_function):
5187         * gst/gstelement.h:
5188         * gst/gstiterator.c: (find_custom_fold_func):
5189         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5190         (gst_pad_collectv), (gst_pad_collect_valist),
5191         (gst_pad_template_new):
5192         * gst/gstpipeline.c: (gst_pipeline_class_init),
5193         (gst_pipeline_dispose), (gst_pipeline_set_property),
5194         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5195         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5196         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5197         * gst/gstutils.h:
5198         * gst/schedulers/entryscheduler.c:
5199         * gst/schedulers/gstbasicscheduler.c:
5200         (gst_basic_scheduler_cothreaded_chain),
5201         (gst_basic_scheduler_chain_add_element):
5202         * testsuite/bins/interface.c: (main):
5203         Added GstBin test.
5204         Added GstSystemClock test.
5205         Implemented clock distribution code in GstBin.
5206         Implemented iterate sinks method for future use.
5207         Rearranged gstelement.h
5208         Fix GstIterator comparison bug.
5209         Moved some code to GstPipeline, mostly clocking related.
5210
5211 2005-03-09  Wim Taymans  <wim@fluendo.com>
5212
5213         * configure.ac:
5214         * gst/gst_private.h:
5215         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5216         (gst_bin_remove_func), (gst_bin_remove),
5217         (gst_bin_get_by_name_recurse_up):
5218         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5219         (gst_clock_id_compare_func), (gst_clock_id_wait),
5220         (gst_clock_id_wait_async), (gst_clock_init),
5221         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5222         * gst/gstelement.h:
5223         * gst/gstinfo.c: (_gst_debug_init):
5224         * gst/gstobject.h:
5225         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5226         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5227         * gst/gstpad.h:
5228         Bump version number, we're now 0.9.0
5229         Add future debugging category.
5230         Fix NULL _unref() in _get_by_name_recurse_up
5231         Rearrange gstpad.h.
5232         Update some docs.
5233
5234 2005-03-08  Wim Taymans  <wim@fluendo.com>
5235
5236         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5237         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5238         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5239         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5240         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5241         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5242         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5243         * gst/elements/gstidentity.c: (gst_identity_class_init):
5244         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5245         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5246         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5247         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5248         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5249         (gst_tee_link):
5250         * gst/gstelement.c: (gst_element_class_init),
5251         (gst_element_base_class_init), (gst_element_init),
5252         (gst_element_get_random_pad), (gst_element_wait_state_change),
5253         (gst_element_change_state), (gst_element_dispose),
5254         (gst_element_finalize), (gst_element_set_loop_function):
5255         * gst/gstelement.h:
5256         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5257         * gst/gstthread.c: (gst_thread_class_init),
5258         (gst_thread_release_children_locks), (gst_thread_change_state):
5259         * gst/schedulers/gstbasicscheduler.c:
5260         (gst_basic_scheduler_loopfunc_wrapper),
5261         (gst_basic_scheduler_chain_wrapper),
5262         (gst_basic_scheduler_src_wrapper),
5263         (gst_basic_scheduler_remove_element):
5264         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5265         Remove threadsafe properties. Fix elements because GObject
5266         complains when installing a property before declaring a
5267         set/get_property handler.
5268         Rearrange gstelement.h file, use STATE macros for state locks.
5269         Free mutexes in the finalize method instead of dispose.
5270
5271 2005-03-08  Wim Taymans  <wim@fluendo.com>
5272
5273         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5274         * gst/gstthread.c: (gst_thread_release_children_locks):
5275         Added parentage check.
5276         Fix build og GstThread again.
5277
5278 2005-03-08  Wim Taymans  <wim@fluendo.com>
5279
5280         * docs/design/part-MT-refcounting.txt:
5281         * docs/design/part-conventions.txt:
5282         * docs/design/part-gstobject.txt:
5283         * docs/design/part-relations.txt:
5284         * docs/design/part-standards.txt:
5285         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5286         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5287         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5288         (gst_bin_iterate_all_by_interface):
5289         * gst/gstbuffer.h:
5290         * gst/gstclock.h:
5291         * gst/gstelement.c: (gst_element_class_init),
5292         (gst_element_change_state), (gst_element_set_loop_function):
5293         * gst/gstelement.h:
5294         * gst/gstiterator.c:
5295         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5296         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5297         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5298         (gst_object_set_parent), (gst_object_unparent),
5299         (gst_object_check_uniqueness):
5300         * gst/gstobject.h:
5301         Docs updates, clean up some headers.
5302
5303 2005-03-07  Wim Taymans  <wim@fluendo.com>
5304
5305         * check/.cvsignore:
5306         * check/Makefile.am:
5307         * check/gst-libs/.cvsignore:
5308         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5309         * check/gst/.cvsignore:
5310         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5311         (START_TEST), (gstbus_suite), (main):
5312         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5313         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5314         (gst_data_suite), (main):
5315         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5316         (add_fold_func), (gstiterator_suite), (main):
5317         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5318         (thread_name_object), (thread_name_object_default),
5319         (gst_object_name_compare), (gst_object_suite), (main):
5320         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5321         (gst_pad_suite), (main):
5322         * check/gstcheck.c: (gst_check_log_message_func),
5323         (gst_check_log_critical_func), (gst_check_init):
5324         * check/gstcheck.h:
5325         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5326         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5327         Added checks.
5328
5329 2005-03-07  Wim Taymans  <wim@fluendo.com>
5330
5331         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5332         (gst_list_iterator_next), (gst_list_iterator_resync),
5333         (gst_list_iterator_free), (gst_iterator_new_list),
5334         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5335         (gst_iterator_free), (gst_iterator_push), (filter_next),
5336         (filter_resync), (filter_uninit), (filter_free),
5337         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5338         (gst_iterator_foreach), (find_custom_fold_func),
5339         (gst_iterator_find_custom):
5340         * gst/gstiterator.h:
5341         Added missing files.
5342
5343 2005-03-07  Wim Taymans  <wim@fluendo.com>
5344
5345         * Makefile.am:
5346         * configure.ac:
5347         * docs/design/part-MT-refcounting.txt:
5348         * docs/design/part-conventions.txt:
5349         * docs/design/part-gstobject.txt:
5350         * docs/design/part-relations.txt:
5351         * examples/mixer/mixer.c: (main):
5352         * examples/thread/thread.c: (eos), (main):
5353         * gst/Makefile.am:
5354         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5355         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5356         (gst_spider_plug_from_srcpad):
5357         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5358         (gst_spider_identity_change_state),
5359         (gst_spider_identity_sink_loop_type_finding):
5360         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5361         * gst/elements/gstidentity.c: (gst_identity_init):
5362         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5363         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5364         * gst/elements/gsttypefindelement.c: (free_entry):
5365         * gst/gst.c:
5366         * gst/gst.h:
5367         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5368         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5369         (gst_bin_set_index), (gst_bin_set_element_sched),
5370         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5371         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5372         (gst_bin_iterate_elements), (iterate_child_recurse),
5373         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5374         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5375         (compare_interface), (gst_bin_get_by_interface),
5376         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5377         * gst/gstbin.h:
5378         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5379         (gst_buffer_default_free), (gst_buffer_default_copy),
5380         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5381         (gst_buffer_create_sub):
5382         * gst/gstbuffer.h:
5383         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5384         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5385         (gst_caps_unref), (gst_static_caps_get),
5386         (gst_caps_remove_and_get_structure), (gst_caps_append),
5387         (gst_caps_append_structure), (gst_caps_remove_structure),
5388         (gst_caps_copy_nth), (gst_caps_set_simple),
5389         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5390         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5391         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5392         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5393         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5394         (gst_caps_structure_figure_out_union),
5395         (gst_caps_switch_structures), (gst_caps_do_simplify),
5396         (gst_caps_replace), (gst_caps_from_string),
5397         (gst_caps_copy_conditional):
5398         * gst/gstcaps.h:
5399         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5400         (_gst_clock_id_free), (gst_clock_id_unref),
5401         (gst_clock_id_compare_func), (gst_clock_id_wait),
5402         (gst_clock_id_wait_async), (gst_clock_class_init),
5403         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5404         (gst_clock_get_time), (gst_clock_set_time_adjust),
5405         (gst_clock_set_property), (gst_clock_get_property):
5406         * gst/gstclock.h:
5407         * gst/gstcompat.h:
5408         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5409         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5410         * gst/gstdata.h:
5411         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5412         (gst_element_requires_clock), (gst_element_provides_clock),
5413         (gst_element_set_clock), (gst_element_clock_wait),
5414         (gst_element_wait), (gst_element_set_time_delay),
5415         (gst_element_is_indexable), (gst_element_add_pad),
5416         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5417         (pad_compare_name), (gst_element_get_static_pad),
5418         (gst_element_request_pad), (gst_element_get_request_pad),
5419         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5420         (gst_element_class_get_pad_template_list),
5421         (gst_element_class_get_pad_template), (gst_element_error_func),
5422         (gst_element_get_random_pad), (gst_element_get_event_masks),
5423         (gst_element_send_event), (gst_element_seek),
5424         (gst_element_get_query_types), (gst_element_query),
5425         (gst_element_get_formats), (gst_element_convert),
5426         (gst_element_is_locked_state), (gst_element_set_locked_state),
5427         (gst_element_sync_state_with_parent), (gst_element_change_state),
5428         (gst_element_finalize), (gst_element_yield),
5429         (gst_element_interrupt), (gst_element_set_scheduler),
5430         (gst_element_get_scheduler), (gst_element_set_loop_function):
5431         * gst/gstelement.h:
5432         * gst/gstevent.h:
5433         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5434         (gst_format_get_by_nick), (gst_format_get_details),
5435         (gst_format_iterate_definitions):
5436         * gst/gstformat.h:
5437         * gst/gstindex.c: (gst_index_gtype_resolver):
5438         * gst/gstinfo.c:
5439         * gst/gstinfo.h:
5440         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5441         (gst_mem_chunk_free):
5442         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5443         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5444         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5445         (gst_object_dispatch_properties_changed),
5446         (gst_object_set_name_default), (gst_object_set_name),
5447         (gst_object_get_name), (gst_object_set_name_prefix),
5448         (gst_object_get_name_prefix), (gst_object_set_parent),
5449         (gst_object_get_parent), (gst_object_unparent),
5450         (gst_object_check_uniqueness), (gst_object_save_thyself),
5451         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5452         (gst_object_set_property), (gst_object_get_property),
5453         (gst_object_get_path_string):
5454         * gst/gstobject.h:
5455         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5456         (gst_real_pad_init), (gst_real_pad_get_property),
5457         (gst_pad_custom_new), (gst_pad_get_direction),
5458         (gst_pad_set_active), (gst_pad_is_active),
5459         (gst_pad_set_event_function), (gst_pad_is_linked),
5460         (gst_pad_link_free), (gst_pad_link_intersect),
5461         (gst_pad_link_fixate), (gst_pad_set_caps),
5462         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5463         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5464         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5465         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5466         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5467         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5468         (gst_pad_realize), (gst_pad_get_allowed_caps),
5469         (gst_real_pad_dispose), (gst_real_pad_finalize),
5470         (gst_pad_collectv), (gst_pad_collect_valist),
5471         (gst_pad_template_dispose), (gst_pad_template_new),
5472         (gst_pad_get_internal_links):
5473         * gst/gstpad.h:
5474         * gst/gstpipeline.c: (gst_pipeline_dispose),
5475         (gst_pipeline_change_state):
5476         * gst/gstpipeline.h:
5477         * gst/gstplugin.c:
5478         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5479         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5480         * gst/gstpluginfeature.h:
5481         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5482         * gst/gstquery.c: (_gst_query_type_initialize),
5483         (gst_query_type_register), (gst_query_type_get_by_nick),
5484         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5485         * gst/gstquery.h:
5486         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5487         * gst/gstscheduler.c: (gst_scheduler_add_element),
5488         (gst_scheduler_factory_create):
5489         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5490         (gst_structure_free), (gst_structure_set_name),
5491         (gst_structure_id_set_value), (gst_structure_set_value),
5492         (gst_structure_set_valist), (gst_structure_remove_field),
5493         (gst_structure_remove_fields),
5494         (gst_structure_remove_fields_valist),
5495         (gst_structure_remove_all_fields), (gst_structure_foreach),
5496         (gst_structure_map_in_place),
5497         (gst_caps_structure_fixate_field_nearest_int),
5498         (gst_caps_structure_fixate_field_nearest_double):
5499         * gst/gststructure.h:
5500         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5501         (gst_system_clock_init), (gst_system_clock_dispose),
5502         (gst_system_clock_async_thread),
5503         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5504         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5505         * gst/gstsystemclock.h:
5506         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5507         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5508         * gst/gsttaginterface.c:
5509         * gst/gstthread.c: (gst_thread_dispose),
5510         (gst_thread_release_children_locks), (gst_thread_change_state),
5511         (gst_thread_main_loop):
5512         * gst/gsttrashstack.h:
5513         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5514         * gst/gsttypes.h:
5515         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5516         (gst_element_request_pad), (gst_element_get_pad_from_template),
5517         (gst_element_request_compatible_pad),
5518         (gst_element_get_compatible_pad_filtered),
5519         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5520         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5521         (gst_element_link_many), (gst_element_link),
5522         (gst_element_link_pads), (gst_element_unlink_pads),
5523         (gst_element_unlink_many), (gst_element_unlink),
5524         (gst_pad_can_link_filtered), (gst_pad_can_link),
5525         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5526         (gst_object_default_error), (gst_bin_add_many),
5527         (gst_bin_remove_many), (gst_element_populate_std_props),
5528         (gst_element_class_install_std_props), (gst_buffer_merge),
5529         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5530         (link_fold_func), (gst_pad_proxy_setcaps):
5531         * gst/gstutils.h:
5532         * gst/gstvalue.c: (gst_value_deserialize_string):
5533         * gst/parse/grammar.y:
5534         * gst/schedulers/gstbasicscheduler.c:
5535         (gst_basic_scheduler_cothreaded_chain),
5536         (gst_basic_scheduler_chain_recursive_add),
5537         (gst_basic_scheduler_pad_link):
5538         * gst/schedulers/gstoptimalscheduler.c:
5539         (get_group_schedule_function),
5540         (gst_opt_scheduler_state_transition),
5541         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5542         * libs/gst/bytestream/bytestream.c:
5543         * libs/gst/dataprotocol/dataprotocol.c:
5544         (gst_dp_header_from_buffer):
5545         * po/nb.po:
5546         * po/ru.po:
5547         * tests/threadstate/threadstate2.c: (eos):
5548         * tools/gst-compprep.c: (main):
5549         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5550         (print_pad_info), (print_children_info):
5551         * tools/gst-launch.c: (idle_func), (main):
5552         * tools/gst-md5sum.c: (idle_func), (main):
5553         * tools/gst-xmlinspect.c: (print_element_info):
5554         First THREADED backport attempt, focusing on adding locks and
5555         making sure the API is threadsafe. Needs more work. More docs
5556         follow this week.
5557
5558 2005-02-24  Andy Wingo  <wingo@pobox.com>
5559
5560         * tests/bench-complexity.scm:
5561         * tests/complexity.gnuplot: New files, good for running complexity
5562         benchmarks.
5563
5564         * tests/Makefile.am:
5565         * tests/complexity.c: New test, sets up N elements, at each level
5566         teeing into M streams per element. Eeeenteresting.
5567
5568         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5569         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5570         running bench-mass_elements.scm.
5571
5572         * tests/bench-mass_elements.scm: New script, runs mass_elements
5573         for various numbers of identities, outputting the results to a
5574         file. Requires guile 1.6. Just for testing.
5575
5576 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5577
5578         * gst/schedulers/fairscheduler.c:
5579           compile with debug disabled
5580
5581 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5582
5583         * configure.ac:
5584           hunting season on 0.9 is now OPEN
5585
5586 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5587
5588         * docs/libs/tmpl/gstcontrol.sgml:
5589         * docs/libs/tmpl/gstdparam.sgml:
5590         * docs/libs/tmpl/gstdplinint.sgml:
5591         * docs/libs/tmpl/gstdpman.sgml:
5592         * docs/libs/tmpl/gstdpsmooth.sgml:
5593         * docs/libs/tmpl/gstunitconvert.sgml:
5594           more docs for the state of dparams
5595
5596 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5597
5598         * gst/gstelementfactory.c: (gst_element_factory_create):
5599         * gst/gstobject.c: (gst_object_init),
5600         (gst_object_set_name_default), (gst_object_set_name):
5601           name objects by default, not in gst_element_factory_create. Allows
5602           using elements created with g_object_new. (fixes #167283)
5603
5604 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5605
5606         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5607           make the time that debugging functions print relative to when
5608           gst_init was called
5609
5610 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5611
5612         * gst/gsttaginterface.c:
5613           Fix inline docs: tag setter vararg functions are NULL-terminated,
5614           GST_TAG_INVALID doesn't exist any more.
5615
5616 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5617
5618         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5619         Allocate the 1 byte more memory that was forgotten!!!!!
5620         fixes memory corruption on 64bit platforms
5621
5622 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5623
5624         * docs/pwg/building-pads.xml:
5625         * docs/pwg/intro-basics.xml:
5626           fixed a few typos, relabeled introductionary list of types
5627         * docs/random/ensonic/dparams.txt:
5628           more notes abut dparam changes
5629         * libs/gst/control/dparam.c: (gst_dparam_attach):
5630         * libs/gst/control/dparammanager.c:
5631         * libs/gst/control/dparammanager.h:
5632           - many comments and notes on dparam implementation
5633           - new dparams are were not initialized to the default value
5634             from param spec
5635
5636 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5637
5638         submitted by: Peter Astakhov
5639
5640         * po/LINGUAS:
5641         * po/ru.po:
5642           adding Russian translation
5643
5644 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5645
5646         * configure.ac:
5647         * docs/gst/Makefile.am:
5648         * docs/libs/Makefile.am:
5649           make sure popt is added to gtk-doc flags.  Fixes #147782.
5650
5651 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5652
5653         * docs/faq/using.xml:
5654           Fix typo in FAQ (artssink => artsdsink)
5655
5656 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5657
5658         * tools/gst-launch.1.in:
5659           Fix typo (#166699).
5660
5661 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5662
5663         * docs/faq/using.xml:
5664           Add -v argument to fakesrc/fakesink gst-launch line,
5665           so that the promised output will actually show up.
5666
5667 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5668
5669         * gst/gstthread.c: (gst_thread_change_state):
5670           Implement state-change error handling (#166073).
5671
5672 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5673
5674         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5675           Release interrupt after handling (#166250).
5676
5677 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5678
5679         * configure.ac:
5680           back to HEAD
5681
5682 === release 0.8.9 ===
5683
5684 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5685
5686         * NEWS:
5687         * RELEASE:
5688         * configure.ac:
5689           releasing 0.8.9, "Like Eating Glass"
5690
5691 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5692
5693         submitted by: Clytie Siddall
5694
5695         * po/vi.po: Added Vietnamese translation
5696
5697 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5698
5699         patch by: Tim Philipp-Müller
5700
5701         * configure.ac:
5702         * gst/gstpad.c:
5703           unref data when probe function returns FALSE.  Fixes #166362
5704
5705 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5706
5707         * gst/gst.c: (gst_init_get_popt_table):
5708           Fix typo (#166269).
5709
5710 2005-02-04  Andy Wingo  <wingo@pobox.com>
5711
5712         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5713         the debugging on whether the caps are compatible.
5714
5715 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5716
5717         * docs/manual/basics-elements.xml:
5718           Fix two typos.
5719
5720 2005-02-02  Wim Taymans  <wim@fluendo.com>
5721
5722         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5723         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5724         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5725         Remove some FIXMEs after analysing and commenting why they
5726         are not issues.
5727
5728 2005-02-02  Wim Taymans  <wim@fluendo.com>
5729
5730         * gst/schedulers/gstoptimalscheduler.c:
5731         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5732         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5733         (get_invalid_call), (chain_invalid_call),
5734         (get_group_schedule_function), (loop_group_schedule_function),
5735         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5736         (gst_opt_scheduler_state_transition),
5737         (gst_opt_scheduler_add_element),
5738         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5739         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5740         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5741         (gst_opt_scheduler_show):
5742         Added lock to protect scheduler data structures.
5743
5744 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5745
5746         * testsuite/threads/threadi.c: (cb_data):
5747           Fix buglet in test.
5748
5749 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5750
5751         * testsuite/threads/Makefile.am:
5752         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5753           On Wim's request, split the test in three separately-compiled
5754           tests that each test a very specific bug. Two of them still fail,
5755           will create bugs for those. threadi.c indicates why they fail.
5756
5757 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5758
5759         * gst/schedulers/gstoptimalscheduler.c:
5760         (get_group_schedule_function):
5761           Try to work with the threading mess that queue_link is.
5762
5763 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5764
5765         * gst/gstbin.c: (gst_bin_remove_func):
5766           Explicitely make an element release locks in a group when being
5767           remove from a bin.
5768         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5769           If there's no scheduler, always return immediately (similar to
5770           gst_element_interrupt).
5771
5772 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5773
5774         * gst/gstbin.c: (gst_bin_child_state_change_func):
5775           Remove a piece of code that could never be reached.
5776         * docs/gst/gstreamer-sections.txt:
5777         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5778         (gst_pad_call_get_function):
5779         * gst/gstpad.h:
5780         * testsuite/pad/Makefile.am:
5781           Fix #150546, enable tests.
5782
5783 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5784
5785         * docs/pwg/advanced-types.xml:
5786           Fix description for buffer-frames=0.
5787         * docs/gst/tmpl/gstbin.sgml:
5788         * gst/gstbin.c: (gst_bin_child_state_change_func),
5789         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5790         * gst/gstbin.h:
5791         * testsuite/threads/Makefile.am:
5792         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5793         (cb_state), (cb_play), (main):
5794           Fix non-recursive state changes to *really* change the state
5795           of the object, and not just call parent_class->state_change.
5796           Fix a lot of lockups caused by this. Fixes #132775. Add test
5797           for the problem. Also enable test to show #142588 (fixed).
5798         * gst/gstthread.c: (gst_thread_change_state),
5799         (gst_thread_child_state_change):
5800           Don't exit the thread if we go to NULL and are inside thread
5801           context. Instead, return control to the main thread context
5802           and exit from there.
5803         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5804           Don't unset virtual functions, since those may still be used.
5805           That's not necessarily correct, but suffices for now.
5806         * configure.ac:
5807         * testsuite/Makefile.am:
5808         * testsuite/pad/Makefile.am:
5809         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5810         (gst_test_sink_base_init), (gst_test_sink_chain),
5811         (gst_test_sink_init), (main):
5812         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5813         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5814         (main):
5815         * testsuite/pad/link.c: (gst_test_element_class_init),
5816         (gst_test_element_base_init), (gst_test_src_get),
5817         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5818         (gst_test_filter_loop), (gst_test_filter_init),
5819         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5820         (cb_error), (main):
5821           Add tests to show #150546. Pass, but should fail (currently
5822           disabled from the testsuite).
5823         * gst/gstscheduler.c: (gst_scheduler_dispose):
5824           Dereference child schedulers on dispose (#94464).
5825         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5826           Fix typo.
5827         * testsuite/threads/thread.c: (main):
5828           Add more debug.
5829
5830 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5831
5832         * gst/gstpad.c: (gst_pad_push):
5833           Oops, revert previous commit, broke testsuite...
5834
5835 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5836
5837         * gst/gstpad.c: (gst_pad_push):
5838           Add check that the pad on which the push is performed is not a
5839           get-based pad (#150546).
5840
5841 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5842
5843         * gst/elements/gsttypefindelement.c:
5844         (gst_type_find_element_handle_event):
5845           Fix buffer pushing if stream EOSes during typefinding.
5846
5847 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5848
5849         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5850
5851         * gst/gstvalue.c: (gst_string_wrap):
5852           Allow NULL-strings as argument (#165365).
5853
5854 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5855
5856         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5857
5858         * gst/schedulers/faircothreads.c:
5859         (gst_fair_scheduler_cothread_queue_show):
5860           Fix build without debug enabled.
5861
5862 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5863
5864         * docs/gst/gstreamer-sections.txt:
5865         * docs/libs/gstreamer-libs-docs.sgml:
5866         * docs/libs/gstreamer-libs-sections.txt:
5867         * docs/libs/tmpl/gstcontrol.sgml:
5868         * docs/libs/tmpl/gstdparam.sgml:
5869         * docs/libs/tmpl/gstdplinint.sgml:
5870         * docs/libs/tmpl/gstdpman.sgml:
5871         * docs/libs/tmpl/gstdpsmooth.sgml:
5872         * docs/libs/tmpl/gstputbits.sgml:
5873         * docs/libs/tmpl/gstunitconvert.sgml:
5874         * libs/gst/control/dparam.c:
5875         * libs/gst/control/dparam.h:
5876         * libs/gst/control/dparammanager.c:
5877         (gst_dpman_add_required_dparam_callback),
5878         (gst_dpman_add_required_dparam_direct),
5879         (gst_dpman_add_required_dparam_array),
5880         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5881         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5882         (gst_dpman_get_manager)
5883           restructured DParam docs
5884
5885 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5886
5887         * gst-element-check.m4:
5888           Only check for gst-inspect if we haven't already
5889           found it in previous element check runs
5890
5891 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5892
5893         * docs/gst/Makefile.am:
5894         * docs/libs/Makefile.am:
5895           fixed install rules to treat style.css as optional
5896
5897 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5898
5899         * docs/gst/Makefile.am:
5900         * docs/libs/Makefile.am:
5901           install style.css along with docs
5902         * docs/gst/tmpl/gstbin.sgml:
5903         * docs/gst/tmpl/gstclock.sgml:
5904         * docs/gst/tmpl/gstdata.sgml:
5905         * docs/gst/tmpl/gstelement.sgml:
5906         * gst/gstbin.h:
5907         * gst/gstelement.c: (gst_element_class_init):
5908         * gst/gstelement.h:
5909           fixing incomplete docs
5910
5911 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5912
5913         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5914           Don't unref seek event twice when fflush() fails
5915           
5916 2005-01-22  David Schleef  <ds@schleef.org>
5917
5918         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5919
5920 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5921
5922         * docs/gst/Makefile.am:
5923         * docs/libs/Makefile.am:
5924           added params for deprecation guards
5925         * gst/gst.c:
5926         * gst/gst.h:
5927         * gst/gsterror.c: (_gst_resource_errors_init),
5928         (_gst_stream_errors_init):
5929         * gst/gsterror.h:
5930           documented some more enums
5931
5932 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5933         * gst/autoplug/gstspideridentity.c:
5934         Cosmetic fix - spider_find_peek should be static
5935         * gst/parse/parse.l:
5936         Applying fix for #164261
5937
5938 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5939
5940         * docs/gst/gstreamer-sections.txt:
5941         * docs/gst/tmpl/gstplugin.sgml:
5942         * docs/libs/gstreamer-libs-sections.txt:
5943         * docs/libs/tmpl/gstcontrol.sgml:
5944         * gst/gstbuffer.h:
5945         * gst/gsttag.h:
5946         * gst/gstvalue.c:
5947           added docs for the TAG defines
5948
5949 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5950
5951         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5952           Only unref entry if there is an entry.
5953
5954 2005-01-17  Wim Taymans  <wim@fluendo.com>
5955
5956         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5957         (remove_from_group), (schedule_group), (normalize_group),
5958         (gst_opt_scheduler_iterate):
5959         Also ref/unref decoupled elements before iterating the
5960         group since they are not added to the list of elements.
5961
5962 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5963
5964         * docs/manual/highlevel-components.xml:
5965           Add subtitle/streamselection as new features to playbin.
5966
5967 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5968
5969         * docs/manual/manual.xml:
5970           Re-enable dataaccess docs (oops).
5971
5972 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5973
5974         * docs/pwg/advanced-types.xml:
5975         * docs/random/mimetypes:
5976           Add documentation on libsndfile types (#163309), by Steve Baker
5977           <steve@stevebaker.org>.
5978         * gst/gstelement.c: (gst_element_release_request_pad):
5979           If an element has no explicit function, just remove the pad.
5980
5981 2005-01-17  Luca Ognibene  <luogni@tin.it>
5982
5983         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5984
5985         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5986           Fix memleak (#163801).
5987
5988 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5989
5990         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5991           I think this is actually more correct...
5992
5993 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5994
5995         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5996           Another workaround for memory access while destroyed in callback.
5997           Please, someone with refcount knowledge, have a look at this.
5998
5999 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6000
6001         * docs/faq/faq.xml:
6002         * docs/faq/legal.xml:
6003           move the legal Q&A here
6004
6005 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6006
6007         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
6008         (gst_tee_request_new_pad):
6009           Fix negotiation.
6010
6011 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6012
6013         * docs/random/omega/caps2:
6014         * testsuite/caps/caps_strings:
6015           replace framerate aproximations by their real value
6016           (24000/1001, 30000/1001, 60000/1001)
6017           Partially fixes bug #164049
6018
6019 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6020
6021         * docs/gst/Makefile.am:
6022           don't fail on the stupid GstPoptOption
6023
6024 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6025
6026         * gst/gstpad.h:
6027         * gst/gstprobe.c:
6028           allow probes to work on ghost pads by realizing the pad
6029           probe debugging
6030
6031 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6032
6033         * docs/gst/gstreamer-sections.txt:
6034         * docs/gst/tmpl/gstpad.sgml:
6035         * gst/gstpad.c: (gst_pad_set_active_recursive):
6036         * gst/gstpad.h:
6037           Add gst_pad_set_active_recursive().
6038
6039 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6040
6041         * docs/random/release:
6042           updates
6043         * gst/gst_private.h:
6044         * gst/gstinfo.c:
6045         * gst/gstobject.c:
6046           move deep_notify logging to a new category
6047         * gst/gstprobe.c:
6048         * gst/gstprobe.h:
6049           add stuff so bindings can wrap probes
6050
6051 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6052
6053         * gst/gstplugin.c: (gst_plugin_load):
6054           Fix plugin loading if plugin/lib was already loaded. Fixes
6055           #163383
6056
6057 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6058
6059         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6060
6061         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6062           Protect plugin loading by a mutex so it's threadsafe. Fixes
6063           #163234.
6064
6065 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6066
6067         * gst/gstevent.c: (_gst_event_copy):
6068           Reference source object when copying events, since it'll be
6069           dereferenced on event dereferencing as well.
6070
6071 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6072
6073         * docs/gst/gstreamer-sections.txt:
6074         * docs/gst/tmpl/gstevent.sgml:
6075         * gst/gstevent.c: (gst_event_new_filler_stamped),
6076         (gst_event_filler_get_duration):
6077         * gst/gstevent.h:
6078           Add two new functions for filler events (which are used to
6079           synchronize streams if one of them is not having any data
6080           for a while) without interrupting the actual data-stream.
6081           Basically a no-op.
6082         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6083         (gst_queue_link_sink), (gst_queue_link_src),
6084         (gst_queue_change_state):
6085           Allow for renegotiation while filled. Required for stream
6086           switching while playing.
6087
6088 2005-01-08  Benjamin Otte  <otte@gnome.org>
6089
6090         * gst/gstelement.c: (gst_element_link_many):
6091           fix up g_return_if_fail's
6092         * po/LINGUAS:
6093         * po/de.po:
6094           add German translation, that was somehow not included
6095
6096 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6097
6098         * docs/random/mimetypes:
6099           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6100           do not add them to riff-lib as they are not common
6101
6102 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6103
6104         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6105           Check for existence of probe after performing the probe before
6106           re-accessing it to prevent segfaults caused by removal of the
6107           probe in the callback.
6108
6109 2005-01-05  David Schleef  <ds@schleef.org>
6110
6111         * testsuite/registry/Makefile.am:
6112         * testsuite/registry/gst-print-formats.c:
6113         (print_pad_templates_info), (print_element_list),
6114         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6115         (g_list_uniqify), (get_pad_templates_info),
6116         (get_element_mime_list), (print_mime_list), (main): A little
6117         program that looks through the registry to find elements of
6118         a given type.  Not particularly interesting as a test, except
6119         that there's no other test covering the same area.
6120
6121 2005-01-05  David Schleef  <ds@schleef.org>
6122
6123         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6124         (fault_handler_sigaction), (fault_spin),
6125         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6126         in signal.h-type signal handlers by not calling forbidden functions,
6127         including gst_element_set_state().
6128
6129 2005-01-05  David Schleef  <ds@schleef.org>
6130
6131         * gst/gstvalue.h: Mark _gst_reserved[] as private
6132
6133 2005-01-05  David Schleef  <ds@schleef.org>
6134
6135         * gst/gstvalue.c: Fix doc build problem.
6136
6137 2005-01-05  David Schleef  <ds@schleef.org>
6138
6139         * gst/gstvalue.c: Add some documentation
6140
6141 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6142
6143         * docs/README:
6144           another shell oneliner for empty return value docs
6145         * gst/gstcaps.c:
6146         * gst/gstvalue.c:
6147         * libs/gst/control/dparam.c:
6148           more doc fixes (parameters and return values)
6149
6150 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6151
6152         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6153
6154         * gst/gstregistry.h:
6155         * gst/registries/gstxmlregistry.c:
6156           Fix macro's for Mingw (fixes #162276).
6157
6158 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6159
6160         * docs/README:
6161           quick shell oneliner to find undocumented members
6162         * docs/gst/tmpl/gstplugin.sgml:
6163         * docs/gst/tmpl/gstscheduler.sgml:
6164         * docs/gst/tmpl/gstthread.sgml:
6165           more enumtypes cleanup
6166         * gst/gsterror.h:
6167           activated documentation comments, now someone needs to document
6168           the enums :(
6169
6170 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6171
6172         * docs/manual/manual.xml:
6173           Add dataaccess part (doh!).
6174
6175 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6176
6177         * docs/manual/advanced-autoplugging.xml:
6178           Fix typo (intiate -> initiate).
6179
6180 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6181
6182         * docs/random/bbb/streamselection:
6183           Add some notes on how to handle multi-subtitle/-audio streams.
6184
6185 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6186
6187         * docs/gst/gstreamer-docs.sgml:
6188         * docs/gst/gstreamer-sections.txt:
6189         * docs/gst/tmpl/gstenumtypes.sgml:
6190         * docs/gst/tmpl/gsterror.sgml:
6191         * docs/gst/tmpl/gstevent.sgml:
6192         * docs/gst/tmpl/gstpad.sgml:
6193         * docs/gst/tmpl/gstpadtemplate.sgml:
6194         * docs/gst/tmpl/gstthread.sgml:
6195           removed gstenumtypes section from docs and put all the enums into
6196           their sections
6197
6198 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6199
6200         * gst/gstplugin.c:
6201           document gst_library_load a bit more (riff special case + return
6202           value if already loaded)
6203         * testsuite/bytestream/filepadsink.c:
6204           plugin name is 'gstbytestream', not 'bytestream'
6205
6206 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6207
6208         * docs/random/bbb/subtitles:
6209           Add some first mind rumblings on proper subtitle support.
6210
6211 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6212
6213         * po/ca.po:
6214         * po/sv.po:
6215           updated translations
6216
6217 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6218
6219         * docs/manual/advanced-dataaccess.xml:
6220           Add section on how to use fakesrc/fakesink/identity in your
6221           application, plus section on how to embed plugins. Also mention
6222           probes.
6223         * docs/manual/appendix-checklist.xml:
6224         * docs/manual/appendix-debugging.xml:
6225         * docs/manual/appendix-gnome.xml:
6226         * docs/manual/appendix-integration.xml:
6227           Debug -> checklist, GNOME -> integration, add sections on Linux,
6228           KDE integration and add other things useful for application
6229           development.
6230         * docs/manual/manual.xml:
6231           Remove some fixmes, update some file pointers.
6232         * docs/pwg/appendix-checklist.xml:
6233           Fix typo.
6234         * docs/pwg/building-boiler.xml:
6235           Remove ugly header and add commented fixme.
6236         * docs/pwg/pwg.xml:
6237           Add fixme.
6238         * examples/manual/Makefile.am:
6239           Add example for added docs.
6240
6241 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6242
6243         * configure.ac:
6244           back to HEAD
6245
6246 === release 0.8.8 ===
6247
6248 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6249
6250         * NEWS:
6251         * RELEASE:
6252         * configure.ac:
6253           Releasing 0.8.8, "I'll Take Care Of You"
6254
6255 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6256
6257         * configure.ac:
6258           second prerelease
6259
6260 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6261
6262         patch by: Wim Taymans
6263
6264         * gst/gstbin.c:
6265           Fix for #159852 - make iterate emission threadsafe
6266
6267 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6268
6269         * docs/faq/cvs.xml:
6270           notes about new fdo account request
6271
6272 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6273
6274         * docs/gst/gstreamer-docs.sgml:
6275         * docs/gst/tmpl/gstenumtypes.sgml:
6276         * docs/gst/tmpl/gstplugin.sgml:
6277         * docs/libs/gstreamer-libs-docs.sgml:
6278           Added missing short docs. Added ids for navigation.
6279
6280 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6281
6282         * docs/manual/advanced-autoplugging.xml:
6283         * docs/manual/advanced-schedulers.xml:
6284         * docs/manual/advanced-threads.xml:
6285           Rewrites. Remove cothreads, go a bit into opt specifically,
6286           document threads and their gotchas, and do some technical stuff
6287           on autoplugging plus add some working examples. Fixes #157395.
6288         * examples/manual/Makefile.am:
6289           Add typefind/autoplugger example (one that actually works).
6290           Remove queue example since it's a duplicate of the thread one.
6291
6292 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6293
6294         * gst/gstvalue.c: (gst_value_deserialize_string):
6295           use deprecated g_value_set_string_take_ownership to keep compatible
6296           with glib 2.2
6297
6298 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6299
6300         * gst/gstvalue.c: (gst_value_deserialize_string):
6301           revert last patch, only dom a g_utf8_validate now before accepting
6302           the string - caps parsing strips " from strings so we can't rely on
6303           them
6304         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6305           disable a test that tested the above and comment it
6306
6307 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6308
6309         Patch reviewed by David Schleef  <ds@schleef.org>
6310
6311         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6312         bug #153882)
6313         * win32/gstenumtypes.h: same
6314
6315 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6316
6317         * gst/gstpad.c: (gst_pad_query):
6318           Do query on realized pad, similar to how convert/send_event handle
6319           this. Also makes sense, since this pad belongs to the function to
6320           which this query will be sent. Fixes #158163.
6321
6322 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6323
6324         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6325
6326 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6327
6328         * docs/faq/general.xml: fix pipeline to actually work
6329
6330 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6331
6332         * gst/gstvalue.c: (gst_value_deserialize_string):
6333           check that a simple string that gets deserialized does not contain
6334           invalid characters
6335         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6336           remove a test that tested a wring behaviour
6337
6338 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6339
6340         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6341
6342         * docs/manual/intro-motivation.xml:
6343           Fix typos.
6344
6345 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6346
6347         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6348
6349         * docs/gst/tmpl/gstprobe.sgml:
6350           Fix documentation of probe callback - it is supposed to return
6351           FALSE, not TRUE, to remove data from the stream (#159087).
6352
6353 2004-12-16  Daniel Gazard  <dany42@free.fr>
6354
6355         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6356
6357         * gst/gstelementfactory.c: (gst_element_factory_create):
6358           Fix compile failure if compiling without libxml2 support (#149936).
6359
6360 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6361
6362         * docs/manual/advanced-autoplugging.xml:
6363         * docs/manual/highlevel-components.xml:
6364           Move spider from autoplugging to components. Autoplugging is for
6365           internals, not for solutions. ;-).
6366
6367 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6368
6369         * docs/random/ds/0.9-suggested-changes:
6370           Make note on device/location/uri property names.
6371
6372 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6373
6374         * docs/manual/advanced-autoplugging.xml:
6375         * docs/manual/advanced-clocks.xml:
6376         * docs/manual/advanced-interfaces.xml:
6377         * docs/manual/advanced-metadata.xml:
6378         * docs/manual/advanced-position.xml:
6379         * docs/manual/advanced-schedulers.xml:
6380         * docs/manual/advanced-threads.xml:
6381         * docs/manual/appendix-gnome.xml:
6382         * docs/manual/appendix-programs.xml:
6383         * docs/manual/appendix-quotes.xml:
6384         * docs/manual/autoplugging.xml:
6385         * docs/manual/basics-bins.xml:
6386         * docs/manual/basics-data.xml:
6387         * docs/manual/basics-elements.xml:
6388         * docs/manual/basics-helloworld.xml:
6389         * docs/manual/basics-init.xml:
6390         * docs/manual/basics-pads.xml:
6391         * docs/manual/basics-plugins.xml:
6392         * docs/manual/bins-api.xml:
6393         * docs/manual/bins.xml:
6394         * docs/manual/buffers-api.xml:
6395         * docs/manual/buffers.xml:
6396         * docs/manual/clocks.xml:
6397         * docs/manual/components.xml:
6398         * docs/manual/cothreads.xml:
6399         * docs/manual/debugging.xml:
6400         * docs/manual/dparams-app.xml:
6401         * docs/manual/dynamic.xml:
6402         * docs/manual/elements-api.xml:
6403         * docs/manual/elements.xml:
6404         * docs/manual/factories.xml:
6405         * docs/manual/gnome.xml:
6406         * docs/manual/goals.xml:
6407         * docs/manual/helloworld.xml:
6408         * docs/manual/helloworld2.xml:
6409         * docs/manual/highlevel-components.xml:
6410         * docs/manual/highlevel-xml.xml:
6411         * docs/manual/init-api.xml:
6412         * docs/manual/intro-basics.xml:
6413         * docs/manual/intro-motivation.xml:
6414         * docs/manual/intro-preface.xml:
6415         * docs/manual/intro.xml:
6416         * docs/manual/links-api.xml:
6417         * docs/manual/links.xml:
6418         * docs/manual/manual.xml:
6419         * docs/manual/motivation.xml:
6420         * docs/manual/pads-api.xml:
6421         * docs/manual/pads.xml:
6422         * docs/manual/plugins-api.xml:
6423         * docs/manual/plugins.xml:
6424         * docs/manual/programs.xml:
6425         * docs/manual/queues.xml:
6426         * docs/manual/quotes.xml:
6427         * docs/manual/schedulers.xml:
6428         * docs/manual/states-api.xml:
6429         * docs/manual/states.xml:
6430         * docs/manual/threads.xml:
6431         * docs/manual/typedetection.xml:
6432         * docs/manual/win32.xml:
6433         * docs/manual/xml.xml:
6434           Try 2. This time, include a short preface as a "general
6435           introduction", also add code blocks around all code samples
6436           so they get compiled. We still need a way to tell readers
6437           the filename of the code sample. In some cases, don't show
6438           all code in the documentation, but do include it in the generated
6439           code. This allows for focussing on specific bits in the docs,
6440           while still having a full test application available.
6441         * examples/manual/Makefile.am:
6442           Fix up examples for new ADM. Add several of the new examples that
6443           were either added or were missing from the build system.
6444         * examples/manual/extract.pl:
6445           Allow nameless blocks.
6446
6447 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6448
6449         * docs/manual/elements-api.xml:
6450         * docs/manual/helloworld.xml:
6451         * examples/manual/extract.pl:
6452           fix last example.  Add example of adding code blocks that are not
6453           shown in docbook output.
6454
6455 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6456
6457         * docs/manual/dynamic.xml:
6458         * docs/manual/elements-api.xml:
6459         * docs/manual/gnome.xml:
6460         * docs/manual/helloworld2.xml:
6461         * docs/manual/init-api.xml:
6462         * docs/manual/queues.xml:
6463         * docs/manual/threads.xml:
6464         * docs/manual/xml.xml:
6465         * examples/manual/extract.pl:
6466           Make it possible to extract example code from separate blocks.
6467           Should make Ronald happy.
6468
6469 2004-12-15  Wim Taymans  <wim@fluendo.com>
6470
6471         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6472         (remove_from_group), (group_elements_set_visited),
6473         (normalize_group), (gst_opt_scheduler_iterate):
6474         Fix bug where a flag was not updated on a decoupled entry point 
6475         because we were just checking the group element list and decoupled
6476         elements are not in that list..
6477
6478 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6479
6480         * docs/manual/advanced-autoplugging.xml:
6481         * docs/manual/advanced-clocks.xml:
6482         * docs/manual/advanced-dparams.xml:
6483         * docs/manual/advanced-interfaces.xml:
6484         * docs/manual/advanced-metadata.xml:
6485         * docs/manual/advanced-position.xml:
6486         * docs/manual/advanced-schedulers.xml:
6487         * docs/manual/advanced-threads.xml:
6488         * docs/manual/appendix-debugging.xml:
6489         * docs/manual/appendix-gnome.xml:
6490         * docs/manual/appendix-programs.xml:
6491         * docs/manual/appendix-quotes.xml:
6492         * docs/manual/appendix-win32.xml:
6493         * docs/manual/autoplugging.xml:
6494         * docs/manual/basics-bins.xml:
6495         * docs/manual/basics-data.xml:
6496         * docs/manual/basics-elements.xml:
6497         * docs/manual/basics-helloworld.xml:
6498         * docs/manual/basics-init.xml:
6499         * docs/manual/basics-pads.xml:
6500         * docs/manual/basics-plugins.xml:
6501         * docs/manual/bins-api.xml:
6502         * docs/manual/bins.xml:
6503         * docs/manual/buffers-api.xml:
6504         * docs/manual/buffers.xml:
6505         * docs/manual/clocks.xml:
6506         * docs/manual/components.xml:
6507         * docs/manual/cothreads.xml:
6508         * docs/manual/debugging.xml:
6509         * docs/manual/dparams-app.xml:
6510         * docs/manual/dynamic.xml:
6511         * docs/manual/elements-api.xml:
6512         * docs/manual/elements.xml:
6513         * docs/manual/factories.xml:
6514         * docs/manual/gnome.xml:
6515         * docs/manual/goals.xml:
6516         * docs/manual/helloworld.xml:
6517         * docs/manual/helloworld2.xml:
6518         * docs/manual/highlevel-components.xml:
6519         * docs/manual/highlevel-xml.xml:
6520         * docs/manual/init-api.xml:
6521         * docs/manual/intro-motivation.xml:
6522         * docs/manual/intro-preface.xml:
6523         * docs/manual/intro.xml:
6524         * docs/manual/links-api.xml:
6525         * docs/manual/links.xml:
6526         * docs/manual/manual.xml:
6527         * docs/manual/motivation.xml:
6528         * docs/manual/pads-api.xml:
6529         * docs/manual/pads.xml:
6530         * docs/manual/plugins-api.xml:
6531         * docs/manual/plugins.xml:
6532         * docs/manual/programs.xml:
6533         * docs/manual/queues.xml:
6534         * docs/manual/quotes.xml:
6535         * docs/manual/schedulers.xml:
6536         * docs/manual/states-api.xml:
6537         * docs/manual/states.xml:
6538         * docs/manual/threads.xml:
6539         * docs/manual/typedetection.xml:
6540         * docs/manual/win32.xml:
6541         * docs/manual/xml.xml:
6542           First try at rewriting the ADM. Needs lotsamore work, but some
6543           parts might already be somewhat useful.
6544         * docs/pwg/advanced-interfaces.xml:
6545           Remove properties interface, it never actually existed (except for
6546           on my HD...).
6547
6548 2004-12-13  David Schleef  <ds@schleef.org>
6549
6550         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6551         be NULL (bug #160220).
6552
6553 2004-12-13  David Schleef  <ds@schleef.org>
6554
6555         * configure.ac: remove all mmx stuff, because it's not used.
6556         * docs/random/ds/0.9-suggested-changes: additional notes
6557         * include/Makefile.am: we don't use these anymore
6558         * include/mmx.h: remove
6559         * include/sse.h: remove
6560
6561 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6562
6563         * docs/random/mimetypes:
6564           Add FOURCC code for h264 codec (VSSH)
6565           Add alternate FOURCC codes for h263 related codecs
6566
6567 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6568
6569         * docs/manual/programs.xml:
6570           Added more gst-launch examples.
6571
6572 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6573
6574         * gst/gstqueue.c: (gst_queue_handle_src_query):
6575           Check for availability again.
6576
6577 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6578
6579         * gst/gstcaps.c: (gst_caps_compare_structures):
6580           Simple caps go first. This has the nice side-effect of fixing an
6581           obscure warning.
6582
6583 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6584
6585         * gst/gstversion.h.in:
6586           Protect header.
6587
6588 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6589
6590         * gst/schedulers/gstoptimalscheduler.c:
6591         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6592         (gst_opt_scheduler_get_wrapper):
6593           When we're recursing into a chain run, only run the directly
6594           related group, not all queued ones. This will fix a possible
6595           deadlock in chains with more than two groups.
6596
6597 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6598
6599         * autogen.sh:
6600           remove patch if autopoint fails
6601
6602 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6603
6604         * docs/gst/gstreamer-sections.txt:
6605           Document Thomas' addition, fix build, make Luis the sheriff happy.
6606
6607 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6608
6609         * gst/gstplugin.c:
6610         * gst/gstplugin.h:
6611           add accessor for version field
6612
6613 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6614
6615         submitted by: Luca Ferretti <elle.uca@infinito.it>
6616
6617         * po/LINGUAS:
6618         * po/it.po:
6619           New tranlation added: Italian
6620
6621 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6622
6623         * gst/gstpad.c: (gst_pad_is_negotiated),
6624         (gst_pad_get_negotiated_caps):
6625           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6626           it doesn't actually check the contents), so be sure to hand it
6627           a RealPad else we'll crash.
6628
6629 2004-12-03  Wim Taymans  <wim@fluendo.com>
6630
6631         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6632         (gst_queue_link), (gst_queue_handle_src_query):
6633         Reverted to 1.110 until this makes the testsuite and various
6634         apps work.
6635
6636 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6637
6638         * docs/upload.mak: fix included CVS conflict strings
6639
6640 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6641
6642         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6643
6644         * gst/gstelement.c: (gst_element_error_full):
6645           Use g_error_new_literal because error text may have
6646           percentage signs in it. Fixes #160019.
6647
6648 2004-12-01  Benjamin Otte  <otte@gnome.org>
6649
6650         * gst/elements/gstbufferstore.c:
6651         (gst_buffer_store_add_buffer_func):
6652           don't try to make subbuffers bigger than they can be. (fixes
6653           #159970)
6654
6655 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6656
6657         * docs/gst/gstreamer-sections.txt:
6658         * docs/gst/tmpl/gstvalue.sgml:
6659           Add new function to docs to fix build.
6660
6661 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6662
6663         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6664         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6665         (_gst_pad_default_fixate_foreach):
6666         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6667         * gst/gstvalue.h:
6668           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6669           in some cases (arrays), the fixedness depends on the content.
6670         * gst/gstqueue.c: (gst_queue_handle_src_query):
6671           Check for availability before doing something.
6672
6673 2004-11-29  Wim Taymans  <wim@fluendo.com>
6674
6675         * testsuite/threads/Makefile.am:
6676         * testsuite/threads/signals.c: (gst_test_get_type),
6677         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6678         (gst_test_set_property), (gst_test_get_property),
6679         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6680         (gst_test_do_prop), (run_thread), (main):
6681         Added a bunch of testcases that show threadsafety bugs in glib.
6682
6683 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6684
6685         * docs/manual/programs.xml:
6686           Added a first batch of gst-launch examples, as provided by Ronald
6687           and others from the devel-mlist
6688
6689 2004-11-28  Benjamin Otte  <otte@gnome.org>
6690
6691         * gst/gstelement.c: (gst_element_negotiate_pads):
6692           simplify
6693         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6694         (gst_value_serialize_string), (gst_value_deserialize_string):
6695           add unwrapping of previously wrapped strings. Fix bug in wrapping
6696           while at it.
6697         * testsuite/caps/value_serialize.c: (test1),
6698         (test_string_serialization), (test_string_deserialization), (main):
6699           add tests for string (de)serialization
6700
6701 2004-11-26  Wim Taymans  <wim@fluendo.com>
6702
6703         * testsuite/threads/159566.c: (object_deep_notify), (main):
6704         * testsuite/threads/Makefile.am:
6705         Added testsuite to show bug #159566
6706
6707 2004-11-25  Wim Taymans  <wim@fluendo.com>
6708
6709         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6710         (gst_thread_child_state_change), (gst_thread_main_loop):
6711         Ref the thread object in the GThread mainloop. Break out of the
6712         thread mainloop if it holds the last ref. This properly exits
6713         the threads when disposing the thread from its own context. It
6714         also avoids possible deadlocks in the dispose function.
6715
6716 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6717
6718         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6719         it is necessary to wait.
6720
6721 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6722
6723         * docs/pwg/building-boiler.xml:
6724           Make description somewhat clearer.
6725
6726 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6727
6728         * docs/upload.mak:
6729           Apparently docs changed location on FDO's server.
6730
6731 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6732
6733         * docs/pwg/appendix-checklist.xml:
6734           Add some random notes on things to check when writing an element.
6735           This list can be extended as people see fit.
6736
6737 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6738
6739         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6740         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6741         pad. The queue will now wait until it is empty and forward the new
6742         caps to the source.
6743         * gst/gstbin.c (gst_bin_set_element_sched)
6744         (gst_bin_unset_element_sched): Make sure that all elements and
6745         links are registered and unregistered with the scheduler exactly
6746         once. This elaborates on a fix by Benjamin Otte, but
6747         guarantees that decoupled elements are also registered.
6748
6749 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6750
6751         * docs/manual/quotes.xml:
6752           add a quote
6753         * configure.ac:
6754         * gst/gst.c:
6755         * gst/gstinfo.c:
6756           add LIBDIR and move init message higher up so it's at the start
6757
6758 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6759
6760         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6761         * gstreamer.spec.in: add fair
6762
6763 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6764
6765         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6766         * gst/elements/gstidentity.c: (gst_identity_class_init):
6767           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6768           <teuf@gnome.org> (#157263).
6769         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6770         (gst_type_find_handle_src_query):
6771           Subtract size of internally stored data from position queries.
6772
6773 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6774
6775         * gst/schedulers/fairscheduler.c:
6776         * gst/schedulers/faircothreads.c:
6777         * gst/schedulers/faircothreads.h:
6778         New cothread based scheduler: Fair scheduler.
6779         * gst/schedulers/gthread-cothreads.h: 
6780         Add the standard #if around the whole file.
6781         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6782         compilation of the functions defined in this file. This is
6783         necessary to be able to use this file as a normal header.
6784         * gst/schedulers/Makefile.am: Add compiling support for fair
6785         scheduler.
6786         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6787         scheduler cothreads layer from documentation generation.
6788
6789 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6790
6791         * gst/autoplug/gstspideridentity.c:
6792         (gst_spider_identity_sink_loop_type_finding):
6793           Don't crash if that function is not implemented.
6794
6795 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6796
6797         * docs/pwg/advanced-types.xml:
6798           Another typo.
6799
6800 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6801
6802         * docs/pwg/intro-preface.xml:
6803           Hm, ok, so the brackets weren't really useful...
6804         * docs/pwg/other-ntoone.xml:
6805           Fix embarassing typo.
6806
6807 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6808
6809         * docs/pwg/intro-preface.xml:
6810           Rewrite preface.
6811
6812 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6813
6814         * docs/pwg/advanced-scheduling.xml:
6815         * docs/pwg/advanced-tagging.xml:
6816         * docs/pwg/advanced-types.xml:
6817         * docs/pwg/building-boiler.xml:
6818         * docs/pwg/building-chainfn.xml:
6819         * docs/pwg/building-signals.xml:
6820         * docs/pwg/building-state.xml:
6821         * docs/pwg/building-testapp.xml:
6822         * docs/pwg/intro-basics.xml:
6823         * docs/pwg/other-manager.xml:
6824         * docs/pwg/other-source.xml:
6825           Typo fixes.
6826         * docs/pwg/other-manager.xml:
6827           Add some first content. No example code yet.
6828         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6829           Remove double newlines.
6830
6831 2004-11-04  Wim Taymans  <wim@fluendo.com>
6832
6833         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6834         (remove_from_group), (normalize_group), (group_migrate_connected),
6835         (gst_opt_scheduler_iterate):
6836         * testsuite/schedulers/.cvsignore:
6837         * testsuite/schedulers/Makefile.am:
6838         * testsuite/schedulers/queue_link.c: (main):
6839         Added testcase for scheduler segfault.
6840         Fix scheduler segfault when removing a decoupled
6841         entry point as the last element from a group.
6842
6843 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6844
6845         * gst/gstmarshal.list: add missing marshaller, fixes build
6846
6847 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6848
6849         * docs/random/signal: added notes about using BOXED for GstBuffer
6850         signal marshallers, not POINTER
6851
6852 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6853
6854         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6855         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6856         POINTER=>BOXED changes to marshal GstBuffers
6857
6858 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6859
6860         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6861         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6862
6863 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6864
6865         * docs/gst/gstreamer-sections.txt:
6866         * docs/gst/tmpl/gstcaps.sgml:
6867         * docs/gst/tmpl/gsterror.sgml:
6868         * docs/gst/tmpl/gstinfo.sgml:
6869         * docs/gst/tmpl/gstmacros.sgml:
6870         * docs/gst/tmpl/gstutils.sgml:
6871         * docs/random/ensonic/interfaces.txt:
6872         * gst/gstinfo.h:
6873           added some more docs, removed two obsolete defines
6874
6875 2004-11-02  Kjartan Maraas <as at gnome.org>
6876
6877         reviewed by: Wim Taymans, Ronald Bultje.
6878
6879         * gst/cothreads.c: (cothread_create):
6880         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6881         (gst_bin_child_state_change_func):
6882         * gst/gstbuffer.c: (gst_buffer_span):
6883         * gst/gstelement.c: (gst_element_get_index),
6884         (gst_element_get_event_masks), (gst_element_get_query_types),
6885         (gst_element_get_formats):
6886         * gst/gsterror.c: (_gst_core_errors_init),
6887         (_gst_library_errors_init), (_gst_resource_errors_init),
6888         (_gst_stream_errors_init):
6889         * gst/gstobject.c: (gst_object_default_deep_notify):
6890         * gst/gstpad.c: (gst_pad_get_event_masks),
6891         (gst_pad_get_internal_links_default):
6892         * gst/gstplugin.c: (gst_plugin_register_func),
6893         (gst_plugin_get_module):
6894         * gst/gststructure.c: (gst_structure_get_string),
6895         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6896         (gst_structure_to_abbr):
6897         * gst/gstutils.c: (gst_print_element_args):
6898         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6899         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6900         Aplied part of patch #157127: Cleanup of issues reported by 
6901         sparse.
6902         Also do not try to use cothreads when there is no cothread
6903         context yet.
6904
6905 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6906
6907         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6908         (gst_opt_scheduler_iterate):
6909         Applied patch #154061. Running a pipeline in which an element 
6910         calls GST_ELEMENT_ERROR in the chain function, the opt 
6911         scheduler doesn't unref the chain so it never gets freed.
6912
6913 2004-11-02  Wim Taymans  <wim@fluendo.com>
6914
6915         * gst/gststructure.c: (gst_structure_get_abbrs),
6916         (gst_structure_from_abbr), (gst_structure_to_abbr):
6917         Remove that ugly if-then thing in the code that converts
6918         between strings and types.
6919
6920 2004-11-02  Wim Taymans  <wim@fluendo.com>
6921
6922         * gst/gstscheduler.c: (gst_scheduler_add_element),
6923         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6924         Aplied clock distribution patch, this should fix bug
6925         #148787.
6926
6927 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6928
6929         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6930
6931         * po/LINGUAS:
6932         * po/nb.po:
6933           Added Norwegian Bokmaal translation
6934
6935 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6936
6937         * tools/gst-inspect.c: (print_signal_info):
6938           print signal arguments as pointers if they are
6939
6940 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6941
6942         * docs/pwg/building-boiler.xml:
6943           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6944
6945 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6946
6947         * gst/parse/parse.l:
6948         * testsuite/parse/parse1.c: (main):
6949         Since parse can do 'element name=a:b' make 'a:b.' work as
6950         well. 
6951         Added testcase to verify fix.
6952
6953 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6954
6955         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6956         Use the realpad when printing the direction.
6957         Add extra \n when printing extensions of typefind factories.
6958
6959 2004-10-13  David Schleef  <ds@schleef.org>
6960
6961         * examples/manual/Makefile.am: $< isn't portable in Makefile
6962         rules.
6963
6964 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6965
6966         * docs/gst/tmpl/gstobject.sgml:
6967         * docs/gst/tmpl/gstplugin.sgml:
6968         * docs/gst/tmpl/gstpluginfeature.sgml:
6969         * docs/gst/tmpl/gstregistry.sgml:
6970         * docs/gst/tmpl/gstversion.sgml:
6971         * gst/gstbin.c:
6972           more api documentation
6973         * gst/gstplugin.c: (gst_plugin_register_func),
6974         (gst_plugin_check_file), (gst_plugin_load_file):
6975           better error signaling and logging
6976
6977 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6978
6979         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6980           Subtract current queue contents from position queries.
6981
6982 2004-10-11  Johan Dahlin  <johan@gnome.org>
6983
6984         * gst/gsturi.c (gst_uri_get_location): unescape string
6985         (gst_uri_construct): escape string.
6986
6987 2004-10-11  Benjamin Otte  <otte@gnome.org>
6988
6989         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6990         (gst_pad_try_set_caps_nonfixed):
6991           allow renegotiation of unconnected pads (as inside spider). Simply
6992           return OK if unconnected - mimic try_set_caps there.
6993
6994 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6995
6996         * gst/gstbin.c: (gst_bin_sync_children_state):
6997           Add missing break.
6998
6999 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7000
7001         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
7002         Set element to EOS before sending EOS event
7003
7004 2004-10-08  Wim Taymans  <wim at fluendo dot com>
7005
7006         * gst/elements/gsttypefindelement.c:
7007         (gst_type_find_element_handle_event):
7008         Handle EOS events when doing the transition from
7009         typefind to data passing. This should fix the
7010         infinite loops in short files.
7011
7012 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7013
7014         * gst/gstthread.c: (gst_thread_change_state),
7015         (gst_thread_child_state_change):
7016         Make sure no iteration happens while performing
7017         the state change as it could mess up the internal
7018         consistency of the thread state.
7019
7020 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7021
7022         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
7023         (gst_thread_change_state), (gst_thread_child_state_change):
7024         Do not try to grab the iterate lock in the state change method
7025         when we are in the same thread as the iterate or else we
7026         could deadlock. Some other cleanups.
7027
7028 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7029
7030         * configure.ac:
7031           bump nano to cvs
7032
7033 === release 0.8.7 ===
7034
7035 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7036
7037         * configure.ac:
7038         * NEWS:
7039         * RELEASE:
7040         * configure.ac:
7041           releasing 0.8.7, "A Cruise"
7042
7043 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7044
7045         * docs/random/mimetypes:
7046         Add an entry for Sony ATRAC3 audio format with mime-type
7047         used by rmdemux et riff-read
7048
7049 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7050
7051         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7052         Push the buffer store instead of clearing it in case that
7053         the stream is not seekable.
7054
7055 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7056
7057         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7058         (gst_thread_main_loop):
7059         Lock the iteration and the state change so that automatic
7060         negotiation and fixation does not happen at the same time
7061         as the in stream negotiation.
7062
7063 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7064
7065         * configure.ac:
7066           bump nano to cvs
7067
7068 === release 0.8.6 ===
7069
7070 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7071
7072         * configure.ac:
7073         * NEWS:
7074         * RELEASE:
7075         * configure.ac:
7076           releasing 0.8.6, "Narc"
7077
7078 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7079
7080         * configure.ac:
7081           prerel bump
7082
7083 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7084
7085         patch by: Steve Lhomme
7086
7087         * gst/elements/gstfakesrc.c:
7088         * gst/elements/gstidentity.c:
7089         * gst/gstthread.c:
7090           Fix for #153881
7091
7092 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7093
7094         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7095         Fix threadsafety of the crc checking function.
7096
7097 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7098
7099         patch by: Ronald Bultje
7100
7101         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7102         (gst_type_find_element_handle_event),
7103         (gst_type_find_element_chain):
7104         * gst/elements/gsttypefindelement.h:
7105          #153657.
7106          Filter out discont event from seekable sources when typefind
7107          asks them to seek.  Fixes typefind with demuxers for
7108          avi, asf and matroska.
7109
7110 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7111
7112         * docs/gst/gstreamer-sections.txt:
7113         * gst/gstcaps.c:
7114         * gst/gstcaps.h:
7115         * gst/gstpad.c:
7116           Revert preferred caps: (#147789)
7117
7118 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7119
7120         * win32/dirent.c:
7121           fix a memory leak
7122
7123 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7124
7125         * configure.ac:
7126           bump for prerelease
7127
7128 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7129
7130         * docs/Makefile.am:
7131         * docs/manual/elements-api.xml:
7132           restructure so that common stuff is shown first
7133         * docs/manual/init-api.xml:
7134           convert to examples
7135         * docs/manual/manual.xml:
7136         * docs/manuals.mak:
7137         * docs/url.entities:
7138           link to API on the website, possibly override later in build
7139         * examples/manual/.cvsignore:
7140           ignore more
7141         * examples/manual/Makefile.am:
7142           add more examples
7143         * examples/manual/extract.pl:
7144           error out on failure
7145
7146 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7147
7148         * docs/gst/tmpl/gstthread.sgml:
7149         * docs/manual/init-api.xml:
7150         * examples/manual/Makefile.am:
7151           convert two code bits to examples
7152
7153 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7154
7155         * gst/gstelement.c: (gst_element_change_state):
7156           Well, actually, I was about to remove this insane assert when
7157           I noticed Wim already did that. A warning is nice so we can
7158           fix actual ugs (using --g-fatal-warnings and backtraces), so
7159           I added that instead.
7160
7161 2004-09-06  Wim Taymans  <wim@fluendo.com>
7162
7163         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7164         (gst_element_threadsafe_properties_post_run),
7165         (gst_element_set_state), (gst_element_change_state):
7166         Added extra refcounting around various places. 
7167
7168 2004-09-06  Wim Taymans  <wim@fluendo.com>
7169
7170         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7171         Fix debug info.
7172
7173 2004-09-06  Wim Taymans  <wim@fluendo.com>
7174
7175         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7176         (remove_from_group):
7177         Some more debug info.
7178
7179 2004-09-03  Wim Taymans  <wim@fluendo.com>
7180
7181         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7182         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7183         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7184         (gst_fakesrc_get), (gst_fakesrc_change_state):
7185         * gst/elements/gstfakesrc.h:
7186         * gst/elements/gstidentity.c: (gst_identity_class_init),
7187         (gst_identity_init), (gst_identity_chain),
7188         (gst_identity_set_property), (gst_identity_get_property),
7189         (gst_identity_change_state):
7190         * gst/elements/gstidentity.h:
7191         Added datarate properties to limit the datarate.
7192
7193 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7194
7195         * gst/autoplug/gstspider.c: (plugin_init):
7196           don't set a rank. We don't want to autoplug by inserting spiders.
7197
7198 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7199
7200         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7201         (gst_spider_identity_plug):
7202           add a template for spider's sink
7203         * gst/gst.c: (gst_register_core_elements):
7204           queue's rank should be NULL, we don't want spider to add it.
7205
7206 2004-08-18  David Schleef  <ds@schleef.org>
7207
7208         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7209         * docs/libs/Makefile.am: same
7210         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7211         * docs/random/ds/0.9-planning: random additions
7212         * docs/random/ds/0.9-suggested-changes: same
7213         * gst/gstxml.h: remove vestigal GstXMLNs definition
7214
7215         Preferred caps: (#147789)
7216         * docs/gst/gstreamer-sections.txt: Add symbols
7217         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7218         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7219         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7220         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7221         (gst_caps_get_preferred), (gst_caps_set_preferred),
7222         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7223         (gst_caps_use_preferred): Handle caps preferences
7224         * gst/gstcaps.h: Add caps preferences
7225         * gst/gstpad.c: (gst_pad_link_get_preferred),
7226         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7227         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7228         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7229         negotiation.
7230
7231 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7232
7233         * gst/autoplug/gstspideridentity.c:
7234         (gst_spider_identity_request_new_pad):
7235         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7236         (gst_aggregator_init):
7237         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7238         (gst_fakesink_init):
7239         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7240         (gst_fakesrc_init):
7241         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7242         (gst_fdsink_init):
7243         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7244         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7245         (gst_filesink_init):
7246         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7247         (gst_filesrc_init):
7248         * gst/elements/gstidentity.c: (gst_identity_base_init),
7249         (gst_identity_init):
7250         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7251         (gst_multifilesrc_init):
7252         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7253         (gst_pipefilter_init):
7254         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7255         (gst_statistics_init):
7256         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7257         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7258           s/gst_pad_new/&_from_template/
7259           register pad templates in the base_init function
7260           add static pad template definitions
7261
7262 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7263
7264         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7265         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7266         * testsuite/refcounting/pad.c: (main):
7267         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7268           s/gst_pad_new/&_from_template/
7269           prepare deprecation of gst_pad_new
7270
7271 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7272
7273         patch by: Luca Ognibene <skaboy81@virgilio.it>
7274
7275         * gst/gstcaps.c:
7276         * gst/gstelement.c:
7277         * gst/gstpad.c:
7278         * gst/gstxml.c:
7279           fix memleaks.  Fixes #150001
7280
7281 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7282
7283         * docs/random/ds/0.9-suggested-changes:
7284           add notes - mostly about pad templates
7285
7286 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7287
7288         * win32/GStreamer.vcproj:
7289           temporary locale files are .gmo not .mo
7290
7291 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7292
7293         * configure.ac: bump nano to cvs
7294
7295 === release 0.8.5 ===
7296
7297 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7298
7299         * configure.ac:
7300           releasing 0.8.5, "Stuttgart"
7301         * NEWS:
7302         * RELEASE:
7303         * configure.ac:
7304         * docs/random/release:
7305           updates for release
7306
7307 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7308
7309         patch by: Wim Taymans (wim@fluendo.com)
7310
7311         * gst/gstbuffer.c:
7312         * gst/gstindex.h:
7313         * libs/gst/dataprotocol/dataprotocol.c:
7314           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7315
7316 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7317
7318         * Makefile.am:
7319         * win32/MANIFEST:
7320           add win32 dir to the build.  Fixes #149981.
7321
7322 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7323
7324         * configure.ac:
7325           bump libtool versioning
7326         * gst/gststructure.c:
7327           mark function as static
7328         * po/af.po:
7329         * po/az.po:
7330         * po/ca.po:
7331         * po/cs.po:
7332         * po/en_GB.po:
7333         * po/fr.po:
7334         * po/nl.po:
7335         * po/sq.po:
7336         * po/sr.po:
7337         * po/sv.po:
7338         * po/tr.po:
7339         * po/uk.po:
7340           translations update
7341         * win32/README.txt:
7342           trademark protection
7343
7344 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7345
7346         * configure.ac:
7347           fix GST_ORIGIN
7348           set GST_PACKAGE to source, and distinguish between release and other
7349         * tools/gst-inspect.c:
7350           print out plugin an element factory is part of so we see this info
7351
7352 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7353
7354         * docs/gst/gstreamer-sections.txt:
7355         * docs/gst/tmpl/gstbuffer.sgml:
7356         * docs/gst/tmpl/gstschedulerfactory.sgml:
7357           reorder docs a little, make GstBuffer's more sensible.
7358         * gst/gstbuffer.h:
7359           API: added GST_BUFFER_FLAG_DELTA_UNIT
7360         * gst/gstscheduler.c:
7361           comment API addition
7362
7363 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7364
7365         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7366           work with non-regular files that can be mmapped (like /dev/zero)
7367         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7368           get rid of typefinds that require a seek when we can't seek instead
7369           of trying them over and over again
7370         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7371           return non-zero failure value when the pipeline was interrupted or
7372           an error occurred
7373
7374 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7375
7376         * win32/config.h:
7377         * win32/GStreamer.vcproj:
7378           compile and install the locales
7379
7380 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7381
7382         * gst/gstvalue.c:
7383           fix a possible memory leak under Windows
7384
7385 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7386
7387         * win32/GStreamer.vcproj:
7388           fix a memory leak that occured under Windows
7389         * win32/gstreamer.def:
7390           add gst_scheduler_register
7391
7392 2004-08-11  Benjamin Otte  <otte@gnome.org>
7393
7394         * docs/gst/gstreamer-sections.txt:
7395         * gst/gstscheduler.c: (gst_scheduler_register):
7396         * gst/gstscheduler.h:
7397           API:
7398           add gst_scheduler_register shortcut similar to gst_element_register
7399         * gst/schedulers/entryscheduler.c: (plugin_init):
7400         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7401         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7402           use it
7403
7404 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7405
7406         * gst/gstvalue.h:
7407           fix a memory leak that occured under Windows
7408
7409 2004-08-10  Colin Walters  <walters@redhat.com>
7410
7411         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7412         Don't use O_EXCL to open temporary registry.  It will prevent
7413         registry creation if a temporary one already exists, which
7414         is unnecessary.
7415
7416 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7417
7418         * docs/gst/gstreamer-sections.txt:
7419         * docs/gst/tmpl/gstvalue.sgml:
7420           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7421
7422 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7423
7424         * win32/gstbytestream.vcproj:
7425         * win32/gstelements.vcproj:
7426         * win32/gstgetbits.vcproj:
7427         * win32/gst-inspect.vcproj:
7428         * win32/gst-launch.vcproj:
7429         * win32/gstoptimalscheduler.vcproj:
7430         * win32/GStreamer.vcproj:
7431         * win32/gst-register.vcproj:
7432         * win32/gstspider.vcproj:
7433           update the include and lib dirs to fit standard libraries as
7434           described in the Win32 manual
7435
7436 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7437
7438         * win32/config.h:
7439         * win32/gstversion.h:
7440           enable NLS again, push the version number for the coming 0.8.5 release
7441
7442 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7443
7444         * gst/gstvalue.h:
7445           export gst_type_XXX for windows DLLs
7446
7447 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7448
7449         * docs/faq/gst-uninstalled:
7450           fix PKG_CONFIG_PATH and PYTHONPATH
7451         * gst/schedulers/Makefile.am:
7452           cleanup
7453         * libs/gst/bytestream/bytestream.c:
7454           remove newline
7455         * po/LINGUAS:
7456         * po/sq.po:
7457           adding Albanian translation (Laurent Dhima)
7458         * po/cs.po:
7459           updated
7460
7461 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7462
7463         * po/ca.po:
7464         * po/sv.po:
7465           updated translations
7466
7467 2004-08-04  Benjamin Otte  <otte@gnome.org>
7468
7469         * tests/mass_elements.c: (main):
7470           allow specifying src and sink element explicitly, so I can test
7471           videotestsrc instead of fakesrc
7472
7473 2004-08-04  Benjamin Otte  <otte@gnome.org>
7474
7475         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7476         (gst_structure_id_empty_new), (gst_structure_empty_new),
7477         (gst_structure_copy):
7478           add gst_structure_id_empty_new_with_size to allow preallocating
7479           value array sizes. Use this in gst_structure_copy to get rid of
7480           reallocs.
7481           don't do quark=>string=>quark when copying structures
7482
7483 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7484
7485         * docs/manual/win32.xml:
7486         * win32/README.txt:
7487           update documentation with the clean version of dependencies
7488
7489 2004-08-03  Benjamin Otte  <otte@gnome.org>
7490
7491         * gst/schedulers/entryscheduler.c:
7492         (gst_entry_scheduler_remove_element):
7493           fix for GST_DISABLE_DEBUG
7494         * tools/gst-launch.c: (print_tag):
7495           fixes for G_DISABLE_ASSERT
7496
7497 2004-08-03  Benjamin Otte  <otte@gnome.org>
7498
7499         * gst/gst.c: (gst_register_core_elements):
7500           fix for G_DISABLE_ASSERT
7501         * gst/gstinfo.c: (__gst_in_valgrind):
7502           add for GST_DISABLE_DEBUG
7503
7504 2004-08-03  Benjamin Otte  <otte@gnome.org>
7505
7506         * gst/parse/parse.l:
7507           fix for G_DISABLE_ASSERT
7508
7509 2004-08-03  Wim Taymans  <wim@fluendo.com>
7510
7511         * gst/gstbin.c: (gst_bin_get_type),
7512         (gst_bin_child_state_change_func):
7513         * gst/gstthread.c: (gst_thread_change_state):
7514         Backported some debug logging from a reverted patch
7515         Don't try to destroy the thread twice. Added some more
7516         debugging in GstThread. Unlock and signal even if we
7517         are in the thread context.
7518
7519 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7520
7521         * po/uk.po:
7522           updated translation
7523
7524 2004-07-30  David Schleef  <ds@schleef.org>
7525
7526         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7527
7528 2004-07-29  David Schleef  <ds@schleef.org>
7529
7530         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7531         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7532
7533 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7534
7535         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7536         (gst_bin_add_func), (gst_bin_remove_func),
7537         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7538         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7539         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7540         (gst_bin_sync_children_state):
7541         * gst/gstbin.h:
7542         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7543         (gst_thread_change_state):
7544         * testsuite/states/Makefile.am:
7545           revert state change patches as agreed so we can rework them
7546           gradually
7547
7548 2004-07-29  Benjamin Otte  <otte@gnome.org>
7549
7550         * libs/gst/control/Makefile.am:
7551           link to libgstreamer (fixes Debian bug 262019, see
7552           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7553
7554 2004-07-29  Wim Taymans  <wim@fluendo.com>
7555
7556         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7557         (check_from_fraction_convert), (transform_test), (main):
7558         Make the test less pedantic about float roundoff errors.
7559
7560 2004-07-29  Benjamin Otte  <otte@gnome.org>
7561
7562         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7563         (gst_filesrc_srcpad_event):
7564           make seek events to before start/after end of file not fail, but
7565           seek to start/end instead
7566         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7567           add more output
7568
7569 2004-07-29  Benjamin Otte  <otte@gnome.org>
7570
7571         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7572           check that caps are fixed
7573         * gst/gstpad.c: (gst_pad_template_new):
7574           don't try to simplify caps, costs too much time on gst_init
7575         * gst/gstplugin.c: (gst_plugin_add_feature):
7576           G_ERROR if features are added twice
7577         * gst/gsttypefind.c: (gst_type_find_register):
7578         * gst/gstelementfactory.c: (gst_element_register):
7579           don't add features twice
7580         * docs/random/ds/0.9-suggested-changes:
7581           add note about possible gst_init optimization
7582
7583 2004-07-28  David Schleef  <ds@schleef.org>
7584
7585         * testsuite/elements/Makefile.am:
7586         * testsuite/elements/struct_i386.h:
7587         * testsuite/elements/struct_size.c: (main):  A little test
7588         to keep distcheck from working if someone changes a structure
7589         size accidentally.
7590
7591 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7592
7593         * docs/libs/Makefile.am:
7594         * docs/libs/gstreamer-libs-docs.sgml:
7595         * docs/libs/gstreamer-libs-sections.txt:
7596         * docs/libs/tmpl/gstbytestream.sgml:
7597         * docs/libs/tmpl/gstcontrol.sgml:
7598         * docs/libs/tmpl/gstdataprotocol.sgml:
7599         * docs/libs/tmpl/gstgetbits.sgml:
7600         * libs/gst/bytestream/Makefile.am:
7601         * libs/gst/bytestream/bytestream.c:
7602         * libs/gst/bytestream/bytestream.h:
7603         * libs/gst/control/Makefile.am:
7604         * libs/gst/dataprotocol/Makefile.am:
7605         * libs/gst/getbits/Makefile.am:
7606         * libs/gst/getbits/getbits.h:
7607           various doc and style fixes, adding bytestream to libs docs.
7608
7609 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7610
7611         * docs/gst/gstreamer-docs.sgml:
7612         * docs/libs/Makefile.am:
7613         * docs/libs/gstreamer-libs-docs.sgml:
7614         * docs/libs/gstreamer-libs-sections.txt:
7615         * libs/gst/control/dparam.c:
7616           more doc fixes.  gst-libs docs now build the same way as gst.
7617
7618 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7619
7620         * configure.ac:
7621         * testsuite/Makefile.am:
7622         * testsuite/bins/Makefile.am:
7623         * testsuite/caps/Makefile.am:
7624         * testsuite/cleanup/Makefile.am:
7625         * testsuite/clock/Makefile.am:
7626         * testsuite/debug/Makefile.am:
7627         * testsuite/dlopen/Makefile.am:
7628         * testsuite/dynparams/Makefile.am:
7629         * testsuite/elements/.cvsignore:
7630         * testsuite/elements/Makefile.am:
7631         * testsuite/enumcaps/Makefile.am:
7632         * testsuite/enumcaps/enumcaps.c:
7633         * testsuite/ghostpads/Makefile.am:
7634         * testsuite/indexers/Makefile.am:
7635         * testsuite/negotiation/Makefile.am:
7636         * testsuite/parse/Makefile.am:
7637         * testsuite/plugin/Makefile.am:
7638         * testsuite/refcounting/Makefile.am:
7639         * testsuite/schedulers/.cvsignore:
7640         * testsuite/states/Makefile.am:
7641         * testsuite/tags/Makefile.am:
7642         * testsuite/threads/Makefile.am:
7643           fold enumcaps into caps dir
7644           clean up Makefile.am's for testsuite
7645
7646 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7647
7648         * docs/gst/Makefile.am:
7649         * docs/libs/Makefile.am:
7650           clean up docs build.  Fixes needless rebuilding of template files.
7651
7652 2004-07-28  Wim Taymans  <wim@fluendo.com>
7653
7654         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7655         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7656         Make sure that a bin state change tries to keep the children
7657         in sync. 
7658         Added debug logging to the thread.
7659
7660 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7661
7662         * win32/GStreamer.vcproj:
7663         * win32/gstreamer.def:
7664           more exports for the plugins
7665
7666 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7667
7668         * win32/gstgetbits.vcproj:
7669         * win32/gstgetbits.def:
7670         * win32/msvc71.sln:
7671           add support for the getbits plugin
7672
7673 2004-07-27  Wim Taymans  <wim@fluendo.com>
7674
7675         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7676         (gst_value_transform_fraction_double), (_gst_value_initialize):
7677         * testsuite/caps/Makefile.am:
7678         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7679         (check_from_fraction_convert), (transform_test), (main):
7680         Added transform functions between double and fraction.
7681         Added testcase to verify transforms
7682
7683 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7684
7685         * win32/GStreamer.vcproj:
7686           rename GStreamer-0.8.lib to libgstreamer.lib
7687
7688 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7689
7690         * win32/gstelements.vcproj:
7691         * win32/gstoptimalscheduler.vcproj:
7692           fixes for the Release build
7693
7694 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7695
7696         * win32/config.h:
7697           update the version number
7698
7699 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7700
7701         * win32/GStreamer.vcproj:
7702           add gstinterface to the build
7703
7704 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7705
7706         * win32/gstreamer.def:
7707           add many definitions needed by plugins,
7708           GST_CAT_DEFAULT only available in the Debug build ?
7709
7710 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7711
7712         * gst/gstelement.c: (gst_element_set_eos_recursive):
7713           various whitespace fixes.
7714           doc fix, fixes #148497
7715
7716 2004-07-25  Benjamin Otte  <otte@gnome.org>
7717
7718         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7719           don't delay links on the sink elements, it causes unnegotiated
7720           links.
7721         * gst/elements/gsttypefindelement.c:
7722         (gst_type_find_element_base_init):
7723           add our padtemplates, we indeed do have some.
7724         * gst/elements/gsttypefindelement.c:
7725         (gst_type_find_element_handle_event),
7726         (gst_type_find_element_chain):
7727           don't push data when typefinding failed.
7728         * gst/gstpad.c: (gst_pad_link_fixate):
7729           check that no fixate function returns empty caps.
7730         * gst/gstpad.c: (gst_pad_push):
7731           check that the link is negotiated before data gets pushed.
7732         * tools/gst-register.c: (main):
7733           don't assert (fixes #148283)
7734
7735 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7736
7737         * docs/gst/gstreamer-sections.txt:
7738         * docs/gst/tmpl/gstconfig.sgml:
7739           add GST_PLUGIN_EXPORT definition
7740
7741 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7742
7743         * gst/gstplugin.h:
7744         * gst/gstconfig.h.in:
7745         * win32/gstconfig.h:
7746         * win32/gstelements.def:
7747         * win32/gstelements.vcproj:
7748         * win32/gstoptimalscheduler.def:
7749         * win32/gstoptimalscheduler.vcproj:
7750         * win32/gstspider.def:
7751         * win32/gstspider.vcproj:
7752           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7753
7754 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7755
7756         * docs/gst/gstreamer-sections.txt:
7757           remove GST_CAT_DEFAULT because the type has changed
7758
7759 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7760
7761         * win32/gstbytestream.vcproj:
7762         * win32/gstelements.vcproj:
7763         * win32/gst-inspect.vcproj:
7764         * win32/gst-launch.vcproj:
7765         * win32/gstoptimalscheduler.vcproj:
7766         * win32/GStreamer.vcproj:
7767         * win32/gst-register.vcproj:
7768         * win32/gstspider.vcproj:
7769         * win32/msvc71.sln:
7770           Copy the files where needed after building, The testsuite will be
7771           built separately
7772
7773 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7774
7775         * win32/config.h:
7776         * win32/README.txt:
7777         * docs/manual/win32.xml:
7778         Fixed the plugin and GStreamer location
7779
7780 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7781
7782         * win32/gstreamer.def:
7783         More exports for the plugins
7784
7785 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7786
7787         * gst/gstinfo.h:
7788         Marc was right, we need to export literally GST_CAT_DEFAULT
7789
7790 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7791
7792         * win32/config.h:
7793         NLS crashes in gettext, disabled until this is solved
7794
7795 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7796
7797         * win32/gst-inspect.vcproj:
7798         * win32/gst-launch.vcproj:
7799         Should use NLS when available
7800
7801 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7802
7803         * gst/registries/gstxmlregistry.c:
7804         removing the file doesn't seem to be a good idea on Linux
7805
7806 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7807
7808         * gst/registries/gstxmlregistry.c:
7809         Remove the registry before renaming the tempfile (needed for Windows)
7810
7811 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7812
7813         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7814         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7815         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7816         * gst/elements/gstmultifilesrc.h:
7817         Added newmedia property so it generates newmedia events between each
7818         file when property is set, as well as fixed eos handling
7819
7820 2004-07-22  David Schleef  <ds@schleef.org>
7821
7822         * gst/gststructure.c: (gst_structure_id_empty_new),
7823         (gst_structure_empty_new):  Set type field correctly.
7824         * gst/gststructure.h: Check type field correctly.
7825         * testsuite/caps/Makefile.am:
7826         * testsuite/caps/structure.c: (test1), (main): Add a very small
7827         test for structures.
7828
7829 2004-07-22  David Schleef  <ds@schleef.org>
7830
7831         * docs/random/ds/0.9-suggested-changes: more comments
7832         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7833
7834 2004-07-22  Benjamin Otte  <otte@gnome.org>
7835
7836         * gst/gstelementfactory.c: (gst_element_register):
7837           set the factory in the class struct, so gst_element_get_factory
7838           actually works
7839         * gst/parse/grammar.y:
7840           set element to playing when it gets unlocked as we can't rely on the
7841           bin state - all elements in the bin state might still be locked in
7842           NULL)
7843
7844 2004-07-22  Benjamin Otte  <otte@gnome.org>
7845
7846         * gst/gstelement.c: (gst_element_set_state_func):
7847           make this a static function
7848
7849 2004-07-22  Wim Taymans  <wim@fluendo.com>
7850
7851         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7852         (gst_opt_scheduler_pad_link):
7853         fix 147894-2 and the group_link problem.
7854
7855 2004-07-22  Wim Taymans  <wim@fluendo.com>
7856
7857         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7858         (handoff_identity), (main):
7859         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7860         (handoff_identity), (main):
7861         * testsuite/schedulers/Makefile.am:
7862         * testsuite/schedulers/group_link.c: (main):
7863         Show bug in scheduler when linking chain and loop based element 
7864         where the chain based element was not yet in a group.
7865
7866 2004-07-21  Benjamin Otte  <otte@gnome.org>
7867
7868         * gst/.cvsignore:
7869         * gst/autoplug/.cvsignore:
7870         * gst/elements/.cvsignore:
7871         * gst/indexers/.cvsignore:
7872         * libs/gst/bytestream/.cvsignore:
7873         * libs/gst/control/.cvsignore:
7874         * libs/gst/getbits/.cvsignore:
7875         * testsuite/states/.cvsignore:
7876         * testsuite/threads/.cvsignore:
7877           keep this up to date, since I seem to be the only one who cares
7878           about not missing files on commits (editor's note: no you don't,
7879           but feel free to change them at the time you add stuff instead
7880           of later on)
7881
7882 2004-07-21  Benjamin Otte  <otte@gnome.org>
7883
7884         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7885         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7886         (gst_bin_child_state_change_func), (set_kid_state_func),
7887         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7888           make state changes work correctly and reentrant (so removing
7889           elements from bins during state changes of bins doesn't cause
7890           segfaults or even wrong states)
7891           add debugging category and debugging output to print children states
7892         * gst/gstbin.c: (gst_bin_dispose): 
7893           add some assertion checks
7894         * gst/gstbin.h:
7895         * gst/gstbin.c: (gst_bin_sync_children_state):
7896           deprecate this function - it just does gst_bin_set_state (bin,
7897           GST_STATE (bin)) 
7898         * testsuite/threads/queue.c: (main):
7899           don't use gst_bin_sync_children_state anymore
7900         * testsuite/states/Makefile.am:
7901         * testsuite/states/bin.c:
7902           test that the state changes of bins work as expected
7903         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7904           some adjustments to change states correctly, too
7905         * gst/gstthread.c: (gst_thread_change_state):
7906           don't enable/disable "threadsafe" properties, they're unused and
7907           cause random segfaults
7908         * testsuite/threads/Makefile.am:
7909           the queue check randomly passes now, ignore it
7910
7911 2004-07-21  Benjamin Otte  <otte@gnome.org>
7912
7913         * gst/gstpad.c:
7914           check if data is NULL before outputting debug info. (fixes #145100)
7915
7916 2004-07-21  Benjamin Otte  <otte@gnome.org>
7917
7918         * gst/schedulers/entryscheduler.c:
7919         (gst_entry_scheduler_loop_wrapper),
7920         (gst_entry_scheduler_chain_wrapper),
7921         (gst_entry_scheduler_get_wrapper):
7922           reset the state when the cothread starts, so we don't get assertion
7923           failures on restarting of cothreads
7924
7925 2004-07-20  Benjamin Otte  <otte@gnome.org>
7926
7927         * gst/gstelement.c: (gst_element_link_pads_filtered):
7928           use correct sinkpad, if only sinkpad is specified, but not srcpad
7929           (fixes #147889)
7930         * gst/gstelement.c: (gst_element_set_state_func),
7931         (gst_element_change_state): ref/unref the element, signal handlers
7932         could get rid of the element otherwise
7933
7934 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7935
7936         * docs/random/ds/0.9-suggested-changes:
7937           Make note about renaming fixed-list to array.
7938         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7939         (_gst_value_initialize):
7940           Add array intersections.
7941         * testsuite/caps/intersect2.c: (main):
7942           Add test for array intersections.
7943
7944 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7945
7946         * configure.ac: back to cvs
7947
7948 === release 0.8.4 ===
7949
7950 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7951
7952         * configure.ac:
7953           releasing 0.8.4, "Paella"
7954           bump libtool versioning
7955
7956 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7957
7958         * po/LINGUAS:
7959         * po/ca.po:
7960           adding Catalan translation (Jordi Mallach)
7961
7962 2004-07-20  Wim Taymans  <wim@fluendo.com>
7963
7964         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7965         (handoff_identity), (main):
7966         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7967         (handoff_identity), (main):
7968         * testsuite/schedulers/Makefile.am:
7969         Added failing testcase for variant of #147894
7970
7971 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7972
7973         patch by: David Moore
7974
7975         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7976         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7977         (group_migrate_connected):
7978         * testsuite/schedulers/Makefile.am:
7979           fix for #142813 (Deadlock in optimal scheduler)
7980
7981 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7982
7983         patch by: Wim Taymans
7984
7985         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7986         (gst_opt_scheduler_schedule_run_queue),
7987         (gst_opt_scheduler_get_wrapper), (get_group),
7988         (group_migrate_connected):
7989         * testsuite/schedulers/Makefile.am:
7990           fix for #147819 (Add some checks in the opt scheduler)
7991
7992 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7993
7994         patch by: Benjamin Otte
7995
7996         * gst/gstelementfactory.c: (__gst_element_details_set):
7997           fix for #147929: running gst-register in non-utf8 locale can cause
7998           invalid registry
7999
8000 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8001
8002         patch by: Wim Taymans
8003
8004         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
8005         (group_has_element), (element_get_reachables_func),
8006         (group_migrate_connected):
8007           fix for #147894 (opt scheduler decoupled elements mismanagement)
8008         * testsuite/schedulers/Makefile.am:
8009           testsuite app now passes
8010
8011 2004-07-19  Wim Taymans  <wim@fluendo.com>
8012
8013         * testsuite/schedulers/147819.c: (handoff_identity1),
8014         (handoff_identity2), (main):
8015         * testsuite/schedulers/Makefile.am:
8016         Added testcase for bug 147819
8017
8018 2004-07-19  Wim Taymans  <wim@fluendo.com>
8019
8020         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8021         (handoff_identity), (main):
8022         * testsuite/schedulers/Makefile.am:
8023         Added testcase for bug 147894
8024
8025 2004-07-16  Wim Taymans  <wim@fluendo.com>
8026
8027         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
8028         * testsuite/schedulers/142183.c: (handoff_identity), (main):
8029         * testsuite/schedulers/Makefile.am:
8030         Added testsuite for bug 142183 in its two incarnations. Refcount
8031         is not increased for scheduled elements and threadsafe properties
8032         mutexes are not properly unlocked.
8033
8034 2004-07-16  Wim Taymans  <wim@fluendo.com>
8035
8036         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
8037         (create_chain), (destroy_chain), (create_group), (destroy_group),
8038         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
8039         (group_dec_link), (gst_opt_scheduler_pad_link),
8040         (group_inc_links_for_element), (group_migrate_connected):
8041         Call group_inc_link with the proper src->sink ordering -- 
8042         break this, and we break sort_chain. patch from wingo for bug
8043         147713.
8044         Partially revert patch 1.89. When adding a loop based element to 
8045         the scheduler, the links to other groups are automatically followed
8046         and incremented. This should not happen because the bin will call
8047         pad_link explicitly for those connection, resulting in them counted 
8048         twice. Results in assertion failure on pipeline cleanup.
8049
8050 2004-07-16  Wim Taymans  <wim@fluendo.com>
8051
8052         * testsuite/schedulers/143777-2.c: (main):
8053         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8054         (main):
8055         * testsuite/schedulers/Makefile.am:
8056         Added cleanup code to testcase 143777-2.
8057         Added testcase to show bug 147713, does not really show the
8058         deadlock as I can't figure out how to trigger it, but it does
8059         demonstrate bad ordering in the scheduler.
8060
8061 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8062
8063         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8064           change strndup to g_strndup.  Fixes #147707
8065
8066 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8067
8068         * po/af.po:
8069         * po/az.po:
8070         * po/cs.po:
8071         * po/en_GB.po:
8072         * po/fr.po:
8073         * po/nl.po:
8074         * po/sr.po:
8075         * po/sv.po:
8076         * po/tr.po:
8077         * po/uk.po:
8078           updated translations
8079
8080 2004-07-16  Benjamin Otte  <otte@gnome.org>
8081
8082         * gst/gstvalue.c: (gst_greatest_common_divisor):
8083           use ints and return ints, fractions only use ints, too, so this
8084           avoids accidently casting multiplications to unsigned
8085         (gst_value_lcopy_fraction): it's ints, not uint32
8086         (gst_value_set_fraction): disallow minint, multiplying and negation
8087           are broken with it
8088         (gst_value_fraction_multiply): fix to make large numbers work and get
8089         rid of the assumption that the multiplication of two ints fits an
8090         int64 - dunno if that's true for all systems
8091         * testsuite/caps/Makefile.am:
8092         * testsuite/caps/fraction-multiply-and-zero.c:
8093         (check_multiplication), (check_equal), (zero_test), (main):
8094           add tests for all the stuff above
8095         * testsuite/caps/value_compare.c: (test1):
8096           fix comment
8097         * tests/.cvsignore:
8098         * testsuite/caps/.cvsignore:
8099         * testsuite/debug/.cvsignore:
8100         * testsuite/dlopen/.cvsignore:
8101         * testsuite/states/.cvsignore:
8102           get up to date
8103
8104 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8105
8106         * docs/manual/bins-api.xml:
8107         * docs/manual/factories.xml:
8108         * docs/manual/helloworld.xml:
8109         * docs/manual/links-api.xml: 
8110           fixes for out of date info, incorrect info and grammar
8111
8112 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8113
8114         * docs/manual/pads.xml:
8115         * docs/manual/pads-api.xml: grammar fix
8116
8117 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8118
8119         * docs/manual/pads-api.xml: typo + grammar fix
8120
8121 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8122
8123         * docs/gst/gstreamer-sections.txt:
8124           add new symbols
8125         * docs/gst/tmpl/gstelement.sgml:
8126         * docs/gst/tmpl/gstpad.sgml:
8127         * docs/gst/tmpl/gsttypes.sgml:
8128         * docs/gst/tmpl/gstvalue.sgml:
8129           update docs
8130         * gst/gststructure.c: (gst_structure_set_valist),
8131         (gst_structure_from_abbr), (gst_structure_to_abbr):
8132         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8133         (gst_greatest_common_divisor), (gst_value_init_fraction),
8134         (gst_value_copy_fraction), (gst_value_collect_fraction),
8135         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8136         (gst_value_get_fraction_numerator),
8137         (gst_value_get_fraction_denominator),
8138         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8139         (gst_value_deserialize_fraction),
8140         (gst_value_transform_fraction_string),
8141         (gst_value_transform_string_fraction),
8142         (gst_value_compare_fraction), (_gst_value_initialize):
8143         * gst/gstvalue.h:
8144           adding GstFraction GValue type, get/set, and multiply
8145         * testsuite/caps/Makefile.am:
8146         * testsuite/caps/fraction.c: (test), (main):
8147         * testsuite/caps/string-conversions.c: (main):
8148         * testsuite/caps/value_compare.c: (test1), (main):
8149           add regression tests for GstFraction
8150
8151 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8152         
8153         * docs/manual/init-api.xml: Grammar fix
8154
8155 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8156
8157         * docs/manual/states.xml: Fix inconsistent information
8158
8159 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8160
8161         * gst/gstelement.c: (gst_element_set_state):
8162         * gst/gstpad.c: (gst_pad_try_set_caps):
8163         * gst/gststructure.c:
8164         * gst/gstthread.c: (gst_thread_child_state_change):
8165         * gst/gstvalue.c: (gst_value_compare_double):
8166         * gst/gstvalue.h:
8167         * testsuite/parse/parse1.c: (main):
8168           debugging additions and style cleanups
8169
8170 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8171
8172         * docs/manual/states.xml: Grammar fix
8173
8174 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8175
8176         * docs/manual/pads.xml: Grammar fix
8177
8178 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8179
8180         * docs/manual/elements.xml: Fixed image reference
8181
8182 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8183
8184         * docs/manual/goals.xml: Grammar fix
8185
8186 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8187
8188         * docs/manual/motivation.xml:
8189         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8190
8191 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8192
8193         * docs/manual/motivation.xml: Fix spelling
8194
8195 2004-07-15  Benjamin Otte  <otte@gnome.org>
8196
8197         * gst/gstelement.h: 
8198           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8199           strings.
8200         * gst/gstelement.c (gst_element_class_init):
8201           GError's are boxed, not objects
8202         * gst/gstmarshal.list:
8203           update list for the fixed error signal
8204
8205 2004-07-14  Andy Wingo  <wingo@pobox.com>
8206
8207         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8208         there all along, but the function wasn't. (guile-gstreamer's build
8209         system uses the address of the function -- I wasn't actually
8210         trying to use this.)
8211
8212 2004-07-14  Andy Wingo  <wingo@pobox.com>
8213
8214         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8215         as gst_pad_proxy_pad_link) just link to every other pad when they
8216         are called. In the case where the graph has cycles, this will mean
8217         that a call to try_set_caps will recurse. Allow this recursion
8218         and return OK, while we wait for the first try_set_caps to give a
8219         proper return value.
8220         (gst_pad_link_call_link_functions): Since this function is the
8221         only one to set the NEGOTIATING flag on a pad, if the flag is set
8222         it means that the link functions have indirectly recursed. If this
8223         happens, error out to avoid infinite recursion and an eventual
8224         SEGV.
8225         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8226         (gst_pad_proxy_getcaps): Intersect the result with the template
8227         caps to ensure that the return value is valid.
8228
8229 2004-07-14  Andy Wingo  <wingo@pobox.com>
8230
8231         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8232         one refcount, the calling function is the owner of the buffer.
8233
8234 2004-07-14  Wim Taymans  <wim@fluendo.com>
8235
8236         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8237         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8238         Fix stupid warning when an element is to be migrated but
8239         is already migrated.
8240
8241 2004-07-14  Wim Taymans  <wim@fluendo.com>
8242
8243         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8244         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8245         Make sure that a single non-loop-based element does not 
8246         end up in a group. This fixes the testsuite again.
8247
8248 2004-07-14  Wim Taymans  <wim@fluendo.com>
8249
8250         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8251         (add_to_group), (merge_groups), (schedule_group),
8252         (gst_opt_scheduler_get_wrapper), (group_elements),
8253         (group_dec_link), (gst_opt_scheduler_pad_link),
8254         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8255         (gst_opt_scheduler_iterate):
8256         move isolated groups to a new chain.
8257         Emit a warning instead of segfaulting in some error cases.
8258         Fix a bug where the link count between groups was not calculated 
8259         correctly. Fixes #144510.
8260
8261 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8262         * gst/elements/gstfilesrc.c:
8263           Binary files support under Windows now OK
8264       
8265 2004-07-13  Benjamin Otte  <otte@gnome.org>
8266
8267           compatibility fixes for Solaris 8/gcc 2.95
8268         * configure.ac:
8269           include libintl libs in LDFLAGS
8270         * gstvalue.c (gst_value_deserialize_buffer):
8271           cast isxdigit stuff to int to silence compiler warning
8272
8273 2004-07-12  Benjamin Otte  <otte@gnome.org>
8274
8275         * gst/gsttypes.h:
8276           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8277           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8278           just causes support madness
8279         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8280           make it work without this
8281         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8282         (gst_file_index_commit):
8283           glib IO channels don't want binary mode
8284         * testsuite/bytestream/filepadsink.c: (main):
8285         * testsuite/bytestream/test1.c: (read_param_file):
8286           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8287
8288 2004-07-12  Benjamin Otte  <otte@gnome.org>
8289
8290         * gst/gstelement.c: (gst_element_class_init),
8291         (gst_element_set_state), (gst_element_set_state_func):
8292           virutalize gst_element_set_state, use set_state member in class
8293           struct that was already added in 0.7 for this.
8294         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8295         (gst_bin_change_state):
8296           make gst_bin_foreach works similar to other foreach functions, plug
8297           memleaks in it. Make functions using it work with the new approach.
8298           Document gst_bin_foreach, so it can be exported if we want to
8299         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8300           use virtualized set_state to make set_state on bins set the state of
8301           all its children.
8302
8303 2004-07-12  Benjamin Otte  <otte@gnome.org>
8304
8305         * configure.ac:
8306           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8307           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8308         * gst/gstpad.c: (gst_pad_alloc_buffer):
8309           allow buffer_alloc functions to return NULL and allocate a normal
8310           buffer in that case
8311
8312 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8313         * gst/elements/gstfilesink.c:
8314         * gst/elements/gstfilesrc.c:
8315         * gst/indexers/gstfileindex.c:
8316         * gst/gsttypes.h:
8317         * testsuite/bytestream/filepadsink.c:
8318         * testsuite/bytestream/test1.c:
8319           Handle binary files under Windows
8320
8321 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8322         * docs/manual/win32.xml:
8323         * win32/config.h:
8324         * win32/gst-register.vcproj:
8325         * win32/gstreamer.def:
8326           Update to another gettext public build
8327
8328 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8329         * gst/gstplugin.c:
8330           Fix an impossible C syntax
8331         * win32/config.h:
8332           Disable i18n under Windows for the moment
8333         * win32/gst-register.vcproj:
8334           Use this configuration
8335
8336 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8337         * docs/manual/quotes.xml:
8338           Keep the quotes file alive
8339         * docs/random/ds/0.9-suggested-changes:
8340           Add the suggestion of including a 'rowstride' as part of video
8341           format caps
8342
8343 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8344
8345         * gst/gstelement.c: (gst_element_set_state),
8346         (gst_element_change_state):
8347           d'oh.  Set PENDING state correctly before forcing bin to change.
8348         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8349         (gst_structure_parse_fixed_list):
8350         * gst/schedulers/gstoptimalscheduler.c:
8351         (gst_opt_scheduler_state_transition):
8352         * testsuite/states/parent.c: (main):
8353           remove comment now that it's fixed.
8354
8355 2004-07-11  Benjamin Otte  <otte@gnome.org>
8356
8357         * gst/gstclock.h:
8358           GST_SECOND shouldn't cause a conversion to unsigned.
8359         * testsuite/clock/.cvsignore:
8360         * testsuite/clock/Makefile.am:
8361         * testsuite/clock/signedness.c: (main):
8362           make sure it never will again
8363
8364 2004-07-11  Andy Wingo  <wingo@pobox.com>
8365
8366         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8367         whose state is higher than the bin state, raise the bin state to
8368         ensure that bin state := highest child state.
8369         
8370 2004-07-11  Andy Wingo  <wingo@pobox.com>
8371
8372         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8373         procedure on the children of a bin. Assumes that the procedure can
8374         change the set of children.
8375         (set_kid_state_func): New static function.
8376         (gst_bin_change_state): Use gst_bin_foreach to call
8377         set_kid_state_func. Fixes a bug: if a child had a state-change
8378         handler that removes it from the bin, there would be a segfault.
8379         Hopefully it should also work in the case where the state-change
8380         handler on one child adds or removes other children. In any case,
8381         fixes should go to gst_bin_foreach.
8382
8383 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8384
8385         * gst/gstelement.c: (gst_element_set_state):
8386           compatibility fix for latest plugins release.  Change loop back
8387           to while {}
8388
8389 2004-07-09  Wim Taymans  <wim@fluendo.com>
8390
8391         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8392         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8393         (gst_thread_main_loop):
8394         Since remove is virtual in GstBin we must not assume the 
8395         elements GList to have anothing useful.
8396         Add some more logging to GstThread and be a bit more paranoid
8397         when resetting the scheduler.
8398         Set the state of the bin to NULL before removing the children.
8399
8400 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8401
8402         * testsuite/threads/Makefile.am:
8403         * testsuite/threads/threadg.c:
8404           added test to check if problem when removing all elements from a
8405           GstThread before setting GstThread state to NULL
8406
8407 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8408
8409         * docs/gst/tmpl/gstelement.sgml:
8410         * docs/gst/tmpl/gsttypes.sgml:
8411         * gst/gstbin.c: (gst_bin_change_state):
8412         * gst/gstelement.c: (gst_element_set_state),
8413         (gst_element_change_state):
8414           rework so that for bins we try to set the state on all children
8415           as well even if the bin is in the correct state already.
8416           change while to do so at least one iteration is done.
8417           For regular elements, we fall back to the previous behaviour for
8418           now since we first need a new plugins release.
8419         * testsuite/states/parent.c: (main):
8420           test for this case
8421           Fixes #123774
8422
8423 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8424
8425         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8426         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8427         (gst_queue_release_locks), (gst_queue_change_state),
8428         (gst_queue_set_property):
8429           add proper lock debugging.  Change dispose to finalize, since
8430           we're freeing mutexes and other stuff which should happen only once.
8431
8432 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8433
8434         * docs/gst/tmpl/gstelement.sgml:
8435         * docs/gst/tmpl/gstplugin.sgml:
8436         * docs/gst/tmpl/gsttypes.sgml:
8437         * docs/pwg/building-state.xml:
8438         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8439         * gst/gstelement.c: (gst_element_change_state):
8440         * gst/gstthread.c: (gst_thread_change_state):
8441           catch wrong state changes in element base class.
8442
8443 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8444
8445         * gst/gstinfo.h:
8446           clean up layout a little.
8447
8448 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8449
8450         * configure.ac:
8451         * testsuite/Makefile.am:
8452         * testsuite/states/Makefile.am:
8453         * testsuite/states/parent.c: (main):
8454           re-enable states testsuite dir.  Add test for state changes and
8455           parent behaviour
8456
8457 2004-07-09  Wim Taymans  <wim@fluendo.com>
8458
8459         * gst/schedulers/gstoptimalscheduler.c:
8460         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8461         (element_get_reachables_func), (element_get_reachables),
8462         (debug_element), (rechain_group), (group_migrate_connected),
8463         (gst_opt_scheduler_pad_unlink):
8464         Do not try to migrate decoupled elements to a new group since
8465         they are not added to groups.
8466
8467 2004-07-08  Benjamin Otte  <otte@gnome.org>
8468
8469         * gst/gstelement.c: (gst_element_error_func):
8470           make reentrant (= allow removing elements in error handler)
8471
8472 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8473
8474         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8475         (gst_pad_send_event), (gst_pad_call_chain_function):
8476           events sent to elements below PAUSED cannot be handled, so
8477           don't try to
8478
8479 2004-07-08  Wim Taymans  <wim@fluendo.com>
8480
8481         * gst/schedulers/gstoptimalscheduler.c:
8482         (chain_recursively_migrate_group), (create_group),
8483         (schedule_group), (gst_opt_scheduler_pad_link),
8484         (group_elements_set_visited), (element_get_reachables_func),
8485         (element_get_reachables), (group_can_reach_group), (debug_element),
8486         (rechain_group), (group_migrate_connected),
8487         (gst_opt_scheduler_pad_unlink):
8488         * testsuite/schedulers/Makefile.am:
8489         Implemented group splitting and rechaining.
8490         Fixes 143777 and 143777-2 in the testsuite.
8491
8492 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8493
8494         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8495           extra debugging
8496         * gst/gstevent.h:
8497         * gst/gstinfo.c: (gst_debug_log_default):
8498           print time nicely.  add thread pointer until someone figures out
8499           a completely portable way of getting at thread id's.
8500         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8501         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8502         (gst_pad_call_chain_function):
8503           extra debugging
8504         * gst/schedulers/gstoptimalscheduler.c:
8505         (get_group_schedule_function), (loop_group_schedule_function),
8506         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8507         (pad_clear_queued), (gst_opt_scheduler_iterate):
8508           rename BUFPEN and friends to DATAPEN since that's what they are.
8509
8510 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8511
8512         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8513         * gst/gstbuffer.h:
8514         * gst/gstpad.c:
8515           cleanups and debugging
8516
8517 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8518
8519         * configure.ac:
8520         * gst/gstvalue.c: (gst_value_compare_enum),
8521         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8522         (gst_value_can_compare), (gst_value_compare):
8523         * testsuite/Makefile.am:
8524         * testsuite/enumcaps/Makefile.am:
8525         * testsuite/enumcaps/enumcaps.c:
8526           Fix enum serialization, deserialization, comparison in caps, add
8527           a test to ensure that this continues working in the future.
8528
8529 2004-07-06  David Schleef  <ds@schleef.org>
8530
8531         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8532         Fix memleak.
8533
8534 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8535
8536         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8537         * gst/gstplugin.h:
8538         * gst/registries/gstxmlregistry.c:
8539         (plugin_times_older_than_recurse), (plugin_times_older_than),
8540         (gst_xml_registry_parse_padtemplate):
8541           only rebuild registry when actual plugins have a newer time than
8542           the registry.  Fixes #145520
8543
8544 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8545
8546         * docs/manual/manual.xml:
8547         * docs/manual/win32.xml:
8548           add chapter on win32 building.  fixes #142422
8549
8550 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8551
8552         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8553
8554         * gst/autoplug/gstspider.c: (gst_spider_init),
8555         (gst_spider_dispose):
8556           fix spider memleaks.  fixes #137863
8557
8558 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8559
8560         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8561
8562         * gst/schedulers/gstoptimalscheduler.c:
8563         (gst_opt_scheduler_pad_unlink):
8564           fix SIGBUS error, fixes #145338
8565
8566 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8567
8568         * gst/gstobject.c: (gst_object_replace):
8569         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8570         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8571           clean up clock lifecycle.  Fixes #109831
8572
8573 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8574
8575         * po/LINGUAS:
8576         * po/cs.po:
8577           added Czech translation (Miloslav Trmac)
8578
8579 2004-07-04  David Schleef  <ds@schleef.org>
8580
8581         * tools/Makefile.am:
8582         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8583
8584 2004-07-04  David Schleef  <ds@schleef.org>
8585
8586         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8587
8588 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8589
8590         * gst/gstbin.c: (gst_bin_restore_thyself):
8591           chain to parent restore so the bins get restored correctly
8592           in the editor
8593
8594 2004-07-03  David Schleef  <ds@schleef.org>
8595
8596         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8597         Actually do something in these functions, like before the big
8598         caps change.  (bug #145137)
8599
8600 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8601
8602         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8603         (gst_element_get_compatible_pad_filtered):
8604         * gst/gstthread.c: (gst_thread_main_loop):
8605           more debugging
8606
8607 2004-07-02  David Schleef  <ds@schleef.org>
8608
8609         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8610         * gst/gstobject.h:
8611         * gst/gstparse.h:
8612         * gst/gsttrace.h:
8613         * gst/gstxml.h:
8614
8615 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8616
8617         * gst/gstpad.c: (gst_pad_check_schedulers),
8618         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8619         (gst_pad_link_prepare):
8620           revert until testsuite is fixed
8621
8622 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8623
8624         * testsuite/Makefile.am:
8625         * testsuite/caps/filtercaps.c: (main):
8626         * testsuite/clock/clock1.c: (main):
8627         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8628           fix some more tests
8629
8630 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8631
8632         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8633         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8634         * testsuite/cleanup/cleanup4.c: (main):
8635           fix testsuite
8636
8637 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8638
8639         * libs/gst/control/control.c:
8640         * libs/gst/control/dparam.c:
8641         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8642         * libs/gst/control/dparammanager.c:
8643         * libs/gst/control/dparammanager.h:
8644         * testsuite/dynparams/Makefile.am:
8645         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8646         (gst_dptest_change_state), (gst_dptest_chain), (main):
8647           fix testcase for dparams
8648           add debugging category
8649
8650 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8651
8652         * testsuite/Rules:
8653           change path
8654
8655 2004-07-02  Benjamin Otte  <otte@gnome.org>
8656
8657         * tests/.cvsignore:
8658         * tests/Makefile.am:
8659         * tests/mass_elements.c: (gst_get_current_time), (main):
8660           add simple benchmark to test various speeds of fakesrc ! identity !
8661           identity ! ... ! fakesink.
8662           Usage: mass_elements [num_identities] [num_buffers]
8663           If not specified they default to 1000.
8664
8665 2004-07-02  Benjamin Otte  <otte@gnome.org>
8666
8667         * gst/gstpad.c: (gst_pad_check_schedulers),
8668         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8669         (gst_pad_link_prepare):
8670           check that pads that get linked belong to the same manager. The old
8671           code allowed linking elements before putting them into bins, so it
8672           worked to link them and then put them in different threads, which
8673           lead to weird behaviour.
8674           Since this effectively disallows linking elements before putting
8675           them in a bin, some applications might not work after this and error
8676           out. If these applications are too critical, we might need to revert
8677           that patch. Please test this before the next release...
8678
8679 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8680
8681         * gst/gstpad.c: (gst_pad_get_caps):
8682           throw an error if the getcaps function does not return a subset of
8683           the template caps.
8684         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8685           make disconts without position info an error in debugging
8686         * tests/spidey_bench.c: (handoff), (main):
8687           don't count first try when averaging
8688
8689 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8690
8691         * gst/gstplugin.c: (gst_plugin_load_file):
8692           figure out problem with dynamic test
8693
8694 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8695
8696         * docs/gst/Makefile.am:
8697           fix docs build
8698
8699 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8700
8701         * po/POTFILES.in:
8702         * po/af.po:
8703         * po/az.po:
8704         * po/en_GB.po:
8705         * po/fr.po:
8706         * po/nl.po:
8707         * po/sr.po:
8708         * po/sv.po:
8709         * po/tr.po:
8710         * po/uk.po:
8711         * tools/gst-register.c: (plugin_added_func), (main):
8712           i18n-ize -register, fix plural
8713
8714 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8715
8716         * gst/elements/gstidentity.c: (gst_identity_class_init),
8717         (gst_identity_init), (gst_identity_chain),
8718         (gst_identity_set_property), (gst_identity_get_property):
8719         * gst/elements/gstidentity.h:
8720           check for perfect stream
8721
8722 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8723
8724         * gst/elements/gstidentity.c: (gst_identity_chain):
8725           print offset_end
8726
8727 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8728
8729         * docs/gst/Makefile.am:
8730         * docs/gst/gstreamer-docs.sgml:
8731           doc fixes
8732
8733 2004-06-24  David Schleef  <ds@schleef.org>
8734
8735         * autogen.sh:  Remove call to env, since the buildbot isn't
8736         broken anymore.
8737
8738 2004-06-24  Wim Taymans  <wim@fluendo.com>
8739
8740         * gst/elements/Makefile.am:
8741         * gst/elements/gstelements.c:
8742         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8743         (gst_multifdsink_class_init), (gst_multifdsink_init),
8744         (gst_multifdsink_add), (gst_multifdsink_remove),
8745         (gst_multifdsink_clear), (gst_multifdsink_chain),
8746         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8747         * gst/elements/gstmultifdsink.h:
8748         Added an element that writes to multiple filedescriptors at once.
8749
8750 2004-06-24  Benjamin Otte  <otte@gnome.org>
8751
8752         * gst/parse/grammar.y:
8753           don't try to link elements before they have been added to bins
8754
8755 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8756
8757         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8758         (gst_file_pad_get_length):
8759         * libs/gst/bytestream/filepad.h:
8760           add 2 new functions
8761
8762 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8763
8764         * docs/gst/gstreamer-sections.txt:
8765         remove from docs, the define that Benjamin removed from gstelement.h
8766
8767 2004-06-22  Benjamin Otte  <otte@gnome.org>
8768
8769         * gst/gstelement.h:
8770           remove define that referenced a nonexisting GstElement struct member
8771
8772 2004-06-20  Benjamin Otte  <otte@gnome.org>
8773
8774         * gst/gstdata.c: (gst_data_is_writable):
8775           whoops, return values were wrong, so writable data was marked as
8776           non-writable and vice versa. (fixes #143953, spotted by Francis
8777           Labonte)
8778           Shows how rarely we need to copy data ;)
8779
8780 2004-06-20  Benjamin Otte  <otte@gnome.org>
8781
8782         * testsuite/schedulers/.cvsignore:
8783         * testsuite/schedulers/Makefile.am:
8784         * testsuite/schedulers/143777-2.c: (main):
8785           add test for opt breakage in bug #143777
8786
8787 2004-06-20  Benjamin Otte  <otte@gnome.org>
8788
8789         * gst/gstpad.c: (gst_pad_call_chain_function):
8790           check for if we were unlinked while inside the chainfunction (fixes
8791           entrygthread having issues with #143777)
8792         * testsuite/schedulers/143777.c: (main):
8793         * testsuite/schedulers/Makefile.am:
8794           add a test for that fix
8795
8796 2004-06-20  Benjamin Otte  <otte@gnome.org>
8797
8798         * gst/gstvalue.c: (gst_value_set_int_range):
8799           test that start is smaller then end
8800         * libs/gst/bytestream/Makefile.am:
8801         * libs/gst/bytestream/filepad.c: 
8802         * libs/gst/bytestream/filepad.h:
8803           add GstFilePad - a pad that behaves like a FILE*
8804         * testsuite/bytestream/.cvsignore:
8805         * testsuite/bytestream/Makefile.am:
8806         * testsuite/bytestream/filepadsink.c: 
8807           test for the GstFilePad
8808
8809 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8810
8811         * gst/elements/gstidentity.c: (gst_identity_class_init),
8812         (gst_identity_init), (gst_identity_set_clock),
8813         (gst_identity_chain), (gst_identity_set_property),
8814         (gst_identity_get_property):
8815         * gst/elements/gstidentity.h:
8816         * gst/gstclock.c: (gst_clock_id_wait):
8817           add a "sync" property to sync to the clock
8818
8819 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8820
8821         * gst/gstelementfactory.c: (gst_element_factory_create):
8822           make the freakin "elementfactory bla has no type" message more
8823           useful. So we actually can do something when someone shows up
8824           complaining about it.
8825
8826 2004-06-15  Johan Dahlin  <johan@gnome.org>
8827
8828         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8829         found. This matches the old behavior better. Thanks to Thomas for
8830         pointing out.
8831
8832 2004-06-14  David Schleef  <ds@schleef.org>
8833
8834         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8835         -fomit-frame-pointer.  Appears to generate correct code in
8836         other cases as well.
8837
8838 2004-06-14  Johan Dahlin  <johan@gnome.org>
8839
8840         * tools/gst-inspect.c (main): Add two new command line options: -a
8841         to print all elements and -n to print the name on each line. Also
8842         fix some error reporting.
8843         (main): Simplify, remove -n and always print names if -a is specified
8844
8845 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8846
8847         * win32/gstconfig.h:
8848         * win32/GSTreamer.vcproj:
8849         * win32/Makefile:
8850         * gst/gstconfig.h.in:
8851         * gst/gst.h:
8852         * gst/gstbin.h:
8853         * gst/gstelement.h:
8854         * gst/gstevent.h:
8855         * gst/gstobject.h:
8856         * gst/gstpad.h:
8857         * docs/gst/gstreamer-sections.txt:
8858         * docs/gst/tmpl/gstconfig.sgml:
8859           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8860
8861 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8862         * docs/gst/gstreamer-sections.txt:
8863         * docs/gst/tmpl/gstconfig.sgml:
8864         Add the GSTREAMER_EXPORT macro to the docs
8865
8866 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8867
8868         * tools/gst-compprep.c: (handle_xmlerror), (main):
8869         Add a check for the version that introduced SetStructuredError to fix
8870         the build on FC1
8871
8872 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8873
8874         * win32/msvc71.sln:
8875         * win32/testsuite/:
8876           prepare to compile the testsuite with MSVC
8877
8878 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8879
8880         * docs/manual/win32.xml:
8881           attempt to transform the Win32 README into an XML doc
8882
8883 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8884
8885         * gst/gst.c:
8886         * gst/gstbin.*:
8887         * gst/config.h.in:
8888         * gst/gstelement.*:
8889         * gst/gstevent.h:
8890         * gst/gstobject.*:
8891         * gst/gstpad.h:
8892         * tools/gst-register.c:
8893         * win32/gstreamer.def:
8894           extern symbols are now exported for the Windows DLL
8895
8896 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8897
8898         * gst/gstinfo.h:
8899           fix a problem to enable/disable DEBUG under MSVC
8900
8901 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8902
8903         * win32/:
8904           enable more debug code in DEBUG build
8905
8906 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8907
8908         * win32/config.h:
8909         * gst/gst-i18n-app.h:
8910           enable NLS under Windows
8911
8912 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8913         * tools/gst-compprep.c: (handle_xmlerror), (main):
8914           Make an error that baffled me a bit clearer
8915
8916 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8917
8918         * gst/gstqueue.c:
8919           don't use g_queue_get_length () because it's 2.4, use ->length
8920
8921 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8922
8923         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8924
8925         * tools/gst-inspect.c: (print_signal_info):
8926           don't free random data twice. (fixes #144185)
8927
8928 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8929
8930         * gst/gstqueue.c:
8931         * gst/gstqueue.h:
8932           fix removing from the wrong queue on event timeout
8933           fix disposing of the event queue by casting correctly
8934           add mutexes for handling the event queue
8935           someone was sleeping when fixing queue last time around :)
8936
8937 2004-06-10  Johan Dahlin  <johan@gnome.org>
8938
8939         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8940         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8941
8942 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8943
8944         * docs/random/gdp:
8945         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8946         * libs/gst/dataprotocol/dataprotocol.c:
8947         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8948         (gst_dp_buffer_from_header):
8949         * libs/gst/dataprotocol/dataprotocol.h:
8950         * libs/gst/dataprotocol/dp-private.h:
8951           rev version to 0.1, add buffer flags and copy them
8952
8953 2004-06-09  Johan Dahlin  <johan@gnome.org>
8954
8955         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8956         the flags from the buffer we're copying.
8957
8958 2004-06-09  Wim Taymans  <wim@fluendo.com>
8959
8960         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8961         * gst/elements/gstidentity.c: (gst_identity_init),
8962         (gst_identity_chain):
8963         Print more buffer info in fakesink.
8964         Make identity output similar to fakesink.
8965
8966 2004-06-07  Daniel Gazard  <dany42@free.fr>
8967
8968         reviewed by Benjamin Otte  <otte@gnome.org>
8969
8970         * configure.ac:
8971           fix cross compiling not working. (fixes #143741)
8972
8973 2004-06-07  Benjamin Otte  <otte@gnome.org>
8974
8975         * gst/gstelement.c: (gst_element_set_time_delay):
8976           add failure check
8977         * gst/gstinfo.h:
8978           put brackets around macro arguments of GST_TIME_ARGS, add note to
8979           move it to correct header in 0.9
8980
8981 2004-06-07  Benjamin Otte  <otte@gnome.org>
8982
8983         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8984         (gst_file_index_load), (_file_index_id_save_entries),
8985         (gst_file_index_commit), (gst_file_index_add_association),
8986         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8987         (gst_file_index_plugin_init):
8988           make debugging use a default category
8989
8990 2004-06-06  David Moore  <dcm@acm.org>
8991
8992         reviewed by Benjamin Otte  <otte@gnome.org>
8993
8994         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8995         (gst_fdsrc_change_state):
8996           reset offset counter when going READY => PAUSED. (fixes #142903)
8997
8998 2004-06-06  ed@catmur.co.uk
8999
9000         reviewed by Benjamin Otte  <otte@gnome.org>
9001
9002         * gst/registries/gstxmlregistry.c:
9003         (gst_xml_registry_rebuild_recurse):
9004           don't rely on g_dir_open to figure out if a file is a directory, use
9005           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
9006           directories. (fixes #142850)
9007
9008 2004-06-06  Benjamin Otte  <otte@gnome.org>
9009
9010         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
9011           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
9012         * libs/gst/bytestream/adapter.c:
9013         * libs/gst/bytestream/adapter.h:
9014           fix copyright in header and typo in debugging category name
9015
9016 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9017
9018         * configure.ac:
9019           bump nano to cvs
9020
9021 === release 0.8.3 ===
9022
9023 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9024
9025         * configure.ac:
9026           update libtool versioning
9027           do a new release
9028         * docs/gst/tmpl/gstelement.sgml:
9029         * docs/gst/tmpl/gsttypes.sgml:
9030         * gst/gstinfo.c: (_gst_debug_init):
9031           put back GST_CAT_DATAFLOW to fix API breakage
9032
9033 2004-06-04  David Schleef  <ds@schleef.org>
9034
9035         * autogen.sh: Add a temporary 'env' to test buildbot problems.
9036
9037 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9038
9039         * configure.ac:
9040           bump nano to cvs
9041
9042 === release 0.8.2 ===
9043
9044 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9045
9046         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9047           check GST_DEBUG environment variable which is parsed the same way
9048           as --gst-debug=
9049
9050 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9051
9052         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9053                             gstmd5sink.c gstshaper.c gsttee.c
9054                             gsttypefindelement.c
9055         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9056
9057           - removing trailing commas at end of enums
9058             it is correct C99 code but C90 compilers would complain
9059             (AIX, Forte, ...)
9060             ('should' fix #143290, at least partially)
9061
9062 2004-05-27  Wim Taymans  <wim@fluendo.com>
9063
9064         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9065         (chain_group_set_enabled), (create_group), (add_to_group),
9066         (merge_groups), (setup_group_scheduler), (group_elements),
9067         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9068         Don't try to follow the pad connections with other groups
9069         when a loop based element is added to the scheduler because
9070         the bin will inform the scheduler about the pad links a little
9071         later.
9072
9073 2004-05-27  Wim Taymans  <wim@fluendo.com>
9074
9075         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9076         (remove_from_chain), (chain_group_set_enabled),
9077         (setup_group_scheduler), (group_element_set_enabled),
9078         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9079         (gst_opt_scheduler_show):
9080         Elements without a group can do a state change as well, just wait
9081         with the setup of the scheduling function when it is added to a
9082         chain.
9083
9084 2004-05-27  Wim Taymans  <wim@fluendo.com>
9085
9086         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9087         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9088         (merge_groups), (setup_group_scheduler),
9089         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9090         (gst_opt_scheduler_show):
9091         Fixes to maintain internal consistency of the scheduler data
9092         structures. 
9093          - adding an enabled group to a chain should increment the
9094            number of enabled elements in that chain.
9095          - removing an enabled group from a chain could disable the
9096            chain.
9097          - removing a disabled group from a chain could enable the
9098            chain.
9099          - add g_assert when internal inconsistency is detected.
9100          - adding an element to a group could increase the number of
9101            links this group has with other groups.
9102          - merging two groups also merges the chains.
9103          - also show group links in the _show method.
9104            
9105
9106 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9107
9108         * gst/gstcaps.c: (gst_caps_structure_simplify):
9109           don't print error messages when there is no error
9110         * gst/gstvalue.c: (gst_value_compare_int_range):
9111           compare the second value, too
9112         * testsuite/caps/Makefile.am:
9113         * testsuite/caps/random.c: (assert_on_error), (main):
9114           add tests to make sure the two things above are checked for
9115
9116 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9117
9118         * configure.ac:
9119         * libs/gst/dataprotocol/Makefile.am:
9120         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9121         * libs/gst/dataprotocol/dataprotocol.h:
9122           wrap header in GST_ENABLE_NEW.  make code use it
9123
9124 2004-05-23  Johan Dahlin  <johan@gnome.org>
9125
9126         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9127         so verbose and print GstElement signal names all the time.
9128
9129 2004-05-22  David Schleef  <ds@schleef.org>
9130
9131         * gst/registries/gstxmlregistry.c:
9132         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9133         (bug #142957)
9134
9135 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9136
9137         * configure.ac:
9138           scrub cflags for glib2 so gcc doesn't complain when glib is in
9139           /usr/local
9140
9141 2004-05-21  Johan Dahlin  <johan@gnome.org>
9142
9143         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9144         __GNUC__, patch from Brian Cameron, fixes bug #142804
9145
9146 2004-05-20  David Schleef  <ds@schleef.org>
9147
9148         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9149         comparison code.  (bug #142819)
9150
9151 2004-05-20  Wim Taymans  <wim@fluendo.com>
9152
9153         * gst/gstbuffer.c: (gst_buffer_default_copy):
9154         * gst/gstbuffer.h:
9155         Added Comment to a flag.
9156         copy relevant flags in _buffer_copy.
9157
9158 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9159
9160         reviewed by: Wim Taymans <wim at fluendo dot com>
9161
9162         * gst/gstbuffer.h:
9163           add GST_BUFFER_IN_CAPS buffer flag
9164         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9165         (gst_structure_parse_any_list), (gst_structure_parse_list),
9166         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9167         * gst/gstvalue.c: (gst_value_serialize_any_list),
9168         (gst_value_transform_any_list_string),
9169         (gst_value_list_prepend_value), (gst_value_list_append_value),
9170         (gst_value_list_get_size), (gst_value_list_get_value),
9171         (gst_value_transform_list_string),
9172         (gst_value_transform_fixed_list_string),
9173         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9174         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9175         (_gst_value_initialize):
9176         * gst/gstvalue.h:
9177           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9178           < , > as a format.
9179         * testsuite/caps/string-conversions.c: (main):
9180           add regression tests for < >
9181
9182 2004-05-20  Johan Dahlin  <johan@gnome.org>
9183
9184         * docs/gst/Makefile.am (all-local): Re-add
9185
9186 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9187
9188         * docs/gst/Makefile.am:
9189         * docs/gst/gstreamer-docs.sgml:
9190         * docs/libs/Makefile.am:
9191         * docs/libs/gstreamer-libs-docs.sgml:
9192           fix distcheck issues
9193
9194 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9195
9196         * libs/gst/dataprotocol/Makefile.am:
9197           add to autotest
9198
9199 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9200
9201         * libs/gst/dataprotocol/Makefile.am:
9202         * libs/gst/dataprotocol/dataprotocol.c:
9203         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9204         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9205         * libs/gst/dataprotocol/dp-private.h:
9206           use GST macros to read/write fixed length ints
9207           add some more asserts
9208
9209 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9210
9211         * docs/libs/gstreamer-libs-docs.sgml:
9212         * docs/libs/gstreamer-libs-sections.txt:
9213           remove idct and putbits
9214         * configure.ac:
9215         * docs/libs/tmpl/gstdataprotocol.sgml:
9216         * libs/gst/Makefile.am:
9217         * libs/gst/dataprotocol/Makefile.am:
9218         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9219         (buffer_test), (caps_test), (event_test), (main):
9220         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9221         (gst_dp_dump_byte_array), (gst_dp_init),
9222         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9223         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9224         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9225         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9226         (gst_dp_validate_header), (gst_dp_validate_payload),
9227         (gst_dp_validate_packet), (plugin_init):
9228         * libs/gst/dataprotocol/dataprotocol.h:
9229         * libs/gst/dataprotocol/dp-private.h:
9230           add dataprotocol
9231
9232 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9233
9234         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9235           fix int variable deserialization and add a helper so we can actually
9236           debug this.
9237
9238 2004-05-18  David Schleef  <ds@schleef.org>
9239
9240         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9241           argv[0].  Calling yourself is probably not the best way to
9242           construct a test like this, btw.
9243
9244 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9245
9246         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9247           don't claim to be more intelligent than a scheduler when the
9248           scheduler claims the pipeline is stopped
9249         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9250         (safe_cothread_destroy),
9251         (gst_entry_scheduler_remove_all_cothreads),
9252         (gst_entry_scheduler_reset), (_remove_cothread),
9253         (gst_entry_scheduler_state_transition):
9254           hold off cothread destruction if we're not in main cothread
9255         * configure.ac:
9256         * testsuite/Makefile.am:
9257           add new test dir
9258         * testsuite/schedulers/.cvsignore:
9259         * testsuite/schedulers/Makefile.am:
9260           add tests
9261         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9262           check relinking and adding/removing elements from a running pipeline
9263         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9264           check unlinking in a running pipeline
9265         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9266           check unreffing a running pipeline
9267         * testsuite/schedulers/useless_iteration.c: (main):
9268           check iterating a pipeline that contains running threads works
9269
9270 2004-05-18  David Schleef  <ds@schleef.org>
9271
9272         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9273           is false.
9274
9275 2004-05-18  Wim Taymans  <wim@fluendo.com>
9276
9277         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9278         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9279         Fixed an error introduced with patch for 1.63. When setting
9280         a get based element as the entry point in a group, make sure
9281         to mark the group as GET based.
9282
9283 2004-05-18  Wim Taymans  <wim@fluendo.com>
9284
9285         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9286         (setup_group_scheduler), (loop_group_schedule_function),
9287         (gst_opt_scheduler_pad_link):
9288         Added some more debug info and fixed a bug where the group
9289         type was set to LOOP but it was in fact unknown.
9290
9291 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9292
9293         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9294           make resetting scheduler work twice in a row
9295
9296 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9297
9298         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9299         (CREATE_USERIALIZATION), (_gst_value_initialize),
9300         (gst_value_compare_float), (gst_value_serialize_float),
9301         (gst_value_deserialize_float), (gst_value_compare_enum),
9302         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9303           add serialization and comparison functions for long, int64, enum and
9304           float values
9305         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9306           use best serialization function in type hierarchy instead of only a
9307           matching one. This is required for enums to work.
9308         * gst/parse/grammar.y:
9309           use gst_caps_deserialize
9310         * testsuite/parse/Makefile.am:
9311           parse1 now works
9312         * testsuite/parse/parse1.c: (main):
9313           remove aggregator check, aggregator is broken, this test works now
9314           but fails because of bug #138012
9315         * testsuite/parse/parse2.c: (main):
9316           s/xvideosink/xvimagesink - this test looks a lot like we should
9317           disable it
9318
9319 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9320
9321         * gst/gstelement.c: (gst_element_class_init):
9322           whoops, store the signal id correctly
9323         * gst/schedulers/gstbasicscheduler.c:
9324         (gst_basic_scheduler_chain_wrapper):
9325           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9326           chain function isn't linked
9327
9328 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9329         * configure.ac:
9330         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9331         support until we decide where the flags should be used
9332         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9333         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9334         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9335         Output refused caps in the debug info
9336
9337 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9338
9339         * gst/elements/gstidentity.c: (gst_identity_chain):
9340           add duration debug
9341         * gst/gstinfo.c: (gst_debug_log_default):
9342           add timestamp
9343
9344 2004-05-13  Benjamin Otte  <otte@gnome.org>
9345
9346         * gst/gstpipeline.c: (gst_pipeline_dispose),
9347         (gst_pipeline_change_state):
9348           call gst_scheduler_reset on dispose (fixes #141416)
9349
9350 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9351
9352         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9353           compute mapsize correctly
9354         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9355           use correct datatypes when calling a varargs function
9356         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9357           push a DISCONT event as first thing
9358         * gst/gst_private.h:
9359         * gst/gstinfo.c: (_gst_debug_init):
9360           remove GST_DATAFLOW debugging category
9361         * gst/gstbin.c: (gst_bin_iterate):
9362           use GST_SCHEDULING category
9363         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9364         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9365         (gst_pad_call_get_function):
9366           add GST_DATAFLOW to easily track flow of buffers or events.
9367         * gst/gstqueue.c: (gst_queue_get_type),
9368         (gst_queue_handle_pending_events), (gst_queue_chain),
9369         (gst_queue_get), (gst_queue_handle_src_event):
9370           use own static debugging category GST_DATAFLOW for dataflow,
9371           use DEBUG category for showing which path events go, use LOG
9372           category for buffers.
9373
9374 2004-05-10  David Schleef  <ds@schleef.org>
9375
9376         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9377
9378 2004-05-10  David Schleef  <ds@schleef.org>
9379
9380         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9381         symbols, because otherwise we don't know what they are.  Thanks,
9382         the GStreamer team.
9383         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9384
9385 2004-05-10  David Schleef  <ds@schleef.org>
9386
9387         (from Steve Lhomme)
9388         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9389         are deleted.  Fix.
9390         * win32/Makefile.inspect:
9391         * win32/Makefile.launch:
9392         * win32/Makefile.register:
9393
9394 2004-05-10  David Schleef  <ds@schleef.org>
9395
9396         * gst/gstinfo.h: Add missing inline function.
9397         * gst/gsttrace.c: add include
9398         * gst/parse/grammar.y: remove unused code
9399         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9400         more portable.
9401         * tools/gst-register.c: wrap unistd.h
9402         
9403         More additions/fixes from Steve for the MSVC build.
9404         * win32/GStreamer.vcproj:
9405         * win32/Makefile:
9406         * win32/Makefile.inspect:
9407         * win32/Makefile.launch:
9408         * win32/Makefile.register:
9409         * win32/README.txt:
9410         * win32/gst-inspect.vcproj:
9411         * win32/gst-launch.vcproj:
9412         * win32/gst-register.vcproj:
9413         * win32/gstbytestream.def:
9414         * win32/gstbytestream.vcproj:
9415         * win32/gstconfig.h:
9416         * win32/gstelements.def:
9417         * win32/gstelements.vcproj:
9418         * win32/gstenumtypes.c:
9419         * win32/gstenumtypes.h:
9420         * win32/gstoptimalscheduler.def:
9421         * win32/gstoptimalscheduler.vcproj:
9422         * win32/gstreamer.def:
9423         * win32/gstspider.def:
9424         * win32/gstspider.vcproj:
9425         * win32/gstversion.h:
9426         * win32/msvc71.sln:
9427
9428 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9429
9430         * gst/gstelement.c: (gst_element_class_init),
9431         (gst_element_no_more_pads):
9432         * gst/gstelement.h:
9433           add gst_element_no_more_pads and the "no-more-pads" signal
9434
9435 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9436
9437         * gst/gstregistry.c: (gst_registry_add_plugin):
9438           refuse to add plugins when a plugin with same name is already
9439           registered. Fixes a bunch of "How to remove plugins?" issues.
9440           May lead to other problems though, let's test
9441
9442 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9443
9444         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9445         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9446         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9447
9448 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9449
9450         * tests/Makefile.am: fix am16 issue
9451
9452 2004-05-09  Benjamin Otte  <otte@gnome.org>
9453
9454         * libs/gst/bytestream/Makefile.am:
9455           we should indeed add .c files to makefiles or they won't be built
9456           (d'oh)
9457
9458 2004-05-08  Benjamin Otte  <otte@gnome.org>
9459
9460         * gst/gstpad.c: (gst_pad_proxy_fixate):
9461           really reduce the set of caps
9462
9463 2004-05-08  Benjamin Otte  <otte@gnome.org>
9464
9465         * tests/Makefile.am:
9466         * tests/spidey_bench.c: (handoff), (main):
9467           add benchmark to test how long spider needs to create a pipeline
9468
9469 2004-05-08  Benjamin Otte  <otte@gnome.org>
9470
9471         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9472           mark links as unengaged when unnegotiating instead of deactivating.
9473           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9474
9475 2004-05-08  Benjamin Otte  <otte@gnome.org>
9476
9477         * docs/manual/helloworld.xml:
9478           s/audiosink/osssink (patch by Patrick Guimond)
9479
9480 2004-05-07  David Schleef  <ds@schleef.org>
9481
9482         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9483         since it contains important stuff.
9484
9485 2004-05-07  David Schleef  <ds@schleef.org>
9486
9487         * testsuite/caps/caps.c: (test3), (main): A check for appending
9488         ANY caps.
9489
9490 2004-05-07  David Schleef  <ds@schleef.org>
9491
9492         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9493         which may contain commas.  Fixes detection of -Wa,-mregnames
9494
9495 2004-05-06  David Schleef  <ds@schleef.org>
9496
9497         Changes to handle compilers that don't have variadic macro
9498         support.  In particular, glib headers define some inlines
9499         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9500         builds.
9501         * gst/Makefile.am:
9502         * gst/cothreads.c:
9503         * gst/elements/gstfdsink.c:
9504         * gst/elements/gstfdsrc.c:
9505         * gst/elements/gstfilesink.c:
9506         * gst/elements/gstfilesrc.c:
9507         * gst/gst_private.h:
9508         * gst/gstatomic.c:
9509         * gst/gstcaps.c: (gst_caps_append):
9510         * gst/gstcpu.c: (gst_cpuid_i386):
9511         * gst/gstelement.c:
9512         * gst/gsterror.c:
9513         * gst/gstfilter.c:
9514         * gst/gstinfo.h:
9515         * gst/gstprobe.c:
9516         * gst/gstquery.c:
9517         * gst/gstregistry.c:
9518         * gst/gststructure.c:
9519         * gst/gsttaginterface.c:
9520         * gst/gsttrace.c: (gst_trace_new):
9521         * gst/gsttrashstack.c:
9522         * gst/gsturi.c:
9523         * gst/gstvalue.c:
9524         * gst/parse/grammar.y:
9525         * gst/parse/parse.l:
9526         * tools/gst-inspect.c: (main):
9527         * tools/gst-launch.c: (main):
9528         * tools/gst-xmlinspect.c: (PUT_STRING):
9529
9530 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9531
9532         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9533         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9534         * gst/elements/gstfilesrc.h:
9535           send NEW_MEDIA events correctly
9536         * gst/elements/gsttypefindelement.c: (start_typefinding),
9537         (gst_type_find_element_handle_event):
9538           restart typefinding when we get a NEW_MEDIA event
9539         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9540         (gst_bin_dispose):
9541           don't die when someone removes elements in callbacks
9542         * gst/gstelement.c: (gst_element_change_state):
9543           improve debugging
9544         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9545           we need a NEW_MEDIA event to engage a link
9546         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9547           don't g_print debugging stuff
9548         * testsuite/caps/simplify.c: (check_caps):
9549
9550 2004-05-04  Benjamin Otte  <otte@gnome.org>
9551
9552         * gst/parse/grammar.y:
9553           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9554
9555 2004-05-04  Benjamin Otte  <otte@gnome.org>
9556
9557         * testsuite/caps/renegotiate.c: (main):
9558           improve output in error case
9559
9560 2004-05-04  Benjamin Otte  <otte@gnome.org>
9561
9562         * gst/parse/grammar.y:
9563           fix assert to not trigger when there's no error argument
9564         * gst/parse/parse.l:
9565           fix definition of caps to allow more than two structures
9566         * testsuite/caps/Makefile.am:
9567         * testsuite/caps/renegotiate.c: (main):
9568           it's sinesrc and works in that case
9569
9570 2004-05-04  Wim Taymans  <wim@fluendo.com>
9571
9572         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9573         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9574         when removing an element from a group, we always need to
9575         decrement the link count that this group had with other 
9576         groups through the element.
9577         added an extra assert to catch inconsistencies when decrementing
9578         the link count.
9579
9580 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9581
9582         * configure.ac:
9583         * docs/gst/Makefile.am:
9584         * docs/gst/gstreamer-sections.txt:
9585         * docs/gst/tmpl/gstcompat.sgml:
9586         * examples/appreader/Makefile.am:
9587         * examples/cutter/Makefile.am:
9588         * examples/events/Makefile.am:
9589         * examples/helloworld/Makefile.am:
9590         * examples/helloworld2/Makefile.am:
9591         * examples/launch/Makefile.am:
9592         * examples/manual/Makefile.am:
9593         * examples/mixer/Makefile.am:
9594         * examples/pingpong/Makefile.am:
9595         * examples/plugins/Makefile.am:
9596         * examples/queue/Makefile.am:
9597         * examples/queue2/Makefile.am:
9598         * examples/queue3/Makefile.am:
9599         * examples/queue4/Makefile.am:
9600         * examples/retag/Makefile.am:
9601         * examples/thread/Makefile.am:
9602         * examples/typefind/Makefile.am:
9603         * examples/xml/Makefile.am:
9604         * gst/Makefile.am:
9605         * gst/autoplug/Makefile.am:
9606         * gst/elements/Makefile.am:
9607         * gst/gstcompat.h:
9608         * gst/indexers/Makefile.am:
9609         * gst/parse/Makefile.am:
9610         * gst/registries/Makefile.am:
9611         * gst/schedulers/Makefile.am:
9612         * libs/gst/bytestream/Makefile.am:
9613         * libs/gst/control/Makefile.am:
9614         * libs/gst/getbits/Makefile.am:
9615         * po/af.po:
9616         * po/az.po:
9617         * po/en_GB.po:
9618         * po/fr.po:
9619         * po/nl.po:
9620         * po/sr.po:
9621         * po/sv.po:
9622         * po/tr.po:
9623         * po/uk.po:
9624         * tests/Makefile.am:
9625         * tests/bufspeed/Makefile.am:
9626         * tests/instantiate/Makefile.am:
9627         * tests/memchunk/Makefile.am:
9628         * tests/muxing/Makefile.am:
9629         * tests/negotiation/Makefile.am:
9630         * tests/probes/Makefile.am:
9631         * tests/sched/Makefile.am:
9632         * tests/seeking/Makefile.am:
9633         * tests/threadstate/Makefile.am:
9634         * testsuite/caps/Makefile.am:
9635         * testsuite/cleanup/Makefile.am:
9636         * testsuite/dlopen/Makefile.am:
9637         * testsuite/dynparams/Makefile.am:
9638         * testsuite/plugin/Makefile.am:
9639         * testsuite/states/Makefile.am:
9640         * tools/Makefile.am:
9641           reorganize compile/link flags to be consistent
9642           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9643
9644 2004-05-04  David Schleef  <ds@schleef.org>
9645
9646         The "once more, with feeling" check-in.
9647         * testsuite/caps/Makefile.am: dist caps_strings
9648         * testsuite/caps/renegotiate.c: (main): This test triggers a
9649           segfault in the core.  Marking as failing.
9650
9651 2004-05-03  David Schleef  <ds@schleef.org>
9652
9653         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9654           by the build bots.
9655         * testsuite/caps/renegotiate.c: (main): Same.
9656
9657 2004-05-03  David Schleef  <ds@schleef.org>
9658
9659         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9660
9661 2004-05-03  David Schleef  <ds@schleef.org>
9662
9663         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9664           variable to find our source file.
9665
9666 2004-05-03  David Schleef  <ds@schleef.org>
9667
9668         * configure.ac:  Link plugins with libgstreamer and dependent
9669           libraries
9670         * testsuite/caps/Makefile.am:
9671         * testsuite/caps/caps_strings:
9672         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9673           through a file of caps strings and test each one
9674
9675 2004-05-04  Benjamin Otte  <otte@gnome.org>
9676
9677         * libs/gst/bytestream/Makefile.am:
9678         * libs/gst/bytestream/adapter.c: 
9679         * libs/gst/bytestream/adapter.h:
9680           add GstAdapter, similar to bytestream, but doesn't require ugly event
9681           handling or uglier loopbased elements
9682
9683 2004-05-03  David Schleef  <ds@schleef.org>
9684
9685         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9686         * testsuite/caps/erathostenes.c:
9687         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9688
9689 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9690
9691         * docs/pwg/pwg.xml:
9692           remove hardcoded stylesheet path (duh)
9693         * docs/random/release:
9694         * docs/gst/gstreamer-sections.txt:
9695         * gst/Makefile.am:
9696         * gst/gst.h:
9697         * gst/gst_private.h:
9698         * gst/gstcaps.c:
9699         * gst/gstevent.c:
9700         * gst/gstformat.c:
9701         * gst/gstinfo.c:
9702         * gst/gstinfo.h:
9703         * gst/gstinterface.c:
9704         * gst/gstmemchunk.c:
9705         * gst/gstprobe.c:
9706         * gst/gstquery.c:
9707         * gst/gstregistry.c:
9708         * gst/gstregistrypool.c:
9709         * gst/gststructure.c:
9710         * gst/gsttaginterface.c:
9711         * gst/gstthread.c:
9712         * gst/gsttrace.c:
9713         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9714         * gst/gsturi.c:
9715         * gst/gstvalue.c:
9716           deprecate gst_info; remove gstlog.h
9717    
9718
9719 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9720
9721         * Makefile.am:
9722         * po/en_GB.po:
9723         * po/sv.po:
9724         * po/uk.po:
9725           updated translations
9726
9727 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9728
9729         * gst/gstbin.c: (gst_bin_dispose):
9730           better debugging
9731
9732 2004-05-03  Johan Dahlin  <johan@gnome.org>
9733
9734         * gst/schedulers/gstoptimalscheduler.c
9735         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9736         really is a GstElement. Avoids critical when running gst-launch -v
9737         and a oggdemux/decoding pipeline.
9738
9739 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9740
9741         * docs/gst/tmpl/gstpipeline.sgml :
9742         * docs/manual/elements-api.xml :
9743                 doc fix by Patrick Guimond (Protector) from devel ML
9744                 reviewed by ronald
9745
9746 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9747
9748         * docs/gst/Makefile.am :
9749         * docs/libs/Makefile.am :
9750                 apply a patch from Arwed v. Merkatz so that gtk-doc
9751                 generated docs install (same for .devhelp file)
9752                 (fixes part 1 of #138836)
9753
9754 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9755
9756         * docs/faq/dependencies.xml: typo
9757         * docs/faq/getting.xml :
9758             - fix download URL for new gstreamer site
9759             - hide sf.net download page as latest version aren't there
9760             - fix apt URLs
9761             - fill "get via CVS" paragraph (link to dev page on the site)
9762         * docs/faq/general.xml:
9763             hide status tables as they no more exists
9764             change case on plugins license file to reflect reality
9765         * docs/faq/troubleshooting.xml:
9766             remove the wiki question/answer as there is no more wiki
9767
9768 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9769
9770         * gst/gsterror.h:
9771           include the headers needed for declarations used in this header
9772
9773 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9774
9775         * docs/random/uraeus/gstreamer_and_midi.txt :
9776           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9777           (fixes #132288)
9778
9779 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9780
9781         reviewed by Benjamin Otte  <otte@gnome.org>
9782
9783         * gst/schedulers/gthread-cothreads.h:
9784           free allocated data for main cothread, too when destroying context
9785           (fixes #141417)
9786
9787 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9788
9789         * docs/manual/goals.xml : remove duplicated paragraph at end 
9790         of doc page (fixes #141448)
9791
9792 2004-04-29  David Schleef  <ds@schleef.org>
9793
9794         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9795         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9796
9797 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9798
9799         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9800           fix property
9801         * gst/gstcaps.c:
9802           fix doc string
9803         * po/POTFILES.in:
9804           rename typefind source file
9805
9806 2004-04-28  David Schleef  <ds@schleef.org>
9807
9808         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9809         * win32/GStreamer.vcproj:
9810         * win32/Makefile:
9811         * win32/config.h:
9812         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9813         (_trewinddir), (_ttelldir), (_tseekdir):
9814         * win32/dirent.h:
9815         * win32/gst-inspect.vcproj:
9816         * win32/gst-launch.vcproj:
9817         * win32/gst-register.vcproj:
9818         * win32/gstbytestream.vcproj:
9819         * win32/gstelements.vcproj:
9820         * win32/gstoptimalscheduler.vcproj:
9821         * win32/gstspider.vcproj:
9822         * win32/gtchar.h:
9823         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9824         * win32/mman.h:
9825         * win32/mman.inl:
9826         * win32/msvc71.sln:
9827
9828 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9829
9830         * gst/gst.c: (init_post):
9831         * gst/gstinfo.c:
9832           remove useless _gst_progname stuff
9833         * tools/gst-inspect.c: (print_field), (print_caps):
9834           improve caps output
9835
9836 2004-04-28  David Schleef  <ds@schleef.org>
9837
9838         Disable parsing of a lot of files that aren't part of the
9839         exported API.  Move corresponding template files to old/,
9840         waiting for removal when they don't contain anything
9841         interesting.
9842         * docs/gst/Makefile.am:
9843         * docs/gst/gstreamer-sections.txt:
9844         * docs/gst/tmpl/cothreads.sgml:
9845         * docs/gst/tmpl/cothreads_compat.sgml:
9846         * docs/gst/tmpl/gettext.sgml:
9847         * docs/gst/tmpl/gobject2gtk.sgml:
9848         * docs/gst/tmpl/grammar.tab.sgml:
9849         * docs/gst/tmpl/gst-i18n-app.sgml:
9850         * docs/gst/tmpl/gst-i18n-lib.sgml:
9851         * docs/gst/tmpl/gst_private.sgml:
9852         * docs/gst/tmpl/gstaggregator.sgml:
9853         * docs/gst/tmpl/gstarch.sgml:
9854         * docs/gst/tmpl/gstatomic_impl.sgml:
9855         * docs/gst/tmpl/gstbufferstore.sgml:
9856         * docs/gst/tmpl/gstdata_private.sgml:
9857         * docs/gst/tmpl/gstdisksink.sgml:
9858         * docs/gst/tmpl/gstdisksrc.sgml:
9859         * docs/gst/tmpl/gstelementfactory.sgml:
9860         * docs/gst/tmpl/gstextratypes.sgml:
9861         * docs/gst/tmpl/gstfakesink.sgml:
9862         * docs/gst/tmpl/gstfakesrc.sgml:
9863         * docs/gst/tmpl/gstfdsink.sgml:
9864         * docs/gst/tmpl/gstfdsrc.sgml:
9865         * docs/gst/tmpl/gstfilesink.sgml:
9866         * docs/gst/tmpl/gstfilesrc.sgml:
9867         * docs/gst/tmpl/gsthttpsrc.sgml:
9868         * docs/gst/tmpl/gstidentity.sgml:
9869         * docs/gst/tmpl/gstindexfactory.sgml:
9870         * docs/gst/tmpl/gstmarshal.sgml:
9871         * docs/gst/tmpl/gstmd5sink.sgml:
9872         * docs/gst/tmpl/gstmultidisksrc.sgml:
9873         * docs/gst/tmpl/gstmultifilesrc.sgml:
9874         * docs/gst/tmpl/gstpadtemplate.sgml:
9875         * docs/gst/tmpl/gstpipefilter.sgml:
9876         * docs/gst/tmpl/gstschedulerfactory.sgml:
9877         * docs/gst/tmpl/gstsearchfuncs.sgml:
9878         * docs/gst/tmpl/gstshaper.sgml:
9879         * docs/gst/tmpl/gstspider.sgml:
9880         * docs/gst/tmpl/gstspideridentity.sgml:
9881         * docs/gst/tmpl/gststatistics.sgml:
9882         * docs/gst/tmpl/gsttee.sgml:
9883         * docs/gst/tmpl/gsttimecache.sgml:
9884         * docs/gst/tmpl/gsttypefind.sgml:
9885         * docs/gst/tmpl/gsttypefindfactory.sgml:
9886         * docs/gst/tmpl/gstxmlregistry.sgml:
9887         * docs/gst/tmpl/gthread-cothreads.sgml:
9888         * docs/gst/tmpl/old/cothreads.sgml:
9889         * docs/gst/tmpl/old/cothreads_compat.sgml:
9890         * docs/gst/tmpl/old/gettext.sgml:
9891         * docs/gst/tmpl/old/gobject2gtk.sgml:
9892         * docs/gst/tmpl/old/grammar.tab.sgml:
9893         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9894         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9895         * docs/gst/tmpl/old/gst_private.sgml:
9896         * docs/gst/tmpl/old/gstaggregator.sgml:
9897         * docs/gst/tmpl/old/gstarch.sgml:
9898         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9899         * docs/gst/tmpl/old/gstbufferstore.sgml:
9900         * docs/gst/tmpl/old/gstdata_private.sgml:
9901         * docs/gst/tmpl/old/gstdisksink.sgml:
9902         * docs/gst/tmpl/old/gstdisksrc.sgml:
9903         * docs/gst/tmpl/old/gstelementfactory.sgml:
9904         * docs/gst/tmpl/old/gstextratypes.sgml:
9905         * docs/gst/tmpl/old/gstfakesink.sgml:
9906         * docs/gst/tmpl/old/gstfakesrc.sgml:
9907         * docs/gst/tmpl/old/gstfdsink.sgml:
9908         * docs/gst/tmpl/old/gstfdsrc.sgml:
9909         * docs/gst/tmpl/old/gstfilesink.sgml:
9910         * docs/gst/tmpl/old/gstfilesrc.sgml:
9911         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9912         * docs/gst/tmpl/old/gstidentity.sgml:
9913         * docs/gst/tmpl/old/gstindexfactory.sgml:
9914         * docs/gst/tmpl/old/gstmarshal.sgml:
9915         * docs/gst/tmpl/old/gstmd5sink.sgml:
9916         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9917         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9918         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9919         * docs/gst/tmpl/old/gstpipefilter.sgml:
9920         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9921         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9922         * docs/gst/tmpl/old/gstshaper.sgml:
9923         * docs/gst/tmpl/old/gstspider.sgml:
9924         * docs/gst/tmpl/old/gstspideridentity.sgml:
9925         * docs/gst/tmpl/old/gststatistics.sgml:
9926         * docs/gst/tmpl/old/gsttee.sgml:
9927         * docs/gst/tmpl/old/gsttimecache.sgml:
9928         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9929         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9930         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9931         * docs/gst/tmpl/old/types.sgml:
9932         * docs/gst/tmpl/types.sgml:
9933
9934         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9935         gtkdoc-scan doesn't like files with the same name in different
9936         directories.
9937         * gst/elements/Makefile.am:
9938         * gst/elements/gstelements.c:
9939         * gst/elements/gsttypefind.c: 
9940         * gst/elements/gsttypefind.h:
9941         * gst/elements/gsttypefindelement.c:
9942         * gst/elements/gsttypefindelement.h:
9943
9944 2004-04-28  David Schleef  <ds@schleef.org>
9945
9946         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9947         patch (bug #141317):
9948         * gst/gst-i18n-lib.h: Allow disabling gettext.
9949         * gst/gstatomic_impl.h: disable warning when it's dumb.
9950         * gst/gstclock.c: fix include
9951         * gst/gstcompat.h: fix variadic macro
9952         * gst/gstinfo.c: fix include
9953         * gst/gstmacros.h: add defines for inlines on MSVC
9954         * gst/gstplugin.c: fix includes
9955         * gst/gstregistry.c: fix includes
9956         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9957         * gst/gstsystemclock.c: fix include
9958         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9959         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9960         * gst/registries/gstxmlregistry.c:
9961         (gst_xml_registry_parse_element_factory): fix use of non-portable
9962         functions
9963         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9964         * libs/gst/control/dparammanager.h: same
9965
9966 2004-04-28  David Schleef  <ds@schleef.org>
9967
9968         Move a bunch of unused files to old/ with names that are
9969         not case-insensitive-unique.  These files still contain some
9970         useful information that needs to be merged into gstbin.sgml,
9971         etc., so they shouldn't be deleted yet.
9972         * docs/gst/tmpl/GstBin.sgml:
9973         * docs/gst/tmpl/GstBuffer.sgml:
9974         * docs/gst/tmpl/GstCaps.sgml:
9975         * docs/gst/tmpl/GstClock.sgml:
9976         * docs/gst/tmpl/GstCompat.sgml:
9977         * docs/gst/tmpl/GstData.sgml:
9978         * docs/gst/tmpl/GstElement.sgml:
9979         * docs/gst/tmpl/GstEvent.sgml:
9980         * docs/gst/tmpl/GstIndex.sgml:
9981         * docs/gst/tmpl/GstStructure.sgml:
9982         * docs/gst/tmpl/GstTag.sgml:
9983         * docs/gst/tmpl/old/GstBin.sgml:
9984         * docs/gst/tmpl/old/GstBuffer.sgml:
9985         * docs/gst/tmpl/old/GstCaps.sgml:
9986         * docs/gst/tmpl/old/GstClock.sgml:
9987         * docs/gst/tmpl/old/GstCompat.sgml:
9988         * docs/gst/tmpl/old/GstData.sgml:
9989         * docs/gst/tmpl/old/GstElement.sgml:
9990         * docs/gst/tmpl/old/GstEvent.sgml:
9991         * docs/gst/tmpl/old/GstIndex.sgml:
9992         * docs/gst/tmpl/old/GstStructure.sgml:
9993         * docs/gst/tmpl/old/GstTag.sgml:
9994
9995 2004-04-28  David Schleef  <ds@schleef.org>
9996
9997         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9998         (gst_caps_append), (gst_caps_append_structure),
9999         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
10000         (gst_caps_set_simple), (gst_caps_set_simple_valist),
10001         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
10002         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
10003         (gst_caps_intersect), (gst_caps_normalize),
10004         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
10005         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
10006         * gst/gstcaps.h: use GST_IS_CAPS().
10007
10008 2004-04-26  David Schleef  <ds@schleef.org>
10009
10010         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
10011         assembly.  gcc doesn't handle it correctly. (bug #141083)
10012         * gst/gsttrashstack.h: same
10013
10014 2004-04-25  Benjamin Otte  <otte@gnome.org>
10015
10016         * gst/gstelement.c: (gst_element_change_state):
10017           fix assertion to do an int comparison
10018
10019 2004-04-25  Benjamin Otte  <otte@gnome.org>
10020
10021         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10022           better debugging output on error
10023
10024 2004-04-25  Benjamin Otte  <otte@gnome.org>
10025
10026         * gst/gstcaps.c: (gst_caps_subtract):
10027           fix memleak
10028
10029 2004-04-23  Benjamin Otte  <otte@gnome.org>
10030
10031         * gst/gstvalue.c: (gst_value_compare_buffer),
10032         (_gst_value_initialize):
10033           add comparison function for buffers
10034
10035 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10036
10037         * docs/pwg/pwg.xml:
10038           Just found out that this so-called "ima-wav" format is really
10039           just "dvi adpcm" (according to the MS WAV documentation). So
10040           renaming it. We didn't use it yet anyway.
10041
10042 2004-04-23  Benjamin Otte  <otte@gnome.org>
10043
10044         * gst/gstcaps.c: (gst_caps_is_always_compatible):
10045           call gst_caps_is_subset
10046
10047 2004-04-23  Benjamin Otte  <otte@gnome.org>
10048
10049         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10050         (gst_caps_is_subset):
10051           add documentation
10052
10053 2004-04-23  Benjamin Otte  <otte@gnome.org>
10054           
10055         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10056         (gst_caps_structure_subtract), (gst_caps_subtract),
10057         (gst_caps_structure_figure_out_union),
10058         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10059           fix simplifying and subtracting not working correctly with optional
10060           properties
10061           solve assorted problems that make it now simplify ebven more
10062         * docs/gst/tmpl/gstcaps.sgml:
10063         * gst/gstcaps.h:
10064           make gst_caps_do_simplify return a bool to indicate if it simplified
10065         * testsuite/caps/simplify.c: (main):
10066           add more checks. The tests is quite a bit useless right now because
10067           the core is heavily simplifying itself.
10068         * testsuite/caps/caps.h:
10069           fix caps to contain all optional properties
10070
10071 2004-04-22  Benjamin Otte  <otte@gnome.org>
10072
10073         * docs/gst/tmpl/gstcaps.sgml:
10074         * docs/gst/tmpl/gstfilesrc.sgml:
10075         * docs/gst/tmpl/gststructure.sgml:
10076         * docs/gst/tmpl/gstvalue.sgml:
10077           update for recent API changes
10078         * gst/gstcaps.c: (gst_caps_do_simplify):
10079           fix to stop trying with a freed structure
10080         * gst/gstpad.c: (gst_pad_link_fixate):
10081           simplify caps
10082         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10083           remove C++ comment
10084         * gst/gstpad.h:
10085           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10086         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10087         (gst_structure_to_string):
10088           keep the correct type when using lists of ranges
10089         * gst/gstvalue.c: (gst_value_list_prepend_value),
10090         (gst_value_list_append_value):
10091           copy the value before adding to the list (d'oh)
10092         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10093         (gst_value_subtract_int_range_int_range):
10094           handle overflows correctly
10095         * gst/gstvalue.c: (gst_value_subtract_from_list):
10096           fix memleak
10097         * testsuite/caps/caps.h:
10098           add a caps that caused segfaults
10099
10100 2004-04-22  Benjamin Otte  <otte@gnome.org>
10101
10102         * testsuite/refcounting/pad.c: (main):
10103           fix test
10104
10105 2004-04-22  Benjamin Otte  <otte@gnome.org>
10106
10107         * gst/gstcaps.c: (gst_caps_subtract):
10108           allow subtracting ANY and EMPTY from ANY caps
10109
10110 2004-04-22  Benjamin Otte  <otte@gnome.org>
10111
10112         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10113         (gst_caps_union):
10114           only simplify in functions that create new caps. Simplifying in
10115           gst_caps_append breaks tests.
10116
10117 2004-04-22  Benjamin Otte  <otte@gnome.org>
10118
10119         * gst/gstcaps.c: (gst_caps_structure_simplify):
10120           unset GValue after use
10121         * gst/gstcaps.c: (gst_caps_append), 
10122         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10123           use gst_caps_simplify (reduces registry size by 30%)
10124         * gst/gstpad.c: (gst_pad_template_new):
10125           don't allow NULL caps
10126
10127 2004-04-22  Benjamin Otte  <otte@gnome.org>
10128
10129         * docs/gst/gstreamer-sections.txt:
10130           add gst_caps_do_simplify
10131         * gst/gstcaps.c:
10132           add documentation for gst_caps_do_simplify
10133         * gst/gstvalue.h:
10134           fix typo in gst_value_register_subtract_func declaration for gst-doc
10135
10136 2004-04-22  Benjamin Otte  <otte@gnome.org>
10137
10138         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10139           fix bug when converting from empty string.
10140         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10141         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10142           use gst_caps_new_empty to allocate a new caps. Only that function
10143           allocates memory for caps now.
10144         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10145         (gst_caps_remove_structure):
10146           add ability to remove one structure (but not to header yet)
10147         * gst/gstcaps.c: (gst_caps_compare_structures),
10148         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10149         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10150         * gst/gstcaps.h:
10151           add gst_caps_do_simplify that tries to simplify a caps in place.
10152           Deprecate old gst_caps_simplify function.
10153         * testsuite/caps/caps.h:
10154           add caps.h containing a common set of caps to test against.
10155         * testsuite/caps/sets.c: (check_caps), (main):
10156           use it.
10157         * testsuite/caps/.cvsignore:
10158         * testsuite/caps/Makefile.am:
10159         * testsuite/caps/simplify.c: (check_caps), (main):
10160           add test to check correctness and efficency of caps simplification.
10161
10162 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10163
10164         reviewed by Benjamin Otte  <otte@gnome.org>
10165
10166         * gst/gstparse.c: (_gst_parse_escape):
10167           Free the GString used in _gst_parse_escape()
10168
10169 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10170
10171         * gst/gstpad.c: (gst_pad_link_negotiate):
10172           refuse to link if the link is not possible
10173         * configure.ac:
10174         * testsuite/Makefile.am:
10175         * testsuite/negotiation/.cvsignore:
10176         * testsuite/negotiation/Makefile.am:
10177         * testsuite/negotiation/pad_link.c: (main):
10178           add test that checks the above behaviour
10179
10180 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10181
10182         * docs/gst/gstreamer-sections.txt:
10183           add newly added API
10184
10185 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10186
10187         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10188         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10189         (gst_filesrc_open_file), (gst_filesrc_close_file),
10190         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10191         * gst/elements/gstfilesrc.h:
10192           add support for non-regular files (#140734)
10193
10194 2004-04-21  Benjamin Otte  <otte@gnome.org>
10195
10196         * gst/gstpad.c: (gst_pad_link_fixate):
10197           add sophisticated error checking code to see if fixation functions
10198           did their fixation right
10199
10200 2004-04-21  Benjamin Otte  <otte@gnome.org>
10201
10202         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10203           check for ANY caps before appending/unioning
10204         * gst/gstcaps.c: (gst_caps_is_subset),
10205         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10206         (gst_caps_structure_subtract), (gst_caps_subtract):
10207         * gst/gstcaps.h:
10208           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10209           the API. deprecate gst_caps_is_equal_fixed
10210         * gst/gstpad.c: (gst_pad_try_set_caps):
10211         * gst/gstqueue.c: (gst_queue_link):
10212           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10213         * gst/gststructure.c: (gst_structure_get_name_id):
10214         * gst/gststructure.h:
10215           add function gst_structure_get_name_id
10216         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10217         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10218         (gst_value_subtract_int_range_int_range),
10219         (gst_value_subtract_double_double_range),
10220         (gst_value_subtract_double_range_double),
10221         (gst_value_subtract_double_range_double_range),
10222         (gst_value_subtract_from_list), (gst_value_subtract_list),
10223         (gst_value_can_intersect), (gst_value_subtract),
10224         (gst_value_can_subtract), (gst_value_register_subtract_func),
10225         (_gst_value_initialize):
10226         * gst/gstvalue.h:
10227           add support for subtracting values from each other. Note that
10228           subtracting means subtracting as in set theory. Required for caps
10229           stuff above.
10230         * testsuite/caps/.cvsignore:
10231         * testsuite/caps/Makefile.am:
10232         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10233         * testsuite/caps/sets.c: (check_caps), (main):
10234         * testsuite/caps/subtract.c: (check_caps), (main):
10235           add tests for subtraction and equality code.
10236
10237 2004-04-20  David Schleef  <ds@schleef.org>
10238
10239         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10240         * gst/indexers/Makefile.am:
10241         * gst/schedulers/Makefile.am:
10242         * libs/gst/bytestream/Makefile.am:
10243         * libs/gst/control/Makefile.am:
10244         * libs/gst/getbits/Makefile.am:
10245
10246 2004-04-20  David Schleef  <ds@schleef.org>
10247
10248         * common/as-libtool.mak: Fine-tune DLL building.
10249         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10250         (like gst-plugins)
10251         * examples/plugins/Makefile.am: remove plugindir
10252         * gst/autoplug/Makefile.am: DLL building fixes
10253         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10254         Windows.
10255         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10256         * gst/indexers/Makefile.am: DLL building fixes
10257         * gst/schedulers/Makefile.am: DLL building fixes.
10258         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10259         * libs/gst/control/Makefile.am: same
10260         * libs/gst/getbits/Makefile.am: same
10261         * testsuite/Makefile.am: New dlopen directory
10262         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10263         when dlopened.
10264         * testsuite/dlopen/dlopen_gst.c: (main): same
10265         * testsuite/dlopen/loadgst.c: (do_test): same
10266
10267 2004-04-20  David Schleef  <ds@schleef.org>
10268
10269         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10270         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10271
10272 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10273
10274         * gst/gstelement.c: (gst_element_wait),
10275         (gst_element_set_time_delay), (gst_element_change_state):
10276           Use GST_TIME_*
10277
10278 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10279
10280         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10281         (gst_spider_identity_plug):
10282           improve debugging messages
10283         * gst/gstbin.c: (gst_bin_remove_func):
10284           make sure the state_change function is only called with simple state
10285           transitions
10286
10287 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10288
10289         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10290         (gst_fakesink_set_property), (gst_fakesink_chain):
10291         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10292         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10293         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10294         * gst/elements/gstidentity.c: (gst_identity_chain),
10295         (gst_identity_set_property):
10296         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10297         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10298           add warnings to _set_property for unknown arguments
10299           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10300
10301 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10302
10303         * Makefile.am:
10304         * docs/manuals.mak:
10305           add .po file download snippet
10306           fix a bug in the doc makefile
10307
10308 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10309
10310         * Makefile.am:
10311         * po/LINGUAS:
10312         * po/en_GB.po:
10313           Added en_GB translation (Gareth Owen)
10314
10315 2004-04-20  Johan Dahlin  <johan@gnome.org>
10316
10317         * gst/gstpad.c (_invent_event): Clean up
10318
10319 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10320
10321         * testsuite/caps/filtercaps.c: (main):
10322           fix test to test things correctly (caps are complicated)
10323
10324 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10325
10326         * testsuite/caps/Makefile.am:
10327         * testsuite/caps/filtercaps.c: (main):
10328           add test (that doesn't work right now, but should)
10329
10330 2004-04-19  David Schleef  <ds@schleef.org>
10331
10332         * configure.ac: Add test for allowing unaligned access.  Add define
10333         to put in gstconfig.h.
10334         * docs/gst/gstreamer-sections.txt: New symbols
10335         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10336         * docs/gst/tmpl/gstfilesrc.sgml:
10337         * docs/gst/tmpl/gstparse.sgml:
10338         * docs/gst/tmpl/gsttypes.sgml:
10339         * docs/gst/tmpl/gstutils.sgml:
10340         * docs/gst/tmpl/gstvalue.sgml:
10341         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10342         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10343         on most !i386/!powerpc architectures.  From Daniel Gazard
10344         <daniel.gazard@free.fr>.  (bug #140156)
10345         * po/af.po: Check in changes made by gettext.
10346         * po/az.po:
10347         * po/fr.po:
10348         * po/nl.po:
10349         * po/sr.po:
10350         * po/sv.po:
10351
10352 2004-04-20  Benjamin Otte  <otte@gnome.org>
10353
10354         * gst/schedulers/entryscheduler.c: 
10355         (gst_entry_scheduler_yield):
10356           refuse to yield when decoupled elements insist on doing that.
10357           At least it's better than crashing
10358
10359 2004-04-19  David Schleef  <ds@schleef.org>
10360
10361         * docs/libs/Makefile.am: Change sinclude to include
10362         * docs/gst/Makefile.am: same
10363         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10364
10365 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10366
10367         * po/LINGUAS:
10368         * po/uk.po:
10369           Added Ukrainian translation (Maxim V. Dziumanenko)
10370
10371 2004-04-19  Johan Dahlin  <johan@gnome.org>
10372
10373         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10374         checking here, do it before calling the function.
10375         Clean up, use for loops instead of while loops while iterating
10376         over lists.
10377
10378         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10379         in debug message.
10380         (gst_spider_create_and_plug): Improve debug message.
10381         General: Replace while loops which iterates over GLists with for
10382         loops. Which are much cleaner, improves readability, especially
10383         for gst_spider_identity_plug
10384
10385         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10386         fixes bug 140477
10387
10388 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10389
10390         * po/LINGUAS:
10391         * po/tr.po:
10392           Added Turkish translation (Baris Cicek)
10393
10394 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10395
10396         * docs/faq/troubleshooting.xml:
10397           Mention gst-register in the FAQ (fixes 139045).
10398
10399 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10400
10401         * docs/gst/gstreamer-sections.txt:
10402
10403 2004-04-17  Benjamin Otte  <otte@gnome.org>
10404
10405         * gst/gstelement.c: (gst_element_dispose):
10406           simplify
10407         * gst/gstpad.c: (gst_pad_call_chain_function):
10408           don't create loads of events due to bad macro usage
10409
10410 2004-04-16  David Schleef  <ds@schleef.org>
10411
10412         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10413         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10414         * gst/gstvalue.c: (gst_value_serialize_buffer),
10415         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10416         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10417         to indicate types that are fixed wrt caps or not.  Switching to
10418         this function fixes (bug #140298).
10419         * gst/gstvalue.h:
10420
10421 2004-04-16  David Schleef  <ds@schleef.org>
10422
10423         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10424         for GST_UNALIGNED_ACESS, since we essentially know which archs
10425         are ok.
10426
10427 2004-04-17  Benjamin Otte  <otte@gnome.org>
10428
10429         * docs/gst/Makefile.am:
10430           ignore gst/parse directory when building docs (fixes #140205)
10431
10432 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10433
10434         * testsuite/refcounting/mem.c: (vmsize):
10435           do error checking
10436
10437 2004-04-16  Johan Dahlin  <johan@gnome.org>
10438
10439         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10440         and gst_pad_call_get_function.
10441
10442 2004-04-15  David Schleef  <ds@schleef.org>
10443
10444         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10445         checks if we can access unaligned memory.
10446         * configure.ac: Use it.
10447
10448 2004-04-16  Benjamin Otte  <otte@gnome.org>
10449
10450         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10451         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10452         * gst/elements/gstfilesrc.h:
10453           s/seek_happened/need_discont/ and require discont before sending any
10454           data
10455
10456 2004-04-15  David Schleef  <ds@schleef.org>
10457
10458         * gst/gstvalue.c: (gst_value_serialize_buffer),
10459         (gst_value_deserialize_buffer), (_gst_value_initialize):
10460         Register these types as fundamental types. (bug #140015)
10461
10462 2004-04-16  Benjamin Otte  <otte@gnome.org>
10463
10464         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10465         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10466         (gst_pad_pull):
10467           implement enforcing discont events before buffers are passed. This
10468           allows state changes of only some elements and later correctly going
10469           on where they left off (or in short: you can now set audio sinks to
10470           NULL to release the device when the pipeline is paused)
10471         * gst/gstpad.c: (gst_pad_call_chain_function),
10472         (gst_pad_call_get_function):
10473         * gst/gstpad.h:
10474           add gst_pad_call_chain_function and gst_pad_call_get_function for
10475           scheduler interaction. They are required because of the changes
10476           above.
10477         * gst/schedulers/entryscheduler.c: (get_buffer),
10478         (gst_entry_scheduler_chain_wrapper),
10479         (gst_entry_scheduler_get_wrapper),
10480         (gst_entry_scheduler_state_transition),
10481         (gst_entry_scheduler_pad_link):
10482         * gst/schedulers/gstbasicscheduler.c:
10483         (gst_basic_scheduler_chain_wrapper),
10484         (gst_basic_scheduler_src_wrapper),
10485         (gst_basic_scheduler_chainhandler_proxy),
10486         (gst_basic_scheduler_gethandler_proxy),
10487         (gst_basic_scheduler_cothreaded_chain),
10488         (gst_basic_scheduler_chain_elements):
10489         * gst/schedulers/gstoptimalscheduler.c:
10490         (get_group_schedule_function), (pad_clear_queued),
10491         (gst_opt_scheduler_pad_link):
10492           use the new functions instead of calling get/chain-functions
10493           directly.
10494
10495 2004-04-15  David Schleef  <ds@schleef.org>
10496
10497         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10498         * docs/gst/tmpl/gstinfo.sgml: same
10499         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10500         gtk-doc put here.
10501         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10502         * examples/queue/queue.c: (main):  We iterate pipelines, not
10503         bins.  (bug #139996)
10504
10505 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10506
10507         * docs/pwg/advanced-types.xml:
10508           Add MS RLE support. Also document Qt RLE although I have no sample
10509           files for that yet. And document an extra property for ADPCM.
10510
10511 2004-04-15  David Schleef  <ds@schleef.org>
10512
10513         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10514         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10515         Windows.
10516
10517 2004-04-15  David Schleef  <ds@schleef.org>
10518
10519         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10520         symbol names to not conflict with new gstinfo.h symbols.
10521         * gst/gstinfo.h: Add inline functions for all those crazy
10522         compilers that don't know how to handle variadic macros (MSVC).
10523
10524 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10525
10526         * configure.ac: bump nano to 1
10527
10528 === release 0.8.1 ===
10529
10530 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10531
10532         * NEWS:
10533         * RELEASE:
10534         * configure.ac:
10535           releasing 0.8.1, "Snow Brigade"
10536
10537 2004-04-14  David Schleef  <ds@schleef.org>
10538
10539         * testsuite/Makefile.am: define tests_ignore
10540         * testsuite/Rules: Added new tests_ignore, which get compiled,
10541         but not run (generally because they're inconsistent or have
10542         heisenbugs).  Now we can ensure all the .c files compile in
10543         testsuite/.
10544         * testsuite/bins/Makefile.am: define tests_ignore
10545         * testsuite/bytestream/Makefile.am:
10546         * testsuite/caps/Makefile.am:
10547         * testsuite/clock/Makefile.am:
10548         * testsuite/debug/Makefile.am:
10549         * testsuite/debug/global.c: (gst_debug_log_one),
10550         (gst_debug_log_two): Fix compilation problem.
10551         * testsuite/dynparams/Makefile.am:
10552         * testsuite/elements/Makefile.am:
10553         * testsuite/ghostpads/Makefile.am:
10554         * testsuite/indexers/Makefile.am:
10555         * testsuite/parse/Makefile.am:
10556         * testsuite/plugin/Makefile.am:
10557         * testsuite/refcounting/Makefile.am:
10558         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10559         results, because it's not calculated correctly.
10560         * testsuite/refcounting/pad.c: (main): same
10561         * testsuite/states/Makefile.am:
10562         * testsuite/tags/Makefile.am:
10563         * testsuite/threads/Makefile.am:
10564
10565 2004-04-14  David Schleef  <ds@schleef.org>
10566
10567         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10568         generating bad code around the cpu detection asm code.
10569
10570 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10571
10572         * tools/gst-inspect.c: (print_element_info):
10573           print numeric version of rank as well, since we added some - 1
10574           rank values to elements
10575
10576 2004-04-13  David Schleef  <ds@schleef.org>
10577
10578         * configure.ac:  Disable various code when compiling for MinGW.
10579         * gst/elements/Makefile.am:
10580         * gst/elements/gstelements.c:
10581         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10582         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10583         * gst/registries/gstxmlregistry.c: (make_dir):
10584
10585 2004-04-13  David Schleef  <ds@schleef.org>
10586
10587         * gst/Makefile.am:
10588         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10589         assembly.
10590         * gst/gstcpuid_i386.s: remove
10591
10592 2004-04-13  David Schleef  <ds@schleef.org>
10593
10594         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10595         seems to think it needs to be done.
10596         * docs/gst/tmpl/gstfakesink.sgml:
10597         * docs/gst/tmpl/gstfakesrc.sgml:
10598         * docs/gst/tmpl/gstfdsink.sgml:
10599         * docs/gst/tmpl/gstfdsrc.sgml:
10600         * docs/gst/tmpl/gstfilesink.sgml:
10601         * docs/gst/tmpl/gstfilesrc.sgml:
10602         * docs/gst/tmpl/gstidentity.sgml:
10603         * docs/gst/tmpl/gstmd5sink.sgml:
10604         * docs/gst/tmpl/gstmultifilesrc.sgml:
10605         * docs/gst/tmpl/gstpipefilter.sgml:
10606         * docs/gst/tmpl/gstshaper.sgml:
10607         * docs/gst/tmpl/gstspider.sgml:
10608         * docs/gst/tmpl/gstspideridentity.sgml:
10609         * docs/gst/tmpl/gststatistics.sgml:
10610         * docs/gst/tmpl/gsttee.sgml:
10611         * docs/gst/tmpl/gsttypefind.sgml:
10612         * docs/gst/tmpl/gstutils.sgml:
10613
10614 2004-04-13  David Schleef  <ds@schleef.org>
10615
10616         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10617         and to build DLLs on Windows.
10618         * gst/Makefile.am:
10619         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10620         (gst_filesrc_open_file):
10621         * gst/schedulers/Makefile.am:
10622
10623 2004-04-13  David Schleef  <ds@schleef.org>
10624
10625         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10626         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10627         fixating lists.
10628
10629 2004-04-12  David Schleef  <ds@schleef.org>
10630
10631         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10632         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10633         to using it.
10634         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10635         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10636         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10637         * gst/gststructure.c: (gst_structure_set_valist),
10638         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10639         support for buffers.
10640         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10641         intended to be const.
10642         * gst/gsttag.h: same
10643         * gst/gstvalue.c: (gst_value_serialize_buffer),
10644         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10645         to (de)serialize buffers.
10646         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10647         * testsuite/caps/string-conversions.c: (main):
10648         * testsuite/caps/value_serialize.c: add new test
10649
10650 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10651
10652         * docs/pwg/advanced-types.xml:
10653           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10654
10655 2004-04-11  Benjamin Otte  <otte@gnome.org>
10656
10657         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10658           rename categories to basic_*
10659         * gst/schedulers/gstbasicscheduler.c: 
10660         (gst_basic_scheduler_chain_wrapper),
10661         (gst_basic_scheduler_chainhandler_proxy),
10662         (gst_basic_scheduler_gethandler_proxy),
10663         (gst_basic_scheduler_eventhandler_proxy):
10664           debugging category fixes - put common stuff in log category
10665         * gst/schedulers/gstbasicscheduler.c: 
10666         (gst_basic_scheduler_chain_elements):
10667           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10668           active and linking two active chains
10669
10670 2004-04-10  Benjamin Otte  <otte@gnome.org>
10671
10672         * docs/pwg/intro-preface.xml:
10673           fix dead links and remove reference to Wiki
10674
10675 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10676
10677         * gst/schedulers/gstbasicscheduler.c:
10678           make sure we can switch back to the main function if we're still in
10679           the main function (supposed to fix #139617)
10680         * gst/schedulers/gthread-cothreads.h:
10681           don't throw an error when switching to the same cothread
10682
10683 2004-04-09  Benjamin Otte  <otte@gnome.org>
10684
10685         * gst/gstbin.c: (gst_bin_get_type):
10686         * gst/gstclock.c: (gst_clock_get_type):
10687         * gst/gstindex.c: (gst_index_get_type):
10688         * gst/gstobject.c: (gst_object_get_type),
10689         (gst_signal_object_get_type):
10690         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10691         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10692         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10693         * gst/gstqueue.c: (gst_queue_get_type):
10694         * gst/gstregistry.c: (gst_registry_get_type):
10695         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10696         * gst/gstthread.c: (gst_thread_get_type):
10697           don't use memchunks for these objects, use malloc instead
10698
10699 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10700
10701         * docs/gst/.cvsignore:
10702         * docs/gst/Makefile.am:
10703         * docs/gst/gstreamer-sections.txt:
10704         * docs/gst/tmpl/gstaggregator.sgml:
10705         * docs/gst/tmpl/gstbuffer.sgml:
10706         * docs/gst/tmpl/gstclock.sgml:
10707         * docs/gst/tmpl/gstelement.sgml:
10708         * docs/gst/tmpl/gstfakesink.sgml:
10709         * docs/gst/tmpl/gstfakesrc.sgml:
10710         * docs/gst/tmpl/gstfdsink.sgml:
10711         * docs/gst/tmpl/gstfdsrc.sgml:
10712         * docs/gst/tmpl/gstfilesink.sgml:
10713         * docs/gst/tmpl/gstfilesrc.sgml:
10714         * docs/gst/tmpl/gstidentity.sgml:
10715         * docs/gst/tmpl/gstindex.sgml:
10716         * docs/gst/tmpl/gstinfo.sgml:
10717         * docs/gst/tmpl/gstmd5sink.sgml:
10718         * docs/gst/tmpl/gstmultifilesrc.sgml:
10719         * docs/gst/tmpl/gstpad.sgml:
10720         * docs/gst/tmpl/gstpipefilter.sgml:
10721         * docs/gst/tmpl/gstpipeline.sgml:
10722         * docs/gst/tmpl/gstpluginfeature.sgml:
10723         * docs/gst/tmpl/gstqueue.sgml:
10724         * docs/gst/tmpl/gstregistry.sgml:
10725         * docs/gst/tmpl/gstscheduler.sgml:
10726         * docs/gst/tmpl/gstshaper.sgml:
10727         * docs/gst/tmpl/gstspider.sgml:
10728         * docs/gst/tmpl/gstspideridentity.sgml:
10729         * docs/gst/tmpl/gststatistics.sgml:
10730         * docs/gst/tmpl/gstsystemclock.sgml:
10731         * docs/gst/tmpl/gsttee.sgml:
10732         * docs/gst/tmpl/gstthread.sgml:
10733         * docs/gst/tmpl/gsttypefind.sgml:
10734         * docs/gst/tmpl/gstutils.sgml:
10735           further doc build fixes
10736
10737 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10738
10739         * docs/gst/Makefile.am:
10740           make docs exit on scanning problems
10741           fix nonsrcdir build issues
10742         * docs/gst/gstreamer-sections.txt:
10743           adding stuff from -unused
10744         * gst/gstqueue.h:
10745           create GstQueueSize
10746         * gst/schedulers/cothreads_compat.h:
10747           fix cothread warnings
10748
10749 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10750
10751         * docs/gst/gstreamer-sections.txt:
10752           remove defines deprecated by Benjamin
10753
10754 2004-04-07  Benjamin Otte  <otte@gnome.org>
10755
10756         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10757           when the buffer is complete, don't check if other buffers are needed
10758         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10759           check that the offset is >0 so we don't try to read before the
10760           beginning of the file
10761         * gst/gstpad.c: (gst_pad_set_pad_template):
10762           sink the template, so we don't end up with 130k pad templates
10763
10764 2004-04-06  Benjamin Otte  <otte@gnome.org>
10765
10766         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10767           don't ref the element, adding already reffed it. And we didn't unref
10768           it later anyway... (huge memleak when you used many spider elements)
10769         * gst/gstelement.c: (gst_element_base_class_finalize):
10770         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10771         (gst_element_register):
10772         * gst/gsturi.c: (gst_element_make_from_uri):
10773           use gst_object_(un)ref instead of g_object(un)ref
10774
10775 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10776
10777         * gst/gstbuffer.h:
10778           remove macro that wouldn't work anymore because struct member has
10779           been removed.
10780         * gst/schedulers/entryscheduler.c: (schedule_forward):
10781           fix segfault for unconnected pads
10782         
10783 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10784
10785         reviewed by David Schleef <ds@schleef.org>
10786
10787         * gst/gstinfo.h:
10788           *_FORMAT modifiers should require putting a % in front of them for
10789           consistency reasons.
10790
10791 2004-04-05  Colin Walters  <walters@redhat.com>
10792
10793         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10794         space.
10795
10796 2004-04-05  Benjamin Otte  <otte@gnome.org>
10797
10798         * configure.ac:
10799         * gst/Makefile.am:
10800         * gst/gst_private.h:
10801         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10802           add support for detecting if GStreamer runs inside valgrind.
10803           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10804           print a big message in valgrind that GStreamer has detected it's
10805           running inside and might now use different code.
10806         * gst/gstmemchunk.c: (populate), (free_area),
10807         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10808         (gst_mem_chunk_free):
10809           flag memchunks for valgrind, so it can detect leaking of chunks.
10810           This allows detecting leaks of GstBuffer and GstEvent correctly
10811           inside valgrind.
10812
10813 2004-04-05  David Schleef  <ds@schleef.org>
10814
10815         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10816           jensgr@gmx.net (Jens Granseuer)
10817
10818 2004-04-05  David Schleef  <ds@schleef.org>
10819
10820         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10821         (gst_buffer_default_free), (gst_buffer_default_copy),
10822         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10823         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10824         structures in one place.
10825
10826 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10827
10828         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10829           (GST_TIME_FORMAT, GST_TIME_ARGS)
10830
10831 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10832
10833         * testsuite/elements/Makefile.am:
10834           disable test until it stops breaking make distcheck
10835
10836 2004-04-05  Johan Dahlin  <johan@gnome.org>
10837
10838         * po/sv.po: Updated translation
10839
10840 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10841
10842         * gst/gstplugin.c: (gst_plugin_load_file):
10843           fix segfault for when original plugin was loaded statically
10844
10845 2004-04-05  Benjamin Otte  <otte@gnome.org>
10846
10847         * testsuite/debug/category.c: (main):
10848         * testsuite/debug/commandline.c: (main):
10849         * testsuite/debug/output.c: (main):
10850           fix tests to work again with debugging enabled
10851
10852 2004-04-05  Benjamin Otte  <otte@gnome.org>
10853
10854         * gst/schedulers/gstbasicscheduler.c:
10855         (gst_basic_scheduler_pad_link):
10856           fix to work with recent scheduling changes
10857
10858 2004-04-05  Benjamin Otte  <otte@gnome.org>
10859
10860         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10861         prepareChangeLog doesn't work when cvs indents):
10862           don't throw an error when no element can be scheduled, there's too
10863           many weird reasons why it doesn't work. Return STOPPED instead.
10864           decoupled elemts' schedulability doesn't depend on bufpens.
10865
10866 2004-04-04  Benjamin Otte  <otte@gnome.org>
10867
10868         * gst/schedulers/gstbasicscheduler.c:
10869         (gst_basic_scheduler_pad_select):
10870           fix uninitialized variable warnings
10871
10872 2004-04-04  Benjamin Otte  <otte@gnome.org>
10873
10874         * gst/gstpad.c: (gst_pad_collect_valist):
10875           fix uninitialized variable warning
10876         * gst/schedulers/entryscheduler.c: (schedule_forward):
10877           fix shadowed variable
10878
10879 2004-04-04  Benjamin Otte  <otte@gnome.org>
10880
10881         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10882         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10883         (gst_pad_select):
10884         * gst/gstpad.h:
10885         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10886         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10887         * gst/gstscheduler.h:
10888           implement gst_pad_collect as replacement for gst_pad_select.
10889           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10890           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10891           new pad_select, lock and unlock calls.
10892         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10893         * gst/cothreads.h:
10894         * gst/schedulers/cothreads_compat.h:
10895         * gst/schedulers/gthread-cothreads.h:
10896           remove unused cothread_lock and cothread_unlock calls
10897         * gst/schedulers/entryscheduler.c:
10898         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10899         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10900         (gst_entry_scheduler_pad_select):
10901           update to new API
10902         * gst/schedulers/gstbasicscheduler.c:
10903         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10904         (gst_basic_scheduler_pad_select):
10905           remove useless lock and unlock calls, update pad_select to new API
10906           (untested)
10907         * gst/schedulers/gstoptimalscheduler.c:
10908         (gst_opt_scheduler_class_init):
10909           remove useless select, lock and unlock function calls
10910         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10911           use gst_pad_collect instead of gst_pad_select
10912
10913 2004-04-04  Benjamin Otte  <otte@gnome.org>
10914
10915         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10916         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10917         (schedule_next_element), (print_entry):
10918           add can_schedule_pad to handle element states.
10919           add schedule_forward to select the correct entry to schedule next
10920
10921 2004-04-03  Benjamin Otte  <otte@gnome.org>
10922
10923         * gst/schedulers/entryscheduler.c: 
10924           remove unused variable, fix error inside Rb, fix compile warning in
10925           unreachable code
10926
10927 2004-04-03  Benjamin Otte  <otte@gnome.org>
10928
10929         * gst/schedulers/entryscheduler.c:
10930           completely revamp the inner workings, so it's a lot easier to
10931           understand and extend
10932
10933 2004-04-03  Andy Wingo  <wingo@pobox.com>
10934
10935         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10936         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10937         This allows better introspection of pipeline topology.
10938         (add_to_chain): Don't do trickery to put loop elements first;
10939         rather, queue a chain sort by marking the chain as dirty.
10940         (remove_from_chain): Mark the chain dirty.
10941         (sort_chain): New function. Sorts the group list so that terminal
10942         sinks are first. This means elements on the sink side will be
10943         preferentially sscheduled before elements on the src side of the
10944         pipeline.
10945         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10946         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10947         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10948         (group_inc_link): Change argument and variable names to match the
10949         new link structure member names (src and sink).
10950         (group_dec_link): Add some description
10951
10952 2004-04-03  Benjamin Otte  <otte@gnome.org>
10953
10954         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10955         * gst/gstinfo.h:
10956         * testsuite/debug/category.c: (main):
10957         * testsuite/debug/commandline.c: (main):
10958         * testsuite/debug/output.c: (main):
10959         * testsuite/debug/printf_extension.c: (main):
10960           fix to successfully build and test with --disable-gst-debug
10961           configure switch (fixes #138705)
10962
10963 2004-04-03  Benjamin Otte  <otte@gnome.org>
10964
10965         * docs/pwg/building-boiler.xml:
10966           add cvs login line and s/anonymous/anoncvs/
10967
10968 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10969
10970         reviewed by Benjamin Otte  <otte@gnome.org>
10971
10972         * gst/gststructure.c: (gst_structure_free):
10973           memleak fix: free fields array (partial fix for #134839)
10974
10975 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10976
10977         * docs/random/ds/0.9-suggested-changes:
10978           Add a note to change handoff use in fakesrc to be usable in
10979           a more generic way (fakesrc should be renamed to appsrc or so).
10980         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10981           Change signal type to scope, so we can fill the buffer in the
10982           handoff handler (that's the whole use of this signal...).
10983
10984 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10985
10986         * docs/pwg/other-ntoone.xml:
10987           Document muxers and n-to-1 elements.
10988
10989 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10990
10991         * gst/registries/gstxmlregistry.c
10992         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10993         determine if a file is a G_MODULE. The old one discards paths
10994         containing "so" somewhere in the middle. My home directory is
10995         called "soto". Go figure...
10996
10997 2004-03-31  David Schleef  <ds@schleef.org>
10998
10999         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
11000         to eventually deprecate gst_buffer_merge().  (bug: #136408)
11001         * gst/gstbuffer.h:
11002
11003 2004-03-31  David Schleef  <ds@schleef.org>
11004
11005         * gst/gstvalue.c: (gst_value_union_int_int_range),
11006         (gst_value_union_int_range_int_range), (gst_value_can_union),
11007         (gst_value_union), (_gst_value_initialize):  Add some union
11008         implementations.  We didn't have any previously.
11009         * testsuite/caps/Makefile.am:
11010         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
11011         (gst_audioscale_getcaps), (test_caps), (main): A little test
11012         that is the same as the caps manipulation in audioscale.
11013
11014 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11015
11016         * docs/faq/general.xml:
11017           add entry about "does gst support format X?"
11018
11019 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11020
11021         * gst/gstthread.c:
11022           fix docs
11023         * gst/gstutils.h:
11024           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
11025
11026 2004-03-30  Benjamin Otte  <otte@gnome.org>
11027
11028         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11029           set the offset of the buffer to the requested offset
11030         * gst/elements/gsttypefind.c: (stop_typefinding):
11031           revert patch 1.18 (which I unfortunately don't know the reason for).
11032           This is needed to allow downstream elements to seek. Otherwise
11033           typefind might overwrite a previous seek by downstream elements.
11034           This lead to errors with id3tag and typefind on some mp3s.
11035         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11036         (gst_entry_scheduler_iterate):
11037           be more verbose when debugging
11038
11039 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11040
11041         * gst/gstcaps.c: (gst_caps_from_string_inplace):
11042           make sure we don't get NULL strings
11043
11044 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11045
11046         * gst/gstcaps.c:
11047         * gst/gstelement.c:
11048         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11049         * gst/gstindex.c: (gst_index_resolver_get_type),
11050         (gst_index_get_type), (gst_index_factory_get_type):
11051         * gst/gstinfo.c:
11052         * gst/gstpad.c:
11053         * gst/gstplugin.c:
11054         * gst/gsturi.c: (gst_uri_handler_get_type):
11055         * gst/gstvalue.c:
11056           first batch of documentation fixes
11057
11058 2004-03-29  David Schleef  <ds@schleef.org>
11059
11060         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11061         * docs/gst/gstreamer-docs.sgml:  More hacking
11062         * docs/gst/gstreamer-sections.txt:
11063         * docs/gst/tmpl/cothreads_compat.sgml:
11064         * docs/gst/tmpl/gstcaps.sgml:
11065         * docs/gst/tmpl/gstclock.sgml:
11066         * docs/gst/tmpl/gstelement.sgml:
11067         * docs/gst/tmpl/gstevent.sgml:
11068         * docs/gst/tmpl/gstpad.sgml:
11069         * docs/gst/tmpl/gstutils.sgml:
11070         * docs/gst/tmpl/gstxml.sgml:
11071         * docs/gst/tmpl/gthread-cothreads.sgml:
11072         * docs/random/ds/0.9-suggested-changes:
11073         * gst/elements/gstfakesink.h: doc fixes
11074         * gst/elements/gstfakesrc.h: doc fixes
11075         * gst/gstcaps.c: doc fixes
11076         * gst/gstcaps.h: doc fixes
11077         * gst/gstelement.c: doc fixes
11078         * gst/gstelement.h: doc fixes
11079         * gst/gstindex.c: doc fixes
11080         * gst/gstinfo.c: doc fixes
11081         * gst/gstpad.c: doc fixes
11082         * gst/gstpad.h: doc fixes
11083         * gst/gstplugin.c: doc fixes
11084         * gst/gsttypefind.h: doc fixes
11085         * gst/gsturi.c: doc fixes
11086         * gst/gstvalue.c: doc fixes
11087
11088 2004-03-29  Colin Walters  <walters@redhat.com>
11089
11090         * gst/registries/gstxmlregistry.c (get_time)
11091         (plugin_times_older_than_recurse):
11092         Use the result of stat to determine whether a path is a file,
11093         so we don't attempt to opendir() files.
11094
11095 2004-03-29  Benjamin Otte  <otte@gnome.org>
11096
11097         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11098           print caps in debugging output when setting caps failed
11099         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11100         (schedule_next_element), (get_buffer), (run_chainhandler),
11101         (element_may_start), (gst_entry_scheduler_chain_handler),
11102         (gst_entry_scheduler_get_handler),
11103         (gst_entry_scheduler_state_transition),
11104         (gst_entry_scheduler_pad_link):
11105           make this scheduler a testcase for mandatory
11106           discont-before-first-buffer which is needed if we want to allow apps
11107           to release the sound device.
11108           add SCHED_ASSERT macro to print scheduler state before an assertion
11109           triggers.
11110
11111 2004-03-29  Benjamin Otte  <otte@gnome.org>
11112
11113         * COPYING:
11114           replace by LGPL (former COPYING.LIB). The core is completely
11115           licensed LGPL.
11116         * COPYING.LIB:
11117           remove
11118
11119 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11120
11121         * po/af.po:
11122         * po/sv.po:
11123           updated Afrikaans and Swedish
11124
11125 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11126
11127         * po/LINGUAS:
11128         * po/az.po:
11129           adding Azerbaijani (Mətin Əmirov)
11130
11131 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11132
11133         * gst/gstelement.h: 
11134         * gst/gstelement.c (gst_element_set_time_delay): New function for
11135         setting element time taking into account a hardware buffering
11136         delay.
11137         (gst_element_set_time): Now just an invocation of
11138         gst_element_set_time_delay.
11139         * gst/gstclock.h: 
11140         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11141         allowing to set event times in the future.
11142         (gst_clock_get_event_time): Now just an invocation of
11143         gst_clock_get_event_time_delay.
11144
11145 2004-03-28  Benjamin Otte  <otte@gnome.org>
11146
11147         * gst/gstbin.c: (gst_bin_set_element_sched),
11148         (gst_bin_unset_element_sched):
11149           don't add decoupled elements to schedulers - otherwise it's
11150           impossible to control if a link to a decoupled element was already
11151           removed from a scheduler or not.
11152         * gst/schedulers/cothreads_compat.h:
11153         * gst/schedulers/gthread-cothreads.h:
11154           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11155           is no "unused" warning.
11156         * gst/schedulers/Makefile.am:
11157         * gst/schedulers/entryscheduler.c:
11158           add new scheduler, based on ideas from talking to David and Martin.
11159           It's supposed to be small and correct. Currently it's also slow (but
11160           it's not noticable)
11161         * examples/retag/retag.c: (main):
11162         * testsuite/bytestream/test1.c: (main):
11163           fix missing NULLs at end of variadic functions
11164         * testsuite/elements/.cvsignore:
11165           update
11166
11167 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11168
11169         * gst/gstevent.h:
11170         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11171
11172 2004-03-25  David Schleef  <ds@schleef.org>
11173
11174         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11175         * docs/gst/tmpl/gstaggregator.sgml:
11176         * docs/gst/tmpl/gstautoplugfactory.sgml:
11177         * docs/gst/tmpl/gstbin.sgml:
11178         * docs/gst/tmpl/gstbuffer.sgml:
11179         * docs/gst/tmpl/gstbufferstore.sgml:
11180         * docs/gst/tmpl/gstfakesink.sgml:
11181         * docs/gst/tmpl/gstfakesrc.sgml:
11182         * docs/gst/tmpl/gstmd5sink.sgml:
11183         * docs/gst/tmpl/gstreamer-unused.sgml:
11184         * docs/gst/tmpl/gstsearchfuncs.sgml:
11185         * docs/gst/tmpl/gstshaper.sgml:
11186         * docs/gst/tmpl/gstspider.sgml:
11187         * docs/gst/tmpl/gsttee.sgml:
11188         * docs/gst/tmpl/gstutils.sgml:
11189         * docs/gst/tmpl/gstvalue.sgml:
11190         * docs/gst/tmpl/gstxml.sgml:
11191         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11192         and we don't support it.
11193         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11194         (gst_use_threads), (gst_has_threads): same
11195         * gst/gstthreaddummy.c: same
11196         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11197         * gst/autoplug/gstspider.h: same
11198         * gst/elements/gstaggregator.h: Remove bogus function from header
11199         * gst/elements/gstfakesink.h: same
11200         * gst/elements/gstfakesrc.h: same
11201         * gst/elements/gstmd5sink.h: same
11202         * gst/elements/gstshaper.h: same
11203         * gst/elements/gsttee.h: same
11204         * gst/gstbin.c: doc fixes
11205         * gst/gstbin.h: Remove unused definition.
11206         * gst/gstbuffer.c: doc fixes
11207         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11208         * gst/gstfilter.c: doc fixes
11209         * gst/gsttag.c: doc fixes
11210         * gst/gstvalue.c: doc fixes
11211
11212 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11213
11214         * docs/pwg/advanced-types.xml:
11215           Document typefinding.
11216         * docs/pwg/other-oneton.xml:
11217           Document one-to-n elements, demuxers and parsers.
11218
11219 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11220
11221         reviewed by: David Schleef  <ds@schleef.org>
11222
11223         * configure.ac: Check bison version (bug #127838)
11224
11225 2004-03-25  David Schleef  <ds@schleef.org>
11226
11227         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11228         * docs/gst/gstreamer-sections.txt:
11229         * docs/gst/tmpl/gstautoplug.sgml:
11230         * docs/gst/tmpl/gststaticautoplug.sgml:
11231         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11232         * docs/gst/tmpl/gstutils.sgml:
11233         * docs/gst/tmpl/gstxml.sgml:
11234
11235 2004-03-24  David Schleef  <ds@schleef.org>
11236
11237         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11238         manual being such complete crap, that I decided to do major
11239         hacking of it.  This checkin replaces any fine tuning that
11240         may have been done previously, with the benefit of actually
11241         being complete for much of the API that was changed since
11242         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11243         * docs/gst/gstreamer-sections.txt:
11244         * docs/gst/tmpl/GstBin.sgml:
11245         * docs/gst/tmpl/GstBuffer.sgml:
11246         * docs/gst/tmpl/GstCaps.sgml:
11247         * docs/gst/tmpl/GstClock.sgml:
11248         * docs/gst/tmpl/GstCompat.sgml:
11249         * docs/gst/tmpl/GstData.sgml:
11250         * docs/gst/tmpl/GstElement.sgml:
11251         * docs/gst/tmpl/GstEvent.sgml:
11252         * docs/gst/tmpl/GstIndex.sgml:
11253         * docs/gst/tmpl/GstStructure.sgml:
11254         * docs/gst/tmpl/GstTag.sgml:
11255         * docs/gst/tmpl/cothreads.sgml:
11256         * docs/gst/tmpl/cothreads_compat.sgml:
11257         * docs/gst/tmpl/gettext.sgml:
11258         * docs/gst/tmpl/grammar.tab.sgml:
11259         * docs/gst/tmpl/gst-i18n-app.sgml:
11260         * docs/gst/tmpl/gst-i18n-lib.sgml:
11261         * docs/gst/tmpl/gst.sgml:
11262         * docs/gst/tmpl/gst_private.sgml:
11263         * docs/gst/tmpl/gstaggregator.sgml:
11264         * docs/gst/tmpl/gstarch.sgml:
11265         * docs/gst/tmpl/gstatomic.sgml:
11266         * docs/gst/tmpl/gstatomic_impl.sgml:
11267         * docs/gst/tmpl/gstbin.sgml:
11268         * docs/gst/tmpl/gstbuffer.sgml:
11269         * docs/gst/tmpl/gstbufferstore.sgml:
11270         * docs/gst/tmpl/gstcaps.sgml:
11271         * docs/gst/tmpl/gstclock.sgml:
11272         * docs/gst/tmpl/gstcompat.sgml:
11273         * docs/gst/tmpl/gstconfig.sgml:
11274         * docs/gst/tmpl/gstcpu.sgml:
11275         * docs/gst/tmpl/gstdata.sgml:
11276         * docs/gst/tmpl/gstdata_private.sgml:
11277         * docs/gst/tmpl/gstelement.sgml:
11278         * docs/gst/tmpl/gstenumtypes.sgml:
11279         * docs/gst/tmpl/gsterror.sgml:
11280         * docs/gst/tmpl/gstevent.sgml:
11281         * docs/gst/tmpl/gstfakesink.sgml:
11282         * docs/gst/tmpl/gstfakesrc.sgml:
11283         * docs/gst/tmpl/gstfilesink.sgml:
11284         * docs/gst/tmpl/gstfilter.sgml:
11285         * docs/gst/tmpl/gstindex.sgml:
11286         * docs/gst/tmpl/gstinfo.sgml:
11287         * docs/gst/tmpl/gstinterface.sgml:
11288         * docs/gst/tmpl/gstlog.sgml:
11289         * docs/gst/tmpl/gstmacros.sgml:
11290         * docs/gst/tmpl/gstmarshal.sgml:
11291         * docs/gst/tmpl/gstmd5sink.sgml:
11292         * docs/gst/tmpl/gstmultifilesrc.sgml:
11293         * docs/gst/tmpl/gstobject.sgml:
11294         * docs/gst/tmpl/gstpad.sgml:
11295         * docs/gst/tmpl/gstparse.sgml:
11296         * docs/gst/tmpl/gstpipeline.sgml:
11297         * docs/gst/tmpl/gstplugin.sgml:
11298         * docs/gst/tmpl/gstpluginfeature.sgml:
11299         * docs/gst/tmpl/gstqueue.sgml:
11300         * docs/gst/tmpl/gstreamer-unused.sgml:
11301         * docs/gst/tmpl/gstregistry.sgml:
11302         * docs/gst/tmpl/gstregistrypool.sgml:
11303         * docs/gst/tmpl/gstscheduler.sgml:
11304         * docs/gst/tmpl/gstsearchfuncs.sgml:
11305         * docs/gst/tmpl/gstshaper.sgml:
11306         * docs/gst/tmpl/gstspider.sgml:
11307         * docs/gst/tmpl/gstspideridentity.sgml:
11308         * docs/gst/tmpl/gststructure.sgml:
11309         * docs/gst/tmpl/gstsystemclock.sgml:
11310         * docs/gst/tmpl/gsttag.sgml:
11311         * docs/gst/tmpl/gsttaginterface.sgml:
11312         * docs/gst/tmpl/gsttee.sgml:
11313         * docs/gst/tmpl/gstthread.sgml:
11314         * docs/gst/tmpl/gsttrace.sgml:
11315         * docs/gst/tmpl/gsttrashstack.sgml:
11316         * docs/gst/tmpl/gsttypefind.sgml:
11317         * docs/gst/tmpl/gsttypes.sgml:
11318         * docs/gst/tmpl/gsturi.sgml:
11319         * docs/gst/tmpl/gsturitype.sgml:
11320         * docs/gst/tmpl/gstutils.sgml:
11321         * docs/gst/tmpl/gstvalue.sgml:
11322         * docs/gst/tmpl/gstversion.sgml:
11323         * docs/gst/tmpl/gstxml.sgml:
11324         * docs/gst/tmpl/gstxmlregistry.sgml:
11325         * docs/gst/tmpl/gthread-cothreads.sgml:
11326         * docs/gst/tmpl/types.sgml:
11327
11328 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11329
11330         * docs/pwg/other-sink.xml:
11331         * docs/pwg/other-source.xml:
11332           Documentation on how to write source and sink elements. Other
11333           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11334           manager, autoplugger) are all still pending.
11335
11336 2004-03-25  Benjamin Otte  <otte@gnome.org>
11337
11338         * testsuite/elements/Makefile.am:
11339         * testsuite/elements/gst-compprep-check:
11340           add check to make sure gst-compprep works
11341         * testsuite/elements/gst-inspect-check.in:
11342           improve initialization output
11343         * testsuite/Makefile.am:
11344         * testsuite/gst-inspect-check:
11345           remove old file
11346
11347 2004-03-24  David Schleef  <ds@schleef.org>
11348
11349         * testsuite/elements/Makefile.am:
11350         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11351         to the testsuite.
11352
11353 2004-03-24  Benjamin Otte  <otte@gnome.org>
11354
11355         * libs/gst/control/dparam.c: (gst_dparam_attach),
11356         (gst_dparam_detach):
11357         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11358           fix lvalue casts for real
11359
11360 2004-03-24  Benjamin Otte  <otte@gnome.org>
11361
11362         * gst/schedulers/gstbasicscheduler.c:
11363         (gst_basic_scheduler_src_wrapper):
11364         * gst/schedulers/gstoptimalscheduler.c:
11365         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11366         (pad_clear_queued), (gst_opt_scheduler_add_element),
11367         (gst_opt_scheduler_remove_element):
11368           fix GStreamer to not have issues with lvalue casts anymore (fixes
11369           #136841)
11370
11371 2004-03-24  Benjamin Otte  <otte@gnome.org>
11372
11373         * gst/gstelement.c:
11374           add documentation about a gobject quirk where the object hasn't the
11375           correct class pointer set on initialization
11376         * gst/schedulers/gstbasicscheduler.c:
11377         (gst_basic_scheduler_src_wrapper):
11378           make sure to not run into an infinite loop
11379
11380 2004-03-22  Benjamin Otte  <otte@gnome.org>
11381
11382         * gst/gstutils.c: (gst_util_dump_mem):
11383         * gst/gstutils.h:
11384           first argument of gst_util_dump_mem should be const
11385
11386 2004-03-22  Johan Dahlin  <johan@gnome.org>
11387
11388         * gst/gstvalue.h: Clean up a little bit.
11389
11390 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11391
11392         reviewed by Benjamin Otte  <otte@gnome.org>
11393
11394         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11395         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11396         (gst_aggregator_class_init), (gst_aggregator_init):
11397         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11398         (gst_filesrc_dispose), (gst_filesrc_set_location):
11399         * gst/elements/gstidentity.c: (gst_identity_finalize),
11400         (gst_identity_class_init), (gst_identity_chain):
11401         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11402         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11403         (gst_statistics_class_init):
11404         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11405         (gst_tee_get_property):
11406           clean up used memory in this elements correctly on teardown (closes
11407           #137279)
11408
11409 2004-03-20  Colin Walters  <walters@redhat.com>
11410
11411         * gst/registries/gstxmlregistry.c:
11412         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11413         registry saving atomic.
11414
11415 2004-03-20  Colin Walters  <walters@redhat.com>
11416
11417         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11418         Just use
11419         access() instead of actually creating and deleting files.
11420
11421 2004-03-18  David Schleef  <ds@schleef.org>
11422
11423         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11424         (bug #137625)
11425
11426 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11427
11428         * po/sv.po: updated translation (Christian Rose)
11429
11430 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11431
11432         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11433         (gst_filesink_get_query_types), (_do_init),
11434         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11435           return FALSE silently
11436         * po/af.po: updated translation (Petri Jooste)
11437
11438 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11439
11440         * Makefile.am:
11441         * configure.ac:
11442           dist common properly
11443         * po/af.po:
11444         * po/fr.po:
11445         * po/nl.po:
11446         * po/sr.po:
11447         * po/sv.po:
11448           refreshing translations
11449
11450 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11451
11452         * po/LINGUAS:
11453         * po/sv.po:
11454         * po/af.po:
11455           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11456
11457 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11458
11459         * Makefile.am: use common/release.mak
11460
11461 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11462
11463         * docs/faq/gst-uninstalled:
11464           adding gst-monkeysaudio to the list of possible plugin dirs
11465
11466 2004-03-16  David Schleef  <ds@schleef.org>
11467
11468         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11469         (gst_init_check_with_popt_table):  Fix some gettext strings to
11470         make them easier to translate.  Required making the strings
11471         non-const.
11472
11473 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11474
11475         * configure.ac: bump nano to 1
11476
11477 === release 0.8.0 ===
11478
11479 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11480
11481         * configure.ac: release 0.8.0, "Executive Slacks"
11482
11483 2004-03-16  Johan Dahlin  <johan@gnome.org>
11484
11485         * gst/schedulers/gstoptimalscheduler.c
11486         (gst_opt_scheduler_pad_unlink): Remove double ;,
11487         spotted by Scott Wheeler
11488
11489 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11490
11491         * configure.ac: bump libtool version
11492
11493 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11494
11495         * gst/gstcaps.h:
11496         * gst/gststructure.h:
11497           add reserved padding
11498
11499 2004-03-15  Benjamin Otte  <otte@gnome.org>
11500
11501         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11502           set the first parameter for select call correctly.
11503           (fixes #137230)
11504
11505 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11506
11507         * *.c,*.h: don't mix tabs and spaces
11508
11509 2004-03-15  Johan Dahlin  <johan@gnome.org>
11510
11511         * gst/schedulers/gstoptimalscheduler.c
11512         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11513         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11514
11515         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11516         
11517 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11518
11519         * testsuite/Rules:
11520           fix gst-register rules
11521
11522 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11523
11524         * testsuite/Rules:
11525           use versioned gst-register
11526
11527 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11528
11529         * docs/libs/gstreamer-libs-sections.txt:
11530           remove </SUBSECTION>
11531         * gst/gstplugin.c:
11532         * gst/gstregistry.c: (gst_registry_add_plugin):
11533         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11534         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11535           add debugging and fix some comment blocks
11536
11537 2004-03-15  Johan Dahlin  <johan@gnome.org>
11538
11539         * *.h: Revert indent changes.
11540         
11541 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11542
11543         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11544           g_error_free the g_error
11545         * tools/gst-feedback-m.m:
11546           check for other versions of gstreamer
11547         * tools/gst-indent:
11548           use sh, not bash
11549
11550 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11551
11552         * tools/gst-register.c: do not spill paths when registries are not
11553           writable, until we fix the "user running gst-register" case.
11554
11555 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11556
11557         * *.c, *.h: commit of gst-indent run on core
11558
11559 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11560
11561         * tools/gst-indent:
11562         * tools/Makefile.am:
11563           add our indentation style as a script
11564
11565 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11566
11567         * po/sr.po:
11568         * po/LINGUAS:
11569           added Serbian translation
11570
11571 2004-03-13  Benjamin Otte  <otte@gnome.org>
11572
11573         * gst/gstelement.c:
11574           add documentation note about gst_element_found_tags_for_pad not
11575           being usable in getfunctions. (see #137042)
11576
11577 2004-03-12  David Schleef  <ds@schleef.org>
11578
11579         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11580         change API right now!  Readd gst_caps_is_simple() macro.
11581         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11582         uninitialized variable.  I'd bet this caused crashes.
11583         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11584
11585 2004-03-12  Johan Dahlin  <johan@gnome.org>
11586
11587         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11588         * gst/gstcaps.h: Clean up
11589
11590         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11591         _gst_caps_initalize()
11592
11593         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11594         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11595
11596         * gst/gststructure.c (gst_structure_get_type): Ditto
11597
11598         * gst/gststructure.h: Ditto
11599         
11600 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11601
11602         * gst/gstqueue.c: (gst_queue_init):
11603           Reset default max. values in queues. Reason is simply to avoid
11604           braindead use. If you want wider values, use the properties. The
11605           default is supposed to always work. Wider values would make this
11606           beast a memory hog by default (250 full-PAL RGB32 video frames?
11607           That's 440 MB! No thank you).
11608
11609 2004-03-10  David Schleef  <ds@schleef.org>
11610
11611         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11612         were found.  (bug #136793)
11613
11614 2004-03-10  Johan Dahlin  <johan@gnome.org>
11615
11616         * gst/schedulers/gstoptimalscheduler.c
11617         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11618         links to elements within the same group, so we can finally remove
11619         that annoying warning. Refactor the code a little bit
11620         (group_dec_links_for_element): Split out
11621
11622 2004-03-09  David Schleef  <ds@schleef.org>
11623
11624         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11625         (bug #134863)
11626
11627 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11628
11629         * configure.ac: first bug fix due to major/minor bump
11630
11631 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11632
11633         * configure.ac: bump nano to 1
11634
11635 === release 0.7.6 ===
11636
11637 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11638
11639         * NEWS:
11640         * RELEASE:
11641         * configure.ac:
11642           releasing 0.7.6, "Almost"
11643         * po/fr.po:
11644         * po/nl.po:
11645         * tools/Makefile.am:
11646         * tools/gst-feedback-m.m:
11647           unversioned source
11648
11649 2004-03-09  Johan Dahlin  <johan@gnome.org>
11650
11651         Reviewed by: Thomas Vander Stichele
11652
11653         * gst/gstelement.c (gst_element_class_init): register second
11654         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11655         language bindings can (de)marshall correctly.
11656
11657         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11658
11659         * gst/gsterror.c (gst_g_error_get_type): New function
11660
11661         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11662         with VOID:OBJECT,OBJECT,STRING 
11663
11664 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11665
11666         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11667         Free a leaked g_timer on early returns.
11668
11669 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11670
11671         * docs/pwg/advanced-types.xml:
11672           Add cinepak description.
11673
11674 2004-03-07  David Schleef  <ds@schleef.org>
11675
11676         * docs/random/mimetypes:  Added cinepak description
11677
11678 2004-03-07  Andy Wingo  <wingo@pobox.com>
11679
11680         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11681
11682         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11683         there are no links to other groups when a group is destroyed.
11684         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11685         removed from a group, make sure the link count to elements linked
11686         to other pads is appropriately decremented. This really fixes
11687         #135672.
11688
11689         The 1.60->1.61 patch has been reapplied in light of this fix.
11690
11691         * gst/gstelement.c (gst_element_dispose): Really protect against
11692         multiple invocations this time.
11693
11694 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11695
11696         * docs/gst/gstreamer-sections.txt:
11697         * docs/gst/tmpl/gsttag.sgml:
11698           remove some deprecated functions, document some existing ones
11699         * gst/gsttag.c: (gst_tag_get_flag):
11700         * gst/gsttag.h:
11701           add accessor function
11702
11703 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11704
11705         * docs/gst/gstreamer-sections.txt:
11706         * docs/gst/tmpl/gsttag.sgml:
11707         * docs/gst/tmpl/gstxml.sgml:
11708         * gst/gsttag.c: (gst_tag_get_flag):
11709         * gst/gsttag.h:
11710
11711 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11712
11713         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11714         leak
11715
11716 2004-03-05  David Schleef  <ds@schleef.org>
11717
11718         * REQUIREMENTS: Add bison and flex.
11719         * configure.ac: Fix comment about bison.
11720         * docs/random/ds/0.9-suggested-changes: yer ma
11721         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11722
11723 2004-03-05  Benjamin Otte  <otte@gnome.org>
11724
11725         * gst/gstelement.c: (gst_element_error_full):
11726           revert recent recursive state changing commit - messing with other
11727           elements' states is evil and should be done by apps only.
11728
11729 2004-03-05  Benjamin Otte  <otte@gnome.org>
11730
11731         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11732           check for empty intersection instead of NULL caps
11733         (gst_element_get_compatible_pad_filtered):
11734           remove old workaround that is only a bug nowadays
11735
11736 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11737
11738         * gst/gstelement.c: (gst_element_error_full):
11739           make elements try to recursively change state to PAUSED on all
11740           parents after an error to suppress ensuing warnings
11741         * gst/parse/grammar.y:
11742           make it check if it was able to sync the state, and throw an error
11743           if not, so stuff like
11744           oggdemux ! vorbisdec ! osssink gets caught
11745
11746 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11747
11748         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11749           it contains lib64; use AS_AC_EXPAND to handle it properly
11750
11751 2004-03-05  David Schleef  <ds@schleef.org>
11752
11753         * gst/gstcpuid_i386.s:  Remove unused code
11754         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11755         (gst_getbits_newbuf): Remove MMX code
11756         * libs/gst/getbits/getbits.h: Remove MMX code
11757
11758 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11759
11760         * debian/.cvsignore:
11761         * debian/README.Debian:
11762         * debian/changelog:
11763         * debian/control:
11764         * debian/control.in:
11765         * debian/copyright:
11766         * debian/gstreamer-core-libs-dev.files:
11767         * debian/gstreamer-core-libs.files:
11768         * debian/gstreamer-core.files:
11769         * debian/gstreamer-core.postinst:
11770         * debian/gstreamer-core.postrm:
11771         * debian/gstreamer-doc.files:
11772         * debian/gstreamer-doc.links:
11773         * debian/gstreamer-doc.lintian:
11774         * debian/gstreamer-runtime.files:
11775         * debian/gstreamer-runtime.manpages:
11776         * debian/gstreamer-runtime.postinst:
11777         * debian/gstreamer-runtime.postrm:
11778         * debian/gstreamer-tools.files:
11779         * debian/gstreamer-tools.manpages:
11780         * debian/libgstreamer-dev.files:
11781         * debian/libgstreamer0.4.1.files:
11782         * debian/libgstreamerVERSION.files:
11783         * debian/rules:
11784         Debian package info not maintained here.
11785
11786 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11787
11788         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11789         * gst/gstbin.c: (gst_bin_class_init):
11790         * gst/gstelement.c: (gst_element_class_init):
11791         * gst/gstindex.c: (gst_index_class_init):
11792         * gst/gstobject.c: (gst_object_class_init),
11793         (gst_signal_object_class_init):
11794         * gst/gstpad.c: (gst_pad_template_class_init):
11795         * gst/gstregistry.c: (gst_registry_class_init):
11796         * gst/gsturi.c: (gst_uri_handler_base_init):
11797         * gst/gstxml.c: (gst_xml_class_init):
11798         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11799         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11800           make all signal names use dashes instead of underscore
11801
11802 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11803
11804         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11805
11806 2004-03-03  Benjamin Otte  <otte@gnome.org>
11807
11808         * gst/schedulers/gstoptimalscheduler.c:
11809           revert last commit by Andy Wingo. It causes segfaults on unreffing
11810           in Rhythmbox. (see bug #135672)
11811
11812 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11813
11814         * po/fr.po: fix typo
11815
11816 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11817
11818         * tools/gst-inspect.c: (main): 
11819         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11820
11821 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11822
11823         * configure.ac:
11824           get GLIB_ONLY and POPT flags for the nonversioned binaries
11825         * tools/Makefile.am:
11826           use them
11827
11828 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11829
11830         * gst/gst.c: (init_post):
11831           change so that GST_REGISTRY now is where the global registry gets
11832           saved, since that is where plugins now get attached to first, and
11833           spilled over to the user registry.  Note that in the case of using
11834           GST_REGISTRY env var, we don't want to affect any real registries
11835           beyond the one given by this var, and thus we don't set a user
11836           registry to spill to.  So make sure GST_REGISTRY is writable.
11837
11838 2004-03-01  David Schleef  <ds@schleef.org>
11839
11840         * AUTHORS:  Added some names.  Add yourself if you're missing.
11841
11842 2004-03-01  David Schleef  <ds@schleef.org>
11843
11844         * MAINTAINERS: Add
11845
11846 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11847
11848         * configure.ac:
11849           remove whitespace
11850         * docs/gst/tmpl/gstbuffer.sgml:
11851         * docs/gst/tmpl/gstdata.sgml:
11852         * docs/gst/tmpl/gstreamer-unused.sgml:
11853         * docs/gst/tmpl/gstxml.sgml:
11854           doc update
11855         * docs/manuals.mak:
11856           add a FIXME
11857         * docs/pwg/intro-preface.xml:
11858         * docs/pwg/pwg.xml:
11859           remove GNOME
11860         * gst/gst.c: (init_post):
11861           try GST_PLUGIN_PATH paths for the _global_registry first
11862         * gst/gstelement.h:
11863           add the error message as well, otherwise (null) debug info doesn't
11864           make much sense
11865         * tools/gst-register.c: (main):
11866           spill paths to next registry if this registry is not writable
11867         * po/fr.po:
11868         * po/nl.po:
11869           translation updates
11870
11871 2004-03-01  Johan Dahlin  <johan@gnome.org>
11872
11873         * gst/gstbuffer.c (_gst_buffer_initialize): 
11874         * gst/gstdata.c (gst_data_get_type): 
11875         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11876         instead of ref, since some applications that uses GBoxed
11877         routines depends on a function that actually returns a copy.
11878
11879 2004-02-27  Benjamin Otte  <otte@gnome.org>
11880
11881         * gst/gstbuffer.h:
11882           remove gst_buffer_free, use gst_data_unref
11883         * gst/gstdata.c: (gst_data_get_type):
11884           use refcounting in GstData GBoxed registration
11885         * gst/gstdata.h:
11886           remove gst_data_free, use gst_data_unref
11887
11888 2004-02-27  Johan Dahlin  <johan@gnome.org>
11889
11890         * gst/gstdata.c (gst_data_get_type): New function, register
11891         GstData as a GBoxed type.
11892
11893         * gst/gstdata.h (GST_TYPE_DATA): New macro
11894
11895 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11896
11897         * Makefile.am:
11898         * gstreamer.spec.in:
11899           put back RELEASE
11900         * gst/Makefile.am:
11901           clean up non-disting of built files
11902         * testsuite/debug/commandline.c:
11903           test fix for option rename
11904
11905 2004-02-26  David Schleef  <ds@schleef.org>
11906
11907         * configure.ac:  We don't really need glib-2.3.  Also remove
11908         some unneeded checks for library functions.
11909         * gst/Makefile.am:  Instead, we need to not dist files created
11910         by glib-genmarshal.
11911
11912 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11913
11914         * configure.ac:
11915           bump glib required version to 2.3.0 for g_value_takes_boxed
11916
11917  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11918
11919         * common/m4/gst-docs.m4
11920         change flavour text from enable to disable as enable is our default
11921         closes bug Bug 135304
11922
11923 === release 0.7.5 ===
11924  
11925  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11926  
11927         * NEWS:
11928           instate NEWS file
11929         * Makefile.am:
11930         * gstreamer.spec.in:
11931         * RELEASE:
11932           put back release
11933         * configure.ac:
11934         * docs/random/release:
11935           more updates
11936
11937 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11938
11939         * gst/gsttag.c: (_gst_tag_initialize):
11940         * po/fr.po:
11941         * po/nl.po:
11942           remove hyphen from codec tags
11943
11944 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11945
11946         * gst/parse/Makefile.am:
11947           fix dependency so that a make from a clean build works the first
11948           time
11949
11950 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11951
11952         * docs/random/release:
11953           update release strategy
11954         * po/fr.po:
11955           auto-update po file
11956         * po/nl.po:
11957           update dutch translation
11958
11959 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11960
11961         * docs/manual/debugging.xml:
11962         fix manual for new debugging system
11963
11964 2004-02-25  Andy Wingo  <wingo@pobox.com>
11965
11966         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11967         gst_pad_link_prepare. Please email the list with specific reasons
11968         for reverting.
11969
11970 2004-02-24  Andy Wingo  <wingo@pobox.com>
11971
11972         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11973         invocations.
11974
11975         * gst/schedulers/gstoptimalscheduler.c:
11976         I added a mess of prototypes at the top of the file by way of
11977         documentation. Some of the operations on chains and groups were
11978         re-organized.
11979
11980         (create_group): Added a type argument so if the group is enabled,
11981         the setup_group_scheduler knows what to do.
11982         (group_elements): Added a type argument here, too, to be passed on
11983         to create_group.
11984         (group_element_set_enabled): If an unlinked PLAYING element is
11985         added to a bin, we have to create a new group to hold the element,
11986         and this function will be called before the group is added to the
11987         chain. Thus we have a valid case for group->chain==NULL. Instead
11988         of calling chain_group_set_enabled, just set the flag on the group
11989         (the chain's status will be set when the group is added to it).
11990         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11991         Setup the group scheduler when the group is enabled, not
11992         specifically when an element goes PAUSED->PLAYING. This means
11993         PLAYING elements can be added, linked, and scheduled into a
11994         PLAYING pipeline, as was intended.
11995         (add_to_group): Don't ref the group twice. I don't know when this
11996         double-ref got in here. Removing it has the potential to cause
11997         segfaults if other parts of the scheduler are buggy. If you find
11998         that the scheduler is segfaulting for you, put in an extra ref
11999         here and see if that hacks over the underlying issue. Of course,
12000         then find out what code is unreffing a group it doesn't own...
12001         (create_group): Make the extra refcount floating, and remove it
12002         after adding the element. This means that...
12003         (unref_group): Destroy when the refcount reaches 0, not 1, like
12004         every other refcounted object in the known universe.
12005         (remove_from_group): When a group becomes empty, set it to be not
12006         active, and remove it from its chain. Don't unref it again,
12007         there's no floating reference any more.
12008         (destroy_group): We have to remove the group from the chain in
12009         remove_from_group (rather than here) to break refcounting cycles
12010         (the chain always has a ref on the group). So assert that
12011         group->chain==NULL.
12012         (ref_group_by_count): Removed, it was commented out anyway.
12013         (merge_chains): Use the remove_from_chain and add_to_chain
12014         primitives to do the reparenting, instead of rolling our own
12015         implementation.
12016         (add_to_chain): The first non-disabled group in the chain's group
12017         list will be the entry point for the chain. Because buffers can
12018         accumulate in loop elements' peer bufpens, we preferentially
12019         schedule loop groups before get groups to avoid unnecessary
12020         execution of get-based groups when the bufpens are already full.
12021         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
12022         (get_group_schedule_function): Ditto.
12023         (loop_group_schedule_function): Ditto.
12024         (gst_opt_scheduler_loop_wrapper): Ditto.
12025         (gst_opt_scheduler_iterate): Ditto.
12026
12027         I understand the opt scheduler now, yippee!
12028
12029         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
12030         (gst_pad_get_name, gst_pad_set_chain_function) 
12031         (gst_pad_set_get_function, gst_pad_set_event_function) 
12032         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
12033         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
12034         (gst_pad_set_query_function, gst_pad_get_query_types) 
12035         (gst_pad_get_query_types_default) 
12036         (gst_pad_set_internal_link_function) 
12037         (gst_pad_set_formats_function, gst_pad_set_link_function) 
12038         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
12039         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
12040         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
12041         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
12042         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
12043         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
12044         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
12045         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12046         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12047         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12048         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12049         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12050         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12051         argument checks, and some doc fixes.
12052
12053         (gst_pad_custom_new_from_template): Um, does anyone
12054         use these functions? Actually make a custom pad instead of a
12055         normal one.
12056         (gst_pad_try_set_caps): Transpose some checks.
12057         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12058         the pad is in negotiation.
12059         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12060         
12061         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12062
12063         * gst/gstelement.h: 
12064         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12065         on the list.
12066
12067 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12068
12069         * gst/gstbin.c: (gst_bin_add):
12070           add error for not being able to add elements
12071
12072 2004-02-22  Julien MOUTTE <julien@moutte.net>
12073
12074         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12075         audio-codec and video-codec.
12076
12077 2004-02-22  Benjamin Otte  <otte@gnome.org>
12078
12079         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12080
12081         * autogen.sh:
12082           replace test -e with test -x for mkinstalldirs to be more portable.
12083           (fixes #134816)
12084
12085 2004-02-22  Benjamin Otte  <otte@gnome.org>
12086
12087         * gst/gstpad.c:
12088           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12089           too noisy
12090         * gst/gsttag.c: (_gst_tag_initialize):
12091         * gst/gsttag.h:
12092           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12093         * libs/gst/control/dparam.c: (gst_dparam_attach):
12094         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12095           check that types for attached dparams match
12096
12097 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12098
12099         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12100         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12101         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12102           fix errors
12103
12104 2004-02-20  Andy Wingo  <wingo@pobox.com>
12105
12106         * gst/gstbin.c:
12107         * gst/gstbuffer.c:
12108         * gst/gstplugin.c:
12109         * gst/registries/gstxmlregistry.c: 
12110         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12111
12112         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12113         (gst_element_add_pad): DEBUG->INFO, some fixes.
12114         (gst_element_get_compatible_pad_template): Just see if the
12115         templates' caps intersect, not if one is a strict subset of the
12116         other. This conforms more to what gst_pad_link_intersect() does.
12117         (gst_element_class_add_pad_template): Don't memcpy the pad
12118         template, just ref it.
12119         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12120
12121         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12122         (gst_pad_link_filtered): Debug changes.
12123         (gst_pad_link_prepare): New function, consolidated from
12124         can_link_filtered and link_filtered.
12125
12126         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12127         look more like that of the functions in gstelement.c
12128
12129         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12130         object, and return the empty string if object is NULL.
12131
12132         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12133         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12134         LOG, not DEBUG. We still get flex info on debug.
12135
12136         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12137         debug string more verbose.
12138         (plugin_times_older_than): DEBUG->LOG.
12139
12140 2004-02-20  Julien MOUTTE <julien@moutte.net>
12141
12142         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12143         will emit found_tag for each stream they demux with the codec.
12144
12145 2004-02-20  Benjamin Otte  <otte@gnome.org>
12146
12147         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12148           copy navigation event correctly. Check freeing tag lists. 
12149         * gst/gstthread.c: (gst_thread_change_state):
12150           don't abort() on state changing mess - it might happen because of
12151           bugs.
12152         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12153           use boxed functions
12154         * gst/gstvalue.h:
12155           fix GST_VALUE_HOLDS_CAPS
12156
12157 2004-02-19  David Schleef  <ds@schleef.org>
12158
12159         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12160         and use it for GST_FUNCTION.  (bug #134750)
12161
12162 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12163
12164         * po/fr.po:
12165         * po/nl.po:
12166           updating translations
12167
12168 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12169
12170         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12171
12172 2004-02-18  kost@imn.htwk-leipzig.de
12173
12174         reviewed by: David Schleef  <ds@schleef.org>
12175
12176         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12177         for libgstcontrol.
12178
12179 2004-02-18  David Schleef  <ds@schleef.org>
12180
12181         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12182         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12183         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12184         * tools/gst-inspect.c: (print_element_info): Support dumping of
12185         double dparam information.
12186
12187 2004-02-17  David Schleef  <ds@schleef.org>
12188
12189         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12190         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12191         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12192         Use GST_TYPE_CAPS in signal prototype.
12193         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12194         Convert GST_TYPE_CAPS to boxed.
12195         * gst/gstelement.c: (gst_element_class_init):
12196         Use GST_TYPE_TAG_LIST in signal prototype.
12197         * gst/gstindex.c: (gst_index_class_init):
12198         * gst/gstindex.h:
12199         Add GST_TYPE_INDEX_ENTRY type.
12200         * gst/gstmarshal.list:
12201         Add necessary marshal types.
12202         * gst/gstpad.c: (gst_real_pad_class_init),
12203         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12204         (gst_pad_recover_caps_error):
12205         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12206         * gst/gststructure.c: (_gst_structure_initialize),
12207         (gst_structure_copy), (_gst_structure_copy_conditional):
12208         * gst/gststructure.h:
12209         Convert GST_TYPE_STRUCTURE to boxed.
12210         * gst/gsttag.c: (gst_tag_list_get_type):
12211         * gst/gsttag.h:
12212         Add GST_TYPE_TAG_LIST type.
12213
12214 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12215
12216         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12217         to what we agreed with david.
12218         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12219
12220 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12221
12222         * po/nl.po: update translation
12223
12224 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12225
12226         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12227           throw an error if spider is trying to play a mime type there is
12228           no decoder for
12229         * po/POTFILES.in:
12230           add gst/autoplug/gstspider.c for translation
12231
12232 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12233
12234         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12235         silently when the pad is negotiating.
12236
12237 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12238
12239         * docs/faq/Makefile.am:
12240           add script to run gstreamer uninstalled 
12241         * docs/faq/faq.xml:
12242         * docs/faq/developing.xml:
12243         * docs/faq/gst-uninstalled:
12244           extract script to run gstreamer uninstalled
12245         * docs/manuals.mak:
12246           add EXTRA_SOURCES variable for Makefile.am's to set to
12247           use additional SOURCE files for the doc build
12248
12249 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12250
12251         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12252
12253 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12254
12255         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12256         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12257         an error was thrown by osssink. Basically a state change failure for
12258         an element in a different scheduling group was considered as
12259         successful, which means that caps nego was going on and weird stuff
12260         happened. Like I wrote in the comment there, if someone wants to
12261         revert that please drop me a mail explaining why because I really see
12262         no point in keeping that broken behaviour there.
12263         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12264         be empty, we then return NULL which will trigger a nice error when 
12265         pulling from the pad.
12266
12267 2004-02-13  David Schleef  <ds@schleef.org>
12268
12269         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12270         (gst_dparam_get_property), (gst_dparam_set_property),
12271         (gst_dparam_do_update_default):
12272         * libs/gst/control/dparam.h:
12273         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12274         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12275         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12276         (gst_dpsmooth_do_update_double):
12277         * libs/gst/control/dparam_smooth.h:
12278         * libs/gst/control/dparammanager.c:
12279         (gst_dpman_inline_direct_update):
12280         Add support for double dparams.
12281
12282 2004-02-13  David Schleef  <ds@schleef.org>
12283
12284         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12285         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12286
12287 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12288
12289         reviewed by: David Schleef  <ds@schleef.org>
12290
12291         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12292         (gst_fdsrc_init), (gst_fdsrc_set_property),
12293         (gst_fdsrc_get_property), (gst_fdsrc_get):
12294         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12295         and sends an EOS event if file descriptor reading times out.
12296
12297 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12298
12299         * configure.ac:
12300           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12301
12302 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12303
12304         * configure.ac: pass required libxml version as argument
12305         (bug reported by Christophe Fergeau)
12306
12307 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12308   
12309         * docs/gst/gstreamer-docs.sgml:
12310         * docs/gst/tmpl/gstxml.sgml:
12311         * docs/libs/gstreamer-libs-docs.sgml:
12312           version API docs
12313
12314 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12315
12316         * gst/gstinfo.c:
12317         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12318         (gst_registry_pool_feature_filter):
12319         * gst/gstthread.c: (gst_thread_class_init):
12320         * gst/gstvalue.c:
12321           add includes exposed by building without libxml
12322         * gst/indexers/Makefile.am:
12323           do not build fileindex when LOADSAVE disabled; we should have
12324           a better libxml check later since fileindex depends on xml, not
12325           LOADSAVE or REGISTRY
12326         * libs/gst/control/Makefile.am:
12327           link with m
12328         * tools/Makefile.am:
12329           fix wrong source code for gst-xmlinspect
12330
12331 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12332
12333         * configure.ac:
12334           fix gcov help output
12335           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12336         * docs/random/release:
12337           some updated releasing notes
12338         * gstreamer.spec.in:
12339           more updates
12340
12341 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12342
12343         * docs/faq/faq.xml:
12344         * docs/manual/manual.xml:
12345         * docs/pwg/pwg.xml:
12346         * docs/pwg/titlepage.xml:
12347           put version in documentation
12348
12349 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12350
12351         * tools/Makefile.am: fix man page installation
12352
12353 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12354
12355         * configure.ac:
12356           don't check for libxml when load/save and registry disabled (#105844)
12357         * gstreamer.spec.in:
12358           sync with fedora candidate spec
12359
12360 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12361
12362         * po/fr.po:
12363         * po/nl.po:
12364           replace multidisksrc with multifilesrc
12365
12366 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12367
12368         * po/POTFILES.in:
12369           update to multidisksrc => multifilesrc file renaming (#134145)
12370
12371 2004-02-11  David Schleef  <ds@schleef.org>
12372
12373         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12374         * docs/gst/tmpl/gstpadtemplate.sgml: same
12375         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12376         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12377         fixing dance.
12378         * gst/gstutils.c: Remove disabled code that uses GstProps.
12379         * gst/registries/gstxmlregistry.h: same
12380         * docs/random/ds/0.9-suggested-changes: random notes
12381
12382 2004-02-11  kost@imn.htwk-leipzig.de
12383
12384         reviewed by: David Schleef  <ds@schleef.org>
12385
12386         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12387         initialisation of clock (bug #134128)
12388
12389 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12390
12391         * configure.ac:
12392         * gst/elements/Makefile.am:
12393         * gst/elements/gstelements.c:
12394         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12395         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12396         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12397         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12398         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12399         * gst/elements/gstmultifilesrc.h:
12400           rename multidisksrc to multifilesrc (part of #122200)
12401
12402 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12403
12404         * docs/manuals.mak:
12405           fix automake complaints
12406         * gst-element-check.m4:
12407           fix unquotedness
12408
12409 2004-02-11  David Schleef  <ds@schleef.org>
12410
12411         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12412         * gst/gstatomic_impl.h: Disable sparc implementation.
12413
12414 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12415
12416         * gst-element-check.m4:
12417           fix underquoted macros as reported by automake 1.8.x (#133800)
12418         * configure.ac:
12419           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12420           by autopoint (fixes #132996)
12421
12422 2004-02-10  Andy Wingo  <wingo@pobox.com>
12423
12424         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12425         way to do inheritance.
12426         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12427         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12428         Routine docs.
12429         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12430         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12431         doc.
12432         (gst_pad_unlink, gst_pad_is_linked): Docs.
12433         (gst_pad_renegotiate): A brief description of capsnego.
12434         (gst_pad_try_set_caps): Document.
12435         (gst_pad_try_set_caps_nonfixed): Document.
12436         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12437         (gst_pad_set_parent): Deprecated (although not out of the API).
12438         (gst_pad_get_parent): Deprecated, although many plugins use this.
12439         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12440         are private and will go away in 0.9.
12441         (gst_pad_perform_negotiate): Doc.
12442         (gst_pad_link_unnegotiate): I think this is meant to be static.
12443         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12444         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12445         (gst_pad_get_peer): Doc updates.
12446         (gst_pad_caps_change_notify): Doc.
12447         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12448         (gst_ghost_pad_new): Doc fixes.
12449
12450         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12451         (gst_object_check_uniqueness): 
12452
12453         * gst/gstelement.c (gst_element_add_pad) 
12454         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12455         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12456         (gst_element_get_static_pad, gst_element_get_pad_list) 
12457         (gst_element_class_get_pad_template_list) 
12458         (gst_element_class_get_pad_template): Work on the docs.
12459         (gst_element_get_pad_template_list): Uses the class method.
12460         (gst_element_get_compatible_pad_template): Docs, and consolidate
12461         some test conditions. 
12462         (gst_element_get_pad_from_template): New static function.
12463         (gst_element_request_compatible_pad): Docs, and work with
12464         non-request compatible templates. 
12465         (gst_element_get_compatible_pad_filtered): Docs and remove
12466         redundant checks.
12467         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12468         (gst_element_link_filtered, gst_element_link_many) 
12469         (gst_element_link, gst_element_link_pads) 
12470         (gst_element_unlink_many): Docs.
12471
12472 2004-02-05  Andy Wingo  <wingo@pobox.com>
12473
12474         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12475         s/pointer/boxed/.
12476
12477         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12478
12479         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12480         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12481         with the type=GST_TYPE_CAPS. This allows language bindings to know
12482         what kind of data they're dealing with.
12483
12484         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12485         to NULL when g_value_init is called. GstCaps, which rolls its own
12486         type implementation, now does the same instead of allocating empty
12487         caps.
12488         (_gst_caps_initialize, _gst_caps_collect_value,
12489         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12490         table methods. This allows G_VALUE_COLLECT to work.
12491
12492 2004-02-05  Andy Wingo  <wingo@pobox.com>
12493
12494         * configure.ac:
12495         * testsuite/Makefile.am (SUBDIRS): 
12496         * testsuite/ghostpads/Makefile.am: 
12497         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12498
12499         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12500         These two routines are the only ones that set
12501         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12502         pad template. They should be made static, depending on ABI needs.
12503         (gst_real_pad_dispose): Handle the case of ghost pads without a
12504         parent. Assert after dealing with ghost pads that the ghost pad
12505         list is empty.
12506         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12507         set after creation.
12508         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12509         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12510         functions. set_property will call add_ghost_pad/remove_ghost_pad
12511         as appropriate.
12512         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12513
12514         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12515         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12516         (gst_element_remove_pad): Handle ghost pads as well.
12517         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12518         depending on API-stability needs).
12519
12520 2004-02-05  Andy Wingo  <wingo@pobox.com>
12521
12522         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12523         of course they're const
12524
12525 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12526
12527         * tools/Makefile.am:
12528         * tools/gst-feedback:
12529         * tools/gst-feedback-0.7:
12530           make gst-feedback versioned too for consistency
12531
12532 2004-02-11  David Schleef  <ds@schleef.org>
12533
12534         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12535         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12536
12537 2004-02-10  Julien MOUTTE <julien@moutte.net>
12538
12539         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12540         the structure does not contain a valid tag list. Adding a safety check
12541         to remove a noisy warning in that case.
12542
12543 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12544
12545         * gst/gst.c: fix name to be in line with others
12546
12547 2004-02-09  Julien MOUTTE <julien@moutte.net>
12548
12549         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12550         not shout that loud when len is 0. Just return 0 silently.
12551
12552 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12553
12554         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12555         because data_unref has one and I prefer the debug to be symetric.
12556         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12557         were refed when added to the queue and unrefed only once when the queue
12558         was flushed. Now the flush handler unref the buffers two times : first
12559         unref for the ref added when pushing in the queue's tail and second
12560         unref to destroy the flushed buffer.
12561
12562 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12563
12564         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12565
12566 2004-02-06  David Schleef  <ds@schleef.org>
12567
12568         * docs/random/ds/0.9-suggested-changes: Random ramblings
12569         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12570         to int before printing.
12571         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12572         * gst/parse/parse.l: same.  See bug #129600
12573
12574 2004-02-06  David Schleef  <ds@schleef.org>
12575
12576         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12577         (gst_index_add_entry), (gst_index_add_associationv),
12578         (gst_index_add_association): Add gst_index_add_associationv()
12579         and clean up gst_index_add_association(). #127133
12580
12581 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12582
12583         * autogen.sh: check out common with right tag if CVS/Tag exists
12584
12585 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12586
12587         * testsuite/ghostpads/ghostpads.c: (main):
12588           fix testsuite from segfaulting
12589
12590 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12591
12592         * Makefile.am: add release target
12593         * configure.ac: bump nano to 1
12594         * docs/random/release:
12595
12596 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12597
12598         * gst/gstcaps.h:
12599         * gst/gstelement.c: (gst_element_base_class_init),
12600         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12601         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12602         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12603         (gst_real_pad_dispose):
12604         * gst/gststructure.c: (gst_structure_free),
12605         (gst_structure_from_string):
12606           put reverted patch back in
12607         * gst/gstelement.c: (gst_element_remove_pad):
12608           free explicit caps if they're set
12609         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12610           copy the structure when fixating
12611
12612 2004-02-05  David Schleef  <ds@schleef.org>
12613
12614         * gst/gstmarshal.list:
12615         * gst/gstpad.c: (gst_real_pad_class_init),
12616         (_gst_real_pad_fixate_accumulator):
12617         Revert POINTER->BOXED change in signal marshaller.
12618
12619 === release 0.7.4 ===
12620                                                                                 
12621 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12622                                                                                 
12623         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12624         * configure.ac: changed for release
12625
12626 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12627
12628         * gstreamer.spec.in:
12629           bump required version of gtk-doc
12630
12631 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12632
12633         * gst/gstcaps.h:
12634         * gst/gstelement.c: (gst_element_base_class_init),
12635         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12636         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12637         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12638         (gst_real_pad_dispose):
12639         * gst/gststructure.c: (gst_structure_free),
12640         (gst_structure_from_string):
12641           revert patch that breaks applications, reapply after release
12642           to get this fixed properly
12643
12644 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12645
12646         * gst/gsttag.c: (_gst_tag_initialize):
12647         * gst/gsttag.h:
12648           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12649
12650 2004-02-04  David Schleef  <ds@schleef.org>
12651
12652         Fix some memleaks:
12653         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12654         (gst_spider_plug_from_srcpad):
12655         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12656
12657 2004-02-04  David Schleef  <ds@schleef.org>
12658
12659         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12660         a GstRealPad before accessing its structure members.
12661
12662 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12663
12664         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12665         (gst_clock_get_speed):
12666         * gst/gstclock.h:
12667           reset padding, remove unused fields
12668
12669 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12670
12671         * gst/autoplug/gstspideridentity.c:
12672         (gst_spider_identity_sink_loop_type_finding):
12673           use get_allowed_caps, not get_caps (fixes #132519)
12674         * gst/elements/gsttypefind.c: (stop_typefinding):
12675           use correct order when sending buffers and seeking
12676
12677 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12678
12679         * configure.ac:
12680         * gst/gstelement.h:
12681         * gst/gstpad.h:
12682         * gst/gstqueue.h:
12683           upgrade libtool CURRENT, reset padding
12684
12685 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12686
12687         * configure.ac:
12688           bump to prerelease
12689           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12690
12691 2004-02-04  David Schleef  <ds@schleef.org>
12692
12693         * docs/random/ds/0.9-suggested-changes: random notes
12694         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12695         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12696         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12697         expansion.
12698         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12699         (gst_filesink_get_query_types): same
12700         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12701         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12702         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12703         to use new GST_PTR_FORMAT.
12704         * gst/gstelement.h: deprecate function factory macros
12705         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12706         These are our last variadic macros that can't be replaced with
12707         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12708         attempting to deprecate gst_element_clock_wait().
12709         * gst/gstevent.h: same
12710         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12711         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12712         * gst/gstpad.h: deprecate function factory macros similar to above.
12713
12714 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12715
12716         * configure.ac:
12717         * tools/Makefile.am:
12718         * tools/gst-run.c: (popt_callback), (hash_print_key),
12719         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12720         (get_candidates), (main):
12721           add new source file to generate non-versioned wrapper binaries
12722           for our tools.
12723
12724 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12725
12726         * gst/gstevent.c: (_gst_event_free):
12727           actually break; inside the switch statement
12728         * gst/parse/grammar.y:
12729           fix memleak where GValues weren't unset
12730
12731 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12732
12733         * gst/gststructure.c: (gst_structure_from_string):
12734           fix huge memleak
12735         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12736         (new_entry), (gst_type_find_element_chain):
12737         * gst/gstelement.c: (gst_element_base_class_init),
12738         (gst_element_class_set_details):
12739         * gst/gstpad.c: (gst_pad_can_link_filtered):
12740           fix smaller memleaks
12741         * gst/gstpad.c: (gst_real_pad_dispose):
12742           check that explicit caps are gone
12743         * gst/gststructure.c: (gst_structure_free):
12744           actually free the structure
12745         * gst/gstelement.c: (gst_element_clear_pad_caps):
12746           unset explicit caps
12747
12748 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12749
12750         * tools/Makefile.am:
12751           use AM_CFLAGS since all the CFLAGS are the same
12752           use AM_LDFAGS
12753
12754 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12755
12756         * docs/manual/gnome.xml:
12757           expand example a little
12758         * gst/gst.c: (gst_init_with_popt_table),
12759         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12760           make sure popt option displays are done with right textdomain
12761           use GstPoptOption type
12762         * gst/gst.h:
12763           create GstPoptOption type
12764
12765 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12766
12767         * gst/gsterror.c: (_gst_stream_errors_init):
12768         * gst/gsterror.h:
12769           adding error type for no codec
12770         * po/POTFILES.in:
12771           add gst-inspect
12772         * po/nl.po:
12773           update dutch translation
12774         * tools/gst-inspect.c: (print_element_list), (main):
12775           do proper internationalization
12776         * tools/gst-launch.c: (idle_func):
12777           remove commented out function call
12778
12779 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12780
12781         * docs/README:
12782           add some error fixing notes
12783         * docs/gst/gstreamer-sections.txt:
12784           remove double entries
12785         * docs/gst/tmpl/gstbin.sgml:
12786         * docs/gst/tmpl/gstclock.sgml:
12787           remove override
12788         * docs/gst/tmpl/gstelement.sgml:
12789         * docs/gst/tmpl/gstindex.sgml:
12790         * docs/gst/tmpl/gstobject.sgml:
12791         * docs/gst/tmpl/gstpadtemplate.sgml:
12792         * docs/gst/tmpl/gstreamer-unused.sgml:
12793         * docs/gst/tmpl/gsttag.sgml:
12794         * docs/gst/tmpl/gstthread.sgml:
12795         * docs/gst/tmpl/gstxml.sgml:
12796         * gst/gsttag.h:
12797           sync header prototypes with c decls
12798         * gst/gsttaginterface.c:
12799           fix doc headers
12800
12801 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12802
12803         * gst/parse/Makefile.am:
12804         * gst/gstobject.h:
12805           get rid of gstmarshal.h dependency. It's not needed.
12806         * gst/gst.h:
12807         * gst/elements/gstfakesink.c:
12808         * gst/elements/gstfakesrc.c:
12809         * gst/elements/gstidentity.c:
12810         * gst/gstbin.c:
12811         * gst/gstelement.c:
12812         * gst/gstindex.c:
12813         * gst/gstobject.c:
12814         * gst/gstpad.c:
12815         * gst/gstthread.c:
12816         * gst/gstxml.c:
12817         * libs/gst/control/dparam.c:
12818         * libs/gst/control/dparammanager.c:
12819           include gstmarshal.h.
12820         Fixes #132045
12821
12822 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12823
12824         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12825         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12826         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12827         * gst/elements/gstfilesrc.h:
12828           don't ref the filesrc when creating mmaped buffers. Don't keep a
12829           list of not-yet-destroyed buffers.
12830         * gst/gstbuffer.h:
12831           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12832
12833 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12834
12835         * gst/gst.c: (init_pre):
12836           remove textdomain
12837
12838 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12839
12840         * docs/pwg/advanced-events.xml:
12841         * docs/pwg/advanced-scheduling.xml:
12842         * docs/pwg/intro-basics.xml:
12843         * docs/pwg/other-manager.xml:
12844         * docs/pwg/other-nton.xml:
12845         * docs/pwg/other-ntoone.xml:
12846         * docs/pwg/other-oneton.xml:
12847         * docs/pwg/pwg.xml:
12848           All sort of documentation... Forgot what. Point is that I want this
12849           in before I leave. The 'other-*' will be the last section and will
12850           explain issues specific to these type of elements.
12851
12852 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12853
12854         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12855         (gst_filesrc_get_read):
12856           set all the values on buffers that we can
12857
12858 2004-02-02  David Schleef  <ds@schleef.org>
12859
12860         Change usage of isblah() to g_ascii_isblah() to be more locale
12861         independent.  (#133076)
12862         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12863         * gst/gstutils.c:
12864         * gst/parse/parse.l:
12865
12866 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12867
12868         reviewed by: David Schleef  <ds@schleef.org>
12869
12870         Fix memory leaks:
12871         * gst/gstcaps.c: (gst_caps_to_string):
12872         * gst/registries/gstxmlregistry.c:
12873         (gst_xml_registry_add_path_list_func),
12874         (gst_xml_registry_parse_padtemplate):
12875
12876 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12877
12878         * gst/gstelement.c: (gst_element_default_error):
12879           suffix error messages with period
12880
12881 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12882
12883         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12884         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12885         * gst/gsterror.c: (gst_error_get_message):
12886           Suffix with dots
12887         * po/fr.po:
12888         * po/nl.po:
12889           Update translation files
12890
12891 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12892
12893         * gst/autoplug/gstspideridentity.c:
12894         (gst_spider_identity_sink_loop_type_finding):
12895         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12896         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12897         (gst_filesink_close_file), (gst_filesink_handle_event),
12898         (gst_filesink_chain):
12899         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12900         (gst_filesrc_get_read), (gst_filesrc_open_file):
12901         * gst/elements/gstidentity.c: (gst_identity_chain):
12902         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12903         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12904         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12905         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12906         * gst/gsterror.c: (_gst_core_errors_init),
12907         (_gst_library_errors_init), (_gst_resource_errors_init),
12908         (_gst_stream_errors_init), (gst_error_get_message):
12909         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12910         (gst_pad_recover_caps_error), (gst_pad_pull):
12911         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12912         * gst/schedulers/gstbasicscheduler.c:
12913         (gst_basic_scheduler_chainhandler_proxy),
12914         (gst_basic_scheduler_gethandler_proxy),
12915         (gst_basic_scheduler_cothreaded_chain):
12916           Suffix error messages with period.
12917           Use (NULL) instead of NULL
12918
12919 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12920
12921         * docs/gst/tmpl/gstelement.sgml:
12922         * docs/gst/tmpl/gstxml.sgml:
12923         * gst/gstelement.c: (gst_element_error_full):
12924           add element path to error
12925
12926 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12927
12928         * docs/random/mimetypes:
12929           update raw int/float info
12930         * gst/gsttag.c: (_gst_tag_initialize):
12931         * gst/gsttag.h:
12932           add GST_TAG_ENCODER
12933
12934 2004-01-30  David Schleef  <ds@schleef.org>
12935
12936         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12937           missing (#132991)
12938
12939 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12940
12941         reviewed by Benjamin Otte 
12942           parts of the patch submitted in bug #113913
12943
12944         * configure.ac:
12945           use AC_C_INLINE. Use = instead of == with test
12946         * examples/plugins/example.c:
12947         * gst/autoplug/gstspideridentity.c:
12948         * gst/elements/gstfdsrc.c:
12949         * gst/elements/gstfilesrc.c:
12950         * gst/elements/gstidentity.c:
12951         * gst/elements/gstmultidisksrc.c:
12952         * gst/elements/gststatistics.c:
12953         * gst/gstelement.c:
12954         * gst/gstobject.c:
12955         * gst/gstpad.c:
12956         * gst/gstpipeline.c:
12957         * gst/gstthread.c:
12958           don't end enums with a comma
12959         * gst/gstindex.c: (gst_index_compare_func):
12960           do explicit casting to gint
12961         * gst/gsttrace.c: (gst_trace_text_flush):
12962           #define strsize as a macro
12963
12964 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12965
12966         * docs/README:
12967         * docs/gst/gstreamer-docs.sgml:
12968         * docs/gst/gstreamer-sections.txt:
12969         * docs/gst/tmpl/gstelement.sgml:
12970         * docs/gst/tmpl/gsterror.sgml:
12971         * docs/gst/tmpl/gstinterface.sgml:
12972         * docs/gst/tmpl/gstreamer-unused.sgml:
12973         * docs/gst/tmpl/gststructure.sgml:
12974         * docs/gst/tmpl/gsttag.sgml:
12975         * docs/gst/tmpl/gsttaginterface.sgml:
12976         * docs/gst/tmpl/gstvalue.sgml:
12977         make sure all API ends up in the built docs
12978         * gst/gstinterface.c:
12979         * gst/gststructure.c: (gst_structure_id_set_value),
12980         (gst_structure_set_value), (gst_structure_id_get_value):
12981         * gst/gststructure.h:
12982         * gst/gstvalue.h:
12983         sync .h with .c declarations
12984
12985 2004-01-30  Julien Moutte  <julien@moutte.net>
12986
12987         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12988         Ronald will fix riffread.
12989
12990 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12991
12992         * docs/pwg/advanced-interfaces.xml:
12993           Added tuner interface docs.
12994
12995 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12996
12997         * docs/random/mimetypes:
12998           correct Theora information
12999         * gst/gstelement.h:
13000           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
13001
13002 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13003
13004         * gst/gstelement.c: (gst_element_error_full):
13005         * gst/gstelement.h:
13006           GST_ELEMENT_ERROR in enum -> _IN_ERROR
13007
13008 2004-01-29  Julien MOUTTE  <julien@moutte.net>
13009
13010         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
13011         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
13012         again and even before DISCONT.
13013         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
13014         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
13015         bytestream so that it's not stopping to fill the bytestream if events
13016         different than EOS or DISCONT are received. Instead it process them so
13017         that they go downstream.
13018
13019 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13020
13021         * docs/gst/tmpl/gstelement.sgml:
13022         * docs/gst/tmpl/gstreamer-unused.sgml:
13023         * docs/gst/tmpl/gstxml.sgml:
13024         * gst/autoplug/gstspideridentity.c:
13025         (gst_spider_identity_sink_loop_type_finding):
13026         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13027         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13028         (gst_filesink_close_file), (gst_filesink_handle_event),
13029         (gst_filesink_chain):
13030         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13031         (gst_filesrc_get_read), (gst_filesrc_open_file):
13032         * gst/elements/gstidentity.c: (gst_identity_chain):
13033         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13034         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13035         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13036         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13037         * gst/gstelement.h:
13038         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13039         (gst_pad_recover_caps_error), (gst_pad_pull):
13040         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13041         * gst/schedulers/gstbasicscheduler.c:
13042         (gst_basic_scheduler_chainhandler_proxy),
13043         (gst_basic_scheduler_gethandler_proxy),
13044         (gst_basic_scheduler_cothreaded_chain):
13045           gst_element_error -> GST_ELEMENT_ERROR
13046
13047 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13048
13049         * docs/Makefile.am:
13050         * docs/gst/tmpl/gstelement.sgml:
13051         * docs/gst/tmpl/gstxml.sgml:
13052         * docs/manuals.mak:
13053         * docs/pwg/advanced-request.xml:
13054         * docs/pwg/advanced-scheduling.xml:
13055         * docs/pwg/advanced-tagging.xml:
13056           fix non-validating docbook using CDATA
13057           make sure make check-local gets run first to check if it validates
13058
13059 2004-01-29  Julien MOUTTE <julien@moutte.net>
13060
13061         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13062         handling (up and downstream).
13063         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13064         my_filter thing.
13065
13066 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13067
13068         * docs/pwg/advanced-tagging.xml:
13069           Add docs about tag writing.
13070
13071 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13072
13073         * docs/pwg/advanced-tagging.xml:
13074           Add a part about tag reading and application signalling... Tag
13075           writing still needs to be documented.
13076         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13077           We can set file locations in READY, too.
13078
13079 2004-01-29  Julien MOUTTE <julien@moutte.net>
13080
13081         * docs/random/ds/element-checklist: Adding some notes about src
13082         events.
13083
13084 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13085
13086         * docs/random/mimetypes:
13087           Update docs to point to correct elements for various mimetypes, and
13088           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
13089           <stephane.loeuillet@tiscali.fr>.
13090
13091 2004-01-28  David Schleef  <ds@schleef.org>
13092
13093         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13094
13095 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13096
13097         * docs/random/mimetypes:
13098           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13099           undefined"
13100         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13101           make it only work in NULL.
13102         * gst/gstcaps.c:
13103           don't posion NULL caps
13104         * gst/gstelement.c: (gst_element_set_time):
13105           add debugging statement
13106         * gst/gstelement.c: (gst_element_emit_found_tag),
13107         (gst_element_found_tag_func), (gst_element_found_tags):
13108         * gst/gstelement.h:
13109           These functions take const taglists
13110         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13111           fix memleak
13112         * gst/gstpad.c: (gst_pad_event_default):
13113           make more effort on handling discont and clocks, g_warn if everything
13114           fails
13115         * gst/gststructure.c: (gst_structure_remove_fields),
13116         (gst_structure_remove_fields_valist):
13117         * gst/gststructure.h:
13118           add gst_structure_remove_fields(_valist)
13119         * gst/gsttag.c:
13120           fix doc glitch
13121
13122 2004-01-28  David Schleef  <ds@schleef.org>
13123
13124         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13125         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13126         Fix memory leakage of gst_caps_to_string().
13127
13128         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13129         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13130         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13131         (gst_spider_identity_sink_loop_type_finding):
13132         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13133         (find_suggest):
13134         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13135         (gst_pad_set_explicit_caps):
13136         * gst/parse/grammar.y:
13137
13138 2004-01-28  David Schleef  <ds@schleef.org>
13139
13140         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13141         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13142         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13143         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13144         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13145         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13146         (gst_debug_log_default), (_gst_info_printf_extension),
13147         (_gst_info_printf_extension_arginfo):  Add printf extension.
13148         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13149         * gst/gststructure.c: (gst_structure_to_string),
13150         (_gst_structure_parse_value): Use gst_value_deserialize() and
13151         remove old code.
13152         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13153         (gst_value_deserialize_boolean), (gst_strtoi),
13154         (gst_value_deserialize_int), (gst_value_deserialize_double),
13155         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13156         a bunch of deserialize functions and gst_value_deserialize.
13157         * gst/gstvalue.h: er, _de_serialize, not unserialize
13158         * testsuite/caps/string-conversions.c: (main): We don't currently
13159         handle (float) in caps, so convert these to (double).
13160         * testsuite/debug/Makefile.am: Add new test for the printf extension
13161         * testsuite/debug/printf_extension.c: (main): same
13162
13163 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13164
13165         * docs/random/company/time:
13166           Add some docs about clocking and time
13167
13168 2004-01-28  Julien MOUTTE <julien@moutte.net>
13169
13170         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13171
13172 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13173
13174         * docs/pwg/advanced-clock.xml:
13175         * docs/pwg/advanced-dparams.xml:
13176         * docs/pwg/advanced-events.xml:
13177         * docs/pwg/advanced-interfaces.xml:
13178         * docs/pwg/advanced-midi.xml:
13179         * docs/pwg/advanced-request.xml:
13180         * docs/pwg/advanced-scheduling.xml:
13181         * docs/pwg/advanced-tagging.xml:
13182         * docs/pwg/advanced-types.xml:
13183         * docs/pwg/appendix-checklist.xml:
13184         * docs/pwg/building-boiler.xml:
13185         * docs/pwg/building-chainfn.xml:
13186         * docs/pwg/building-filterfactory.xml:
13187         * docs/pwg/building-pads.xml:
13188         * docs/pwg/building-props.xml:
13189         * docs/pwg/building-signals.xml:
13190         * docs/pwg/building-state.xml:
13191         * docs/pwg/building-testapp.xml:
13192         * docs/pwg/intro-basics.xml:
13193         * docs/pwg/intro-preface.xml:
13194         * docs/pwg/other-autoplugger.xml:
13195         * docs/pwg/other-sink.xml:
13196         * docs/pwg/other-source.xml:
13197         * docs/pwg/titlepage.xml:
13198           fix up id's
13199
13200 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13201
13202         * docs/95NonPath:
13203         * docs/HACKING:
13204         * docs/README:
13205         * docs/building-the-docs-on-debian:
13206           collect relevant bits of doc info
13207
13208 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13209
13210         * docs/pwg/advanced_tagging.xml:
13211           Half-assed commit so Thomas can re-arrange document IDs here to be
13212           consistent, too.
13213
13214 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13215
13216         * docs/manual/autoplugging.xml:
13217         * docs/manual/bins-api.xml:
13218         * docs/manual/bins.xml:
13219         * docs/manual/buffers-api.xml:
13220         * docs/manual/buffers.xml:
13221         * docs/manual/clocks.xml:
13222         * docs/manual/components.xml:
13223         * docs/manual/cothreads.xml:
13224         * docs/manual/debugging.xml:
13225         * docs/manual/dparams-app.xml:
13226         * docs/manual/dynamic.xml:
13227         * docs/manual/elements-api.xml:
13228         * docs/manual/elements.xml:
13229         * docs/manual/factories.xml:
13230         * docs/manual/gnome.xml:
13231         * docs/manual/goals.xml:
13232         * docs/manual/helloworld.xml:
13233         * docs/manual/helloworld2.xml:
13234         * docs/manual/init-api.xml:
13235         * docs/manual/intro.xml:
13236         * docs/manual/links-api.xml:
13237         * docs/manual/links.xml:
13238         * docs/manual/manual.xml:
13239         * docs/manual/motivation.xml:
13240         * docs/manual/pads-api.xml:
13241         * docs/manual/pads.xml:
13242         * docs/manual/plugins-api.xml:
13243         * docs/manual/plugins.xml:
13244         * docs/manual/programs.xml:
13245         * docs/manual/queues.xml:
13246         * docs/manual/quotes.xml:
13247         * docs/manual/schedulers.xml:
13248         * docs/manual/states-api.xml:
13249         * docs/manual/states.xml:
13250         * docs/manual/threads.xml:
13251         * docs/manual/typedetection.xml:
13252         * docs/manual/xml.xml:
13253           use chapter, part, section or misc as id starts for all bits
13254
13255 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13256
13257         * docs/gst/gstreamer-sections.txt:
13258           Fix up TITLE of the sections
13259
13260 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13261
13262         * docs/pwg/advanced_interfaces.xml:
13263           Add documentation on propertyprobing.
13264         * docs/pwg/advanced_events.xml:
13265         * docs/pwg/advanced_tagging.xml:
13266         * docs/pwg/building_boiler.xml:
13267         * docs/pwg/building_filterfactory.xml:
13268         * docs/pwg/pwg.xml:
13269           Move filterfactory and tagging into their own chapter, add a chapter
13270           on events. all these are empty placeholders that will be filled in
13271           some day.
13272
13273 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13274
13275         * docs/pwg/advanced_interfaces.xml:
13276           Docs for mixer interface. Also a check for website uploading.
13277
13278 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13279
13280         * docs/HACKING:
13281         * docs/Makefile.am:
13282         * docs/faq/Makefile.am:
13283         * docs/gst/Makefile.am:
13284         * docs/gst/tmpl/gstelement.sgml:
13285         * docs/gst/tmpl/gstplugin.sgml:
13286         * docs/gst/tmpl/gstreamer-unused.sgml:
13287         * docs/libs/Makefile.am:
13288         * docs/manual/Makefile.am:
13289         * docs/manuals.mak:
13290         * docs/pwg/Makefile.am:
13291         * docs/upload.mak:
13292           Separate out upload target and make it similar for
13293           both docbook and gtk-doc docs
13294
13295 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13296
13297         * docs/manuals.mak:
13298           Fix upload target to work with freedesktop
13299
13300 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13301
13302         * docs/pwg/advanced_types.xml:
13303           Add notes on creating your own types.
13304         * docs/pwg/building_boiler.xml:
13305         * docs/pwg/building_pads.xml:
13306         * docs/pwg/building_state.xml:
13307           Add some stuff about how to retrieve values from structures, how
13308           that relates to types and change layout slightly again to be almost
13309           perfect.
13310
13311 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13312
13313         * docs/pwg/advanced_dparams.xml:
13314         * docs/pwg/advanced_scheduling.xml:
13315           Change index layout slightly.
13316
13317 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13318
13319         * docs/pwg/advanced_clock.xml:
13320         * docs/pwg/advanced_interfaces.xml:
13321         * docs/pwg/advanced_midi.xml:
13322           General placeholders for now.
13323         * docs/pwg/advanced_request.xml:
13324           Explanation about sometimes and request pads.
13325         * docs/pwg/advanced_scheduling.xml:
13326           Concept of bytestream, loopfunctions and schedulers.
13327         * docs/pwg/building_boiler.xml:
13328           Add something about plugin-init.
13329
13330 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13331
13332         * docs/pwg/building_pads.xml:
13333           Fix broken docbook
13334
13335 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13336
13337         * docs/pwg/advanced_interfaces.xml:
13338         * docs/pwg/pwg.xml:
13339           Add as a placeholder for future filling-in.
13340         * docs/pwg/basics_autoplugging.xml:
13341         * docs/pwg/basics_buffers.xml:
13342         * docs/pwg/basics_elements.xml:
13343         * docs/pwg/basics_events.xml:
13344         * docs/pwg/basics_plugins.xml:
13345         * docs/pwg/basics_types.xml:
13346           Remove, because unused (this is all in intro_basics.xml).
13347         * docs/pwg/building_signals.xml:
13348           Short intro to signals + reference to GObject docs - we really
13349           shouldn't go into these sort of things to deply because we don't
13350           use them that extensively anyway.
13351         * docs/pwg/building_state.xml:
13352           Explanation of states. Benjamin, please check.
13353         * docs/pwg/building_testapp.xml:
13354           Put everything in one page - putting only a few lines of content
13355           per page doesn't really make sense.
13356
13357           Time to get into the advanced topics. ;).
13358
13359 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13360
13361         * docs/pwg/advanced_types.xml:
13362           Finish documenting the current state of mimetypes.
13363         * docs/pwg/building_boiler.xml:
13364         * docs/pwg/building_chainfn.xml:
13365         * docs/pwg/building_pads.xml:
13366         * docs/pwg/building_props.xml:
13367         * docs/pwg/building_testapp.xml:
13368           Start documenting the "how to build a simple audio filter" part
13369           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13370           states and (maybe?) a short introduction to capsnego in the chapter
13371           on pads (building_pads.xml). Capsnego should probably be explained
13372           fully in advanced_capsnego.xml or so.
13373
13374 2004-01-26  David Schleef  <ds@schleef.org>
13375
13376         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13377         * gst/gstpad.h: Add new function to allow element to (somewhat)
13378         specify non-fixed caps on a pad.
13379         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13380         that I added a few weeks ago.
13381
13382 2004-01-26  David Schleef  <ds@schleef.org>
13383
13384         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13385           making try_set_caps() work with non-fixed caps.
13386
13387 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13388
13389         * docs/pwg/advanced_types.xml:
13390         * docs/pwg/intro_basics.xml:
13391         * docs/pwg/intro_preface.xml:
13392         * docs/pwg/pwg.xml:
13393         * docs/pwg/titlepage.xml:
13394           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13395           in here (docs/random/mimetypes), and will from there on work on both
13396           updating outdated parts and adding missing parts.
13397           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13398
13399 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13400
13401         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13402           policy is set
13403
13404 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13405
13406         * gst/gstelement.h:
13407           remove gst_element_factory_get_version. It doesn't exist anymore.
13408         * gst/gstplugin.c:
13409         * gst/gstplugin.h:
13410           remove gst_plugin_set_name and change gst_plugin_get_longname to
13411           gst_plugin_get_description to match code.
13412         * gst/gsterror.h:
13413           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13414         * gst/gstpad.c: (gst_pad_try_set_caps):
13415           make it work with nonfixed caps.
13416           Note that even in the nonfixed case the link function of the pad
13417           that tries to set caps isn't called.
13418
13419 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13420
13421         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13422           fix bug where buffer was not assembled correctly
13423         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13424           silence by default
13425         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13426           only seek if there's no more buffers that could work without seeking
13427
13428 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13429
13430         * gst/gsttag.c: (_gst_tag_initialize):
13431         * gst/gsttag.h:
13432           Add application tag (for encoding/muxing app).
13433
13434 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13435
13436         * autogen.sh:
13437           make autopoint force, and libtoolize not copy
13438         * common/m4/as-docbook.m4:
13439           added docbook xml catalog setup check
13440         * common/m4/gst-doc.m4:
13441           use docbook check
13442
13443 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13444
13445         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13446         * gst/gsttag.h:
13447           add GstTagFlag
13448
13449 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13450
13451         * docs/gst/gstreamer-sections.txt:
13452         * docs/gst/tmpl/gst.sgml:
13453         * docs/gst/tmpl/gstbuffer.sgml:
13454         * docs/gst/tmpl/gstclock.sgml:
13455         * docs/gst/tmpl/gstelement.sgml:
13456         * docs/gst/tmpl/gstreamer-unused.sgml:
13457         * docs/gst/tmpl/gstxml.sgml:
13458           sync latest API changes to docs
13459
13460 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13461
13462         * gst/gstpluginfeature.c:
13463           fix doc snippet
13464         * tools/gst-inspect.c: (print_element_list):
13465           fix output of typefind
13466           add GPL header
13467         * tools/gst-launch.c:
13468           add GPL header
13469
13470 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13471
13472         * gst/elements/Makefile.am:
13473         * gst/elements/gstelements.c:
13474         * gst/elements/gsttypefindelement.c:
13475         * gst/elements/gsttypefindelement.h:
13476         * po/POTFILES.in:
13477         * po/fr.po:
13478         * po/nl.po:
13479           renamed gsttypefindelement to gsttypefind, conserving CVS history
13480
13481 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13482
13483         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13484         * gst/gsttag.h:
13485           add some tags used in ogg as well
13486           fix _ in replaygain tags
13487
13488 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13489
13490         * gst/gsterror.h:
13491           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13492
13493 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13494
13495         * gst/gstelement.c: (gst_element_error_full):
13496         * gst/gstelement.h:
13497           change _extended to _full
13498
13499 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13500
13501         reviewed by: <delete if not using a buddy>
13502
13503         * docs/gst/tmpl/gst.sgml:
13504         * docs/gst/tmpl/gstbuffer.sgml:
13505         * docs/gst/tmpl/gstclock.sgml:
13506         * docs/gst/tmpl/gstelement.sgml:
13507         * docs/gst/tmpl/gstreamer-unused.sgml:
13508         * docs/gst/tmpl/gstxml.sgml:
13509         * gst/gstelement.c: (gst_element_error_full):
13510         * gst/gstelement.h:
13511
13512 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13513
13514         * gst/gstelement.h: fix _gst_element_error_printf prototype
13515
13516 2004-01-20  David Schleef  <ds@schleef.org>
13517
13518         * gst/gststructure.c: (gst_structure_to_string):
13519         Convert function to use gst_value_serialize().
13520         * gst/gstvalue.c: (gst_value_serialize_list),
13521         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13522         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13523         (gst_value_serialize_int), (gst_value_serialize_double),
13524         (gst_string_wrap), (gst_value_serialize_string),
13525         (gst_value_serialize), (gst_value_deserialize):
13526         * gst/gstvalue.h:
13527         Add implementations for serialize.
13528
13529 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13530
13531         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13532         we want to keep that one in the future or change xvidenc.c to use 
13533         another error.
13534
13535 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13536
13537         * gst/gstelement.c: (_gst_element_error_printf):
13538         * gst/gstelement.h:
13539           privatise function
13540
13541 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13542
13543         * docs/random/error:
13544           doc explaining error system
13545         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13546           cleanup
13547
13548 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13549
13550         * gst/gst-i18n-app.h:
13551         * gst/gst-i18n-lib.h:
13552           remove inclusion of config.h
13553         * po/POTFILES.in:
13554         * po/nl.po:
13555           add gst/gstelement.c
13556
13557 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13558
13559         * po/nl.po: updated Dutch translation
13560
13561 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13562
13563         * gst/gsterror.c: (_gst_core_errors_init),
13564         (_gst_library_errors_init), (_gst_resource_errors_init),
13565         (_gst_stream_errors_init):
13566         remove ending punctuation dots
13567
13568 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13569
13570         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13571         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13572         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13573         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13574         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13575         use GST_ERROR_SYSTEM
13576
13577 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13578
13579         * gst/gstelement.c: (gst_element_error_printf),
13580         (gst_element_error_extended):
13581         * gst/gstelement.h:
13582           add a helper printf function so we can have NULL values passed.
13583
13584 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13585
13586         * gst/gstelement.h:
13587           add G_STMT macros to gst_element_error, which isn't strictly
13588           necessary but people tell me to anyway.
13589
13590 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13591
13592         * gst/Makefile.am:
13593         * gst/autoplug/gstspideridentity.c:
13594         (gst_spider_identity_sink_loop_type_finding):
13595         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13596         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13597         (gst_filesink_close_file), (gst_filesink_handle_event),
13598         (gst_filesink_chain):
13599         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13600         (gst_filesrc_map_region), (gst_filesrc_get_read),
13601         (gst_filesrc_open_file):
13602         * gst/elements/gstidentity.c: (gst_identity_chain):
13603         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13604         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13605         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13606         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13607         * gst/gst.h:
13608         * gst/gst_private.h:
13609         * gst/gstelement.c: (gst_element_class_init),
13610         (gst_element_default_error), (gst_element_error_func),
13611         (gst_element_error_extended):
13612         * gst/gstelement.h:
13613         * gst/gsterror.c: (_gst_core_errors_init),
13614         (_gst_library_errors_init), (_gst_resource_errors_init),
13615         (_gst_stream_errors_init), (gst_error_get_message):
13616         * gst/gsterror.h:
13617         * gst/gstinfo.c: (_gst_debug_init):
13618         * gst/gstmarshal.list:
13619         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13620         (gst_pad_recover_caps_error), (gst_pad_pull):
13621         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13622         * gst/schedulers/gstbasicscheduler.c:
13623         (gst_basic_scheduler_chainhandler_proxy),
13624         (gst_basic_scheduler_gethandler_proxy),
13625         (gst_basic_scheduler_cothreaded_chain):
13626         * po/POTFILES.in:
13627         * po/fr.po:
13628         * po/nl.po:
13629           change error signal
13630           add error categories
13631
13632 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13633
13634         * gst/gsttag.c: (_gst_tag_initialize):
13635         * gst/gsttag.h:
13636         Add replaygain tag
13637
13638 2004-01-18  Colin Walters  <walters@verbum.org>
13639
13640         * examples/retag/retag.c: Call gst_init before processing
13641         program args.  Add g_assert to _link_many call.
13642
13643 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13644
13645         * gst/gstpad.c: (gst_pad_alloc_buffer):
13646           Return a newly allocated buffer when the pad has no peer.
13647
13648 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13649
13650         * gst/gstclock.c: (gst_clock_get_time):
13651           make it compile with gcc 2.95 again.
13652           Patch by Scott Wheeler
13653
13654 2004-01-15  David Schleef  <ds@schleef.org>
13655
13656         * gst/gstcaps.h:
13657         Added gst_caps_is_simple() macro.
13658         * testsuite/caps/caps.c: (test1):
13659         * testsuite/caps/intersect2.c: (main):
13660         * testsuite/caps/intersection.c: (main):
13661         Fixes to make 'make check' work again after removing
13662         gst_caps_is_chained().
13663
13664 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13665
13666         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13667         and additions to the MIDI document.
13668
13669 2004-01-15  David Schleef  <ds@schleef.org>
13670
13671         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13672         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13673         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13674
13675 2004-01-15  David Schleef  <ds@schleef.org>
13676
13677         * gst/gstqueue.c:
13678         * gst/gstqueue.h:
13679         Fix the spelling of "treshold" and make min_threshold actually
13680         affect the queue.
13681
13682 2004-01-15  David Schleef  <ds@schleef.org>
13683
13684         * gst/gstcaps.c:
13685         Add lots of documentation.
13686         * gst/gstcaps.h:
13687         Deprecate a few functions.
13688         * gst/gstpad.c:
13689         Removed use of deprecated functions.
13690
13691 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13692
13693         * gst/gstpad.c: (gst_pad_is_linked):
13694         * gst/gstpad.h:
13695           implement gst_pad_is_linked
13696         * gst/gstelement.h:
13697           reserve space for initiate_state_change
13698
13699 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13700
13701         * gst/autoplug/gstspideridentity.c:
13702         (gst_spider_identity_sink_loop_type_finding):
13703           break infinite loop by just returning instead of looping
13704         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13705           set event time difference correctly. Set it to 1 second instead
13706           of 100ms to be more tolerant
13707         * gst/gstelement.c: (gst_element_set_time):
13708           add debugging output
13709
13710 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13711
13712         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13713           query if buffers are inside the pool, ignore events
13714
13715 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13716
13717         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13718         (gst_clock_set_speed), (gst_clock_set_active),
13719         (gst_clock_is_active), (gst_clock_reset),
13720         (gst_clock_handle_discont):
13721         * gst/gstclock.h:
13722           deprecate old interface and disable functions that aren't in use
13723           anymore.
13724         * gst/gstelement.h:
13725         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13726         (gst_element_set_time), (gst_element_adjust_time):
13727           add concept of "element time" and functions to get/set this time.
13728         * gst/gstelement.c: (gst_element_change_state):
13729           update element time correctly.
13730         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13731           This is a debug message, not a g_critical.
13732         * gst/gstpad.c: (gst_pad_event_default):
13733           handle discontinuous events right with element time.
13734         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13735           update to clocking fixes.
13736           set clocks on elements in READY=>PAUSED. The old behaviour caused
13737           a wrong element time on the first element that started playing.
13738         * gst/schedulers/gstbasicscheduler.c:
13739         (gst_basic_scheduler_class_init):
13740         * gst/schedulers/gstoptimalscheduler.c:
13741         (gst_opt_scheduler_class_init):
13742           remove code that just implements the default behaviour.
13743         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13744           update to use new clocking functions
13745         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13746         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13747           update to test new element time.
13748         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13749           use _get_allowed_caps instead of _get_caps. This catches filtered
13750           caps correctly.
13751         * testsuite/debug/commandline.c:
13752           update for new GST_DEBUG syntax.
13753         * testsuite/threads/Makefile.am:
13754           disable a test that only works sometimes.
13755
13756 2004-01-13  Julien MOUTTE <julien@moutte.net>
13757
13758         * po/LINGUAS: Adding fr.
13759         * po/fr.po: Adding french translation.
13760
13761 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13762
13763         * gst/parse/grammar.y:
13764         * po/POTFILES.in:
13765         * po/nl.po:
13766         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13767           translate parsing error messages
13768
13769 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13770
13771         * po/POTFILES.in: adding gst-launch
13772         * po/nl.po: updated translation, all 99 strings translated
13773         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13774         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13775           fix strings for translation
13776
13777 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13778
13779         * gst/gst.c:
13780           - capitalize beginnings of popt options
13781           - fix strings for translation
13782           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13783
13784 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13785
13786         * po/README: add some notes on how to update translations
13787
13788 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13789
13790         * ABOUT-NLS: removed, is autogenerated from autopoint
13791         * autogen.sh: add autopoint stuff
13792         * configure.ac: fix up gettext stuff
13793         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13794         * gst/elements/gsttypefindelement.c: add header include
13795         * gst/gettext.h: add header, copy from system-installed header
13796         * gst/gst-i18n-app.h: to be included by each app having translations
13797         * gst/gst-i18n-lib.h: to be included by each lib having translations
13798         * gst/gst.c: (init_pre): fix up gettext calls
13799         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13800         * po/LINGUAS: the new way to specify translations present
13801         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13802         * po/Makevars: the variables filled in for GStreamer
13803         * po/POTFILES.in: added new files with translations
13804         * po/de.po: has new strings
13805         * po/nl.po: readded, has new strings
13806
13807 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13808
13809         * gst/gsttag.c: fix some strings marked for translation
13810
13811 2004-01-13  Iain <iain@prettypeople.org>
13812
13813         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13814         group when we add an element to it, cos we unref it when we remove one
13815
13816 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13817
13818         * testsuite/debug/commandline.c: (debug_not_reached):
13819         * testsuite/debug/output.c: (check_message):
13820           fix testsuite
13821
13822 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13823
13824         * examples/cutter/.cvsignore:
13825         * examples/helloworld/.cvsignore:
13826         * examples/launch/.cvsignore:
13827         * examples/manual/.cvsignore:
13828         * examples/mixer/.cvsignore:
13829         * examples/pingpong/.cvsignore:
13830         * examples/plugins/.cvsignore:
13831         * examples/queue/.cvsignore:
13832         * examples/queue2/.cvsignore:
13833         * examples/queue3/.cvsignore:
13834         * examples/queue4/.cvsignore:
13835         * examples/retag/.cvsignore:
13836         * examples/thread/.cvsignore:
13837         * examples/typefind/.cvsignore:
13838         * examples/xml/.cvsignore:
13839         * gst/.cvsignore:
13840         * gst/autoplug/.cvsignore:
13841         * gst/elements/.cvsignore:
13842         * gst/indexers/.cvsignore:
13843         * gst/parse/.cvsignore:
13844         * gst/registries/.cvsignore:
13845         * gst/schedulers/.cvsignore:
13846         * libs/gst/bytestream/.cvsignore:
13847         * libs/gst/control/.cvsignore:
13848         * libs/gst/getbits/.cvsignore:
13849         * tests/.cvsignore:
13850         * tests/bufspeed/.cvsignore:
13851         * tests/instantiate/.cvsignore:
13852         * tests/memchunk/.cvsignore:
13853         * tests/muxing/.cvsignore:
13854         * tests/sched/.cvsignore:
13855         * tests/seeking/.cvsignore:
13856         * tests/threadstate/.cvsignore:
13857         * testsuite/.cvsignore:
13858         * testsuite/caps/.cvsignore:
13859         * testsuite/cleanup/.cvsignore:
13860         * testsuite/dynparams/.cvsignore:
13861         * testsuite/plugin/.cvsignore:
13862         * tools/.cvsignore:
13863           update - this is huge, because it includes *.bb, *.bbg and *.da files
13864           which are generated for gcov.
13865
13866 2004-01-11  David Schleef  <ds@schleef.org>
13867
13868         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13869         a function to parse integers in ways that strto[u]l() does not.
13870
13871 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13872
13873         * tools/gst-inspect.c: (print_caps):
13874           improve output of caps a bit
13875
13876 2004-01-11  David Schleef  <ds@schleef.org>
13877
13878         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13879         inherit correct flags (READONLY and DONTKEEP).
13880
13881 2004-01-11  David Schleef  <ds@schleef.org>
13882
13883         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13884         (gst_filesrc_map_region):
13885         * gst/gstbuffer.c: (_gst_buffer_initialize),
13886         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13887         (gst_buffer_new), (gst_buffer_create_sub),
13888         (gst_buffer_is_span_fast), (gst_buffer_span):
13889         * gst/gstbuffer.h:
13890         Change GstBuffer private structure element names. (all files)
13891         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13892         (gst_queue_link):
13893         * gst/gstqueue.h:
13894         Implement getcaps/pad_link functions that handle the case where
13895         there are data in the queue.
13896
13897 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13898
13899         * gst/elements/gstbufferstore.c:
13900           initialize debugging structure correctly
13901         * gst/elements/gsttee.c: (gst_tee_set_property):
13902           g_object_notify when property was changed
13903         * gst/elements/gsttypefindelement.c:
13904         (gst_type_find_element_change_state):
13905           clear caps correctly
13906
13907 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13908
13909         * gst/gstqueue.c: (gst_queue_init):
13910           Use better defaults for when a queue should block. This
13911           gets rid of jerky playback for quite a few files.
13912           It takes more memory.
13913
13914 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13915
13916         (gst_xml_registry_parse_padtemplate):
13917           make critical message slightly more useful
13918
13919 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13920
13921         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13922         (gst_debug_message_get), (gst_debug_log_default):
13923         * gst/gstinfo.h:
13924           Change gst_debug_log(_valist) to take a const format string.
13925           Change prototype of log function and functions using those to 
13926           take a GstDebugMessage instead of a string that requires using
13927           gst_debug_message_get.
13928
13929 2004-01-08  David Schleef  <ds@schleef.org>
13930
13931         * Makefile.am:
13932         * configure.ac:
13933         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13934         and -ftest-coverage, which allows gcov to show information about
13935         testsuite coverage.
13936
13937 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13938
13939         * gst/gstutils.h:
13940           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13941           GST_PARENT_CALL_WITH_DEFAULT
13942         * gst/elements/gstaggregator.c: 
13943         * gst/elements/gstbufferstore.c: 
13944         * gst/elements/gstfakesink.c: 
13945         * gst/elements/gstfakesrc.c: 
13946         * gst/elements/gstfdsink.c: 
13947         * gst/elements/gstfdsrc.c: 
13948         * gst/elements/gstfilesink.c: 
13949         * gst/elements/gstfilesrc.c: 
13950         * gst/elements/gstidentity.c: 
13951         * gst/elements/gstmd5sink.c: 
13952         * gst/elements/gstmultidisksrc.c:
13953         * gst/elements/gstpipefilter.c: 
13954         * gst/elements/gstshaper.c:
13955         * gst/elements/gststatistics.c:
13956         * gst/elements/gsttee.c:
13957         * gst/elements/gsttypefindelement.c:
13958           use them.
13959
13960 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13961
13962         * docs/gst/gstreamer-docs.sgml: remove props
13963         * docs/gst/gstreamer-sections.txt: remove props
13964         * docs/gst/tmpl/gst.sgml:
13965         * docs/gst/tmpl/gstbin.sgml:
13966         * docs/gst/tmpl/gstbuffer.sgml:
13967         * docs/gst/tmpl/gstcaps.sgml:
13968         * docs/gst/tmpl/gstclock.sgml:
13969         * docs/gst/tmpl/gstelement.sgml:
13970         * docs/gst/tmpl/gstindex.sgml:
13971         * docs/gst/tmpl/gstobject.sgml:
13972         * docs/gst/tmpl/gstpad.sgml:
13973         * docs/gst/tmpl/gstpadtemplate.sgml:
13974         * docs/gst/tmpl/gstreamer-unused.sgml:
13975         * docs/gst/tmpl/gstthread.sgml:
13976         * docs/gst/tmpl/gstxml.sgml:
13977           sync with code reorganization
13978
13979 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13980
13981         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13982         Make the 'Could not find compatible pad' message more informative.
13983
13984 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13985                                                                                 
13986         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13987           Fix for if we pass NULL as property to location.
13988         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13989         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13990           Fix for instantiate-test (see below).
13991         * gst/gststructure.c: (_gst_structure_parse_value):
13992           Fix compile error on gcc-2.96.
13993         * configure.ac:
13994         * tests/Makefile.am:
13995         * tests/instantiate/Makefile.am:
13996         * tests/instantiate/create.c: (create_all_elements), (main):
13997           Add a test that instantiates all elements. This makes it easy to
13998           track dead code for old API/design (like setting event functions
13999           on sink pads and so on).
14000
14001 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
14002
14003         * gst/gstcaps.c: (gst_caps_append_structure):
14004           Move the poisoning to allow a NULL structure
14005         * gst/gstevent.c: (_gst_event_free):
14006           When freeing a navigation event, free the structure
14007           also
14008
14009 2004-01-04  David Schleef  <ds@schleef.org>
14010
14011         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14012         Remove usage of gst_pad_proxy_fixate.
14013         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
14014         (gst_caps_split_one), (gst_caps_replace):
14015         Add poisoning code.
14016         * gst/gstmarshal.list:
14017         Add pointer__pointer for fixate signal
14018         * gst/gstpad.c: (gst_real_pad_class_init),
14019         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
14020         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
14021         (gst_pad_set_explicit_caps), (gst_pad_template_new):
14022         Add poisoning code. Add fixate signal on RealPad. Change
14023         set_explicit_caps() to take const GstCaps, like try_set_caps().
14024         * gst/gstpad.h:
14025         * testsuite/caps/Makefile.am:
14026         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
14027
14028 2004-01-03  David Schleef  <ds@schleef.org>
14029
14030         * gst/elements/gsttypefindelement.c:
14031         (gst_type_find_element_have_type), (gst_type_find_element_init):
14032         Use gst_pad_use_explicit_caps for src pad.
14033         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
14034         before using it.
14035
14036 2004-01-03  David Schleef  <ds@schleef.org>
14037
14038         * gst/gstelement.c: (gst_element_link_pads_filtered),
14039         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
14040         that linking was successful.
14041         * gst/gstpad.c: (gst_pad_link_free),
14042         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
14043         (gst_pad_link_try), (gst_pad_link_unnegotiate),
14044         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
14045         GstPadLinkReturn correctly between functions, and don't fail
14046         when DELAYED is used (DELAYED is very important).  Better
14047         cleanup on unlinking and unnegotiation.  Should fix some spider
14048         bugs.
14049
14050 2004-01-02  David Schleef  <ds@schleef.org>
14051
14052         * gst/gstelement.c: (gst_element_class_init),
14053         (gst_element_base_class_init): ->padtemplates should be cleared
14054         in base_init, since we need to have a fresh list for every
14055         class.  (Alternately, we chould copy the list and share the
14056         actual pad templates (not the list), but that would require
14057         changing every plugin to move pad template registration from
14058         base_init to class_init.)
14059
14060 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14061
14062         * gst/gstelement.c: (gst_element_class_add_pad_template):
14063           Refuse registering a pad template if another pad template
14064           with the same name already exists (#114715).
14065
14066 2004-01-02  David Schleef  <ds@schleef.org>
14067
14068         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14069         (gst_caps_is_equal_fixed): Add new function.
14070         * gst/gstcaps.h: ditto.
14071         * gst/gstpad.c: (gst_real_pad_class_init),
14072         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14073         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14074         check new caps against existing caps -- if they're the same, return
14075         OK without renegotiating.  caps-nego-failed signal fixed so that
14076         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14077         to save an extra caps copy.  Don't complete negotiation if a pad
14078         link function returns DELAYED.
14079
14080 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14081
14082         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14083           Fix wrong g_return_if_fail
14084
14085 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14086
14087         * gst/gstbin.c: (gst_bin_class_init):
14088         Change the marshalling of element_added/element_removed
14089         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14090         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14091
14092 2004-01-01  David Schleef  <ds@schleef.org>
14093
14094         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14095         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14096         (gst_pad_use_explicit_caps):
14097         * gst/gstpad.h:
14098         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14099         to use an internal getcaps and link fuction so that negotiation
14100         always results in the explicitly set caps.
14101         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14102         are particularly useful for decoders.
14103
14104 2003-12-31  David Schleef  <ds@schleef.org>
14105
14106         * gst/elements/gstidentity.c: (gst_identity_class_init),
14107         (gst_identity_init), (gst_identity_chain),
14108         (gst_identity_set_property), (gst_identity_get_property):
14109         * gst/elements/gstidentity.h:
14110         * gst/gstqueue.c: (gst_queue_init):
14111           Negotiation fixes.
14112
14113 2003-12-31  David Schleef  <ds@schleef.org>
14114
14115         * gst/gstcaps.c: (gst_caps_intersect),
14116         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14117           Implement gst_caps_normalize().
14118         * testsuite/caps/normalisation.c: (main):
14119           Add an additional test
14120
14121 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14122
14123         * gst/gstqueue.c: (gst_queue_init):
14124           use gst_pad_proxy_getcaps()
14125
14126 2003-12-31  David Schleef  <ds@schleef.org>
14127
14128         * gst/elements/gstshaper.c: (gst_shaper_link):
14129         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14130         * gst/gstqueue.c: (gst_queue_link):
14131           Negotiation fixes.
14132
14133 2003-12-31  David Schleef  <ds@schleef.org>
14134
14135         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14136         * gst/gstpad.h: Add functions that are useful as default pad
14137         link and fixate functions for elements.
14138
14139 2003-12-30  David Schleef  <ds@schleef.org>
14140
14141         * gst/gstpad.c: (gst_pad_link_try):
14142           Fix segfault when attempting to return to old caps
14143
14144 2003-12-29  David Schleef  <ds@schleef.org>
14145
14146         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14147         (gst_caps_structure_simplify), (gst_caps_simplify):
14148         * gst/gstcaps.h:
14149           Add simplify function
14150         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14151         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14152         * gst/gstpad.h:
14153           Copy over srcnotify, sinknotify when calling old pad_link
14154           functions.  Add new is_negotiated() function.
14155         * gst/gststructure.c: (gst_structure_copy):
14156           Fix an incredibly stupid bug that should have been noticed
14157           weeks ago.  _copy() returned the argument, not the new copy.
14158
14159 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14160
14161         * gst/gstcaps.c: (gst_caps_append):
14162           add sanity checks
14163         * gst/gstcaps.h: (gst_caps_debug):
14164           remove, it doesn't exist anymore.
14165         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14166         (gst_element_threadsafe_properties_post_run):
14167           make debugging messages not clutter up THREAD debug category
14168         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14169         (gst_element_change_state):
14170           update to new caps API
14171         * gst/gstinterface.c: (gst_implements_interface_cast):
14172           don't put vital code in g_return_if_fail
14173         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14174         (gst_pad_link_filtered):
14175           add pst_pad_try_link and use it.
14176         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14177           implement correctly, deprecate first one.
14178         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14179           add and implement.
14180         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14181           implement.
14182         (gst_pad_get_negotiated_caps):
14183           add and implement. Make GST_PAD_CAPS call this function.
14184         (gst_pad_get_caps):
14185           remove unneeded check..
14186         (gst_pad_recover_caps_error):
14187           disable, always return FALSE.
14188         (gst_real_pad_dispose):
14189           don't free caps and appfilter anymore, they're unused.
14190         * gst/gstpad.h:
14191           Reflect changes mentioned above.
14192         * gst/gstsystemclock.c: (gst_system_clock_wait):
14193           Make 'clock is way behind' a debugging message.
14194         * gst/gstthread.c: (gst_thread_change_state):
14195           Fix debugging message
14196
14197 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14198
14199         * gst/gstinfo.h:
14200           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14201         * docs/gst/tmpl/gstreamer-unused.sgml:
14202           removed all traces of cvs conflicts
14203
14204 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14205
14206         * configure.ac:
14207         * gst/schedulers/cothreads_compat.h:
14208         * libs/Makefile.am:
14209           remove last instances of wingo cothread usage
14210
14211 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14212
14213         * gst/gstplugin.c:
14214         * gst/gstversion.h.in:
14215         * gst/parse/grammar.y:
14216           change comment block from /** to /* when not gtk-doc comments
14217
14218 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14219
14220         * gst/gst.c: whitespace and doc style fixes
14221
14222 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14223
14224         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14225
14226 2003-12-24  Colin Walters  <walters@verbum.org>
14227
14228         * gst/elements/gsttypefindelement.c:
14229           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14230           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14231           Don't double-free caps.
14232
14233 2003-12-23  David Schleef  <ds@schleef.org>
14234
14235         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14236           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14237           Many little fixes and additions of debug statements to
14238           get rhythmbox working.
14239
14240 2003-12-23  Colin Walters  <walters@verbum.org>
14241
14242         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14243         Use GST_PAD_LINK_SUCCESSFUL.
14244
14245 2003-12-23  David Schleef  <ds@schleef.org>
14246
14247         * gst/elements/gstaggregator.c:
14248         * gst/elements/gsttee.c:
14249           Use gst_pad_proxy_getcaps().
14250         * gst/gstpad.c:
14251         * gst/gstpad.h:
14252           Add gst_pad_proxy_getcaps(), which filter elements can use
14253           as a generic getcaps implementation.
14254           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14255           was advertised.
14256
14257 2003-12-23  David Schleef  <ds@schleef.org>
14258
14259         * gst/gstpad.c:
14260           Rearrange/rewrite much of the pad negotiation code, since it
14261           resembled pasta.  This actually changes the way some
14262           negotiation works, since the previous code was inconsistent
14263           depending on how it was invoked.  Add (internal) structure
14264           GstPadLink, which is used to hold some information (more in
14265           the future) about the link between two pads.  Fixes a number
14266           of bugs, including random lossage of filter caps when the
14267           initial negotiation is delayed.  A few functions are still
14268           unimplemented.
14269         * gst/gstpad.h:
14270           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14271           these when testing GstPadLinkReturn values instead of comparing
14272           directly.
14273
14274 2003-12-23  David Schleef  <ds@schleef.org>
14275
14276         * gst/gstvalue.c: 
14277         * gst/gstvalue.h:
14278           Rearrange lots of code.  Change registration of compare function
14279           into registration of compare/serialize/deserialize functions.
14280           Doesn't include implementation of gst_value_[de]serialize(),
14281           but that should be easy.
14282
14283 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14284
14285         * docs/gst/gstreamer-sections.txt:
14286         * docs/gst/tmpl/gstprops.sgml: removed
14287         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14288           David removed props and caps code, so let's remove their docs as well.
14289           Removed all no longer existing symbols from gstreamer-sections.txt
14290           
14291 2003-12-22  Colin Walters  <walters@verbum.org>
14292
14293         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14294           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14295           of tags directly.
14296
14297 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14298
14299         * gst/elements/gstelements.c:
14300           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14301         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14302           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14303           gst_caps (peer).
14304
14305 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14306
14307         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14308         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14309         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14310         (gst_spider_identity_sink_loop_type_finding):
14311         * gst/autoplug/gstspideridentity.h:
14312           Fix autoplugging in spider element, so it works with new caps.
14313           This was mainly caused by identifying empty caps incorrectly.
14314
14315 2003-12-22  David Schleef  <ds@schleef.org>
14316
14317         * gststructure.c, gstvalue.c, gstvalue.h: Add
14318           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14319           using g_value_copy()
14320
14321 2003-12-21  David Schleef  <ds@schleef.org>
14322
14323         * many, many files: Merge CAPS branch.  This includes:
14324           - implemention of GstValue and several GstValue types
14325           - implemention of GstStructure
14326           - entire rewrite of GstCaps
14327           - removal of GstProps
14328           - many changes to GstPad to compensate for new caps paradigm
14329           - removal of GstBufferpool
14330         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14331         gstvalue.h, gst/gstcaps[2]*.[ch]:
14332           - rename gstcaps2.[ch] to gstcaps.[ch]
14333
14334 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14335
14336         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14337         (gst_queue_chain), (gst_queue_handle_src_event):
14338           implement timeout for sending events. Workaround for if the
14339           pipeline on this queue is not passing any data.
14340
14341 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14342                                                                                 
14343         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14344         * moved CVS to freedesktop.org