gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed already.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-24  Andy Wingo  <wingo@pobox.com>
2
3         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
4         already.
5
6 2005-08-24  Wim Taymans  <wim@fluendo.com>
7
8         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9         Some debugging.
10
11         * gst/gstclock.h:
12         Cast to ClockTime before formatting to time.
13
14         * gst/gstutils.h:
15         Cleanups.
16
17 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
18
19         * check/gst-libs/controller.c: (GST_START_TEST),
20         (gst_controller_suite):
21         * docs/gst/tmpl/gstcaps.sgml:
22         * docs/gst/tmpl/gstghostpad.sgml:
23         * docs/gst/tmpl/gstquery.sgml:
24         * docs/gst/tmpl/gstutils.sgml:
25         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26         (gst_object_sink_values), (gst_object_get_value_arrays),
27         (gst_object_get_value_array):
28           gracefully handle helper method calls to objects that are not beeing
29           controlled, added test case for that          
30
31 2005-08-23  Wim Taymans  <wim@fluendo.com>
32
33         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
34         (gst_event_new_newsegment), (gst_event_parse_newsegment),
35         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
36         (gst_event_parse_qos), (gst_event_new_seek),
37         (gst_event_parse_seek):
38         * gst/gstevent.h:
39         Some more debugging output and doc cleanups.
40
41         * gst/gstqueue.c: (gst_queue_handle_sink_event):
42         Fix possible deadlock.
43
44 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
45
46         * docs/gst/gstreamer-docs.sgml:
47         * docs/gst/gstreamer-sections.txt:
48         * docs/gst/gstreamer.types:
49         * docs/gst/tmpl/.cvsignore:
50         * gst/gstbin.h:
51         * gst/gstbus.c:
52         * gst/gstelement.c:
53         * gst/gstevent.h:
54           added about 100 symbols from gstreamer-unused.txt to the right sections
55           fixed more broken comments
56           added GstBus to docs
57
58 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
59
60         * docs/gst/gstreamer-sections.txt:
61         * docs/gst/tmpl/.cvsignore:
62         * docs/gst/tmpl/gstbin.sgml:
63         * docs/gst/tmpl/gstbuffer.sgml:
64         * gst/base/gstbasesrc.c:
65         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
66         * gst/gstbuffer.c:
67         * gst/gstbuffer.h:
68         * tools/gst-launch.1.in:
69           inlined more doc comments, added missing comments and fixed comments
70           fixed typos
71
72 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
73
74         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
75           some debugging
76         * gst/gstcaps.h:
77           whitespace fixes
78         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
79           more debugging
80         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
81         * gst/gststructure.h:
82           add a fixate function for booleans; add a FIXME that these func
83           names should probably be gst_structure_fixate_*
84
85 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
86
87         * docs/gst/gstreamer-docs.sgml:
88         * docs/gst/gstreamer-sections.txt:
89         * gst/Makefile.am:
90         * gst/gstbin.c: (gst_bin_get_type),
91         (gst_bin_child_proxy_get_child_by_index),
92         (gst_bin_child_proxy_get_children_count),
93         (gst_bin_child_proxy_init):
94         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
95         (gst_child_proxy_get_child_by_index),
96         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
97         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
98         (gst_child_proxy_get), (gst_child_proxy_set_property),
99         (gst_child_proxy_set_valist), (gst_child_proxy_set),
100         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
101         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
102         * gst/gstchildproxy.h:
103         * gst/parse/grammar.y:
104         * tools/gst-inspect.c: (print_interfaces),
105         (print_element_properties_info), (print_element_info):
106          ported gstchildproxy over from 0.8
107          ported gst-inspect fixes and enhancements over from 0.8
108
109 2005-08-22  Wim Taymans  <wim@fluendo.com>
110
111         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
112         (gst_base_transform_handle_buffer):
113         Also call the transform function if we have ANY caps.
114
115         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
116         Fix debug info.
117
118 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
119
120         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
121           Don't pretend to handle seek events if the source is not seekable
122
123 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
124
125         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
126           Remove extra parameter to debug output
127
128         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
129         (gst_base_src_do_seek), (gst_base_src_activate_push):
130           Fix seek event handling.
131
132         * gst/gstpipeline.c: (gst_pipeline_change_state):
133         * gst/gstqueue.c: (gst_queue_handle_sink_event),
134         (gst_queue_src_activate_push):
135           Don't start the src pad task on FLUSH_STOP if the pad
136           isn't linked.
137           Debug changes.
138
139 2005-08-22  Wim Taymans  <wim@fluendo.com>
140
141         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
142         Added check for gst_static_caps_get() refcounting.
143
144 2005-08-22  Wim Taymans  <wim@fluendo.com>
145
146         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
147         Make _static_caps_get() refcounting sane.
148         
149         * gst/gstelement.c: (gst_element_set_state):
150         Add g_return_val_if_fail() to protect against segfaults.
151
152 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
153
154         * docs/gst/tmpl/gstevent.sgml:
155         * gst/gstevent.c:
156         * gst/gstevent.h:
157           inlined remaining docs, added missing doc comments
158
159 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
160
161         * check/gst/gstbin.c: (GST_START_TEST):
162           since we don't know when preroll is done, use refcount range
163           check for the sink
164         * gst/check/gstcheck.h:
165           add macro for checking refcount range
166
167 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
168
169         * check/Makefile.am:
170           clean up environment for when registry gets built versus
171           when actual tests are run; valgrind seems to not report
172           leaks if GST_PLUGIN_PATH is set to some specific values
173         * check/gst/gstbin.c: (GST_START_TEST):
174           add more refcounting checks; maybe this exposes a
175           preroll lock bug ?
176         * common/check.mak:
177         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
178         * gst/check/gstcheck.h:
179         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
180         (gst_bin_change_state):
181         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
182           add/fix debugging/whitespace
183
184 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
185
186         * check/gst/gstevent.c: (event_probe), (test_event),
187         (GST_START_TEST):
188          Er, don't call gst_bin_watch_for_state_change you idiot.
189
190 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
191
192         * check/Makefile.am:
193           Use CHECK_CFLAGS and CHECK_LIBS
194         * check/gst/gstevent.c: (event_probe), (test_event),
195         (GST_START_TEST):
196           Don't leak events.
197         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
198         (gst_base_src_start), (gst_base_src_stop),
199         (gst_base_src_activate_push), (gst_base_src_activate_pull),
200         (gst_base_src_change_state):
201           Sprinkle gst_base_src_stop liberally around error paths to fix
202           problems reusing a source after failed state changes.
203         * gst/base/gsttypefindhelper.c: (helper_find_peek),
204         (helper_find_suggest), (gst_type_find_helper):
205           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
206         * gst/gstevent.h:
207         * docs/gst/tmpl/gstevent.sgml:
208           Migrate part of the docs from the SGML file. Wait for ensonic to
209           tell me how I did it wrong ;)
210         * tools/gst-typefind.c: (main):
211           Extra robustness to state changes between files.
212
213 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
214
215         * check/Makefile.am:
216           don't valgrind the controller test - it's leaking - Stefan, HELP
217         * gst/check/gstcheck.c: (gst_check_message_error),
218         (gst_check_chain_func), (gst_check_setup_element),
219         (gst_check_teardown_element), (gst_check_setup_src_pad),
220         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
221         (gst_check_teardown_sink_pad):
222         * gst/check/gstcheck.h:
223           add a bunch of methods to set up elements, and src and sink pads
224         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
225         * check/elements/identity.c: (setup_identity), (cleanup_identity),
226         (GST_START_TEST):
227           use them
228         * gst/gstmessage.c:
229         * gst/gsttag.h:
230           whitespace/doc fixes
231
232 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
233
234         * gst/gstelement.h:
235           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
236           be handled by the application and not always printed as well
237
238 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
239
240         * check/Makefile.am:
241           set GST_TOOLS_DIR
242         * gst/check/gstcheck.c: (gst_check_message_error):
243         * gst/check/gstcheck.h:
244           add a fail_unless_equals_int
245           add fail_unless for error messages
246
247 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
248
249         * check/Makefile.am:
250         * check/gst.supp:
251         * common/Makefile.am:
252         * common/check.mak:
253         * common/gst.supp:
254           factor out some of the common stuff so we can use it
255
256 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
257
258         * check/Makefile.am:
259         * check/gst/gstiterator.c: (GST_START_TEST):
260         * check/gst/gstsystemclock.c: (GST_START_TEST),
261         (gst_systemclock_suite):
262         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
263         * gst/gstclock.c:
264           valgrind more tests
265
266 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
267
268         * check/elements/.cvsignore:
269         * check/elements/gstfakesrc.c:
270           rename to name of element
271         * check/elements/identity.c: (chain_func), (event_func),
272         (setup_identity), (cleanup_identity), (GST_START_TEST),
273         (identity_suite), (main):
274           add a test for identity
275         * check/Makefile.am:
276         * pkgconfig/Makefile.am:
277         * pkgconfig/gstreamer-check.pc.in:
278         * pkgconfig/gstreamer-check-uninstalled.pc.in:
279         * gst/check:
280         * gst/Makefile.am:
281         * configure.ac:
282           move the check stuff to a library that gets installed
283         * check/gst-libs/controller.c: (GST_START_TEST):
284         * check/gst-libs/gdp.c:
285         * check/gst/gst.c: (GST_START_TEST):
286         * check/gst/gstbin.c:
287         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
288         * check/gst/gstbus.c:
289         * check/gst/gstcaps.c: (GST_START_TEST):
290         * check/gst/gstelement.c:
291         * check/gst/gstghostpad.c:
292         * check/gst/gstiterator.c:
293         * check/gst/gstmessage.c:
294         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
295         * check/gst/gstobject.c:
296         * check/gst/gstpad.c: (GST_START_TEST):
297         * check/gst/gststructure.c: (GST_START_TEST):
298         * check/gst/gstsystemclock.c: (GST_START_TEST),
299         (gst_systemclock_suite):
300         * check/gst/gsttag.c: (gst_tag_suite):
301         * check/gst/gstvalue.c:
302         * check/pipelines/cleanup.c:
303         * check/pipelines/simple_launch_lines.c:
304         * check/states/sinks.c:
305           change include statement
306
307         * docs/gst/gstreamer-sections.txt:
308         * docs/gst/tmpl/gstpad.sgml:
309           document more pad stuff
310         * gst/gstminiobject.c: (gst_mini_object_ref),
311         (gst_mini_object_unref):
312           debug refcounting
313
314 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
315
316         * docs/gst/tmpl/gst.sgml:
317         * gst/gst.c:
318           eliminate another tmpl file, fix spelling in the long-description
319
320 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
321
322         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
323         (test_event), (timediff), (gstevents_suite):
324           Should fix build on 64-bit arch's
325
326 2005-08-18  Andy Wingo  <wingo@pobox.com>
327
328         Make sure that when a pipeline goes to PLAYING, that data has
329         actually hit the sink.
330
331         * check/states/sinks.c (test_sink): A sink that doesn't get any
332         data shouldn't return SUCCESS for going to either PLAYING or
333         PAUSED. Test also the return values on the way back down.
334
335         * gst/gstelement.c (gst_element_set_state): When changing the
336         state of an element currently changing state asynchronously, go to
337         lost-state after commiting the pending state. Makes future calls
338         to get_state continue to return ASYNC.
339
340         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
341         ASYNC when going to PLAYING if we still don't have preroll, as can
342         happen with live sources.
343
344 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
345
346         * docs/pwg/advanced-types.xml:
347           Hack long paragraph into 2 chunks as a workaround for buggy
348           jadetex version in sid and breezy that loops infinitely and
349           eats all RAM.
350
351 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
352
353         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
354         (test_event), (timediff), (gstevents_suite):
355           Provide more error margin in clock measurements to allow for 
356           g_get_current_time inaccuracies.
357
358 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
359
360         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
361         (test_event), (timediff), (gstevents_suite):
362            Fix error message output so I might be able to tell why the
363            test works here but fails on the build farm.
364
365 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
366
367         * check/Makefile.am:
368         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
369         (test_event), (timediff), (gstevents_suite), (main):
370           I wrote a test!
371
372         * docs/design/part-seeking.txt:
373           Spelling correction
374
375         * docs/gst/tmpl/gstevent.sgml:
376         * docs/gst/tmpl/gstfakesrc.sgml:
377           Docs updates.
378
379         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
380           Treat a buffer-without-newsegment the same as a receiving 
381           a newsegment not in time format, and disable syncing to the clock
382           with a warning.
383
384         * gst/gstbus.c: (gst_bus_set_sync_handler):
385           Assert if anyone tries to replace the existing sync_handler for bus, 
386           as only the owner should be setting it.
387
388         * gst/gstevent.h:
389           Have a fixed set of custom event enums with events identified by
390           their structure name (as in 0.8), rather than a free-for-all
391           allowing collisions between enum values from different plugins.
392
393         * gst/gstpad.c: (gst_pad_class_init):
394           Docs change.
395           
396         * gst/gstqueue.c: (gst_queue_handle_sink_event):
397           Handle out-of-band downstream events from the sending thread.
398
399 2005-08-17  Andy Wingo  <wingo@pobox.com>
400
401         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
402         play-timeout==0 to mean no timeout at all. In that case, don't
403         bother with a get_state or a warning, just return directly, even
404         if it's ASYNC.
405
406         * gst/base/gstbasetransform.c: Debug changes.
407
408         * gst/gstutils.h:
409         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
410         ensure bins post state change messages. A bit of a hack but I can't
411         think of a way to avoid it.
412
413         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
414
415 2005-08-16  Andy Wingo  <wingo@pobox.com>
416
417         * gst/base/gstadapter.h:
418         * gst/base/gstadapter.c (gst_adapter_take): New function, like
419         peek() but you own the data. Not terribly efficient atm.
420
421 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
422
423         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
424         (gst_element_found_tags):
425         * gst/gstutils.h:
426           Add two utility functions for tag handling.
427
428 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
429
430         * docs/manual/advanced-dataaccess.xml:
431         * docs/manual/basics-helloworld.xml:
432           Fix docs to use _bin_add() before _link(), which fixes the examples
433           with recent core versions (reported by Madhan Raj M
434           <raj_madan@rediffmail.com>, #313199).
435
436 2005-08-16  Wim Taymans  <wim@fluendo.com>
437
438         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
439         Added subtract checks.
440
441         * docs/design/part-events.txt:
442         Some more docs about newsegment
443
444         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
445         Fix FIXME
446
447         * gst/gstcaps.c: (gst_caps_to_string):
448         Add comments, cleanups.
449         
450         * gst/gstelement.c: (gst_element_save_thyself):
451         cleanups
452         
453         * gst/gstvalue.c: (gst_value_collect_int_range),
454         (gst_string_unwrap), (gst_value_union_int_int_range),
455         (gst_value_union_int_range_int_range),
456         (gst_value_intersect_int_int_range),
457         (gst_value_intersect_int_range_int_range),
458         (gst_value_intersect_double_double_range),
459         (gst_value_intersect_double_range_double_range),
460         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
461         (gst_value_subtract_int_range_int),
462         (gst_value_subtract_double_range_double),
463         (gst_value_subtract_double_range_double_range),
464         (gst_value_subtract_from_list), (gst_value_subtract_list),
465         (gst_value_can_compare), (gst_value_compare_fraction):
466         Cleanups, add comments, remove unneeded asserts.
467
468 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
469
470         * tools/gst-launch.c: (event_loop):
471           don't convert NULL structures to strings
472
473 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
474
475         * docs/gst/gstreamer-sections.txt:
476           made some defines private
477         * docs/gst/tmpl/gstconfig.sgml:
478         * docs/gst/tmpl/gstqueue.sgml:
479         * docs/gst/tmpl/gsttaglist.sgml:
480         * docs/gst/tmpl/gsttypes.sgml:
481         * docs/gst/tmpl/gstutils.sgml:
482         * docs/pwg/appendix-porting.xml:
483         * gst/base/gstbasesink.h:
484         * gst/base/gstbasesrc.c:
485         * gst/base/gstbasesrc.h:
486         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
487         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
488         * gst/gstelement.c: (gst_element_class_init):
489         * gst/gstpad.c: (gst_pad_class_init):
490         * gst/gstqueue.c: (gst_queue_class_init):
491         * gst/gstxml.c: (gst_xml_class_init):
492           documented all undocumented signal inline
493         * libs/gst/controller/gst-controller.h:
494           added padding
495
496 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
497
498         * docs/pwg/appendix-porting.xml:
499           Document _set_link_function -> _set_setcaps_function.
500
501 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
502
503         * check/Makefile.am:
504           add a .check target for running the check
505         * check/gst-libs/controller.c: (GST_START_TEST):
506           cosmetic fixups
507         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
508           complete checks for gstbuffer; would be nice if I could get the
509           gcov stuff to work so I can see if I actually completed gstbuffer.c
510         * check/gstcheck.h:
511           add ASSERT_BUFFER_REFCOUNT
512
513 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
514
515         * docs/gst/gstreamer-sections.txt:
516         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
517         * gst/gsttag.h:
518           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
519           spew out a warning if a tag that is already registered
520           is re-registered, unless it is re-registered with a 
521           different type (#308438).
522
523 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
524
525         * docs/pwg/appendix-porting.xml:
526         * docs/pwg/building-state.xml:
527           Add some paragraphs about state changes in 0.9 to the PWG
528           and the porting guide, in particular about the new meaning
529           of GST_STATE_PAUSED and how to write state change functions
530           with concurrent access by multiple threads in mind.
531
532 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
533
534         * docs/gst/gstreamer-docs.sgml:
535         * docs/libs/gstreamer-libs-docs.sgml:
536           added deprecation and since indexes
537         * libs/gst/controller/gst-controller.c:
538         * libs/gst/controller/gst-helper.c:
539           added since tags
540
541
542 2005-08-11  Wim Taymans  <wim@fluendo.com>
543
544         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
545         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
546         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
547         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
548         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
549         (gst_ghost_pad_set_target):
550         Actually implement (re)setting the target on a ghostpad
551         as described in the docs.
552
553 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
554
555         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
556           Check whether GST_DEBUG_NO_COLOR environment variable is
557           set and disable coloured debug output if that is the case.
558
559 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
560
561         * gst/base/gsttypefindhelper.c: (helper_find_peek),
562         (gst_type_find_helper):
563           The memory returned by gst_type_find_peek() needs to
564           stay valid until the end of a typefind function, and
565           typefind functions may keep results from different 
566           offsets around, so we can't just unref the buffer from
567           the previous _peek(), but have to save all buffers 
568           returned by _peek() until typefinding is done and only
569           free them then.
570
571 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
572
573         * docs/gst/gstreamer-sections.txt:
574         * gst/gstutils.h:
575           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
576
577 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
578
579         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
580           Fix a pretty good memleak.
581
582 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
583
584         * gst/gstiterator.h:
585           Fix wrong include and 'make distcheck'.
586
587 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
588
589         * gst/gstbin.c: (bin_bus_handler):
590           Use gst_element_post_message() instead.
591
592 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
593
594         * gst/base/gstadapter.h:
595         * gst/base/gstbasesink.h:
596         * gst/base/gstbasesrc.h:
597         * gst/base/gstbasetransform.h:
598         * gst/base/gstcollectpads.h:
599         * gst/base/gstpushsrc.h:
600         * gst/gstiterator.h:
601           Add padding to our base elements' class and instance structs and
602           to GstIterator (you will need to rebuild all plugins and apps!)
603
604 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
605
606         * gst/gstbin.c: (bin_bus_handler):
607           Make default message forwarding from child->bus to bin->bus
608           threadsafe and make it not emit warnings if the parent has no bus.
609
610 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
611
612         * gst/gstelement.c: (activate_pads):
613           On paused->ready, set pad->caps to NULL, as is the documented
614           behaviour in this state change. Fixes playback of series of
615           media files when visualization is enabled in Totem.
616
617 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
618
619         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
620           Allow NULL as filter-caps (which means "any").
621
622 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
623
624         * docs/libs/gstreamer-libs-sections.txt:
625         * libs/gst/controller/gst-controller.c:
626         * libs/gst/controller/gst-controller.h:
627         * libs/gst/controller/gst-helper.c:
628           adding more entries to the docs and fix small doc-bugs
629
630 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
631
632         * docs/gst/gstreamer-docs.sgml:
633         * docs/gst/gstreamer-sections.txt:
634         * docs/gst/gstreamer.types:
635         * docs/gst/tmpl/gstbasesink.sgml:
636         * docs/gst/tmpl/gstbasesrc.sgml:
637         * docs/gst/tmpl/gstbasetransform.sgml:
638         * docs/gst/tmpl/gstfakesrc.sgml:
639         * gst/base/gstcollectpads.c:
640         * gst/base/gstcollectpads.h:
641         * libs/gst/controller/gst-controller.c:
642         * libs/gst/controller/gst-controller.h:
643         * libs/gst/controller/gst-helper.c:
644         * libs/gst/controller/gst-interpolation.c:
645         * libs/gst/controller/lib.c:
646           added long/short desc for controller docs
647           added collectpads base class docs
648           added correct includes to base-class docs
649
650 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
651
652         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
653         (gst_test_mono_source_set_property),
654         (gst_test_mono_source_class_init), (GST_START_TEST),
655         (gst_controller_suite):
656         * docs/gst/gstreamer-docs.sgml:
657         * docs/gst/gstreamer-sections.txt:
658         * docs/gst/gstreamer.types:
659         * docs/libs/gstreamer-libs-docs.sgml:
660         * docs/libs/gstreamer-libs-sections.txt:
661         * gst/base/gstadapter.c:
662         * libs/gst/controller/gst-controller.c:
663         (gst_controlled_property_new), (gst_controlled_property_free),
664         (gst_controller_new_valist),
665         (gst_controller_remove_properties_valist),
666         (gst_controller_sink_values), (_gst_controller_finalize):
667         * libs/gst/controller/gst-controller.h:
668         * libs/gst/controller/gst-helper.c:
669         (gst_object_control_properties), (gst_object_uncontrol_properties),
670         (gst_object_get_controller), (gst_object_set_controller),
671         (gst_object_sink_values), (gst_object_get_value_arrays),
672         (gst_object_get_value_array):
673           more tests (and fixes) for the controller
674           more docs for the controller
675           integrated companies docs for the adapter 
676
677 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
678
679         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
680         (GST_START_TEST), (fakesrc_suite):
681           add tests for sizetype
682
683 2005-08-04  Andy Wingo  <wingo@pobox.com>
684
685         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
686         fixes buffer_alloc proxying among other things.
687
688         * gst/base/gstbasetransform.c:
689         * gst/base/gstbasetransform.h:
690         Revert patch to gstbasetransform from 7-28 removing
691         delay_configure.
692
693         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
694         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
695         Semantics changed, should return not the size of the output buffer
696         but the byte size of a buffer with a given caps.
697
698         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
699         debug object.
700         (gst_base_transform_configure_caps): Don't set out_size here: (in,
701         out) are not the pad caps until setcaps finishes.
702         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
703         not-in-place case as well. Deal with changing from in-place to
704         not-in-place within calling pad_alloc_buffer. Still a bit
705         concerned about the overhead here...
706
707 2005-08-03  Andy Wingo  <wingo@pobox.com>
708
709         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
710         fixating is an error.
711
712 2005-08-04  Edward Hervey  <edward@fluendo.com>
713
714         * gst/base/gstadapter.h: 
715         Added gst_adapter_get_type() to the header
716
717 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
718
719         * check/Makefile.am:
720         * check/gst-libs/controller.c:
721         * libs/gst/controller/gst-controller.c:
722         (gst_controller_new_valist):
723           added check test suite for the controller
724         * gst/base/gstpushsrc.c:
725           fixed a doc typo
726
727 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
728
729         * docs/gst/Makefile.am:
730         * docs/gst/gstreamer-docs.sgml:
731         * docs/gst/gstreamer-sections.txt:
732         * docs/gst/gstreamer.types:
733         * docs/gst/tmpl/gstfakesrc.sgml:
734         * gst/base/README:
735         * gst/base/gstbasesink.c:
736         * gst/base/gstbasesink.h:
737         * gst/base/gstbasesrc.c:
738         * gst/base/gstbasesrc.h:
739         * gst/base/gstbasetransform.c:
740         * gst/base/gstpushsrc.c:
741         * gst/base/gstpushsrc.h:
742           add short/long description docs to base classes
743           add pushsrc to the docs
744           remove consolidated doc fragments
745
746 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
747
748         * configure.ac:
749         * docs/libs/Makefile.am:
750         * docs/libs/gstreamer-libs-docs.sgml:
751         * docs/libs/gstreamer-libs-sections.txt:
752         * docs/libs/gstreamer-libs.types:
753         * examples/Makefile.am:
754         * examples/controller/.cvsignore:
755         * examples/controller/Makefile.am:
756         * examples/controller/audio-example.c: (main):
757         * libs/gst/Makefile.am:
758         * libs/gst/controller/.cvsignore:
759         * libs/gst/controller/Makefile.am:
760         * libs/gst/controller/gst-controller.c:
761         (on_object_controlled_property_changed), (gst_timed_value_compare),
762         (gst_timed_value_find),
763         (gst_controlled_property_set_interpolation_mode),
764         (gst_controlled_property_new), (gst_controlled_property_free),
765         (gst_controller_find_controlled_property),
766         (gst_controller_new_valist), (gst_controller_new),
767         (gst_controller_remove_properties_valist),
768         (gst_controller_remove_properties), (gst_controller_set),
769         (gst_controller_set_from_list), (gst_controller_unset),
770         (gst_controller_get), (gst_controller_get_all),
771         (gst_controller_sink_values), (gst_controller_get_value_arrays),
772         (gst_controller_get_value_array),
773         (gst_controller_set_interpolation_mode),
774         (_gst_controller_finalize), (_gst_controller_init),
775         (_gst_controller_class_init), (gst_controller_get_type):
776         * libs/gst/controller/gst-controller.h:
777         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
778         (g_object_uncontrol_properties), (g_object_get_controller),
779         (g_object_set_controller), (g_object_sink_values),
780         (g_object_get_value_arrays), (g_object_get_value_array):
781         * libs/gst/controller/gst-interpolation.c:
782         (gst_controlled_property_find_timed_value_node),
783         (interpolate_none_get), (interpolate_trigger_get),
784         (interpolate_trigger_get_value_array):
785         * libs/gst/controller/lib.c: (gst_controller_init):
786         * pkgconfig/Makefile.am:
787         * pkgconfig/gstreamer-control-uninstalled.pc.in:
788         * pkgconfig/gstreamer-control.pc.in:
789         * testsuite/Makefile.am:
790         * testsuite/controller/.cvsignore:
791         * testsuite/controller/Makefile.am:
792         * testsuite/controller/interpolator.c: (main):
793           added controller code
794           removed dparam pc files
795
796 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
797         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
798         (gst_collectpads_stop):
799           Broadcast the condition when shutting down, to make sure we wake all
800           threads up. Shut down pads on finalize, for safety.
801
802 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
803         * gst/base/gstbasetransform.c: (gst_base_transform_init),
804         (gst_base_transform_handle_buffer),
805         (gst_base_transform_change_state):
806           Handle PAUSED->READY->PAUSED transition after negotiation
807           occurred already.
808         * gst/gstmessage.c: (gst_message_init):
809           Extra piece of debug for new messages.
810
811 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
812
813         * configure.ac:
814         * docs/gst/tmpl/gstbasesrc.sgml:
815         * docs/gst/tmpl/gstelement.sgml:
816         * docs/gst/tmpl/gstevent.sgml:
817         * docs/gst/tmpl/gstfakesrc.sgml:
818         * docs/gst/tmpl/gstformat.sgml:
819         * docs/gst/tmpl/gstghostpad.sgml:
820         * docs/gst/tmpl/gstpad.sgml:
821         * docs/gst/tmpl/gstquery.sgml:
822         * docs/gst/tmpl/gststructure.sgml:
823         * docs/gst/tmpl/gsttaglist.sgml:
824         * docs/gst/tmpl/gstvalue.sgml:
825         * docs/libs/gstreamer-libs-docs.sgml:
826         * docs/libs/gstreamer-libs-sections.txt:
827         * docs/libs/gstreamer-libs.types:
828         * libs/gst/Makefile.am:
829         * libs/gst/control/.cvsignore:
830         * libs/gst/control/Makefile.am:
831         * libs/gst/control/control.c:
832         * libs/gst/control/control.h:
833         * libs/gst/control/dparam.c:
834         * libs/gst/control/dparam.h:
835         * libs/gst/control/dparam_smooth.c:
836         * libs/gst/control/dparam_smooth.h:
837         * libs/gst/control/dparamcommon.h:
838         * libs/gst/control/dparammanager.c:
839         * libs/gst/control/dparammanager.h:
840         * libs/gst/control/dplinearinterp.c:
841         * libs/gst/control/dplinearinterp.h:
842         * libs/gst/control/unitconvert.c:
843         * libs/gst/control/unitconvert.h:
844         * testsuite/Makefile.am:
845         * testsuite/dynparams/.cvsignore:
846         * testsuite/dynparams/Makefile.am:
847         * testsuite/dynparams/dparamstest.c:
848         * tools/Makefile.am:
849         * tools/gst-inspect.c: (print_element_info), (main):
850         * tools/gst-xmlinspect.c: (print_element_info), (main):
851           deactivate and remove dparams (libgstcontrol)
852
853 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
854
855         * gst/elements/gsttypefindelement.c:
856         (gst_type_find_element_have_type), (gst_type_find_element_init),
857         (stop_typefinding), (gst_type_find_element_handle_event),
858         (gst_type_find_element_chain), (gst_type_find_element_getrange):
859         * gst/elements/gsttypefindelement.h:
860           Set caps on all outgoing buffers, not just the first one.
861
862 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
863
864         * gst/elements/gsttypefindelement.c:
865         (gst_type_find_element_have_type),
866         (gst_type_find_element_check_set_buffer_caps),
867         (gst_type_find_element_init), (stop_typefinding),
868         (gst_type_find_element_handle_event),
869         (gst_type_find_element_chain), (gst_type_find_element_getrange):
870         * gst/elements/gsttypefindelement.h:
871           Set caps on first outgoing buffer when we've found the type.
872
873 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
874
875         * docs/gst/gstreamer-docs.sgml:
876         * docs/gst/gstreamer-sections.txt:
877         * docs/gst/tmpl/gstscheduler.sgml:
878         * docs/gst/tmpl/gstschedulerfactory.sgml:
879           Remove some old cruft from docs.
880
881 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
882
883         * gst/gstpad.h:
884           Fix inline docs for GstPadLinkReturn.
885           
886         * gst/gststructure.c: (gst_structure_has_name):
887         * gst/gststructure.h:
888         * docs/gst/gstreamer-sections.txt:
889           New API: gst_structure_has_name().
890
891 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
892
893         * configure.ac:
894           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
895           and _LARGEFILE_SOURCE in config.h as required. Do not 
896           export those flags in our .pc files any longer (#142209).
897
898           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
899
900         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
901         (gst_file_sink_do_seek), (gst_file_sink_event),
902         (gst_file_sink_get_current_offset), (gst_file_sink_render):
903           Redo seek/tell calls with large file support in mind; add some
904           debugging messages; add log message that tells us when large
905           file support is unavailable or not enabled for some reason.
906
907         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
908           Add log message that tells us when large file support 
909           is unavailable or not enabled for some reason.
910
911 2005-07-29  Wim Taymans  <wim@fluendo.com>
912
913         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
914         Added test for removing an element with ghostpad from a bin.
915         Fixed test as current implementation does the right thing.
916
917         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
918         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
919         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
920         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
921         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
922         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
923         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
924         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
925         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
926         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
927         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
928         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
929         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
930         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
931         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
932         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
933         * gst/gstghostpad.h:
934         Clean up ghostpads, remove properties for internal stuff.
935         Make threadsafe.
936         Fix refcounting.
937         Prepare for switching targets, not all use cases work yet.
938
939 2005-07-29  Wim Taymans  <wim@fluendo.com>
940
941         * docs/design/part-gstghostpad.txt:
942         Small update.
943
944         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
945         (gst_bin_remove_func):
946         Unlinking pads while holding the bin LOCK is not a good
947         idea.
948
949         * gst/gstpad.c: (gst_pad_class_init),
950         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
951         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
952         No prob setting template after creating the pad.
953
954 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
955
956         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
957         (gst_bus_peek), (gst_bus_source_dispatch),
958         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
959         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
960           gst_bus_poll may be called from other threads. Handle
961           this nicely by not making poll_data disappear off the
962           stack once gst_bus_poll returns.
963           gst_bus_peek now increments the refcount on the returned
964           message.
965
966 2005-07-29  Wim Taymans  <wim@fluendo.com>
967
968         * docs/design/part-gstghostpad.txt:
969         Overview of current GhostPad datastructures and use
970         cases for changing the target.
971
972 2005-07-28  Wim Taymans  <wim@fluendo.com>
973
974         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
975         Added checks for hierarchy consistency whan adding linked
976         elements to bins.
977
978         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
979         Added check to test element scheduling without bin/pipeline.
980
981         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
982         First add elements to bin, then link.
983         
984         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
985         (gst_bin_remove_func):
986         Unlink pads from elements added/removed from bin to maintain
987         hierarchy consistency.
988
989 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
990
991         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
992         (gst_base_transform_handle_buffer):
993         * gst/base/gstbasetransform.h:
994           Remove broken delay_configure (fixes renegotiation of software
995           scaling pipelines); remove some leftover printf()s.
996
997 2005-07-28  Wim Taymans  <wim@fluendo.com>
998
999         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1000         Added some more tests for wrong hierarchy
1001
1002         * docs/design/part-overview.txt:
1003         Some updates.
1004
1005         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
1006         Cleanups.
1007
1008         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
1009         (gst_element_dispose):
1010         Some more cleanups.
1011
1012         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1013         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
1014         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1015         (gst_pad_set_caps), (gst_pad_send_event):
1016         Check for correct hierarchy when linking pads. Moving to
1017         strict requirement for ghostpads when linking elements in
1018         different bins.
1019
1020         * gst/gstpad.h:
1021         Clean ups. Added WRONG_HIERARCHY return value.
1022
1023 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1024
1025         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1026           Better debug if no transform is possible.
1027
1028 2005-07-27  Wim Taymans  <wim@fluendo.com>
1029
1030         * docs/random/wtay/network-transp:
1031         Some old doc I had.
1032
1033 2005-07-27  Wim Taymans  <wim@fluendo.com>
1034
1035         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1036         (gst_dp_event_from_packet):
1037         Fix serialization of seek events.
1038
1039 2005-07-27  Wim Taymans  <wim@fluendo.com>
1040
1041         * check/gst-libs/gdp.c: (GST_START_TEST):
1042         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1043         Fix compilation and fix event serialization.
1044
1045 2005-07-27  Wim Taymans  <wim@fluendo.com>
1046
1047         * CHANGES-0.9:
1048         * docs/design/part-TODO.txt:
1049         * docs/design/part-events.txt:
1050         Some docs updates
1051
1052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1053         (gst_base_sink_event), (gst_base_sink_do_sync),
1054         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1055         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1056         (gst_base_src_do_seek), (gst_base_src_event_handler),
1057         (gst_base_src_loop):
1058         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1059         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1060         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1061         (gst_base_transform_event), (gst_base_transform_handle_buffer),
1062         (gst_base_transform_set_passthrough),
1063         (gst_base_transform_is_passthrough):
1064         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1065         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1066         Event updates.
1067
1068         * gst/gstbuffer.h:
1069         Use faster casts.
1070
1071         * gst/gstelement.c: (gst_element_seek):
1072         * gst/gstelement.h:
1073         Update gst_element_seek.
1074
1075         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
1076         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
1077         (gst_event_new_flush_start), (gst_event_new_flush_stop),
1078         (gst_event_new_eos), (gst_event_new_newsegment),
1079         (gst_event_parse_newsegment), (gst_event_new_tag),
1080         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
1081         (gst_event_parse_qos), (gst_event_new_seek),
1082         (gst_event_parse_seek), (gst_event_new_navigation):
1083         * gst/gstevent.h:
1084         Make GstEvent use GstStructure. Add parsing code, make sure the
1085         API is sufficiently generic.
1086         Mark possible directions of events and serialization.
1087
1088         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
1089         (_gst_message_copy), (gst_message_new_segment_start),
1090         (gst_message_new_segment_done), (gst_message_new_custom),
1091         (gst_message_parse_segment_start),
1092         (gst_message_parse_segment_done):
1093         Small cleanups.
1094
1095         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1096         (gst_pad_set_caps), (gst_pad_send_event):
1097         Update for new events. 
1098         Catch events sent in wrong directions.
1099
1100         * gst/gstqueue.c: (gst_queue_link_src),
1101         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1102         (gst_queue_handle_src_query):
1103         Event updates.
1104
1105         * gst/gsttag.c:
1106         * gst/gsttag.h:
1107         Remove event code from this file.
1108
1109         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1110         (gst_dp_event_from_packet):
1111         Event updates.
1112
1113 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1114
1115         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
1116         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1117         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1118           Make debugging actually useful.
1119
1120 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1121
1122         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1123         (gst_pad_fixate_caps):
1124           Implement default fixation once again, so that gst_pad_fixate()
1125           actually does anything at all. This probably needs to be some
1126           sort of a last resort, and use profile-based fixation first, but
1127           since that doesn't exist yet, this is the best we have. Fixes
1128           visualization in Totem.
1129
1130 2005-07-22  Wim Taymans  <wim@fluendo.com>
1131
1132         * docs/design/part-events.txt:
1133         Small update.
1134
1135         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1136         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1137         (gst_base_sink_activate_pull):
1138         Some more comments.
1139
1140         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1141         (gst_fake_src_create):
1142         Fix handoff marshall.
1143
1144         * gst/elements/gstidentity.c: (gst_identity_class_init),
1145         (gst_identity_transform_ip):
1146         We're a real inplace element.
1147
1148         * gst/gstbus.c: (gst_bus_post):
1149         Added some comments.
1150
1151         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1152         * tests/muxing/case1.c: (main):
1153         * tests/sched/dynamic-pipeline.c: (main):
1154         * tests/sched/interrupt1.c: (main):
1155         * tests/sched/interrupt2.c: (main):
1156         * tests/sched/interrupt3.c: (main):
1157         * tests/sched/runxml.c: (main):
1158         * tests/sched/sched-stress.c: (main):
1159         * tests/seeking/seeking1.c: (event_received), (main):
1160         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1161         (main):
1162         * tests/threadstate/threadstate3.c: (main):
1163         * tests/threadstate/threadstate4.c: (main):
1164         * tests/threadstate/threadstate5.c: (main):
1165         Fix the tests.
1166
1167 2005-07-21  Wim Taymans  <wim@fluendo.com>
1168
1169         * docs/design/part-seeking.txt:
1170         Some small additions.
1171
1172         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1173         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1174         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1175         * gst/base/gstbasesink.h:
1176         discont values are gint64, handle the math correctly.
1177
1178         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1179         Make the basesrc report error if the source pad is not linked.
1180
1181         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1182         (gst_queue_loop), (gst_queue_handle_src_query),
1183         (gst_queue_src_activate_push):
1184         Make queue collect data even if the srcpad is not linked.
1185         Start pushing out data as soon as it is linked.
1186
1187         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1188         * gst/gstutils.h:
1189         Added gst_flow_get_name() to ease error reporting.
1190
1191 2005-07-20  Wim Taymans  <wim@fluendo.com>
1192
1193         * gst/gstmessage.c: (gst_message_new_segment_start),
1194         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1195         (gst_message_parse_segment_done):
1196         * gst/gstmessage.h:
1197         Added a bunch of messages for advanced seeking.
1198
1199         * gst/parse/grammar.y:
1200         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1201         (gst_dpman_state_changed):
1202         Fix some new-pad -> pad-added signals
1203
1204 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1205
1206         * docs/manual/appendix-porting.xml:
1207         * docs/pwg/appendix-porting.xml:
1208           Document new-pad/state-change signal renames and the FixedList
1209           type rename.
1210
1211 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1212
1213         * docs/manual/advanced-autoplugging.xml:
1214         * docs/manual/basics-helloworld.xml:
1215         * docs/manual/basics-pads.xml:
1216         * docs/random/ds/0.9-suggested-changes:
1217         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1218         * gst/gstelement.h:
1219         * gst/gstevent.h:
1220         * gst/gstformat.h:
1221         * gst/gstquery.h:
1222         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1223         (gst_structure_parse_array), (gst_structure_parse_value):
1224         * gst/gstvalue.c: (gst_type_is_fixed),
1225         (gst_value_list_prepend_value), (gst_value_list_append_value),
1226         (gst_value_list_get_size), (gst_value_list_get_value),
1227         (gst_value_transform_array_string), (gst_value_serialize_array),
1228         (gst_value_deserialize_array), (gst_value_intersect_array),
1229         (gst_value_is_fixed), (_gst_value_initialize):
1230         * gst/gstvalue.h:
1231           GstElement::new-pad -> pad-added, GstElement::state-change ->
1232           state-changed, GstValueFixedList -> GstValueArray, add format and
1233           flags as their own arguments in gst_element_seek() (should improve
1234           "bindeability"), remove function generators since they don't work
1235           under a whole bunch of compilers (they were deprecated already
1236           anyway).
1237
1238 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1239
1240         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1241         (_gst_debug_register_funcptr):
1242         * gst/gstinfo.h:
1243           Fix illegal cast on some platforms (#309253).
1244
1245 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1246
1247         * gst/gstmessage.c: (gst_message_new_custom):
1248         * gst/gstmessage.h:
1249           Add _new_custom, make _new_application a macro to _new_custom.
1250
1251 2005-07-20  Wim Taymans  <wim@fluendo.com>
1252
1253         * gst/base/gstbasesrc.c: (gst_base_src_init),
1254         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1255         * gst/base/gstbasesrc.h:
1256         Add a gboolean to decide when to push out a discont.
1257
1258         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1259         (gst_queue_loop), (gst_queue_handle_src_query),
1260         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1261         (gst_queue_set_property), (gst_queue_get_property):
1262         Some cleanups.
1263
1264         * tests/threadstate/threadstate1.c: (main):
1265         Make a thread test compile and run... very silly..
1266
1267
1268 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1269
1270         * docs/manual/appendix-porting.xml:
1271           Mention removal of libgstgconf-0.9.la and existence of gconf
1272           elements.
1273
1274 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1275
1276         * docs/pwg/advanced-clock.xml:
1277         * docs/pwg/appendix-porting.xml:
1278         * docs/pwg/intro-preface.xml:
1279         * docs/pwg/other-base.xml:
1280         * docs/pwg/other-manager.xml:
1281         * docs/pwg/other-nton.xml:
1282         * docs/pwg/other-ntoone.xml:
1283         * docs/pwg/other-oneton.xml:
1284         * docs/pwg/pwg.xml:
1285           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1286           demuxer), remove n-to-n (was never written), fix some code examples
1287           and links and update the porting section to include all this.
1288
1289 2005-07-19  Wim Taymans  <wim@fluendo.com>
1290
1291         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1292         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1293         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1294         (gst_queue_src_activate_push), (gst_queue_change_state),
1295         (gst_queue_get_property):
1296         * gst/gstqueue.h:
1297         Propagate GstFlowReturn more intelligently upstream and output
1298         an ERROR/EOS when streaming stopped due to fatal error.
1299
1300 2005-07-19  Wim Taymans  <wim@fluendo.com>
1301
1302         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1303         Don't block forever for the state change to complete, the
1304         pipeline already did with a sensible timeout.
1305
1306 2005-07-19  Wim Taymans  <wim@fluendo.com>
1307
1308         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1309         Make sure we never call the create function is we
1310         got deactivated.
1311
1312 2005-07-19  Andy Wingo  <wingo@pobox.com>
1313
1314         * gst/parse/parse.l: Attempt to solve bug #172815.
1315
1316 2005-07-19  Wim Taymans  <wim@fluendo.com>
1317
1318         * docs/design/part-clocks.txt:
1319         * docs/design/part-events.txt:
1320         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1321         Small docs updates.
1322         Only update the seeking values when we are not
1323         busy streaming.
1324
1325 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1326
1327         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1328           Oops, ignore the result of gst_pad_push_event here.
1329
1330 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1331
1332         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1333         (gst_base_src_activate_push):
1334           Send discont event from the loop function, as pads
1335           aren't activated yet in the activate_push handler.
1336
1337         * gst/gstbin.c: (bin_bus_handler):
1338           Don't leak element name.
1339
1340 2005-07-18  Andy Wingo  <wingo@pobox.com>
1341
1342         * configure.ac: Use AS_LIBTOOL_TAGS.
1343
1344 2005-07-18  Wim Taymans  <wim@fluendo.com>
1345
1346         * docs/gst/gstreamer.types:
1347         Remove deleted types.
1348
1349 2005-07-18  Wim Taymans  <wim@fluendo.com>
1350
1351         * check/elements/gstfakesrc.c: (GST_START_TEST):
1352         * configure.ac:
1353         * gst/Makefile.am:
1354         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1355         (init_popt_callback):
1356         * gst/gst.h:
1357         * gst/gst_private.h:
1358         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1359         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1360         * gst/gstbin.h:
1361         * gst/gstbus.h:
1362         * gst/gstconfig.h.in:
1363         * gst/gstelement.c: (gst_element_class_init),
1364         (gst_element_set_base_time), (gst_element_get_base_time),
1365         (iterator_fold_with_resync), (gst_element_change_state),
1366         (gst_element_dispose), (gst_element_get_bus):
1367         * gst/gstelement.h:
1368         * gst/gstelementfactory.h:
1369         * gst/gsterror.c: (_gst_core_errors_init):
1370         * gst/gsterror.h:
1371         * gst/gstevent.h:
1372         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1373         * gst/gstindex.c:
1374         * gst/gstinfo.c: (_gst_debug_init):
1375         * gst/gstmessage.c: (_gst_message_copy):
1376         * gst/gstmessage.h:
1377         * gst/gstminiobject.h:
1378         * gst/gstobject.c:
1379         * gst/gstobject.h:
1380         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1381         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1382         * gst/gstpad.h:
1383         * gst/gstparse.h:
1384         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1385         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1386         (gst_pipeline_get_last_stream_time):
1387         * gst/gstpipeline.h:
1388         * gst/gstpluginfeature.h:
1389         * gst/gstquery.h:
1390         * gst/gstscheduler.c:
1391         * gst/gstscheduler.h:
1392         * gst/gststructure.h:
1393         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1394         (gst_task_finalize), (gst_task_func), (gst_task_create),
1395         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1396         (gst_task_stop), (gst_task_pause):
1397         * gst/gsttask.h:
1398         * gst/gsttypefind.h:
1399         * gst/gsttypes.h:
1400         * gst/registries/gstlibxmlregistry.c: (load_feature),
1401         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1402         * gst/registries/gstxmlregistry.c:
1403         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1404         * gst/schedulers/threadscheduler.c:
1405         * libs/gst/control/dparammanager.h:
1406         * tools/gst-inspect.c: (print_element_list),
1407         (print_plugin_features), (print_element_features):
1408         * tools/gst-xmlinspect.c: (print_element_list),
1409         (print_plugin_info), (main):
1410         Removed plugable schedulers.
1411         Removed Scheduler/Manager from elements.
1412         Removed gsttypes.h, rearranged includes.
1413         Removed dependency pad<->element, element<>pipeline, and
1414         various others,  fix includes.
1415         implement gst_pad_get_parent() with gst_object_get_parent()
1416         Make GstTask sefcontained.
1417         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1418         timeout.
1419         Fix endless loop in iterator_fold_with_resync.
1420
1421
1422 2005-07-18  Wim Taymans  <wim@fluendo.com>
1423
1424         * gst/Makefile.am:
1425         * gst/gstarch.h:
1426         Remove old file.
1427
1428 2005-07-18  Wim Taymans  <wim@fluendo.com>
1429
1430         * gst/Makefile.am:
1431         No more cothreads.h
1432
1433 2005-07-18  Wim Taymans  <wim@fluendo.com>
1434
1435         * gst/cothreads.c:
1436         * gst/cothreads.h:
1437         Let's remove these.
1438
1439 2005-07-18  Wim Taymans  <wim@fluendo.com>
1440
1441         * docs/design/part-dynamic.txt:
1442         * docs/design/part-events.txt:
1443         * docs/design/part-seeking.txt:
1444         Some more docs in the works.
1445
1446         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1447         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1448         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1449         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1450         (gst_base_transform_handle_buffer),
1451         (gst_base_transform_sink_activate_push),
1452         (gst_base_transform_src_activate_pull),
1453         (gst_base_transform_set_passthrough),
1454         (gst_base_transform_is_passthrough):
1455         Refcounting fixes.
1456
1457         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1458         Cleanups.
1459
1460         * gst/gstevent.c: (gst_event_finalize):
1461         Set SRC to NULL.
1462
1463         * gst/gstutils.c: (gst_element_unlink),
1464         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1465         (gst_pad_proxy_setcaps):
1466         * gst/gstutils.h:
1467         Add _get_parent_element() to get a pads parent as an element.
1468
1469 2005-07-18  Wim Taymans  <wim@fluendo.com>
1470
1471         * check/gst/gstbin.c: (GST_START_TEST):
1472         Remove bogus test.
1473
1474 2005-07-18  Wim Taymans  <wim@fluendo.com>
1475
1476         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1477         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1478         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1479         (gst_base_sink_event), (gst_base_sink_do_sync),
1480         (gst_base_sink_chain), (gst_base_sink_loop),
1481         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1482         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1483         Refcounting fixes.
1484         Fix logic for returning ASYNC when not prerolled.
1485
1486 2005-07-18  Wim Taymans  <wim@fluendo.com>
1487
1488         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1489         Fix nasty refcount bug.
1490
1491 2005-07-16 Philippe Khalaf <burger@speedy.org>
1492         * gst/elements/gstfdsrc.c:
1493         * gst/elements/gstfdsrc.h:
1494         * gst/elements/gstelements.c:
1495         * gst/elements/Makefile.am:
1496         Ported fdsrc to 0.9.
1497
1498 2005-07-16  Wim Taymans  <wim@fluendo.com>
1499
1500         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1501         (gst_base_sink_do_sync):
1502         Fix compile error.
1503
1504 2005-07-16  Wim Taymans  <wim@fluendo.com>
1505
1506         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1507         (gst_base_sink_event), (gst_base_sink_get_times),
1508         (gst_base_sink_do_sync), (gst_base_sink_change_state):
1509         * gst/base/gstbasesink.h:
1510         Store and use discont values when syncing buffers as described
1511         in design docs.
1512         
1513         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1514         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
1515         (gst_base_src_activate_push):
1516         Push discont event when starting.
1517
1518         * gst/elements/gstidentity.c: (gst_identity_transform):
1519         Small cleanups.
1520
1521         * gst/gstbin.c: (gst_bin_change_state):
1522         Small cleanups in base_time  distribution.
1523
1524         * gst/gstelement.c: (gst_element_set_base_time),
1525         (gst_element_get_base_time), (gst_element_change_state):
1526         * gst/gstelement.h:
1527         Added methods for the base_time of the element.
1528         Some MT fixes.
1529
1530         * gst/gstpipeline.c: (gst_pipeline_send_event),
1531         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1532         (gst_pipeline_get_last_stream_time):
1533         * gst/gstpipeline.h:
1534         MT fixes.
1535         Handle seeking as described in design doc, remove stream_time
1536         hack.
1537         Cleanups clock and stream_time selection code. Added accessors
1538         for the stream_time.
1539         
1540
1541 2005-07-16  Andy Wingo  <wingo@pobox.com>
1542
1543         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
1544         (#305291).
1545
1546 2005-07-16  Wim Taymans  <wim@fluendo.com>
1547
1548         * check/gst/gstbin.c: (GST_START_TEST):
1549         Make elements silent as the deep_notify refs the
1550         parent, which might make the test fail.
1551
1552         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1553         Don't hold the lock for too long.
1554
1555 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
1556
1557         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1558           Don't unref the caps we passed to gst_caps_make_writable() after
1559           passing them. gst_caps_make_writable() will do that for us.
1560
1561 2005-07-15  Andy Wingo  <wingo@pobox.com>
1562
1563         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
1564         (#157311).
1565
1566         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
1567         own marshalling function for the handoff signal. Properly type the
1568         buffer as a buffer. Fixes some warnings. Should do a more general
1569         solution.
1570         (gst_identity_class_init): Plug into the right marshaller.
1571
1572 2005-07-15  Wim Taymans  <wim@fluendo.com>
1573
1574         * docs/design/part-TODO.txt:
1575         * docs/design/part-clocks.txt:
1576         * docs/design/part-element-sink.txt:
1577         * docs/design/part-events.txt:
1578         * docs/design/part-gstpipeline.txt:
1579         Updated docs, mostly DISCONT related.
1580
1581 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
1582
1583         * docs/pwg/building-pads.xml:
1584           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
1585
1586 2005-07-15  Andy Wingo  <wingo@pobox.com>
1587
1588         * tools/gst-typefind.c: Update, add copyright block.
1589
1590         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
1591         Normalize and truncate caps before fixation.
1592
1593         * gst/gstcaps.h:
1594         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
1595         discards all but the first structure from its argument.
1596
1597 2005-07-15  Wim Taymans  <wim@fluendo.com>
1598
1599         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1600         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
1601         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1602         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1603         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1604         (gst_base_transform_chain), (gst_base_transform_change_state),
1605         (gst_base_transform_set_passthrough),
1606         (gst_base_transform_is_passthrough):
1607         * gst/base/gstbasetransform.h:
1608         Make passthrough work using the bufferpools.
1609         Changed API a bit, subclasses have to write into a buffer
1610         provided by the base class.
1611         More debug info in nego functions.
1612         
1613         * gst/elements/gstidentity.c: (gst_identity_init),
1614         (gst_identity_transform):
1615         Port to new base class.
1616
1617 2005-07-15  Wim Taymans  <wim@fluendo.com>
1618
1619         * gst/gstmessage.c: (gst_message_new_state_changed):
1620         * tools/gst-launch.c: (event_loop), (main):
1621         Totally dump messages in -launch with the -m option.
1622         Fix message name for State messages,
1623
1624 2005-07-14  Wim Taymans  <wim@fluendo.com>
1625
1626         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1627         Post error messages on errors.
1628
1629 2005-07-14  Wim Taymans  <wim@fluendo.com>
1630
1631         * gst/gstcaps.c: (gst_caps_do_simplify):
1632         Remove debug info.
1633
1634         * gst/gsterror.h:
1635         Define error for stream stopped.
1636
1637         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1638         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
1639         Do proper return values.
1640
1641         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1642         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
1643         (gst_pad_get_range):
1644         Better return values.
1645
1646         * gst/gstpad.h:
1647         Reorganise return values, add macro to check for fatal errors.
1648
1649         * gst/gstqueue.c: (gst_queue_chain):
1650         Return proper GstFlowReturn values,
1651
1652 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1653
1654         * docs/gst/gstreamer-sections.txt:
1655         * docs/gst/gstreamer.types:
1656         * docs/gst/tmpl/gst.sgml:
1657         * docs/gst/tmpl/gstbasesink.sgml:
1658         * docs/gst/tmpl/gstbasesrc.sgml:
1659         * docs/gst/tmpl/gstbasetransform.sgml:
1660         * docs/gst/tmpl/gstbin.sgml:
1661         * docs/gst/tmpl/gstbuffer.sgml:
1662         * docs/gst/tmpl/gstcaps.sgml:
1663         * docs/gst/tmpl/gstclock.sgml:
1664         * docs/gst/tmpl/gstcompat.sgml:
1665         * docs/gst/tmpl/gstconfig.sgml:
1666         * docs/gst/tmpl/gstelement.sgml:
1667         * docs/gst/tmpl/gstelementdetails.sgml:
1668         * docs/gst/tmpl/gstelementfactory.sgml:
1669         * docs/gst/tmpl/gstenumtypes.sgml:
1670         * docs/gst/tmpl/gsterror.sgml:
1671         * docs/gst/tmpl/gstevent.sgml:
1672         * docs/gst/tmpl/gstfakesink.sgml:
1673         * docs/gst/tmpl/gstfakesrc.sgml:
1674         * docs/gst/tmpl/gstfilesink.sgml:
1675         * docs/gst/tmpl/gstfilesrc.sgml:
1676         * docs/gst/tmpl/gstfilter.sgml:
1677         * docs/gst/tmpl/gstformat.sgml:
1678         * docs/gst/tmpl/gstghostpad.sgml:
1679         * docs/gst/tmpl/gstimplementsinterface.sgml:
1680         * docs/gst/tmpl/gstindex.sgml:
1681         * docs/gst/tmpl/gstindexfactory.sgml:
1682         * docs/gst/tmpl/gstinfo.sgml:
1683         * docs/gst/tmpl/gstiterator.sgml:
1684         * docs/gst/tmpl/gstmacros.sgml:
1685         * docs/gst/tmpl/gstmemchunk.sgml:
1686         * docs/gst/tmpl/gstminiobject.sgml:
1687         * docs/gst/tmpl/gstobject.sgml:
1688         * docs/gst/tmpl/gstpad.sgml:
1689         * docs/gst/tmpl/gstpadtemplate.sgml:
1690         * docs/gst/tmpl/gstparse.sgml:
1691         * docs/gst/tmpl/gstpipeline.sgml:
1692         * docs/gst/tmpl/gstplugin.sgml:
1693         * docs/gst/tmpl/gstpluginfeature.sgml:
1694         * docs/gst/tmpl/gstquery.sgml:
1695         * docs/gst/tmpl/gstqueue.sgml:
1696         * docs/gst/tmpl/gstregistry.sgml:
1697         * docs/gst/tmpl/gstregistrypool.sgml:
1698         * docs/gst/tmpl/gstscheduler.sgml:
1699         * docs/gst/tmpl/gstschedulerfactory.sgml:
1700         * docs/gst/tmpl/gststructure.sgml:
1701         * docs/gst/tmpl/gstsystemclock.sgml:
1702         * docs/gst/tmpl/gsttaglist.sgml:
1703         * docs/gst/tmpl/gsttagsetter.sgml:
1704         * docs/gst/tmpl/gsttrace.sgml:
1705         * docs/gst/tmpl/gsttrashstack.sgml:
1706         * docs/gst/tmpl/gsttypefind.sgml:
1707         * docs/gst/tmpl/gsttypefindfactory.sgml:
1708         * docs/gst/tmpl/gsttypes.sgml:
1709         * docs/gst/tmpl/gsturihandler.sgml:
1710         * docs/gst/tmpl/gsturitype.sgml:
1711         * docs/gst/tmpl/gstutils.sgml:
1712         * docs/gst/tmpl/gstvalue.sgml:
1713         * docs/gst/tmpl/gstversion.sgml:
1714         * docs/gst/tmpl/gstxml.sgml:
1715         * docs/libs/tmpl/gstcontrol.sgml:
1716         * docs/libs/tmpl/gstdataprotocol.sgml:
1717         * docs/libs/tmpl/gstdparam.sgml:
1718         * docs/libs/tmpl/gstdplinint.sgml:
1719         * docs/libs/tmpl/gstdpman.sgml:
1720         * docs/libs/tmpl/gstdpsmooth.sgml:
1721         * docs/libs/tmpl/gstgetbits.sgml:
1722         * docs/libs/tmpl/gstunitconvert.sgml:
1723         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
1724         (gst_push_src_base_init), (gst_push_src_class_init),
1725         (gst_push_src_init), (gst_push_src_create):
1726         * gst/base/gstpushsrc.h:
1727         * gst/elements/gstelements.c:
1728         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
1729         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
1730         (gst_fake_sink_init), (gst_fake_sink_set_property),
1731         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
1732         (gst_fake_sink_event), (gst_fake_sink_preroll),
1733         (gst_fake_sink_render), (gst_fake_sink_change_state):
1734         * gst/elements/gstfakesink.h:
1735         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1736         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1737         (gst_fake_src_base_init), (gst_fake_src_class_init),
1738         (gst_fake_src_init), (gst_fake_src_event_handler),
1739         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
1740         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
1741         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
1742         (gst_fake_src_create_buffer), (gst_fake_src_create),
1743         (gst_fake_src_start), (gst_fake_src_stop):
1744         * gst/elements/gstfakesrc.h:
1745         * gst/elements/gstfilesink.c: (_do_init),
1746         (gst_file_sink_base_init), (gst_file_sink_class_init),
1747         (gst_file_sink_init), (gst_file_sink_dispose),
1748         (gst_file_sink_set_location), (gst_file_sink_set_property),
1749         (gst_file_sink_get_property), (gst_file_sink_open_file),
1750         (gst_file_sink_close_file), (gst_file_sink_query),
1751         (gst_file_sink_event), (gst_file_sink_render),
1752         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
1753         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
1754         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
1755         * gst/elements/gstfilesink.h:
1756         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
1757         (gst_file_src_class_init), (gst_file_src_init),
1758         (gst_file_src_finalize), (gst_file_src_set_location),
1759         (gst_file_src_set_property), (gst_file_src_get_property),
1760         (gst_file_src_map_region), (gst_file_src_map_small_region),
1761         (gst_file_src_create_mmap), (gst_file_src_create_read),
1762         (gst_file_src_create), (gst_file_src_is_seekable),
1763         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
1764         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
1765         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
1766         (gst_file_src_uri_handler_init):
1767         * gst/elements/gstfilesrc.h:
1768           more autistic cleanliness in functions/names/defines
1769
1770 2005-07-13  Andy Wingo  <wingo@pobox.com>
1771
1772         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
1773         source couldn't negotiate.
1774
1775         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
1776         connections again.
1777
1778         * gst/gstutils.h:
1779         * gst/gstutils.c (gst_element_link_pads_filtered): New old
1780         function. I am channeling Hades. Put your boots on suckers!!!
1781
1782 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1783
1784         * testsuite/caps/Makefile.am:
1785         * testsuite/caps/value_compare.c:
1786         * testsuite/caps/value_intersect.c:
1787         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1788           move two testsuite apps over to the check dir
1789
1790 2005-07-12  Wim Taymans  <wim@fluendo.com>
1791
1792         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1793         Added more debug info in the negotiate process.
1794
1795         * gst/gstmessage.h:
1796         Prepare for segment playback.
1797
1798         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
1799         Better debugging.
1800
1801         * gst/gstutils.c:
1802         Some more docs.
1803
1804         * tools/gst-launch.c: (main):
1805         NULL pipeline on errors.
1806
1807 2005-07-12  Andy Wingo  <wingo@pobox.com>
1808
1809         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
1810         not it comes from a malloc region. Make sure our copy gets freed.
1811
1812 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1813
1814         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1815         * check/gst/gstmessage.c: (GST_START_TEST):
1816         * check/gst/gststructure.c: (GST_START_TEST),
1817         (gst_structure_suite), (main):
1818           more testing
1819         * gst/gstelement.c: (gst_element_message_full):
1820           clean up GError and debug string now that they get copied
1821         * gst/gstmessage.c: (gst_message_new_error),
1822         (gst_message_new_warning), (gst_message_parse_error),
1823         (gst_message_parse_warning):
1824           use GST_TYPE_G_ERROR for structure_new, and take copies of
1825           arguments, so that we don't mess up refcounting
1826
1827 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1828
1829         * check/Makefile.am:
1830           add per-test valgrind targets
1831         * check/gst-libs/gdp.c: (GST_START_TEST),
1832         (gst_data_protocol_suite), (main):
1833           clean up
1834
1835 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1836
1837         * check/Makefile.am:
1838           instate more valgrindable tests
1839         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1840         (GST_START_TEST), (fakesrc_suite):
1841         * check/gst/gstpad.c: (GST_START_TEST):
1842         * check/gst/gststructure.c: (GST_START_TEST):
1843           fix test leaks
1844         * docs/gst/tmpl/gstminiobject.sgml:
1845         * gst/gstpad.c: (gst_pad_finalize):
1846           fix the static mutex leak
1847
1848 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1849
1850         * check/Makefile.am:
1851           add two more tests for valgrinding
1852         * check/gst/gstvalue.c: (GST_START_TEST):
1853           test refcount of deserialized buffer, found a leak
1854         * docs/gst/gstreamer-docs.sgml:
1855         * docs/gst/gstreamer-sections.txt:
1856         * docs/gst/gstreamer.types:
1857         * docs/gst/tmpl/gstminiobject.sgml:
1858           add miniobject to docs
1859         * gst/gstminiobject.c:
1860           add some docs
1861         * gst/gstvalue.c: (gst_value_deserialize_buffer),
1862         (gst_string_unwrap):
1863           fix a hard-to-find invalid write for one of the tests
1864           fix a leak for deserialized buffers
1865
1866 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1867
1868         * docs/pwg/advanced-events.xml:
1869         * docs/pwg/advanced-request.xml:
1870         * docs/pwg/advanced-scheduling.xml:
1871         * docs/pwg/appendix-porting.xml:
1872         * docs/pwg/building-boiler.xml:
1873         * docs/pwg/intro-preface.xml:
1874         * docs/pwg/other-ntoone.xml:
1875           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
1876           of example code and explanation for pad activation, loop() and
1877           getrange() functions and a bit more. Remove old comments pointing
1878           to loop-functions.
1879         * examples/pwg/Makefile.am:
1880           Add loop/getrange examples.
1881
1882 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1883
1884         * configure.ac:
1885           check for valgrind binary + some fixes
1886         * check/gst.supp:
1887           valgrind suppressions for the tests
1888         * check/Makefile.am:
1889           add a valgrind: target that valgrinds the unit tests
1890         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
1891         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
1892         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1893         * check/gst/gstghostpad.c:
1894           added some cleanup
1895         * check/gst/gstdata.c:
1896           removed
1897         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
1898         (thread_unref), (gst_mini_object_suite), (main):
1899           added
1900         * gst/gst.c: (gst_deinit):
1901         * gst/gst.h:
1902           add a method to clean up.
1903         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1904         (gst_system_clock_obtain):
1905           allow for disposing the system clock.
1906         * tools/gst-launch.c: (main):
1907           deinit
1908
1909 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1910
1911         * docs/gst/tmpl/gstbasesrc.sgml:
1912         * docs/gst/tmpl/gstfakesrc.sgml:
1913         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1914         (gst_base_src_init), (gst_base_src_set_property),
1915         (gst_base_src_get_property), (gst_base_src_get_range),
1916         (gst_base_src_start):
1917         * gst/base/gstbasesrc.h:
1918           add num-buffers property
1919         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1920         (gst_fakesrc_init), (gst_fakesrc_set_property),
1921         (gst_fakesrc_get_property), (gst_fakesrc_create),
1922         (gst_fakesrc_start):
1923           remove num-buffers property
1924
1925 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1926
1927         * docs/gst/gstreamer-sections.txt:
1928         * docs/gst/tmpl/gstbasesink.sgml:
1929         * docs/gst/tmpl/gstbasesrc.sgml:
1930         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1931         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1932         (gst_base_sink_finalize), (gst_base_sink_set_clock),
1933         (gst_base_sink_set_property), (gst_base_sink_get_property),
1934         (gst_base_sink_handle_object), (gst_base_sink_event),
1935         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1936         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
1937         (gst_base_sink_loop), (gst_base_sink_deactivate),
1938         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
1939         (gst_base_sink_change_state):
1940         * gst/base/gstbasesink.h:
1941         * gst/base/gstbasesrc.h:
1942         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
1943         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1944         (gst_filesink_init):
1945           more macro splitting
1946
1947 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1948
1949         * gst/gstelement.c: (gst_element_get_bus):
1950           add debug
1951         * tools/gst-launch.c: (check_intr), (event_loop):
1952           fix bus leaks
1953
1954 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1955
1956         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1957           fix a caps leak
1958
1959 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1960
1961         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1962         (gst_base_src_finalize):
1963           add finalize method and clean up properly
1964         * gst/gstpipeline.c: (gst_pipeline_dispose):
1965           add debug
1966
1967 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1968
1969         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
1970         (gst_bin_suite):
1971           add more things to check
1972         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1973         * gst/gstelement.c:
1974           more debug
1975
1976 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1977
1978         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1979         (GST_START_TEST), (fakesrc_suite):
1980         * check/gst-libs/gdp.c: (GST_START_TEST):
1981         * check/gst/gst.c: (GST_START_TEST):
1982         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1983         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1984         * check/gst/gstbus.c: (GST_START_TEST):
1985         * check/gst/gstcaps.c: (GST_START_TEST):
1986         * check/gst/gstdata.c: (GST_START_TEST):
1987         * check/gst/gstelement.c: (GST_START_TEST):
1988         * check/gst/gstghostpad.c: (GST_START_TEST):
1989         * check/gst/gstiterator.c: (GST_START_TEST):
1990         * check/gst/gstmessage.c: (GST_START_TEST):
1991         * check/gst/gstobject.c: (GST_START_TEST):
1992         * check/gst/gstpad.c: (GST_START_TEST):
1993         * check/gst/gststructure.c: (GST_START_TEST):
1994         * check/gst/gstsystemclock.c: (GST_START_TEST),
1995         (gst_systemclock_suite):
1996         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1997         * check/gst/gstvalue.c: (GST_START_TEST):
1998         * check/pipelines/cleanup.c: (GST_START_TEST):
1999         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2000         * check/states/sinks.c: (GST_START_TEST):
2001         * check/gstcheck.c: (gst_check_init):
2002         * check/gstcheck.h:
2003           add debugging category
2004           use GST_START_TEST now, so we add a debug line
2005
2006 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2007
2008         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
2009           add test for state change message on a bin
2010         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
2011           add another test
2012         * gst/gstbin.c: (gst_bin_init):
2013         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
2014         * gst/gstelement.c: (gst_element_post_message),
2015         (gst_element_set_state):
2016         * gst/gstelementfactory.c: (gst_element_factory_create):
2017         * gst/gstmessage.c: (gst_message_new):
2018         * gst/gstscheduler.c:
2019           various debugging additions and cleanups
2020
2021 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2022
2023         * check/Makefile.am:
2024         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
2025         (main):
2026           adding tests for elements
2027         * gst/gstelement.c: (gst_element_dispose):
2028
2029 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2030
2031         * gst/registries/gstlibxmlregistry.c: (load_feature):
2032           plug more leaks.  A simple gst_init() now is leakfree, yay.
2033
2034 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2035
2036         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
2037         (gst_xml_registry_load):
2038           plug another memleak
2039
2040 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2041
2042         * configure.ac:
2043           use GST_SET_ERROR_CFLAGS
2044         * docs/faq/cvs.xml:
2045           change to ERROR_CFLAGS
2046
2047 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2048
2049         * configure.ac:
2050           make GST_ERROR_CFLAGS overridable and re-enable Werror
2051         * docs/faq/cvs.xml:
2052           add a note about error CFLAGS
2053         * docs/gst/tmpl/gstfakesrc.sgml:
2054         * gst/elements/gstfakesrc.c:
2055           comment out some unused code
2056         * gst/gst.c: (split_and_iterate):
2057         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
2058         (load_feature):
2059           plug some memleaks
2060
2061 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2062
2063         * common/Makefile.am:
2064         * common/gtk-doc.mak:
2065         * docs/gst/Makefile.am:
2066           factor out gtk-doc.mak
2067
2068 2005-07-07  Wim Taymans  <wim@fluendo.com>
2069
2070         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
2071         (gst_thread_scheduler_dispose):
2072         Unlock the STREAM_LOCK completely.
2073
2074 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2075
2076         * check/Makefile.am:
2077         * check/elements/.cvsignore:
2078         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2079         (START_TEST), (fakesrc_suite), (main):
2080         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2081         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2082         (gst_fakesrc_create), (gst_fakesrc_start):
2083         * gst/elements/gstfakesrc.h:
2084           adding a first element test
2085
2086 2005-07-07  Andy Wingo  <wingo@pobox.com>
2087
2088         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
2089         debug message.
2090
2091 2005-07-07  Wim Taymans  <wim@fluendo.com>
2092
2093         * gst/gstquery.c:
2094         * gst/gstquery.h:
2095         Remove old types
2096
2097 2005-07-07  Wim Taymans  <wim@fluendo.com>
2098
2099         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2100         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
2101         Allow subclasses to implement their own negotiation.
2102
2103 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2104
2105         * docs/design/part-gstbin.txt:
2106         * docs/design/part-gstpipeline.txt:
2107           Update design notes to reflect the movement of
2108           responsibility for bus handling from GstPipeline to
2109           GstBin
2110
2111 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2112
2113         * configure.ac:
2114           Remove unnecessary queue2/3/4 examples.
2115
2116 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2117
2118         * examples/Makefile.am:
2119         * examples/helloworld/helloworld.c: (event_loop), (main):
2120         * examples/queue/queue.c: (event_loop), (main):
2121         * examples/queue2/queue2.c: (main):
2122           Update a couple of the examples to work again.
2123
2124         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2125         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2126          Spelling corrections and extra debug.
2127         
2128         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2129         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2130         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2131         * gst/gstbin.h:
2132         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2133         (gst_pipeline_change_state):
2134         * gst/gstpipeline.h:
2135           Move the bus handler for children to the GstBin, and create a
2136           separate bus for receiving messages from children to the one the
2137           bus sends 'upwards' on.
2138
2139 2005-07-06  Wim Taymans  <wim@fluendo.com>
2140
2141         * gst/base/README:
2142         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2143         (gst_base_sink_handle_object), (gst_base_sink_loop),
2144         (gst_base_sink_change_state):
2145         * gst/base/gstbasesink.h:
2146         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2147         (gst_base_src_init), (gst_base_src_setcaps),
2148         (gst_base_src_getcaps), (gst_base_src_loop),
2149         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2150         (gst_base_src_start), (gst_base_src_change_state):
2151         * gst/base/gstbasesrc.h:
2152         Make basesrc negotiate.
2153         Handle the case where preroll fails in basesink.
2154         Update README.
2155
2156 2005-07-06  Wim Taymans  <wim@fluendo.com>
2157
2158         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2159         Implement the fixate function.
2160         Clean up acceptcaps.
2161
2162 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2163
2164         * docs/pwg/building-filterfactory.xml:
2165         * docs/pwg/pwg.xml:
2166           Remove never-written filter-factory chapter; I'll add the various
2167           base classes to part 4 ("other element types") later on.
2168
2169 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2170
2171         * docs/pwg/advanced-negotiation.xml:
2172         * docs/pwg/building-boiler.xml:
2173         * docs/pwg/building-pads.xml:
2174         * docs/pwg/pwg.xml:
2175         * examples/pwg/Makefile.am:
2176           Add a chapter on caps negotiation, simplify the original code
2177           samples a bit w.r.t. caps negotiation, add link to the advanced
2178           section. Add a bunch of examples showing different use cases of
2179           different types of caps negotiation. Upstream renegotiation isn't
2180           fully documented yet since nobody knows how that works.
2181
2182 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2183
2184         * check/gst/gstpad.c:
2185         * check/gstcheck.c:
2186         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2187           if pad has no parent, return NULL as list of internal links
2188
2189 2005-07-05  Andy Wingo  <wingo@pobox.com>
2190
2191         * gst/elements/gstfilesrc.c:
2192         * gst/elements/gstfakesrc.c: 
2193         * gst/base/gstpushsrc.c:
2194         * gst/base/gstbasesrc.h: 
2195         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2196         
2197 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2198
2199         * Makefile.am:
2200           better report generation target (lcov needs a patch)
2201
2202 2005-07-05  Andy Wingo  <wingo@pobox.com>
2203
2204         * gst/elements, testsuite: Null if we got it...
2205
2206 2005-07-05  Wim Taymans  <wim@fluendo.com>
2207
2208         * configure.ac:
2209         * libs/gst/dataprotocol/Makefile.am:
2210         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2211         * libs/gst/dataprotocol/dataprotocol.h:
2212         * pkgconfig/Makefile.am:
2213         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2214         * pkgconfig/gstreamer-dataprotocol.pc.in:
2215         Ported dataprotol to 0.9. 
2216         Added pkgconfig files.
2217
2218 2005-07-05  Andy Wingo  <wingo@pobox.com>
2219
2220         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2221         Default to returning TRUE for the case when tranform_caps returns
2222         a fixed caps, like for identity or volume.
2223
2224         * check/gst/gstbus.c (pound_bus_with_messages): 
2225         * check/gst/gstmessage.c (START_TEST): 
2226         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2227         message API change.
2228
2229         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2230         logic weaks here: always run transform_caps, trying passthrough
2231         operation only if the original caps intersects with the transform.
2232
2233         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2234         source and sink caps.
2235
2236         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2237         Intersect the peer caps with the pad template before going into
2238         transform_caps.
2239         (gst_base_transform_transform_caps): More debugging.
2240
2241         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2242         src argument.
2243
2244 2005-07-04  Edward Hervey  <edward@fluendo.com>
2245
2246         * gst/gstutils.c:
2247         * gst/gstutils.h:
2248         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2249         in bindings.
2250
2251 2005-07-04  Andy Wingo  <wingo@pobox.com>
2252
2253         * check/gst/gstpad.c: Only set explicit caps on pads.
2254
2255 2005-07-01  Andy Wingo  <wingo@pobox.com>
2256
2257         * tests/network-clock.scm: Commentary update.
2258
2259         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2260         Didn't really make sense, not implementable with basetransform,
2261         etc.
2262         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2263         attempt at implementing the sync property, needs an unlock method.
2264
2265         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2266         New func, by default returns the same caps (the identity
2267         transformation).
2268         (gst_base_transform_getcaps): Uses transform_caps to return
2269         something sensible.
2270         (gst_base_transform_setcaps): Complicated logic to get caps on
2271         both pads, even if they are different, and to call set_caps once
2272         for every time both pads get their caps set.
2273         (gst_base_transform_handle_buffer): Give the ref to the transform
2274         function. Allows in-place modification of the buffer.
2275
2276         * gst/base/gstbasetransform.h (transform_caps): New class method.
2277         Given caps on one side, what can I do on the other.
2278         (set_caps): Take two caps, one for each side of the element.
2279
2280         * gst/gstpad.h:
2281         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2282         caps in place. This is safe because we can check the mutability of
2283         the caps, and a good idea because fixate functions are just called
2284         as a matter of last resort. (Not actually implemented.)
2285         (gst_pad_set_caps): If the caps we're setting is actually the same
2286         as the existing pad caps, just update the pointer without calling
2287         setcaps. Assert that caps is either NULL or fixed, as per the
2288         docs.
2289
2290         * gst/gstghostpad.c: Update for fixate changes.
2291
2292 2005-07-02  Andy Wingo  <wingo@pobox.com>
2293
2294         * gst/gstcaps.c:
2295         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2296         two refcounts makes it immutable, which is enough. Doc more.
2297
2298 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2299
2300         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2301           Put the mini_object into GValue as a mini_object,
2302           not a gpointer, since that's how we declared
2303           the signal.
2304
2305 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2306
2307         * examples/pwg/Makefile.am:
2308           Fix buildbot again.
2309
2310 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2311
2312         * docs/pwg/building-testapp.xml:
2313           Add extra check.
2314         * examples/pwg/Makefile.am:
2315           Fix buildbot.
2316
2317 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2318
2319         * configure.ac:
2320         * examples/Makefile.am:
2321         * examples/pwg/Makefile.am:
2322         * examples/pwg/extract.pl:
2323           Enable building the PWG examples.
2324         * docs/pwg/advanced-interfaces.xml:
2325           Add URI interface stub.
2326         * docs/pwg/advanced-types.xml:
2327         * docs/pwg/other-autoplugger.xml:
2328         * docs/pwg/appendix-porting.xml:
2329         * docs/pwg/pwg.xml:
2330           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2331         * docs/pwg/building-boiler.xml:
2332         * docs/pwg/building-chainfn.xml:
2333         * docs/pwg/building-pads.xml:
2334         * docs/pwg/building-props.xml:
2335         * docs/pwg/building-state.xml:
2336         * docs/pwg/building-testapp.xml:
2337           Update the building-*.xml parts for 0.9 changes. All examples
2338           code blocks compile in examples/pwg/*.
2339
2340 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2341
2342         * docs/manual/advanced-autoplugging.xml:
2343         * docs/manual/appendix-checklist.xml:
2344         * docs/manual/appendix-integration.xml:
2345         * docs/manual/highlevel-components.xml:
2346           Fix playbin/decodebin examples, update docs a bit, mention bus
2347           instead of signals in various places, mention kmplayer and
2348           kaffeine since they have a working GStreamer backend in the KDE
2349           section.
2350
2351 2005-06-30  Wim Taymans  <wim@fluendo.com>
2352
2353         * CHANGES-0.9:
2354         * docs/design/draft-ghostpads.txt:
2355         * docs/design/draft-push-pull.txt:
2356         * docs/design/draft-query.txt:
2357         * docs/design/part-TODO.txt:
2358         * docs/design/part-query.txt:
2359         Added CHANGES-0.9 doc, updated status of other docs.
2360         
2361         * gst/gstquery.h:
2362         Remove "hmm" macro
2363
2364 2005-06-30  Wim Taymans  <wim@fluendo.com>
2365
2366         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2367         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2368         (gst_base_sink_change_state):
2369         * gst/base/gstbasesink.h:
2370         Some tweaks, only EOS and a buffer complete a preroll.
2371
2372 2005-06-30  Andy Wingo  <wingo@pobox.com>
2373
2374         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2375         activate_push down to the internal pad as well.
2376
2377 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2378
2379         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2380
2381         * gst/gsttaginterface.c:
2382           Some documentation fixes (#307394 and #307397).
2383
2384 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2385
2386         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2387
2388         * gst/gstvalue.c: (gst_value_intersect_list):
2389           Fix memleak (#309125).
2390
2391 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2392
2393         * docs/manual/advanced-dataaccess.xml:
2394           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2395         * docs/manual/basics-pads.xml:
2396           Add reference for filtered caps to above chapter.
2397
2398 2005-06-30  Wim Taymans  <wim@fluendo.com>
2399
2400         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2401         (gst_bin_change_state):
2402         Probes are gone.
2403         Lame attempt at making the state change function a bit
2404         more readable.
2405
2406 2005-06-30  Wim Taymans  <wim@fluendo.com>
2407
2408         * docs/design/part-clocks.txt:
2409         * docs/design/part-element-sink.txt:
2410         * docs/design/part-events.txt:
2411         * docs/design/part-preroll.txt:
2412         * docs/design/part-states.txt:
2413         Some more tweeks and additions to the docs.
2414
2415 2005-06-30  Wim Taymans  <wim@fluendo.com>
2416
2417         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2418         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2419         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2420         (gst_pad_check_pull_range), (gst_pad_get_range),
2421         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2422         * gst/gstpad.h:
2423         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2424         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2425         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2426         (gst_pad_remove_buffer_probe):
2427         Removed atomic operations, use existing LOCK.
2428         Move exception handling out of main code path.
2429
2430 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2431
2432         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2433         (silly_return_true_function), (gst_pad_class_init),
2434         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2435         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2436         (gst_pad_send_event):
2437           Fix accumulator, add default value by using _emitv() instead
2438           of _emit() for signal emission.
2439
2440 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2441
2442         * docs/manual/advanced-dataaccess.xml:
2443         * examples/manual/Makefile.am:
2444           Add probe example.
2445         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2446           Make work (??).
2447
2448 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
2449
2450         * gst/elements/gstfilesink.c: (gst_filesink_render):
2451           Simplify code so that we don't have to handle short
2452           writes and return GST_FLOW_ERROR if an error occured.
2453
2454 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2455
2456         * docs/gst/gstreamer-docs.sgml:
2457           Remove probes more.
2458
2459 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2460
2461         * docs/gst/gstreamer-sections.txt:
2462         * docs/gst/tmpl/gstpad.sgml:
2463         * docs/gst/tmpl/gstprobe.sgml:
2464         * gst/Makefile.am:
2465         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2466         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2467         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2468         (gst_pad_push_event), (gst_pad_send_event):
2469         * gst/gstpad.h:
2470         * gst/gstutils.c: (gst_pad_add_data_probe),
2471         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2472         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2473         (gst_pad_remove_buffer_probe):
2474         * gst/gstutils.h:
2475           Remove old probes, add new g-signal-based probes and some utility
2476           functions.
2477
2478 2005-06-29  Edward Hervey  <edward@fluendo.com>
2479
2480         * gst/gstelementfactory.c:
2481         * gst/gstutils.h:
2482         * gst/gstutils.c:
2483         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2484         the definition to the header file.
2485
2486 2005-06-29  Andy Wingo  <wingo@pobox.com>
2487
2488         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2489         plugins from the source directory.
2490
2491 2005-06-29  Wim Taymans  <wim@fluendo.com>
2492
2493         * docs/gst/tmpl/gstbuffer.sgml:
2494         * docs/gst/tmpl/gstclock.sgml:
2495         Some fixings for blantently wrong text.
2496
2497 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2498
2499         * check/Makefile.am:
2500         * gst/gst.c: (add_path_func), (init_pre):
2501         * gst/gstregistry.c: (gst_registry_add_path):
2502           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2503           only scan the GST_PLUGIN_PATH locations, and not add
2504           system locations
2505
2506 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2507
2508         * docs/gst/gstreamer-sections.txt:
2509         * docs/gst/tmpl/gstbasesrc.sgml:
2510         * gst/gstelement.c:
2511         * gst/gstelement.h:
2512         * gst/gstevent.c:
2513         * gst/gstutils.c:
2514           doc fixes
2515
2516 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2517
2518         * docs/manual/advanced-autoplugging.xml:
2519           Fix autoplugging example.
2520
2521 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2522
2523         * docs/manual/advanced-autoplugging.xml:
2524         * docs/manual/mime-world.fig:
2525           Try to get autoplugging working, fix type detection. Fix text
2526           in hello-world image.
2527
2528 2005-06-29  Wim Taymans  <wim@fluendo.com>
2529
2530         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2531         (gst_base_sink_change_state):
2532         Small debug line.
2533
2534         * gst/gstclock.h:
2535         map SIGNAL and BROADCAST to the right function.
2536
2537         * gst/gstobject.h:
2538         Remove redundant braces.
2539
2540         * gst/gstpad.c: (gst_pad_set_caps):
2541         Don't call setcaps function when reseting caps to NULL.
2542
2543         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2544         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
2545         (gst_system_clock_id_unschedule):
2546         Use BROADCAST as this is what we do.
2547
2548 2005-06-29  Wim Taymans  <wim@fluendo.com>
2549
2550         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2551         We are actually prerolling before commiting the state
2552         change. 
2553
2554 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2555
2556         * docs/manual/advanced-clocks.xml:
2557         * docs/manual/advanced-interfaces.xml:
2558         * docs/manual/advanced-metadata.xml:
2559         * docs/manual/advanced-position.xml:
2560         * docs/manual/advanced-schedulers.xml:
2561         * docs/manual/advanced-threads.xml:
2562         * docs/manual/appendix-porting.xml:
2563         * docs/manual/basics-bins.xml:
2564         * docs/manual/basics-bus.xml:
2565         * docs/manual/basics-elements.xml:
2566         * docs/manual/basics-helloworld.xml:
2567         * docs/manual/basics-pads.xml:
2568         * docs/manual/highlevel-components.xml:
2569         * docs/manual/manual.xml:
2570         * docs/manual/thread.fig:
2571           Update (until threads/scheduling) Application Development Manual;
2572           remove GstThread, add GstBus, add simple porting checklist, add
2573           documentation for tag writing, clocks, make all examples until this
2574           part compile and run.
2575         * examples/manual/Makefile.am:
2576           Update from changes to Application Development Manual; add bus
2577           example, remove thread example.
2578
2579 2005-06-28  Wim Taymans  <wim@fluendo.com>
2580
2581         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
2582         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
2583         (gst_bus_source_dispatch):
2584         Add debugging messages.
2585         Make internal methods static.
2586         Handle the case where the bus is flushed in the handler.
2587         
2588         * gst/gstelement.c: (gst_element_get_bus):
2589         Fix refcount in _get_bus();
2590
2591         * gst/gstpipeline.c: (gst_pipeline_change_state),
2592         (gst_pipeline_get_clock_func):
2593         Clock refcounting fixes.
2594         Handle the case where preroll timed out more gracefully.
2595         
2596         * gst/gstsystemclock.c: (gst_system_clock_dispose):
2597         Clean up the internal thread in dispose. This is needed
2598         for subclasses that actually get disposed.
2599         
2600         * gst/schedulers/threadscheduler.c:
2601         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2602         (gst_thread_scheduler_dispose):
2603         Free thread pool in dispose.
2604
2605 2005-06-28  Andy Wingo  <wingo@pobox.com>
2606
2607         * tests/network-clock-utils.scm (debug, print-event): New utils.
2608
2609         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
2610         (*packet-loss*): Unified loss probability.
2611         (network-time): Report out-of-band events.
2612
2613         * tests/plot-data: Add support for out-of-band events. Hack it
2614         into this script instead of passing it down the pipe; should fix
2615         this later.
2616
2617 2005-06-28  Wim Taymans  <wim@fluendo.com>
2618
2619         * docs/gst/gstreamer.types:
2620         * docs/gst/tmpl/gstbasesrc.sgml:
2621         * docs/gst/tmpl/gstpad.sgml:
2622         Docs fixes.
2623
2624 2005-06-28  Wim Taymans  <wim@fluendo.com>
2625
2626         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2627         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
2628         (gst_proxy_pad_do_fixatecaps):
2629         Correctly proxy the check_pull_range function.
2630
2631 2005-06-28  Andy Wingo  <wingo@pobox.com>
2632
2633         * tests/network-clock.scm: Removed need for slib.
2634         
2635 2005-06-28  Wim Taymans  <wim@fluendo.com>
2636
2637         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
2638         (gst_basesink_preroll_queue_flush):
2639         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
2640         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
2641         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2642         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2643         (gst_proxy_pad_set_property):
2644         * gst/gstpad.c:
2645         * gst/gstpad.h:
2646         * gst/gstqueue.c: (gst_queue_init):
2647         The deprecated pad loop function is removed now.
2648
2649 2005-06-28  Andy Wingo  <wingo@pobox.com>
2650
2651         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
2652         New parameters, simulate network packet loss.
2653
2654         * tests/network-clock-utils.scm: Initialize the RNG.
2655
2656 2005-06-28  Wim Taymans  <wim@fluendo.com>
2657
2658         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
2659         (gst_basesink_event), (gst_basesink_deactivate):
2660         Flushing the preroll queue always needs to unlock the waiters.
2661
2662 2005-06-28  Edward Hervey  <edward@fluendo.com>
2663
2664         * gst/gstpipeline.c: (gst_pipeline_send_event): 
2665         Wheen a seek was successful on a pipeline, set the stream_time to the
2666         seek offset in order to have a synchronized stream_time.
2667
2668 2005-06-28  Wim Taymans  <wim@fluendo.com>
2669
2670         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2671         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
2672         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
2673         (gst_proxy_pad_do_fixatecaps):
2674         Call wrapper function instead of just calling the function
2675         pointers. This takes care of any locking and whatmore.
2676
2677 2005-06-28  Wim Taymans  <wim@fluendo.com>
2678
2679         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
2680         (gst_pad_pull_range):
2681         * gst/gstpad.h:
2682         CONNECTED -> LINKED.
2683
2684 2005-06-28  Andy Wingo  <wingo@pobox.com>
2685
2686         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
2687         source-munging commit!!!
2688
2689         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
2690         (gst_object_sink): Take gpointer arguments, not GstObject --
2691         avoids casts. Like GLib.
2692
2693         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
2694         activate.
2695
2696 2005-06-27  Andy Wingo  <wingo@pobox.com>
2697
2698         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
2699         remaining buffer.
2700
2701         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
2702         returns a sorted copy of the trace list.
2703         (gst_alloc_trace_print_live): New API, only prints traces with
2704         live objects. Sort the list.
2705         (gst_alloc_trace_print_all): Sort the list.
2706         (gst_alloc_trace_print): Align columns.
2707
2708         * gst/elements/gstttypefindelement.c:
2709         * gst/elements/gsttee.c:
2710         * gst/base/gstbasesrc.c:
2711         * gst/base/gstbasesink.c:
2712         * gst/base/gstbasetransform.c:
2713         * gst/gstqueue.c: Adapt for pad activation changes.
2714
2715         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
2716         sched.
2717         (gst_pipeline_dispose): Drop ref on sched.
2718
2719         * gst/gstpad.c (gst_pad_init): Set the default activate func.
2720         (gst_pad_activate_default): Push mode by default.
2721         (pre_activate_switch, post_activate_switch): New stubs, things to
2722         do before and after switching activation modes on pads.
2723         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
2724         the pad's activate function to choose which mode to activate.
2725         Shortcut on deactivation and call the right function directly.
2726         (gst_pad_activate_pull): New API, (de)activates a pad in pull
2727         mode.
2728         (gst_pad_activate_push): New API, same for push mode.
2729         (gst_pad_set_activate_function) 
2730         (gst_pad_set_activatepull_function) 
2731         (gst_pad_set_activatepush_function): Setters for new API.
2732
2733         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
2734         Trace all miniobjects.
2735         (gst_mini_object_make_writable): Unref the arg if we copy, like
2736         gst_caps_make_writable.
2737
2738         * gst/gstmessage.c (_gst_message_initialize): No trace init.
2739
2740         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
2741         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
2742         Adapt for new pad API.
2743
2744         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
2745
2746         * gst/gstelement.h:
2747         * gst/gstelement.c (gst_element_iterate_src_pads) 
2748         (gst_element_iterate_sink_pads): New API functions.
2749         
2750         * gst/gstelement.c (iterator_fold_with_resync): New utility,
2751         should fold into gstiterator.c in some form.
2752         (gst_element_pads_activate): Simplified via use of fold and
2753         delegation of decisions to gstpad->activate.
2754
2755         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
2756         help in debugging.
2757
2758         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
2759         class once in init, like gstmessage. Didn't run into this issue
2760         but it seems correct. Don't initialize a trace, gstminiobject does
2761         that.
2762
2763         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
2764         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
2765         to the bus.
2766         (assert_live_count): New util function, uses alloc traces to check
2767         cleanup.
2768
2769         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
2770         To be modified when unlink drops the internal pad.
2771
2772 2005-06-27  Wim Taymans  <wim@fluendo.com>
2773
2774         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
2775         (gst_bin_change_state):
2776         Cleanup the get_state() function a little, make sure it
2777         iterates the same set of elements.
2778         Added stub iterate_state_order().
2779
2780 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2781
2782         * docs/gst/gstreamer-docs.sgml:
2783         * docs/gst/gstreamer-sections.txt:
2784         * docs/gst/gstreamer.types:
2785         * docs/gst/tmpl/gstbasesink.sgml:
2786         * docs/gst/tmpl/gstbasesrc.sgml:
2787         * docs/gst/tmpl/gstbasetransform.sgml:
2788         * docs/gst/tmpl/gstelement.sgml:
2789         * docs/gst/tmpl/gstiterator.sgml:
2790         * gst/base/gstbasesrc.c:
2791         * gst/base/gstbasesrc.h:
2792         * gst/base/gstbasetransform.h:
2793         * gst/gstelement.c:
2794         * gst/gstiterator.h:
2795           adding basetransform and iterator docs
2796
2797 2005-06-27  Andy Wingo  <wingo@pobox.com>
2798
2799         * docs/design/part-activation.txt: Notes on how activation should
2800         work -- not quite implemented yet.
2801
2802 2005-06-25  Wim Taymans  <wim@fluendo.com>
2803
2804         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
2805         At least get the chain function correct, needs more
2806         fixing.
2807
2808 2005-06-25  Wim Taymans  <wim@fluendo.com>
2809
2810         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2811         (gst_basesink_handle_object), (gst_basesink_event),
2812         (gst_basesink_do_sync), (gst_basesink_handle_event),
2813         (gst_basesink_change_state):
2814         * gst/gsttask.h:
2815         Right, two problems here: ghostpads don't take locks and
2816         glib _rec_mutex_lock_full() with depth==0 still locks.
2817         Catch illegal locking and g_warn them.
2818
2819 2005-06-25  Wim Taymans  <wim@fluendo.com>
2820
2821         * check/states/sinks.c: (START_TEST), (gst_object_suite):
2822         Have to check for completion now...
2823
2824 2005-06-25  Wim Taymans  <wim@fluendo.com>
2825
2826         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
2827         (gst_basesink_handle_object), (gst_basesink_event),
2828         (gst_basesink_do_sync), (gst_basesink_handle_event),
2829         (gst_basesink_change_state):
2830         * gst/gstpad.h:
2831         Unlock STREAM_LOCK whatever the recursion was.
2832
2833 2005-06-25  Wim Taymans  <wim@fluendo.com>
2834
2835         * gst/base/gstbasesink.c: (gst_basesink_set_property),
2836         (gst_basesink_preroll_queue_empty),
2837         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
2838         (gst_basesink_event), (gst_basesink_do_sync),
2839         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
2840         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
2841         (gst_basesink_change_state):
2842         Reworked the base sink, handle event and buffer serialisation
2843         correctly and removed possible deadlock.
2844         Handle EOS correctly.
2845
2846 2005-06-25  Wim Taymans  <wim@fluendo.com>
2847
2848         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
2849         (gst_pipeline_change_state):
2850         * tools/gst-launch.c: (check_intr), (event_loop), (main):
2851         Allow elements to post EOS in the state change function.
2852         Fix up -launch, make it exit the poll loop when the
2853         pipeline actually changed state.
2854         Fix up warning parsing in -launch.
2855
2856 2005-06-25  Wim Taymans  <wim@fluendo.com>
2857
2858         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
2859         (gst_tee_sink_activate):
2860         Core takes STREAM_LOCK for us now.
2861
2862 2005-06-25  Wim Taymans  <wim@fluendo.com>
2863
2864         * gst/gstelement.c: (gst_element_get_state_func),
2865         (gst_element_set_state):
2866         * gst/gstelement.h:
2867         * gst/gstmessage.c: (gst_message_parse_error),
2868         (gst_message_parse_warning):
2869         Keep track of current target state while performing a state
2870         change so that subclasses can do something interesting.
2871         Fix parsing of warning/error messages when GError is NULL.
2872
2873 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2874
2875         * docs/gst/Makefile.am:
2876         * docs/gst/gstreamer-docs.sgml:
2877         * docs/gst/gstreamer-sections.txt:
2878         * docs/gst/gstreamer.types:
2879         * docs/gst/tmpl/gstbasesink.sgml:
2880         * docs/gst/tmpl/gstbasesrc.sgml:
2881         * docs/gst/tmpl/gstbin.sgml:
2882         * docs/gst/tmpl/gstcompat.sgml:
2883         * docs/gst/tmpl/gstfakesink.sgml:
2884         * docs/gst/tmpl/gstfakesrc.sgml:
2885         * docs/gst/tmpl/gstfilesink.sgml:
2886         * docs/gst/tmpl/gstfilesrc.sgml:
2887         * docs/gst/tmpl/gstindex.sgml:
2888         * docs/manual/appendix-quotes.xml:
2889         * gst/base/gstbasesrc.h:
2890         * gst/elements/gstfakesrc.h:
2891         * gst/gstmessage.h:
2892           start pulling in base classes and elements in our docs
2893
2894 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
2895
2896         * docs/gst/Makefile.am:
2897         * docs/libs/Makefile.am:
2898           fixed make distcheck with gtk-doc 1.3
2899
2900 2005-06-23  Wim Taymans  <wim@fluendo.com>
2901
2902         * gst/gstelement.c: (gst_element_get_state_func),
2903         (gst_element_set_state), (gst_element_change_state):
2904         When the state did not change, also report NO_PREROLL
2905         when it matters.
2906
2907 2005-06-23  Wim Taymans  <wim@fluendo.com>
2908
2909         * gst/gstpad.c: (gst_pad_event_default):
2910         * gst/gstqueue.c: (gst_queue_loop):
2911         No unsafe task pausing please.
2912
2913 2005-06-23  Wim Taymans  <wim@fluendo.com>
2914
2915         * gst/schedulers/threadscheduler.c:
2916         (gst_thread_scheduler_task_start),
2917         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
2918         Ref the task before pushing it on the threadpool. This
2919         makes sure that we have a ref when the threadfunction is
2920         actually called.
2921
2922 2005-06-23  Andy Wingo  <wingo@pobox.com>
2923
2924         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
2925         offset is greater than the file's size.
2926
2927         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
2928         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
2929         * gst/gstobject.c (gst_object_class_init): Make the class lock
2930         recursive. Wim won't let me drop deep_notify. Decodebin works
2931         again, whoopdy doo.
2932
2933         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
2934         internal pad, and hacks accordingly. Doesn't do it on the target
2935         pad because we change its caps. Probably catches all cases of
2936         interest tho.
2937         (gst_ghost_pad_set_property): Connect to notify::caps as
2938         appropritate.
2939
2940         * tests/network-clock.scm (plot-simulation): Pipe data to the
2941         elite python skript.
2942
2943         * tests/network-clock-utils.scm (define-parameter): New macro,
2944         defines a parameter that can be set via the command line.
2945         (set-parameter!, parse-parameter-arguments): Command line args
2946         parser.
2947
2948         * tests/plot-data: Simple matplotlib-based plotter, takes input on
2949         stdin.
2950
2951 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
2952
2953         * gst/elements/gsttypefindelement.c:
2954         (gst_type_find_element_handle_event):
2955           Don't restart typefinding on a discont.
2956         * gst/gstelement.c: (gst_element_set_state):
2957           Debug spelling fix.
2958         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
2959           Allow changing mode of an active pad.
2960           Debug output fixes.
2961         * gst/registries/gstlibxmlregistry.c: (load_feature):
2962           Don't cast a static pad template to a normal pad template.
2963
2964 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2965
2966         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2967         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2968           remove gst_strtoll completely, since it didn't actually do
2969           anything more than what g_ascii_strtoull already does.
2970           check for range errors when deserializing
2971           do a cast for the unsigned cases; but further fixing needs
2972           a decision on what the interpretation of "(int)" and
2973           deserialization should be for values that fall outside the
2974           type's boundaries (ie, refuse, or interpret as casting)
2975
2976 2005-06-23  Wim Taymans  <wim@fluendo.com>
2977
2978         * check/Makefile.am:
2979         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2980         * docs/design/part-live-source.txt:
2981         * docs/design/part-states.txt:
2982         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2983         (gst_basesrc_set_live), (gst_basesrc_is_live),
2984         (gst_basesrc_get_range), (gst_basesrc_activate),
2985         (gst_basesrc_change_state):
2986         * gst/base/gstbasesrc.h:
2987         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2988         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2989         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2990         * gst/gstelement.c: (gst_element_get_state_func),
2991         (gst_element_set_state):
2992         * gst/gstelement.h:
2993         * gst/gsttypes.h:
2994         * tools/gst-launch.c: (event_loop), (main):
2995         Added support for live sources and other elements that
2996         cannot do preroll.
2997         Updated design docs, added live-source design doc.
2998         Implemented live source functionality in basesrc
2999         Fix error condition in _bin_get_state()
3000         Implement live source handling in -launch.
3001         Added check for live sources.
3002         Fixed case in GstBin where elements were changed state
3003         multiple times.
3004
3005
3006 2005-06-23  Andy Wingo  <wingo@pobox.com>
3007
3008         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
3009         borken refcounting.
3010
3011         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
3012         gst_caps_replace takes care of this for us.
3013
3014         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
3015         gst_pad_set_caps on the target, not just its setcaps() function.
3016
3017         * tests/network-clock.scm: 
3018         * tests/network-clock-utils.scm: A network clock simulator.
3019         Something of an algorithmic testbed before doing something in C.
3020
3021 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3022
3023         * check/Makefile.am:
3024         * check/gst/capslist.h:
3025           copy over from 0.8, and add two with bitmasks specified with
3026           (int) 0xFF...
3027         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3028           add test to parse everything from capslist.h
3029         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
3030         (main):
3031           add test for structure deserialization
3032         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3033           add tests for deserialization of strings to int types
3034         * gst/gststructure.c: (gst_structure_nth_field_name):
3035         * gst/gststructure.h:
3036           add a way to get the name of a field referenced by index
3037         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3038           instead of checking if the resulting long long lies between
3039           min and max, we check if the long long would fit into
3040           a number of bytes for the final type.
3041           This fixes cases where a string represents 2^32 - 1, which
3042           when cast to int would be the (valid) -1, but is bigger than
3043           G_MAXINT
3044
3045 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3046
3047         * gst/parse/grammar.y:
3048           add a log line for type deserialization
3049
3050 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3051
3052         * check/gst/gstvalue.c: (START_TEST):
3053         * gst/gstvalue.c: (gst_value_deserialize):
3054           return long long, not int, so gint64 deserialization actually
3055           works.  Is there any flag that makes the compiler check this ?
3056           Fixes #308559
3057
3058 2005-06-22  Wim Taymans  <wim@fluendo.com>
3059
3060         * gst/gstbuffer.h:
3061         Added convenience macros for setting buffers in GValue.
3062
3063 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3064
3065         * check/gst/.cvsignore:
3066         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3067           add a test deserializing int64, and comment part out because
3068           it fails, yay !
3069
3070 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3071
3072         * check/Makefile.am:
3073         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
3074         * testsuite/Makefile.am:
3075         * testsuite/caps/Makefile.am:
3076         * testsuite/caps/value_serialize.c:
3077         * testsuite/test_gst_init.c:
3078           move a value_serialize test over
3079
3080 2005-06-20  Wim Taymans  <wim@fluendo.com>
3081
3082         * gst/gstpad.c:
3083         Small doc updates.
3084         
3085         * gst/gstvalue.c: (gst_value_compare_buffer),
3086         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
3087         (gst_value_compare_flags), (gst_value_serialize_flags),
3088         (gst_value_deserialize_flags), (_gst_value_initialize):
3089         Fix serialisation of buffers, they are not boxed types anymore
3090
3091 2005-06-20  Wim Taymans  <wim@fluendo.com>
3092
3093         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3094         Testcase to show error in buffer-on-caps serialisation.
3095
3096 2005-06-20  Andy Wingo  <wingo@pobox.com>
3097
3098         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
3099         will be adding to later.
3100
3101         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
3102         if its socks fill with rocks.
3103         (gst_system_clock_obtain): Set the name on object construction.
3104         Avoid double-checked locking.
3105
3106 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
3107
3108         * gst/gsturi.c: (gst_element_make_from_uri):
3109           Fix potential endless loop.
3110
3111 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3112
3113         * check/Makefile.am:
3114           add gsttag
3115         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
3116         (main):
3117           move over from testsuite dir and clean up
3118         * configure.ac:
3119         * gst/gsttag.c:
3120         * testsuite/Makefile.am:
3121         * testsuite/tags/.cvsignore:
3122         * testsuite/tags/Makefile.am:
3123         * testsuite/tags/merge.c:
3124           remove testsuite/tags
3125
3126 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3127
3128         * docs/gst/gstreamer-sections.txt:
3129         * docs/gst/tmpl/gstenumtypes.sgml:
3130         * win32/gstenumtypes.c:
3131           clean up documentation build a little
3132
3133 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3134
3135         * check/gstcheck.h:
3136           add macros for checking refcounts on objects and caps
3137         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3138           add some more unit tests
3139         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3140         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3141           fix leaked refcounts (I hope :)) so unittest works
3142         * gst/gstpad.h:
3143           whitespace removal
3144
3145 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3146
3147         * configure.ac: back to HEAD
3148
3149 === release 0.9.1 ===
3150
3151 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3152
3153         * NEWS:
3154         * RELEASE:
3155           updated
3156
3157 2005-06-17  Andy Wingo  <wingo@pobox.com>
3158
3159         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3160         assert; it's always possible that the pad gets deactivated in
3161         between the checks in gstpad.c and the implementation. Rely on
3162         finish_preroll() to return a FLUSHING or similar instead of on the
3163         assert.
3164         
3165         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3166         clock and post an EOS message if we come out of finish_preroll in
3167         the playing state.
3168
3169 2005-06-16  David Schleef  <ds@schleef.org>
3170
3171         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3172         (gst_capsfilter_set_property): Allow NULL as possible value
3173         for filter_caps property, indicating GST_CAPS_ANY.
3174
3175 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3176
3177         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3178           fix debug output
3179         * gst/schedulers/Makefile.am:
3180           use libgst prefix
3181         * gstreamer.spec.in:
3182           fix spec for it
3183
3184 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3185
3186         * gstreamer.spec.in:
3187           clean up
3188
3189 2005-06-08  Andy Wingo  <wingo@pobox.com>
3190
3191         * gst/gstutils.c: RPAD fixes all around.
3192         (gst_element_link_pads): Refcounting fixes.
3193
3194         * tools/gst-inspect.c:
3195         * tools/gst-xmlinspect.c:
3196         * parse/grammar.y:
3197         * gst/base/gsttypefindhelper.c:
3198         * gst/base/gstbasesink.c:
3199         * gst/gstqueue.c: RPAD fixes.
3200
3201         * gst/gstghostpad.h:
3202         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3203         pads. The tricky thing is they provide both source and sink
3204         interfaces, since they proxy the internal pad for the external
3205         pad, and vice versa. Implement with lower-level ProxyPad objects,
3206         with the interior proxy pad as a child of the exterior ghost pad.
3207         Should write a doc on this.
3208         
3209         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3210         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3211         gst_object API.
3212         
3213         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3214         pads are real pads. No ghost pads in this file. Not documenting
3215         the myriad s/RPAD/PAD/ and REALIZE fixes.
3216         (gst_pad_class_init): Add properties for "direction" and
3217         "template". Both are construct-only, so they can't change during
3218         the life of the pad. Fixes properly deriving from GstPad.
3219         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3220         derived objects, just set properties when creating the objects via
3221         g_object_new.
3222         (gst_pad_get_parent): Implement as a function, return NULL if the
3223         parent is not an element.
3224         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3225         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3226         
3227         * gst/gstobject.c (gst_object_class_init): Make name a construct
3228         property. Don't set it in the object init.
3229
3230         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3231         with UNKNOWN direction.
3232         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3233         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3234         (gst_element_remove_pad): Remove ghost-pad special cases.
3235         (gst_element_pads_activate): Remove rpad cruft.
3236
3237         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3238         catch the pad's-parent-not-an-element case.
3239
3240         * gst/gst.h: Include gstghostpad.h.
3241
3242         * gst/gst.c (init_post): No more real, ghost pads.
3243
3244         * gst/Makefile.am: Add gstghostpad.[ch].
3245
3246         * check/Makefile.am:
3247         * check/gst/gstbin.c:
3248         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3249         into a bin creates ghost pads, and that the refcounts are right.
3250         Partly moved from gstbin.c.
3251
3252 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3253
3254         * check/gst-libs/.cvsignore:
3255         * check/gst/.cvsignore:
3256         * check/pipelines/.cvsignore:
3257           ignore more
3258         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3259         (START_TEST), (cleanup_suite), (main):
3260           add some tests related to cleanup after running pipelines
3261
3262 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3263
3264         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3265           add a testsuite for GstBuffer
3266
3267 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3268
3269         * gst/gstminiobject.h:
3270           add defines for accessing the refcount
3271
3272 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3273
3274         * Makefile.am: added support for html unit test coverage reports
3275
3276 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3277
3278         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3279           Free existing caps if the capsfilter changes. Add a FIXME about
3280           setting those caps on the pads.
3281
3282         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3283           Before adding a ghost pad to a parent bin, check that there isn't
3284           already one for the element on the bin. Prevents infinite recursion
3285           when using decodebin in parse pipelines. Andy says he'll rewrite the
3286           way this works anyway, so ignore the hack.
3287
3288 2005-06-02  Andy Wingo  <wingo@pobox.com>
3289
3290         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3291         file size, pass it on to the type find helper.
3292
3293         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3294         segment_start and segment_end properly according to the seek
3295         method. Segment_end is still a bit flaky because offset can be
3296         negative for CUR and END cases, but it takes -1 as an "unset"
3297         value.
3298
3299 2005-06-02  Wim Taymans  <wim@fluendo.com>
3300
3301         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3302         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3303         (gst_basesink_activate):
3304         * gst/base/gstbasesink.h:
3305         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3306         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3307         (gst_pad_query), (gst_pad_start_task):
3308         * gst/gstpad.h:
3309         * gst/gstqueue.c: (gst_queue_bufferalloc),
3310         (gst_queue_handle_sink_event), (gst_queue_chain):
3311         Bufferalloc: return GstFlowReturn to more accuratly report
3312         why allocation failed.
3313
3314 2005-06-02  Wim Taymans  <wim@fluendo.com>
3315
3316         * gst/gstpipeline.c: (gst_pipeline_send_event):
3317         Take snapshot of state without blocking.
3318
3319 2005-06-02  Wim Taymans  <wim@fluendo.com>
3320
3321         * docs/design/part-TODO.txt:
3322         * docs/design/part-caps.txt:
3323         * docs/design/part-clocks.txt:
3324         * docs/design/part-negotiation.txt:
3325         * docs/design/part-preroll.txt:
3326         Small doc updates 
3327
3328 2005-05-30  Wim Taymans  <wim@fluendo.com>
3329
3330         * gst/elements/gstidentity.c: (gst_identity_event),
3331         (gst_identity_transform), (gst_identity_get_property):
3332         Protect last_message property as it is accessed from
3333         multiple threads.
3334
3335 2005-05-30  Wim Taymans  <wim@fluendo.com>
3336
3337         * gst/gstelement.c: (gst_element_init),
3338         (gst_element_pads_activate), (gst_element_change_state):
3339         Slicker pad activation code.
3340
3341 2005-05-30  Wim Taymans  <wim@fluendo.com>
3342
3343         * gst/Makefile.am:
3344         * gst/gstelement.h:
3345         * gst/gstelementfactory.h:
3346         * gst/gsttypes.h:
3347         Move elementfactory methods to separate .h file.
3348
3349 2005-05-30  Wim Taymans  <wim@fluendo.com>
3350
3351         * docs/design/part-overview.txt:
3352         * gst/gstsystemclock.h:
3353         Small typo fixes, doc updates.
3354
3355 2005-05-30  Wim Taymans  <wim@fluendo.com>
3356
3357         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3358         (init_popt_callback):
3359         Remove cpu-opt flag.
3360
3361 2005-05-30  Wim Taymans  <wim@fluendo.com>
3362
3363         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3364         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3365         * gst/gstbuffer.h:
3366         Avoid typechecking in places where not needed.
3367         Added accessor for malloc_data.
3368
3369 2005-05-30  Wim Taymans  <wim@fluendo.com>
3370
3371         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3372         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3373         (gst_pad_configure_sink), (gst_pad_configure_src),
3374         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3375         (gst_pad_start_task):
3376         Propagate errors from _set_caps() in configure_src/sink
3377         functions instead of returning TRUE.
3378         FLUSH events can travel up and downstream
3379
3380
3381 2005-05-30  Wim Taymans  <wim@fluendo.com>
3382
3383         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3384         (gst_basesink_activate):
3385         Handle EOS in preroll.
3386
3387 2005-05-30  Wim Taymans  <wim@fluendo.com>
3388
3389         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3390         (gst_queue_loop), (gst_queue_handle_src_event):
3391         Remove old pieces of code
3392         Flushing the queue in an upstream event is a very bad idea.
3393
3394 2005-05-26  Andy Wingo  <wingo@pobox.com>
3395
3396         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3397         gst_value_set_mini_object so as to add a ref on the object (which
3398         will be removed when the value is unset).
3399
3400         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3401         arg type in ::handoff.
3402
3403         * gst/gstelement.c (gst_element_change_state): Also deactivate
3404         pads in READY->NULL, just in case the element didn't make it to
3405         PAUSED. Wingo tested, Wim approved.
3406
3407 2005-05-26  Wim Taymans  <wim@fluendo.com>
3408
3409         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3410         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3411         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3412         A flushing pad cannot be used to alloc_buffer from.
3413
3414 2005-05-26  Wim Taymans  <wim@fluendo.com>
3415
3416         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3417         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3418         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3419         (gst_bus_create_watch), (gst_bus_add_watch_full):
3420         * gst/gstbus.h:
3421         Implement a real GSource and use g_main_context_wakeup() to
3422         signal new messages instead of the socketpair.
3423
3424 2005-05-25  Wim Taymans  <wim@fluendo.com>
3425
3426         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3427         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3428         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3429         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3430         (gst_pad_send_event), (gst_pad_start_task):
3431         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3432         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3433         (gst_queue_sink_activate), (gst_queue_src_activate),
3434         (gst_queue_change_state):
3435         * gst/gstqueue.h:
3436         Fix state changes for non sinks. We now change sinks, then elements
3437         with unconnected srcpads, then the rest.
3438         More efficient queue unlocking in flush and state changes.
3439         Set the pad activate mode even if it does not have an activate
3440         function.
3441
3442 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3443
3444         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3445           Don't go in pull mode for non-seekable sources.
3446         * gst/elements/gsttypefindelement.h:
3447         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3448         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3449         (free_entry), (stop_typefinding),
3450         (gst_type_find_element_handle_event), (find_peek),
3451         (gst_type_find_element_chain), (do_pull_typefind),
3452         (gst_type_find_element_change_state):
3453           Allow typefinding (w/o seeking) in push-mode, simplified version
3454           of what was in 0.8.
3455         * gst/gstutils.c: (gst_buffer_join):
3456         * gst/gstutils.h:
3457           gst_buffer_join() from 0.8.
3458
3459 2005-05-25  Wim Taymans  <wim@fluendo.com>
3460
3461         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3462         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3463         (gst_pad_send_event), (gst_pad_start_task):
3464         Disable attempt at mode switching until it is figured out.
3465
3466 2005-05-25  Wim Taymans  <wim@fluendo.com>
3467
3468         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3469         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3470         (gst_basesink_finish_preroll), (gst_basesink_chain),
3471         (gst_basesink_loop), (gst_basesink_activate),
3472         (gst_basesink_change_state):
3473         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3474         (gst_basesrc_get_range), (gst_basesrc_loop),
3475         (gst_basesrc_activate):
3476         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3477         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3478         (gst_real_pad_init), (gst_real_pad_set_property),
3479         (gst_real_pad_get_property), (gst_pad_set_active),
3480         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3481         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3482         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3483         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3484         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3485         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3486         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3487         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3488         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3489         (gst_pad_stop_task):
3490         * gst/gstpad.h:
3491         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3492         (gst_queue_loop), (gst_queue_src_activate):
3493         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3494         (gst_task_get_state):
3495         * gst/gsttask.h:
3496         * gst/schedulers/threadscheduler.c:
3497         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3498         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3499         in task function.
3500         Remove ACTIVE pad flag, use FLUSHING everywhere
3501         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3502         functions.
3503         Add locks around IS_FLUSHING when reading.
3504         Take STREAM lock in chain(), get_range() functions so plugins
3505         don't need to take it anymore.
3506         
3507
3508
3509 2005-05-25  Wim Taymans  <wim@fluendo.com>
3510
3511         * tools/gst-launch.c: (event_loop):
3512         Unref message after using its contents instead of
3513         before.
3514
3515 2005-05-24  Wim Taymans  <wim@fluendo.com>
3516
3517         * docs/design/draft-ghostpads.txt:
3518         * docs/design/draft-push-pull.txt:
3519         * docs/design/draft-query.txt:
3520         * docs/design/part-overview.txt:
3521         Docs updates, added general overview doc.
3522
3523 2005-05-21  David Schleef  <ds@schleef.org>
3524
3525         * docs/gst/tmpl/old/GstBin.sgml:
3526         * docs/gst/tmpl/old/GstBuffer.sgml:
3527         * docs/gst/tmpl/old/GstCaps.sgml:
3528         * docs/gst/tmpl/old/GstClock.sgml:
3529         * docs/gst/tmpl/old/GstCompat.sgml:
3530         * docs/gst/tmpl/old/GstData.sgml:
3531         * docs/gst/tmpl/old/GstElement.sgml:
3532         * docs/gst/tmpl/old/GstEvent.sgml:
3533         * docs/gst/tmpl/old/GstIndex.sgml:
3534         * docs/gst/tmpl/old/GstStructure.sgml:
3535         * docs/gst/tmpl/old/GstTag.sgml:
3536         * docs/gst/tmpl/old/cothreads.sgml:
3537         * docs/gst/tmpl/old/cothreads_compat.sgml:
3538         * docs/gst/tmpl/old/gettext.sgml:
3539         * docs/gst/tmpl/old/gobject2gtk.sgml:
3540         * docs/gst/tmpl/old/grammar.tab.sgml:
3541         * docs/gst/tmpl/old/gst-i18n-app.sgml:
3542         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
3543         * docs/gst/tmpl/old/gst_private.sgml:
3544         * docs/gst/tmpl/old/gstaggregator.sgml:
3545         * docs/gst/tmpl/old/gstarch.sgml:
3546         * docs/gst/tmpl/old/gstatomic_impl.sgml:
3547         * docs/gst/tmpl/old/gstbufferstore.sgml:
3548         * docs/gst/tmpl/old/gstdata_private.sgml:
3549         * docs/gst/tmpl/old/gstdisksink.sgml:
3550         * docs/gst/tmpl/old/gstdisksrc.sgml:
3551         * docs/gst/tmpl/old/gstelementfactory.sgml:
3552         * docs/gst/tmpl/old/gstextratypes.sgml:
3553         * docs/gst/tmpl/old/gstfakesink.sgml:
3554         * docs/gst/tmpl/old/gstfakesrc.sgml:
3555         * docs/gst/tmpl/old/gstfdsink.sgml:
3556         * docs/gst/tmpl/old/gstfdsrc.sgml:
3557         * docs/gst/tmpl/old/gstfilesink.sgml:
3558         * docs/gst/tmpl/old/gstfilesrc.sgml:
3559         * docs/gst/tmpl/old/gsthttpsrc.sgml:
3560         * docs/gst/tmpl/old/gstidentity.sgml:
3561         * docs/gst/tmpl/old/gstindexfactory.sgml:
3562         * docs/gst/tmpl/old/gstmarshal.sgml:
3563         * docs/gst/tmpl/old/gstmd5sink.sgml:
3564         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
3565         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
3566         * docs/gst/tmpl/old/gstpadtemplate.sgml:
3567         * docs/gst/tmpl/old/gstpipefilter.sgml:
3568         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
3569         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
3570         * docs/gst/tmpl/old/gstshaper.sgml:
3571         * docs/gst/tmpl/old/gstspider.sgml:
3572         * docs/gst/tmpl/old/gstspideridentity.sgml:
3573         * docs/gst/tmpl/old/gststatistics.sgml:
3574         * docs/gst/tmpl/old/gsttee.sgml:
3575         * docs/gst/tmpl/old/gsttimecache.sgml:
3576         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
3577         * docs/gst/tmpl/old/gstxmlregistry.sgml:
3578         * docs/gst/tmpl/old/gthread-cothreads.sgml:
3579         * docs/gst/tmpl/old/types.sgml:
3580           I didn't intend to add these or check them in.
3581
3582 2005-05-19  David Schleef  <ds@schleef.org>
3583
3584         * configure.ac: Use -no-common everywhere.  In a sane world, it
3585           would be the default in libtool, because without it, you can't
3586           build DLLs on Windows.
3587         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
3588         * docs/gst/gstreamer-sections.txt:
3589         * docs/gst/tmpl/gstcpu.sgml:
3590         * docs/gst/tmpl/gstdata.sgml:
3591         * docs/gst/tmpl/gstthread.sgml:
3592
3593 2005-05-19  David Schleef  <ds@schleef.org>
3594
3595         * gst/gstminiobject.c: (gst_value_set_mini_object),
3596         (gst_value_take_mini_object), (gst_value_get_mini_object):
3597         * gst/gstminiobject.h: Add GValue set/get functions.
3598
3599 2005-05-19  Wim Taymans  <wim@fluendo.com>
3600
3601         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
3602         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
3603         (gst_subbuffer_init), (gst_buffer_is_span_fast):
3604         * gst/gstbuffer.h:
3605         * gst/gstbus.c: (gst_bus_post):
3606         * gst/gstelement.c: (gst_element_get_random_pad):
3607         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
3608         Make subbufer unref the parent in finalize.
3609         some more debugging info.
3610
3611
3612 2005-05-19  Wim Taymans  <wim@fluendo.com>
3613
3614         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3615         (gst_basesink_init), (gst_basesink_finalize),
3616         (gst_basesink_activate), (gst_basesink_change_state):
3617         Don't free preroll queue too early.
3618
3619 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3620
3621         * gst/Makefile.am:
3622         * gst/ROADMAP:
3623           Hi, I'm outdated. Please shoot me.
3624
3625 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3626
3627         * gst/gstpipeline.c: (gst_pipeline_send_event):
3628           Do not access variables after they have been deleted.
3629
3630 2005-05-19  Wim Taymans  <wim@fluendo.com>
3631
3632         * tools/gst-inspect.c: (print_plugin_features):
3633         A plugin feature does unfortunatly not use the
3634         object name yet...
3635
3636 2005-05-18  Wim Taymans  <wim@fluendo.com>
3637
3638         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
3639         Port _span() functions to new subbuffers.
3640
3641 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3642
3643         * gst/gstbin.c: (gst_bin_add_func):
3644           Fix clock settery in bins when adding kids after the clock has
3645           been selected.
3646
3647 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3648
3649         * gst/elements/gstidentity.c: (gst_identity_class_init):
3650           Workaround until signals support GstMiniObject.
3651
3652 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3653
3654         * gst/gstbuffer.c:
3655         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
3656
3657 2005-05-18  Wim Taymans  <wim@fluendo.com>
3658
3659         * gst/base/Makefile.am:
3660         * gst/base/gstadapter.c: (gst_adapter_base_init),
3661         (gst_adapter_class_init), (gst_adapter_init),
3662         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
3663         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
3664         (gst_adapter_flush), (gst_adapter_available),
3665         (gst_adapter_available_fast):
3666         * gst/base/gstadapter.h:
3667         Ported and added adapter to the base classes.
3668
3669 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3670
3671         * gst/gst.c:
3672         * gst/gstmessage.c:
3673           Make sure the class is reffed/unreffed once before threads can be
3674           used.  Fixes #304551.
3675
3676 2005-05-17  Wim Taymans  <wim@fluendo.com>
3677
3678         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
3679         (gst_basesink_chain_unlocked), (gst_basesink_activate):
3680         * gst/gstminiobject.c: (gst_mini_object_get_type),
3681         (gst_mini_object_free):
3682         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
3683         (gst_pad_push), (gst_pad_push_event):
3684         * gst/gstqueue.c: (gst_queue_change_state):
3685         Don't queue buffers in basesink when we are flushing.
3686         Unref buffer when flushing in basesink.
3687         Flush queue when going to READY
3688         Unref buffer when _push() returns an error.
3689         Don't free MiniObject instance when refcount is incremented
3690         in _finalize() so that we can recover objects.
3691
3692 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3693
3694         * docs/manual/advanced-schedulers.xml:
3695         * docs/manual/appendix-checklist.xml:
3696         * docs/pwg/advanced-clock.xml:
3697         * docs/pwg/advanced-interfaces.xml:
3698         * docs/pwg/advanced-request.xml:
3699         * docs/pwg/advanced-types.xml:
3700         * docs/pwg/intro-preface.xml:
3701         * examples/plugins/example.c: (gst_example_get_type),
3702         (gst_example_class_init), (gst_example_chain),
3703         (gst_example_set_property), (gst_example_get_property),
3704         (gst_example_change_state), (plugin_init):
3705         * examples/plugins/example.h:
3706           small doc fixes
3707
3708 2005-05-17  Wim Taymans  <wim@fluendo.com>
3709
3710         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
3711         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
3712         * gst/gstqueue.c: (gst_queue_change_state):
3713         Clear queue when going to READY.
3714         Remove IN_SETCAPS flag too.
3715
3716 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
3717
3718         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
3719           Remove implicit cast from gboolean to GstElementStateReturn;
3720           make sure we still return failure in paused => ready case if
3721           the parent class fails to change state and our own stop 
3722           vfunc succeeds.
3723
3724 2005-05-17  Wim Taymans  <wim@fluendo.com>
3725
3726         * tools/gst-launch.c: (event_loop):
3727         Message was unreffed too soon.
3728
3729 2005-05-16  Andy Wingo  <wingo@pobox.com>
3730
3731         * gst/gstbin.c (sink_iterator_filter): Err... um...
3732
3733         * check/gst/gstbin.c (test_ghost_pads): New test for the
3734         ghosting-if-elements-not-in-same-bin behavior.
3735
3736 2005-05-16  David Schleef  <ds@schleef.org>
3737
3738         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
3739         accessing refcount directly.
3740
3741 2005-05-15  David Schleef  <ds@schleef.org>
3742
3743         * check/Makefile.am: remove GstData checks
3744         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
3745         * gst/Makefile.am: add miniobject, remove data
3746         * gst/gst.h: add miniobject, remove data
3747         * gst/gstdata.c: remove
3748         * gst/gstdata.h: remove
3749         * gst/gstdata_private.h: remove
3750         * gst/gsttypes.h: remove GstEvent and GstMessage
3751         * gst/gstelement.c: (gst_element_post_message): fix for API changes
3752         * gst/gstmarshal.list: change BOXED -> OBJECT
3753
3754         Implement GstMiniObject.
3755         * gst/gstminiobject.c:
3756         * gst/gstminiobject.h:
3757
3758         Modify to be subclasses of GstMiniObject.
3759         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
3760         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
3761         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
3762         (gst_subbuffer_get_type), (gst_subbuffer_init),
3763         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
3764         (gst_buffer_span):
3765         * gst/gstbuffer.h:
3766         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
3767         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
3768         (_gst_event_copy), (gst_event_new):
3769         * gst/gstevent.h:
3770         * gst/gstmessage.c: (_gst_message_initialize),
3771         (gst_message_get_type), (gst_message_class_init),
3772         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
3773         (gst_message_new), (gst_message_new_error),
3774         (gst_message_new_warning), (gst_message_new_tag),
3775         (gst_message_new_state_changed), (gst_message_new_application):
3776         * gst/gstmessage.h:
3777         * gst/gstprobe.c: (gst_probe_perform),
3778         (gst_probe_dispatcher_dispatch):
3779         * gst/gstprobe.h:
3780         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
3781         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
3782         (_gst_query_copy), (gst_query_new):
3783
3784         Update elements for GstData -> GstMiniObject changes
3785         * gst/gstquery.h:
3786         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
3787         (gst_queue_chain), (gst_queue_loop):
3788         * gst/elements/gstbufferstore.c:
3789         (gst_buffer_store_add_buffer_func),
3790         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
3791         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3792         (gst_fakesink_render):
3793         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3794         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
3795         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
3796         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
3797         (gst_filesrc_create_read):
3798         * gst/elements/gstidentity.c: (gst_identity_class_init):
3799         * gst/elements/gsttypefindelement.c:
3800         (gst_type_find_element_src_event), (free_entry_buffers),
3801         (gst_type_find_element_handle_event):
3802         * libs/gst/dataprotocol/dataprotocol.c:
3803         (gst_dp_header_from_buffer):
3804         * libs/gst/dataprotocol/dataprotocol.h:
3805         * libs/gst/dataprotocol/dp-private.h:
3806
3807 2005-05-15  David Schleef  <ds@schleef.org>
3808
3809         * gst/elements/gstelements.c: Don't include headers that were
3810         just removed.
3811
3812 2005-05-15  David Schleef  <ds@schleef.org>
3813
3814         * gst/elements/Makefile.am: Remove some elements that don't
3815         need to be in the core (or even exist at all).
3816         * gst/elements/gstaggregator.c:
3817         * gst/elements/gstaggregator.h:
3818         * gst/elements/gstmd5sink.c:
3819         * gst/elements/gstmd5sink.h:
3820         * gst/elements/gstmultifilesrc.c:
3821         * gst/elements/gstmultifilesrc.h:
3822         * gst/elements/gstpipefilter.c:
3823         * gst/elements/gstpipefilter.h:
3824         * gst/elements/gstshaper.c:
3825         * gst/elements/gstshaper.h:
3826         * gst/elements/gststatistics.c:
3827         * gst/elements/gststatistics.h:
3828         * po/POTFILES.in: Remove above files.
3829
3830 2005-05-14  Andy Wingo  <wingo@pobox.com>
3831
3832         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
3833         so as to get the refs right.
3834         (sink_iterator_filter): New function, wraps bin_element_is_sink,
3835         unreffing objects that don't pass the filter.
3836
3837         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
3838         gst_element_set_bus.
3839         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
3840         normal cases, this will destroy the bus.
3841
3842         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
3843         object.
3844
3845         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
3846         has no sinks.
3847
3848 2005-05-13  Andy Wingo  <wingo@pobox.com>
3849
3850         * gst/gstutils.c (gst_element_link_pads): Instead of calling
3851         gst_pad_link, call pad_link_maybe_ghosting,
3852         (pad_link_maybe_ghosting): Links pads, making sure that the
3853         elements being linked are in the same bin.
3854         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
3855         Helpers for pad_link_maybe_ghosting.
3856
3857 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3858
3859         * configure.ac:
3860           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
3861
3862 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3863
3864         * docs/design/part-element-source.txt:
3865           Mention GstPushSrc
3866
3867 2005-05-12  Wim Taymans  <wim@fluendo.com>
3868
3869         * gst/base/gstbasesink.c: (gst_basesink_init),
3870         (gst_basesink_activate):
3871         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
3872         (gst_basesrc_is_seekable):
3873         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3874         (bin_element_is_sink), (gst_bin_change_state):
3875         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3876         * gst/gstelement.h:
3877         Identify sinks by their flag to avoid overly complicated
3878         checks (fow now).
3879         Do state changes even for elements not reachable from the
3880         sinks.
3881         BaseSink is a sink now :)
3882         Some more debugging info in the basesrc.
3883
3884
3885 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3886
3887         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
3888           Implement _query on a bin, similar to _send_event.
3889
3890 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3891
3892         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
3893           Discont event offset format should be GST_FORMAT_BYTES,
3894           not GST_FORMAT_TIME.
3895
3896 2005-05-12  Wim Taymans  <wim@fluendo.com>
3897
3898         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
3899         Same fix as Ronald's but without the signal. 
3900
3901 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3902
3903         * gst/gstutils.c: (gst_element_query_position):
3904           No, an element is not a pad.
3905
3906 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3907
3908         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
3909         (gst_bin_get_state):
3910           If a child is removed from a bin while we remove the child from
3911           the bin and while we're retrieving its state, signal this to the
3912           get_state function so we abort the wait (instead of waiting for
3913           a timeout) and can immediately re-iterate over all other elements.
3914
3915 2005-05-12  Wim Taymans  <wim@fluendo.com>
3916
3917         * gst/base/Makefile.am:
3918         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
3919         (gst_basesrc_start):
3920         * gst/base/gstbasesrc.h:
3921         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
3922         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
3923         (gst_pushsrc_init), (gst_pushsrc_create):
3924         * gst/base/gstpushsrc.h:
3925         Added is_seekable to BaseSrc
3926         Added simple PushSrc.
3927
3928 2005-05-11  Wim Taymans  <wim@fluendo.com>
3929
3930         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
3931         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3932         (gst_element_link_pads), (gst_element_query_position),
3933         (gst_element_query_convert), (intersect_caps_func),
3934         (gst_pad_query_position), (gst_pad_query_convert):
3935         Fix refcounting in utils function.
3936         No point in trying to activate a pad when it's added, it could
3937         be added from the state change function and then we deadlock, the
3938         element has to decide what to do.
3939
3940 2005-05-10  Andy Wingo  <wingo@pobox.com>
3941
3942         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
3943         *all* the arguments.
3944
3945         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
3946         stream lock if it's a FLUSH_DONE; normal flushes don't get the
3947         lock (according to the docs -- if this is wrong change the docs).
3948
3949         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
3950         flush messages in the NULL state.
3951
3952         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
3953         message immediately and return.
3954         (gst_bus_set_flushing): New function. If a bus is flushing, it
3955         flushes out any queued messages and immediately unrefs new
3956         messages. This is so when an element goes to NULL, all of the
3957         unhandled messages coming from it can be freed, and their
3958         references to the element dropped. In other words: message source
3959         ref considered harmful :P
3960
3961         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
3962         we're finished with it.
3963
3964         * gst/gstmessage.c (gst_message_new_state_changed): 
3965
3966 2005-05-10  Wim Taymans  <wim@fluendo.com>
3967
3968         * gst/gstvalue.c: (gst_value_compare_flags),
3969         (gst_value_serialize_flags), (gst_value_deserialize_flags),
3970         (_gst_value_initialize):
3971         Added flags serialize/deserialize/compare code.
3972
3973 2005-05-09  Andy Wingo  <wingo@pobox.com>
3974
3975         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3976         Intersect the peer's caps with our caps.
3977
3978 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3979
3980         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3981         * gst/elements/gsttypefindelement.c: (find_peek):
3982           Handle negative offsets better. Fixes decodebin.
3983
3984 2005-05-09  Wim Taymans  <wim@fluendo.com>
3985
3986         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3987         (gst_base_transform_event):
3988         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3989         Implement accept_caps.
3990         Fix silly lock/unlock mismatch in base class.
3991
3992 2005-05-09  Wim Taymans  <wim@fluendo.com>
3993
3994         * docs/design/draft-push-pull.txt:
3995         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3996         * gst/elements/gstfilesink.c: (gst_filesink_init),
3997         (gst_filesink_query):
3998         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3999         (gst_type_find_handle_src_query), (find_element_get_length):
4000         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
4001         * gst/gstelement.h:
4002         * gst/gstmessage.c:
4003         * gst/gstmessage.h:
4004         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
4005         (gst_real_pad_get_caps_unlocked),
4006         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
4007         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4008         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
4009         (gst_real_pad_dispose), (gst_real_pad_finalize),
4010         (gst_pad_load_and_link), (gst_pad_save_thyself),
4011         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
4012         (gst_pad_check_pull_range), (gst_pad_pull_range),
4013         (gst_pad_template_get_type), (gst_pad_template_class_init),
4014         (gst_pad_template_init), (gst_pad_template_dispose),
4015         (name_is_valid), (gst_static_pad_template_get),
4016         (gst_pad_template_new), (gst_static_pad_template_get_caps),
4017         (gst_pad_template_get_caps), (gst_pad_set_element_private),
4018         (gst_pad_get_element_private), (gst_pad_start_task),
4019         (gst_pad_pause_task), (gst_pad_stop_task),
4020         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
4021         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4022         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
4023         (gst_ghost_pad_new):
4024         * gst/gstpad.h:
4025         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
4026         (gst_query_new_position), (gst_query_set_position),
4027         (gst_query_parse_position), (gst_query_new_convert),
4028         (gst_query_set_convert), (gst_query_parse_convert):
4029         * gst/gstquery.h:
4030         * gst/gstqueryutils.c:
4031         * gst/gstqueryutils.h:
4032         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4033         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4034         (gst_queue_handle_src_query):
4035         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4036         (gst_element_query_position), (gst_element_query_convert),
4037         (intersect_caps_func), (gst_pad_query_position),
4038         (gst_pad_query_convert):
4039         * gst/gstutils.h:
4040         * tools/gst-inspect.c: (print_pad_info):
4041         * tools/gst-xmlinspect.c: (print_element_info):
4042         Remove old query functions. Ported old code.
4043         Added position/convert helper functions to gstutils.
4044         Reordered gstpad.c code, grouping relevant things.
4045         Remove gst_message_new(), always need to speficy a specific
4046         message.
4047
4048
4049 2005-05-09  Andy Wingo  <wingo@pobox.com>
4050
4051         * gst/gstiterator.h: Add some includes.
4052
4053         * gst/gstqueryutils.h: Include more headers.
4054
4055         * gst/gstpad.h:
4056         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
4057         some uses of gst_pad_query.
4058
4059         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
4060         NULL out parameters.
4061         (gst_query_new_position): New proc, allocates a new position
4062         query.
4063
4064         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
4065         gstqueryutils.c to the build.
4066
4067         * gst/gststructure.c (gst_structure_set_valist): Implement with
4068         the generic G_VALUE_COLLECT.
4069         
4070 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
4071
4072         * gst/Makefile.am: (gst_headers):
4073         Added gstqueryutils.h to the list of headers to install, that was
4074         a 'nachty' move wingo :)
4075
4076 2005-05-06  Andy Wingo  <wingo@pobox.com>
4077
4078         * gst/gstquery.h
4079         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
4080         GstData, init a memchunk.
4081         (standard_definitions): Add a few query types, deprecate a few.
4082         (gst_query_get_type): New proc.
4083         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
4084         implementation.
4085         (gst_query_new_application, gst_query_get_structure): New public
4086         procs.
4087
4088         * docs/design/draft-query.txt: Removed LINKS from the query types,
4089         because all the rest can be dispatched to other pads -- seemed
4090         ugly to have a query that couldn't be dispatched. internal_links
4091         is fine as a pad method.
4092
4093         * gst/gstpad.h: Add query2 as a pad method, add the new functions
4094         in gstpad.c, but maintain binary compatibility for the moment.
4095         Will fix before 0.9 is out.
4096
4097         * gst/gstqueryutils.c: 
4098         * gst/gstqueryutils.h: New files, implement 3 methods for each
4099         query type: parse_query, parse_response, and set. Probably need an
4100         allocator as well.
4101
4102         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
4103
4104         * gst/elements/gstfilesink.c (gst_filesink_query2):
4105         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
4106         query_types, and formats methods.
4107
4108         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
4109         (gst_pad_set_query2_function): New functions.
4110         (gst_real_pad_init): Set query2_default as the default query2
4111         function. Basically just dispatches to internally linked pads.
4112
4113         Needs review!
4114         
4115         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
4116         without using the atomic operations. Only one thread can possibly
4117         be accessing the data at this point. Changed so as to avoid
4118         gst_atomic operations.
4119
4120 2005-05-06  Wim Taymans  <wim@fluendo.com>
4121
4122         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4123         Also set caps if we use the fallback buffer alloc.
4124
4125 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
4126
4127         * docs/gst/Makefile.am:
4128         * docs/gst/gstreamer-docs.sgml:
4129         * docs/gst/gstreamer-sections.txt:
4130         * docs/gst/tmpl/gstatomic.sgml:
4131         * docs/gst/tmpl/gstmemchunk.sgml:
4132         * testsuite/elements/struct_i386.h:
4133         * win32/GStreamer.vcproj:
4134         * win32/Makefile:
4135           Purge GstAtomic stuff from docs and win32 makefiles as well
4136
4137 2005-05-06  Wim Taymans  <wim@fluendo.com>
4138
4139         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4140         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4141         * gst/gstpad.c: (gst_pad_peer_get_caps):
4142         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4143         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4144         (gst_queue_src_activate), (gst_queue_change_state):
4145         * gst/gstqueue.h:
4146         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4147         (intersect_caps_func):
4148         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4149         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4150         Some fixes for the peer_get_caps() change.
4151
4152 2005-05-06  Wim Taymans  <wim@fluendo.com>
4153
4154         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4155         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4156         (gst_basesink_activate):
4157         Actually do something with error codes returned from the push
4158         functions.
4159
4160 2005-05-06  Wim Taymans  <wim@fluendo.com>
4161
4162         * docs/design/part-element-sink.txt:
4163         * docs/design/part-element-source.txt:
4164         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4165         (gst_basesink_event), (gst_basesink_activate):
4166         * gst/base/gstbasesink.h:
4167         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4168         (gst_basesrc_activate):
4169         * gst/base/gstbasesrc.h:
4170         * gst/gstelement.c: (gst_element_pads_activate):
4171         Some more documentation.
4172         Fixed scheduling decision in _pads_activate().
4173
4174 2005-05-05  Andy Wingo  <wingo@pobox.com>
4175
4176         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4177         the test suite.
4178
4179 2005-05-05  Wim Taymans  <wim@fluendo.com>
4180
4181         * gst/base/Makefile.am:
4182         * gst/base/gstbasesink.h:
4183         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4184         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4185         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4186         (gst_collectpads_class_init), (gst_collectpads_init),
4187         (gst_collectpads_finalize), (gst_collectpads_new),
4188         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4189         (find_pad), (gst_collectpads_remove_pad),
4190         (gst_collectpads_is_active), (gst_collectpads_collect),
4191         (gst_collectpads_collect_range), (gst_collectpads_start),
4192         (gst_collectpads_stop), (gst_collectpads_peek),
4193         (gst_collectpads_pop), (gst_collectpads_available),
4194         (gst_collectpads_read), (gst_collectpads_flush),
4195         (gst_collectpads_chain):
4196         * gst/base/gstcollectpads.h:
4197         * gst/elements/Makefile.am:
4198         * gst/elements/gstelements.c:
4199         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4200         (gst_fakesink_get_times), (gst_fakesink_event),
4201         (gst_fakesink_preroll), (gst_fakesink_render):
4202         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4203         (gst_filesink_init), (gst_filesink_set_location),
4204         (gst_filesink_open_file), (gst_filesink_close_file),
4205         (gst_filesink_pad_query), (gst_filesink_event),
4206         (gst_filesink_render), (gst_filesink_change_state):
4207         * gst/elements/gstfilesink.h:
4208         Added object to help in making collect pad based elements.
4209         Ported filesink.
4210         Make event function in sink baseclass return gboolean.
4211
4212 2005-05-05  Wim Taymans  <wim@fluendo.com>
4213
4214         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4215         (gst_bin_get_by_name):
4216         * gst/gstbuffer.h:
4217         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4218         (gst_clock_finalize):
4219         * gst/gstdata.c: (gst_data_replace):
4220         * gst/gstdata.h:
4221         * gst/gstelement.c: (gst_element_request_pad),
4222         (gst_element_pads_activate):
4223         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4224         (gst_object_unref):
4225         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4226         (gst_pad_set_checkgetrange_function),
4227         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4228         (gst_pad_check_pull_range), (gst_pad_pull_range),
4229         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4230         (gst_pad_pause_task), (gst_pad_stop_task):
4231         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4232         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4233         Fix name lookup in GstBin.
4234         Added _data_replace() function and _buffer_replace()
4235         Use finalize method to clean up clock.
4236         Fix refcounting on request pads.
4237         Fix pad schedule mode error.
4238         Some more object refcounting debug info,
4239
4240
4241 2005-05-04  Andy Wingo <wingo@pobox.com>
4242
4243         * check/Makefile.am:
4244         * docs/gst/tmpl/gstatomic.sgml:
4245         * docs/gst/tmpl/gstplugin.sgml:
4246         * gst/base/gstbasesink.c: (gst_basesink_activate):
4247         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4248         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4249         (gst_basesrc_query), (gst_basesrc_set_property),
4250         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4251         (gst_basesrc_activate):
4252         * gst/base/gstbasesrc.h:
4253         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4254         (gst_base_transform_src_activate):
4255         * gst/elements/gstelements.c:
4256         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4257         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4258         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4259         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4260         (gst_type_find_element_checkgetrange),
4261         (gst_type_find_element_activate):
4262         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4263         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4264         (gst_caps_load_thyself):
4265         * gst/gstelement.c: (gst_element_pads_activate),
4266         (gst_element_save_thyself), (gst_element_restore_thyself):
4267         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4268         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4269         * gst/gstpad.h:
4270         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4271         (gst_xml_parse_file), (gst_xml_parse_memory),
4272         (gst_xml_get_element), (gst_xml_make_element):
4273         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4274         (_file_index_id_save_xml), (gst_file_index_commit):
4275         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4276         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4277         (load_paths):
4278         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4279         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4280         * tools/gst-complete.c: (main):
4281         * tools/gst-compprep.c: (main):
4282         * tools/gst-inspect.c: (print_element_properties_info):
4283         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4284         * tools/gst-xmlinspect.c: (print_element_properties):
4285         GCC 4 fixen.
4286         
4287 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4288
4289         * gst/gstplugin.c: (gst_plugin_check_module),
4290         (gst_plugin_check_file), (gst_plugin_load_file):
4291             apply patch from #172526 to make register work on MacOSX
4292
4293 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4294
4295         * docs/gst/tmpl/gstconfig.sgml:
4296         * gst/gstconfig.h.in:
4297           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4298         * testsuite/debug/printf_extension.c: (main):
4299           Do not use GST_PTR_FORMAT on pointers to types with
4300           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4301         * testsuite/elements/property.h:
4302           use correct printf format
4303
4304 2005-05-02  Wim Taymans  <wim@fluendo.com>
4305
4306         * docs/design/draft-push-pull.txt:
4307         * docs/design/draft-query.txt:
4308         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4309         (gst_basesrc_start):
4310         Added draft for new query API.
4311         Added draft for better selecting scheduling methods.
4312         Make basesrc ignore length if the subclass does not support
4313         it.
4314
4315 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4316
4317         * gst/Makefile.am:
4318           possible fixes for automake-1.5 - _LIBADD is reserved
4319
4320 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4321
4322         * docs/faq/Makefile.am:
4323         * docs/manual/Makefile.am:
4324         * docs/manuals.mak:
4325         * docs/pwg/Makefile.am:
4326         * gst/Makefile.am:
4327           possible fixes for automake-1.5
4328
4329 2005-04-28  Wim Taymans  <wim@fluendo.com>
4330
4331         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4332         (gst_basesink_pad_getcaps), (gst_basesink_init),
4333         (gst_basesink_do_sync):
4334         * gst/gstclock.c: (gst_clock_entry_new):
4335         * gst/gstevent.c: (gst_event_discont_get_value):
4336         * gst/gstpipeline.c: (pipeline_bus_handler),
4337         (gst_pipeline_change_state):
4338         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4339         Better debugging of clocking info.
4340         Allow NULL values when getting discont values.
4341
4342 2005-04-27  Wim Taymans  <wim@fluendo.com>
4343
4344         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4345         * check/gst/gstpad.c: (gst_pad_suite):
4346         Increase timeout for checks.
4347
4348 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4349
4350         * check/Makefile.am:
4351           fix the broken rule for cleanup.  Apparently this rule is
4352           only needed on FC2, so maybe this warrants further autotool
4353           inspection.
4354
4355 2005-04-26  Wim Taymans  <wim@fluendo.com>
4356
4357         * gst/gsttrashstack.h:
4358         Ooohh. a nasty one! After having a failed pop() from the stack,
4359         it's possible that the stack is empty. In that case, don't
4360         follow the NULL pointer.
4361
4362 2005-04-25  Wim Taymans  <wim@fluendo.com>
4363
4364         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4365         (gst_pad_set_checkgetrange_function),
4366         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4367         (gst_pad_check_pull_range), (gst_pad_pull_range),
4368         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4369         (gst_pad_pause_task), (gst_pad_stop_task):
4370         * gst/gstplugin.c: (gst_plugin_load):
4371         * gst/gstplugin.h:
4372         Remove gst_library_load as it does more harm than good with
4373         the new g_module flags.
4374         Revert bogus caps template check in pad linking, pad caps
4375         are important when linking not the template, which is more
4376         general than the current caps.
4377
4378 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4379
4380         * gst/autoplug/.cvsignore:
4381         * gst/autoplug/Makefile.am:
4382         * gst/autoplug/gstsearchfuncs.c:
4383         * gst/autoplug/gstsearchfuncs.h:
4384         * gst/autoplug/gstspider.c:
4385         * gst/autoplug/gstspider.h:
4386         * gst/autoplug/gstspideridentity.c:
4387         * gst/autoplug/gstspideridentity.h:
4388         * gst/autoplug/spidertest.c:
4389           Die, spider, die.
4390
4391 2005-04-25  Wim Taymans  <wim@fluendo.com>
4392
4393         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4394         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4395         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4396         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4397         * gst/gstpad.h:
4398         Added stubs for unimplemented functions. 
4399
4400 2005-04-24  David Schleef  <ds@schleef.org>
4401
4402         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4403         please fix.
4404
4405 2005-04-24  David Schleef  <ds@schleef.org>
4406
4407         Convert everything from GstAtomicInt to g_atomic_int_*, and
4408         remove gstatomic.
4409         * gst/Makefile.am:
4410         * gst/gstatomic.c:
4411         * gst/gstatomic.h:
4412         * gst/gstatomic_impl.h:
4413         * gst/gstbuffer.c:
4414         * gst/gstcaps.c:
4415         * gst/gstcaps.h:
4416         * gst/gstclock.c:
4417         * gst/gstclock.h:
4418         * gst/gstdata.c:
4419         * gst/gstdata.h:
4420         * gst/gstdata_private.h:
4421         * gst/gstevent.c:
4422         * gst/gstinfo.c:
4423         * gst/gstinfo.h:
4424         * gst/gstmessage.c:
4425         * gst/gstobject.c:
4426         * gst/gstobject.h:
4427         * gst/gststructure.c:
4428         * gst/gststructure.h:
4429         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4430         * gst/gstutils.h:
4431
4432 2005-04-24  David Schleef  <ds@schleef.org>
4433
4434         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4435         make the regressions tests work.  Remove some code that is no
4436         longer true.
4437         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4438         Disable warning for pads without templates.
4439
4440 2005-04-24  David Schleef  <ds@schleef.org>
4441
4442         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4443         functions that handle filtered links.
4444         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4445         removed functions.
4446         * gst/gstutils.c: Fix/remove utility functions that handle
4447         filtered caps.
4448         * gst/gstutils.h:
4449         * gst/gstvalue.c: Add serialization/deserialization of caps
4450         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4451         requires fixing so that the filter caps notation creates
4452         a capsfilter element and sets the filter_caps property.  I
4453         think everyone probably wants to keep the shorthand notation.
4454         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4455         * docs/gst/tmpl/gstpad.sgml:
4456
4457         * gst/elements/gstelements.c: Register capsfilter element.
4458         * gst/Makefile.am: fix spacing
4459         * docs/random/ds/0.9-suggested-changes: random
4460
4461 2005-04-23  David Schleef  <ds@schleef.org>
4462
4463         * gst/elements/Makefile.am:
4464         * gst/elements/gstcapsfilter.c: New element that acts like an
4465         identity, but filters caps.  Will eventually replace filtered
4466         caps in pad linking.
4467         * gst/gstutils.c: (gst_element_create_all_pads): New function
4468         to create all the ALWAYS pads that are registered with an
4469         element class.  This functionality should eventually be
4470         merged in with GstElement initialization.
4471         * gst/gstutils.h:
4472         * testsuite/trigger/README: part of trigger test code that should
4473         have been checked in a long time ago.
4474
4475 2005-04-23  David Schleef  <ds@schleef.org>
4476
4477         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4478         needed with new versions of libtool (nobody will confirm this),
4479         and hard to carry around.
4480         * gst/autoplug/Makefile.am:
4481         * gst/base/Makefile.am:
4482         * gst/elements/Makefile.am:
4483         * gst/indexers/Makefile.am:
4484         * gst/schedulers/Makefile.am:
4485         * libs/gst/bytestream/Makefile.am:
4486         * libs/gst/control/Makefile.am:
4487         * libs/gst/dataprotocol/Makefile.am:
4488         * libs/gst/getbits/Makefile.am:
4489
4490 2005-04-21  Wim Taymans  <wim@fluendo.com>
4491
4492         * docs/design/draft-push-pull.txt:
4493         * docs/design/part-MT-refcounting.txt:
4494         * docs/design/part-TODO.txt:
4495         * docs/design/part-caps.txt:
4496         * docs/design/part-events.txt:
4497         * docs/design/part-gstbus.txt:
4498         * docs/design/part-gstpipeline.txt:
4499         * docs/design/part-messages.txt:
4500         * docs/design/part-push-pull.txt:
4501         * docs/design/part-query.txt:
4502         Some more docs.
4503
4504 2005-04-21  Wim Taymans  <wim@fluendo.com>
4505
4506         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
4507         (gst_message_new), (gst_message_new_error),
4508         (gst_message_new_warning), (gst_message_new_tag),
4509         (gst_message_new_state_changed), (gst_message_new_application),
4510         (gst_message_get_structure):
4511         * gst/gstmessage.h:
4512         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4513         (gst_structure_copy_conditional):
4514         Use parent refcount in GstMessage to ensure GstStructure
4515         consistency.
4516         Cleaned up headers a bit.
4517         
4518
4519 2005-04-20  Wim Taymans  <wim@fluendo.com>
4520
4521         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4522         (gst_basesink_pad_getcaps), (gst_basesink_init),
4523         (gst_basesink_chain_unlocked):
4524         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
4525         (gst_type_find_helper):
4526         * gst/elements/gsttypefindelement.c:
4527         (gst_type_find_element_have_type), (gst_type_find_element_init),
4528         (stop_typefinding), (gst_type_find_element_handle_event),
4529         (find_suggest), (gst_type_find_element_chain),
4530         (gst_type_find_element_checkgetrange),
4531         (gst_type_find_element_getrange), (do_typefind),
4532         (gst_type_find_element_activate):
4533         * gst/gstbuffer.c: (_gst_buffer_sub_free),
4534         (gst_buffer_default_free), (gst_buffer_default_copy),
4535         (gst_buffer_set_caps):
4536         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
4537         (gst_caps_replace):
4538         * gst/gstmessage.c: (gst_message_new),
4539         (gst_message_new_state_changed):
4540         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4541         (gst_pad_set_checkgetrange_function),
4542         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
4543         (gst_pad_set_caps), (gst_pad_check_pull_range),
4544         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
4545         * gst/gstpad.h:
4546         * gst/gsttypefind.c: (gst_type_find_register):
4547         Make gst_caps_replace() work like other _replace() functions.
4548         Use _caps_replace() where possible.
4549         Make sure _message_new() initialises its field.
4550         Add gst_static_pad_template_get_caps()
4551
4552
4553 2005-04-18  Andy Wingo  <wingo@pobox.com>
4554
4555         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
4556         on the peer, not the pad. I think that was a typo. Pass an extra
4557         arg to see if random access is possible. Activate the pads as
4558         PULL_RANGE if possible.
4559
4560         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
4561
4562         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
4563         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
4564         to PROP_....
4565
4566 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4567
4568         * docs/faq/using.xml:
4569           Add note on gstreamer-properties (#154996).
4570
4571 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4572
4573         * docs/random/bbb/optional-properties:
4574           Some analysis on optional properties.
4575
4576 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4577
4578         * docs/gst/tmpl/gstelementfactory.sgml:
4579         * gst/gstelement.h:
4580         * gst/gstelementfactory.c: (gst_element_factory_init),
4581         (gst_element_factory_cleanup), (gst_element_register),
4582         (__gst_element_factory_add_static_pad_template),
4583         (gst_element_factory_get_static_pad_templates),
4584         (gst_element_factory_can_src_caps),
4585         (gst_element_factory_can_sink_caps):
4586         * gst/registries/Makefile.am:
4587         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
4588         (gst_xml_registry_class_init), (gst_xml_registry_init),
4589         (gst_xml_registry_new), (gst_xml_registry_set_property),
4590         (gst_xml_registry_get_property), (get_time), (make_dir),
4591         (gst_xml_registry_get_perms_func),
4592         (plugin_times_older_than_recurse), (plugin_times_older_than),
4593         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
4594         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
4595         (add_to_char_array), (read_string), (read_uint), (read_enum),
4596         (load_pad_template), (load_feature), (load_plugin), (load_paths),
4597         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
4598         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
4599         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
4600         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
4601         (gst_xml_registry_rebuild):
4602         * gst/registries/gstlibxmlregistry.h:
4603         * tools/gst-compprep.c: (main):
4604         * tools/gst-inspect.c: (print_pad_templates_info):
4605         * tools/gst-xmlinspect.c: (print_element_info):
4606           Use libxml2 for registry parsing, use staticpadtemplates in
4607           elementfactories. Makes gst_init() +/- 10x faster.
4608
4609 2005-04-12  Wim Taymans  <wim@fluendo.com>
4610
4611         * gst/base/Makefile.am:
4612         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4613         (gst_basesink_pad_getcaps), (gst_basesink_init),
4614         (gst_basesink_event), (gst_basesink_change_state):
4615         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4616         (gst_basesrc_init), (gst_basesrc_query),
4617         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4618         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4619         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4620         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4621         (gst_basesrc_stop), (gst_basesrc_activate),
4622         (gst_basesrc_change_state):
4623         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4624         (helper_find_suggest), (gst_type_find_helper):
4625         * gst/base/gsttypefindhelper.h:
4626         * gst/elements/Makefile.am:
4627         * gst/elements/gstelements.c:
4628         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4629         (gst_fakesink_get_times), (gst_fakesink_event),
4630         (gst_fakesink_preroll), (gst_fakesink_render):
4631         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4632         (gst_fakesrc_init), (gst_fakesrc_event_handler),
4633         (gst_fakesrc_get_property), (gst_fakesrc_create),
4634         (gst_fakesrc_start), (gst_fakesrc_stop):
4635         * gst/elements/gstfakesrc.h:
4636         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
4637         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4638         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4639         (gst_filesrc_create_read), (gst_filesrc_create),
4640         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
4641         (gst_filesrc_start):
4642         * gst/elements/gsttypefindelement.c:
4643         (gst_type_find_element_have_type), (gst_type_find_element_init),
4644         (start_typefinding), (stop_typefinding), (push_buffer_store),
4645         (gst_type_find_element_handle_event),
4646         (gst_type_find_element_chain),
4647         (gst_type_find_element_checkgetrange),
4648         (gst_type_find_element_getrange), (do_typefind),
4649         (gst_type_find_element_activate),
4650         (gst_type_find_element_change_state):
4651         * gst/elements/gsttypefindelement.h:
4652         * gst/gstpipeline.c: (pipeline_bus_handler):
4653         Added typefind helper.
4654         Small preroll fix in the base sink.
4655         Disable typefind code in basesrc.
4656         Crude port of typefindelement.
4657         Fakesrc cleanups.
4658
4659
4660 2005-04-11  Wim Taymans  <wim@fluendo.com>
4661
4662         * check/gst/gstbus.c: (gstbus_suite):
4663         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
4664         * check/gstcheck.h:
4665           Fix up the timeout so that the test does not fail.
4666
4667 2005-04-06  Wim Taymans  <wim@fluendo.com>
4668
4669         * gst/base/README:
4670         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4671         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
4672         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
4673         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
4674         (gst_basesrc_check_get_range), (gst_basesrc_loop),
4675         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
4676         (gst_basesrc_stop), (gst_basesrc_activate),
4677         (gst_basesrc_change_state), (basesrc_find_peek),
4678         (basesrc_find_suggest), (gst_basesrc_type_find):
4679         * gst/base/gstbasesrc.h:
4680         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4681         (gst_filesrc_class_init), (gst_filesrc_init),
4682         (gst_filesrc_finalize), (gst_filesrc_set_location),
4683         (gst_filesrc_set_property), (gst_filesrc_get_property),
4684         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
4685         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
4686         (gst_filesrc_create_read), (gst_filesrc_create),
4687         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
4688         * gst/elements/gstfilesrc.h:
4689         * gst/gstelement.c: (gst_element_get_state_func),
4690         (gst_element_lost_state), (gst_element_pads_activate):
4691         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4692         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4693         (gst_pad_pull_range):
4694         * gst/gstpad.h:
4695         More work on the generic source base class, implement seeking,
4696         query.
4697         Make filesrc extend the base source class.
4698         Added gst_pad_set_checkgetrange_function to GstPad.
4699
4700 2005-04-06  Andy Wingo  <wingo@pobox.com>
4701
4702         * pkgconfig/gstreamer-base.pc.in:
4703         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
4704
4705         * pkgconfig/Makefile.am:
4706         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
4707
4708 2005-04-04  Wim Taymans  <wim@fluendo.com>
4709
4710         * gst/base/Makefile.am:
4711         * gst/base/README:
4712         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4713         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4714         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4715         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
4716         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
4717         (gst_basesrc_base_init), (gst_basesrc_class_init),
4718         (gst_basesrc_init), (gst_basesrc_get_formats),
4719         (gst_basesrc_get_query_types), (gst_basesrc_query),
4720         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
4721         (gst_basesrc_set_property), (gst_basesrc_get_property),
4722         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
4723         (gst_basesrc_loop), (gst_basesrc_activate),
4724         (gst_basesrc_change_state):
4725         * gst/base/gstbasesrc.h:
4726         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4727         (gst_fakesrc_class_init), (gst_fakesrc_init),
4728         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
4729         (gst_fakesrc_get_property), (gst_fakesrc_create):
4730         * gst/elements/gstfakesrc.h:
4731         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
4732         (gst_filesrc_open_file), (gst_filesrc_loop),
4733         (gst_filesrc_activate), (filesrc_find_peek),
4734         (gst_filesrc_type_find):
4735         Made base source class, make fakesrc extend it.
4736         Add comments to basesink class.
4737         Some filesrc cleanup.
4738
4739 2005-03-31  David Schleef  <ds@schleef.org>
4740
4741         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
4742         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
4743         expected to link against libgstreamer.
4744         * gst/base/Makefile.am: link against libgstreamer
4745         * gst/elements/Makefile.am: same
4746
4747 2005-03-31  Andy Wingo  <wingo@pobox.com>
4748
4749         * tests/instantiate/Makefile.am:
4750         * tests/instantiate/caps.c: Add test to test speed of caps copy
4751         and free.
4752
4753         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
4754         GMemChunk to be fair.
4755
4756         * gst/gsttrashstack.h: Remove warning about using the fallback
4757         trash stack implementation, it's still faster than malloc.
4758
4759 2005-03-30  Andy Wingo  <wingo@pobox.com>
4760
4761         * tests/complexity.c: Add a copyright.
4762
4763 2005-03-31  Wim Taymans  <wim@fluendo.com>
4764
4765         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
4766         (gst_base_transform_class_init), (gst_base_transform_init),
4767         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4768         (gst_base_transform_get_property),
4769         (gst_base_transform_sink_activate),
4770         (gst_base_transform_src_activate),
4771         (gst_base_transform_change_state):
4772         * gst/base/gstbasetransform.h:
4773         * gst/elements/gstidentity.c: (gst_identity_class_init),
4774         (gst_identity_event), (gst_identity_check_perfect),
4775         (gst_identity_transform), (gst_identity_start),
4776         (gst_identity_stop):
4777         Added start/stop methods to transform base class so subclasses 
4778         don't need to deal with state changes even.
4779
4780 2005-03-31  Wim Taymans  <wim@fluendo.com>
4781
4782         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
4783         (gst_event_new_discontinuous), (gst_event_discont_get_value):
4784         * gst/gstevent.h:
4785         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4786         (gst_pad_pull_range):
4787         Added rate to the discont event to prepare for variable speed
4788         and reverse playback.
4789
4790 2005-03-29  David Schleef  <ds@schleef.org>
4791
4792         * configure.ac:
4793         * testsuite/trigger/Makefile.am:
4794         * testsuite/trigger/trigger.c: A little example program to show
4795         how trigger-based elements can work.
4796
4797 2005-03-29  Wim Taymans  <wim@fluendo.com>
4798
4799         * gst/base/Makefile.am:
4800         * gst/base/README:
4801         * gst/base/gstbasesink.c: (gst_basesink_get_type),
4802         (gst_basesink_base_init), (gst_basesink_class_init),
4803         (gst_basesink_pad_getcaps), (gst_basesink_init),
4804         (gst_basesink_activate), (gst_basesink_change_state):
4805         * gst/base/gstbasesink.h:
4806         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4807         (gst_base_transform_base_init), (gst_base_transform_finalize),
4808         (gst_base_transform_class_init), (gst_base_transform_init),
4809         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
4810         (gst_base_transform_event), (gst_base_transform_getrange),
4811         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
4812         (gst_base_transform_set_property),
4813         (gst_base_transform_get_property),
4814         (gst_base_transform_sink_activate),
4815         (gst_base_transform_src_activate),
4816         (gst_base_transform_change_state):
4817         * gst/base/gstbasetransform.h:
4818         * gst/elements/gstidentity.c: (gst_identity_finalize),
4819         (gst_identity_class_init), (gst_identity_init),
4820         (gst_identity_event), (gst_identity_check_perfect),
4821         (gst_identity_transform), (gst_identity_set_property),
4822         (gst_identity_get_property), (gst_identity_change_state):
4823         * gst/elements/gstidentity.h:
4824         * gst/gstelement.c: (gst_element_get_state_func),
4825         (gst_element_lost_state), (gst_element_pads_activate):
4826         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4827         (gst_pad_check_pull_range), (gst_pad_pull_range):
4828         * gst/gstpad.h:
4829         Simplify pad activation.
4830         Added function to check if pull_range can be performed.
4831         Error out when pulling inactive or flushing pads.
4832         Removed const from refcounted types as it does not make sense.
4833         Simplify pad templates in basesink
4834         Added base class for simple 1-to-1 transforms.
4835         Make identity subclass the base transform.
4836
4837 2005-03-29  Andy Wingo  <wingo@pobox.com>
4838
4839         * docs/libs/gstreamer-libs-overrides.txt: 
4840         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
4841         really don't understand what's going on, but like whatever. I want
4842         green buildbot!
4843
4844         * docs/gst/Makefile.am:
4845         * docs/libs/Makefile.am: Dist the overrides files.
4846
4847         * check/Makefile.am (clean-local): Remove .libs directories.
4848
4849         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
4850         elements to EXTRA_DIST, so po/ files are happy.
4851
4852         * po/POTFILES.in: Er, remove it here.
4853
4854         * po/POTFILES: Remove gstspider.c.
4855
4856         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
4857
4858         * docs/libs/gstreamer-libs-docs.sgml: 
4859         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
4860         bytestream.
4861
4862         * tests/complexity.c (main): Set the length of the preroll queue
4863         on the sinks to prevent a lockup.
4864
4865         * libs/gst/dataprotocol/Makefile.am: 
4866         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
4867         the same as the one in check/gst-libs/gdp.c.
4868
4869         * po/, docs/gst/: Commit automatic changes to docs and po files.
4870
4871         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
4872         the versioned libgstbase.
4873
4874         * check/Makefile.am: Depend on an unversioned gst-register, seems
4875         to make autoconf happier.
4876
4877         * gst/base/Makefile.am: Make libgstbase a versioned lib.
4878
4879 2005-03-28  Wim Taymans  <wim@fluendo.com>
4880
4881         * configure.ac:
4882         * docs/design/part-gstelement.txt:
4883         * docs/design/part-negotiation.txt:
4884         * docs/design/part-preroll.txt:
4885         * docs/design/part-scheduling.txt:
4886         * docs/design/part-states.txt:
4887         * gst/Makefile.am:
4888         * gst/base/Makefile.am:
4889         * gst/base/README:
4890         * gst/base/gstbasesink.c: (gst_basesink_get_template),
4891         (gst_basesink_base_init), (gst_basesink_class_init),
4892         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
4893         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
4894         (gst_basesink_set_pad_functions),
4895         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
4896         (gst_basesink_set_property), (gst_basesink_get_property),
4897         (gst_base_sink_get_template), (gst_base_sink_get_caps),
4898         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
4899         (gst_basesink_preroll_queue_push),
4900         (gst_basesink_preroll_queue_empty),
4901         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
4902         (gst_basesink_event), (gst_basesink_get_times),
4903         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
4904         (gst_basesink_chain_unlocked), (gst_basesink_chain),
4905         (gst_basesink_loop), (gst_basesink_activate),
4906         (gst_basesink_change_state):
4907         * gst/base/gstbasesink.h:
4908         * gst/elements/Makefile.am:
4909         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4910         (gst_fakesink_class_init), (gst_fakesink_init),
4911         (gst_fakesink_set_property), (gst_fakesink_get_property),
4912         (gst_fakesink_get_times), (gst_fakesink_event),
4913         (gst_fakesink_preroll), (gst_fakesink_render),
4914         (gst_fakesink_change_state):
4915         * gst/elements/gstfakesink.h:
4916         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4917         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
4918         * gst/gstelement.c: (gst_element_add_pad),
4919         (gst_element_get_state_func), (gst_element_abort_state),
4920         (gst_element_commit_state), (gst_element_lost_state),
4921         (gst_element_set_state), (gst_element_pads_activate):
4922         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
4923         * gst/gstpipeline.c: (gst_pipeline_send_event),
4924         (gst_pipeline_change_state):
4925         Added state change code.
4926         Added/updated docs.
4927         Added sink base class, make fakesink extend the base class.
4928         Small cleanups in GstPipeline.
4929
4930 2005-03-26  David Schleef  <ds@schleef.org>
4931
4932         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
4933         is broken and should be implemented in a different library.
4934         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
4935         * gst/gst.h: remove gstcpu.h
4936         * gst/gstcpu.c: remove
4937         * gst/gstcpu.h: remove
4938         * gst/Makefile.am.future: Remove this file.  It's ancient.
4939
4940 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4941
4942         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
4943         (gst_bin_send_event):
4944           Add default event/set_manager handlers. The set_manager handler
4945           takes care that the manager is distributed over kids that were
4946           already in the bin before the manager was set. The event handler
4947           is a utility virtual function that sends the event over all sinks,
4948           so that gst_element_send_event (bin, event); has the expected
4949           behaviour.
4950         * gst/gstpad.c: (gst_pad_event_default):
4951           Re-install default event handling for discontinuities, so that
4952           seeking works without requiring hacks in applications or extra
4953           code in sinks.
4954         * gst/gstpipeline.c: (gst_pipeline_class_init),
4955         (gst_pipeline_send_event):
4956           Half hack, half utility: set a pipeline to PAUSED for seek events,
4957           since that is the only way we can guarantee a/v sync. Means that
4958           you can do gst_element_seek (pipeline, method, pos); on a pipeline
4959           and it "just works".
4960
4961 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4962
4963         * gst/gstpipeline.c: (gst_pipeline_use_clock):
4964           Lock/unlock mismatch.
4965
4966 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4967
4968         * docs/faq/gst-uninstalled:
4969           add gst-plugins-base
4970         * docs/gst/Makefile.am:
4971           don't error out until docs are fixed
4972         * docs/gst/gstreamer.types:
4973           remove thread
4974
4975 2005-03-22  Wim Taymans  <wim@fluendo.com>
4976
4977         * check/Makefile.am:
4978         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4979         * gst/gststructure.c: (gst_structure_set_valist),
4980         (gst_structure_copy_conditional):
4981         Activated more tests.
4982         Added message test.
4983         Added G_TYPE_POINTER to GstStructure.
4984         
4985
4986 2005-03-22  Wim Taymans  <wim@fluendo.com>
4987
4988         * docs/design/part-TODO.txt:
4989         * docs/design/part-events.txt:
4990         * docs/design/part-gstbin.txt:
4991         * docs/design/part-gstbus.txt:
4992         * docs/design/part-gstpipeline.txt:
4993         * docs/design/part-messages.txt:
4994         * gst/gstbus.c:
4995         * gst/gstmessage.c:
4996         Docs updates
4997
4998 2005-03-21  Wim Taymans  <wim@fluendo.com>
4999
5000         * gst/gstbus.c: (gst_bus_post):
5001         Fix copy-and-paste error.
5002
5003 2005-03-21  Wim Taymans  <wim@fluendo.com>
5004
5005         * check/Makefile.am:
5006         * gst/Makefile.am:
5007         * gst/elements/Makefile.am:
5008         * gst/elements/gstelements.c:
5009         * gst/elements/gstfakesink.c: (gst_fakesink_init),
5010         (gst_fakesink_event), (gst_fakesink_chain):
5011         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5012         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
5013         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
5014         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
5015         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5016         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
5017         (gst_fakesrc_loop), (gst_fakesrc_activate),
5018         (gst_fakesrc_change_state):
5019         * gst/elements/gstfakesrc.h:
5020         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
5021         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
5022         (gst_filesrc_open_file), (gst_filesrc_loop),
5023         (gst_filesrc_activate), (gst_filesrc_change_state),
5024         (filesrc_find_peek), (filesrc_find_suggest),
5025         (gst_filesrc_type_find):
5026         * gst/elements/gstidentity.c: (gst_identity_finalize),
5027         (gst_identity_class_init), (gst_identity_init),
5028         (gst_identity_proxy_getcaps), (identity_queue_push),
5029         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
5030         (gst_identity_getrange), (gst_identity_chain),
5031         (gst_identity_sink_loop), (gst_identity_src_loop),
5032         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
5033         (gst_identity_set_property), (gst_identity_get_property),
5034         (gst_identity_change_state):
5035         * gst/elements/gstidentity.h:
5036         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5037         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
5038         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
5039         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
5040         (gst_tee_sink_activate):
5041         * gst/elements/gsttee.h:
5042         * gst/gst.c: (gst_register_core_elements), (init_post):
5043         * gst/gst.h:
5044         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
5045         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
5046         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
5047         (gst_bin_change_state):
5048         * gst/gstbin.h:
5049         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
5050         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
5051         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
5052         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
5053         (gst_bus_set_sync_handler), (gst_bus_create_watch),
5054         (bus_watch_callback), (bus_watch_destroy),
5055         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
5056         (poll_timeout), (gst_bus_poll):
5057         * gst/gstbus.h:
5058         * gst/gstcaps.h:
5059         * gst/gstdata.h:
5060         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5061         (gst_element_post_message), (gst_element_message_full),
5062         (gst_element_get_state_func), (gst_element_get_state),
5063         (gst_element_abort_state), (gst_element_commit_state),
5064         (gst_element_lost_state), (gst_element_set_state),
5065         (gst_element_pads_activate), (gst_element_change_state),
5066         (gst_element_dispose), (gst_element_set_manager_func),
5067         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
5068         (gst_element_set_manager), (gst_element_get_manager),
5069         (gst_element_set_bus), (gst_element_get_bus),
5070         (gst_element_set_scheduler), (gst_element_get_scheduler):
5071         * gst/gstelement.h:
5072         * gst/gstevent.c: (gst_event_new_segment_seek),
5073         (gst_event_new_flush):
5074         * gst/gstevent.h:
5075         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
5076         (_gst_message_free), (gst_message_get_type), (gst_message_new),
5077         (gst_message_new_eos), (gst_message_new_error),
5078         (gst_message_new_warning), (gst_message_new_tag),
5079         (gst_message_new_state_changed), (gst_message_new_application),
5080         (gst_message_get_structure), (gst_message_parse_tag),
5081         (gst_message_parse_state_changed), (gst_message_parse_error),
5082         (gst_message_parse_warning):
5083         * gst/gstmessage.h:
5084         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
5085         (gst_real_pad_set_property), (gst_pad_set_active),
5086         (gst_pad_is_active), (gst_pad_set_blocked_async),
5087         (gst_pad_set_blocked), (gst_pad_is_blocked),
5088         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
5089         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
5090         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5091         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
5092         (gst_pad_link_filtered), (gst_pad_relink_filtered),
5093         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
5094         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
5095         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
5096         (gst_pad_set_caps), (gst_pad_configure_sink),
5097         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
5098         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
5099         (gst_real_pad_dispose), (gst_real_pad_finalize),
5100         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
5101         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5102         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
5103         * gst/gstpad.h:
5104         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
5105         (pipeline_bus_handler), (gst_pipeline_change_state),
5106         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
5107         * gst/gstpipeline.h:
5108         * gst/gstprobe.h:
5109         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5110         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
5111         (gst_queue_link_src), (gst_queue_bufferalloc),
5112         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5113         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
5114         (gst_queue_loop), (gst_queue_handle_src_event),
5115         (gst_queue_handle_src_query), (gst_queue_src_activate),
5116         (gst_queue_change_state):
5117         * gst/gstqueue.h:
5118         * gst/gstscheduler.c: (gst_scheduler_init),
5119         (gst_scheduler_dispose), (gst_scheduler_create_task),
5120         (gst_scheduler_factory_create):
5121         * gst/gstscheduler.h:
5122         * gst/gststructure.c: (gst_structure_get_type),
5123         (gst_structure_copy_conditional):
5124         * gst/gststructure.h:
5125         * gst/gsttaginterface.h:
5126         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5127         (gst_task_init), (gst_task_dispose), (gst_task_create),
5128         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5129         (gst_task_pause):
5130         * gst/gsttask.h:
5131         * gst/gstthread.c:
5132         * gst/gstthread.h:
5133         * gst/gsttypes.h:
5134         * gst/schedulers/Makefile.am:
5135         * gst/schedulers/cothreads_compat.h:
5136         * gst/schedulers/entryscheduler.c:
5137         * gst/schedulers/faircothreads.c:
5138         * gst/schedulers/faircothreads.h:
5139         * gst/schedulers/fairscheduler.c:
5140         * gst/schedulers/gstbasicscheduler.c:
5141         * gst/schedulers/gstoptimalscheduler.c:
5142         * gst/schedulers/gthread-cothreads.h:
5143         * gst/schedulers/threadscheduler.c:
5144         (gst_thread_scheduler_task_get_type),
5145         (gst_thread_scheduler_task_class_init),
5146         (gst_thread_scheduler_task_init),
5147         (gst_thread_scheduler_task_start),
5148         (gst_thread_scheduler_task_stop),
5149         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5150         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5151         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5152         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5153         (plugin_init):
5154         * libs/gst/Makefile.am:
5155         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5156         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5157         (gst_file_pad_parent_set):
5158         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5159         (gst_dp_event_from_packet):
5160         * tests/complexity.c: (main):
5161         * tests/mass_elements.c: (main):
5162         * testsuite/states/locked.c: (message_received), (main):
5163         * testsuite/states/parent.c: (main):
5164         * tools/gst-inspect.c: (print_element_flag_info),
5165         (print_implementation_info), (print_pad_info):
5166         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5167         (main):
5168         * tools/gst-md5sum.c: (event_loop), (main):
5169         * tools/gst-typefind.c: (main):
5170         * tools/gst-xmlinspect.c: (print_element_info):
5171         Next big merge.
5172         Added GstBus for mainloop integration.
5173         Added GstMessage for sending notifications on the bus.
5174         Added GstTask as an abstraction for pipeline entry points.
5175         Removed GstThread.
5176         Removed Schedulers.
5177         Simplified GstQueue for multithreaded core.
5178         Made _link threadsafe, removed old capsnego.
5179         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5180         Added pad blocking functions.
5181         Reworked scheduling functions in GstPad to prepare for
5182         scheduling updates soon.
5183         Moved events out of data stream.
5184         Simplified GstEvent types.
5185         Added return values to push/pull.
5186         Removed clocking from GstElement.
5187         Added prototypes for state change function for next merge.
5188         Removed iterate from bins and state change management.
5189         Fixed some elements, disabled others for now.
5190         Fixed -inspect and -launch.
5191         Added check for GstBus.
5192
5193 2005-03-10  Wim Taymans  <wim@fluendo.com>
5194
5195         * docs/design/part-MT-refcounting.txt:
5196         * docs/design/part-clocks.txt:
5197         * docs/design/part-gstelement.txt:
5198         * docs/design/part-gstobject.txt:
5199         * docs/design/part-standards.txt:
5200         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5201         (gst_bin_remove_func), (gst_bin_remove):
5202         * gst/gstbin.h:
5203         * gst/gstbuffer.c:
5204         * gst/gstcaps.h:
5205         * testsuite/clock/clock1.c: (main):
5206         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5207         (main):
5208         * testsuite/dlopen/loadgst.c: (do_test):
5209         * testsuite/refcounting/bin.c: (add_remove_test1),
5210         (add_remove_test2), (main):
5211         * testsuite/refcounting/element.c: (main):
5212         * testsuite/refcounting/element_pad.c: (main):
5213         * testsuite/refcounting/pad.c: (main):
5214         * tools/gst-launch.c: (sigint_handler_sighandler):
5215         * tools/gst-typefind.c: (main):
5216         Doc updates.
5217         Added doc about clock.
5218         removed gst_bin_iterate_recurse_up(), marked methods
5219         for removal.
5220         Fix more testsuites.
5221
5222 2005-03-09  Wim Taymans  <wim@fluendo.com>
5223
5224         * gst/gstpad.c: (gst_pad_get_direction),
5225         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5226         (gst_pad_collect_valist):
5227         * testsuite/bins/interface.c: (main):
5228         * testsuite/caps/audioscale.c: (test_caps):
5229         * testsuite/caps/caps.c: (test1), (test2), (test3):
5230         * testsuite/caps/deserialize.c: (main):
5231         * testsuite/caps/enumcaps.c: (main):
5232         * testsuite/caps/filtercaps.c: (main):
5233         * testsuite/caps/intersect2.c: (main):
5234         * testsuite/caps/random.c: (main):
5235         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5236         * testsuite/caps/sets.c: (check_caps):
5237         * testsuite/caps/simplify.c: (check_caps), (main):
5238         * testsuite/caps/subtract.c: (check_caps):
5239         Fix _pad_get_direction wrt ghostpads.
5240         Fix caps testsuite.
5241
5242 2005-03-09  Wim Taymans  <wim@fluendo.com>
5243
5244         * check/Makefile.am:
5245         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5246         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5247         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5248         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5249         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5250         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5251         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5252         (bin_element_is_sink), (gst_bin_iterate_sinks),
5253         (gst_bin_iterate_all_by_interface):
5254         * gst/gstbin.h:
5255         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5256         (gst_element_change_state), (gst_element_dispose),
5257         (gst_element_finalize), (gst_element_set_loop_function):
5258         * gst/gstelement.h:
5259         * gst/gstiterator.c: (find_custom_fold_func):
5260         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5261         (gst_pad_collectv), (gst_pad_collect_valist),
5262         (gst_pad_template_new):
5263         * gst/gstpipeline.c: (gst_pipeline_class_init),
5264         (gst_pipeline_dispose), (gst_pipeline_set_property),
5265         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5266         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5267         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5268         * gst/gstutils.h:
5269         * gst/schedulers/entryscheduler.c:
5270         * gst/schedulers/gstbasicscheduler.c:
5271         (gst_basic_scheduler_cothreaded_chain),
5272         (gst_basic_scheduler_chain_add_element):
5273         * testsuite/bins/interface.c: (main):
5274         Added GstBin test.
5275         Added GstSystemClock test.
5276         Implemented clock distribution code in GstBin.
5277         Implemented iterate sinks method for future use.
5278         Rearranged gstelement.h
5279         Fix GstIterator comparison bug.
5280         Moved some code to GstPipeline, mostly clocking related.
5281
5282 2005-03-09  Wim Taymans  <wim@fluendo.com>
5283
5284         * configure.ac:
5285         * gst/gst_private.h:
5286         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5287         (gst_bin_remove_func), (gst_bin_remove),
5288         (gst_bin_get_by_name_recurse_up):
5289         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5290         (gst_clock_id_compare_func), (gst_clock_id_wait),
5291         (gst_clock_id_wait_async), (gst_clock_init),
5292         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5293         * gst/gstelement.h:
5294         * gst/gstinfo.c: (_gst_debug_init):
5295         * gst/gstobject.h:
5296         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5297         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5298         * gst/gstpad.h:
5299         Bump version number, we're now 0.9.0
5300         Add future debugging category.
5301         Fix NULL _unref() in _get_by_name_recurse_up
5302         Rearrange gstpad.h.
5303         Update some docs.
5304
5305 2005-03-08  Wim Taymans  <wim@fluendo.com>
5306
5307         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5308         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5309         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5310         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5311         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5312         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5313         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5314         * gst/elements/gstidentity.c: (gst_identity_class_init):
5315         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5316         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5317         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5318         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5319         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5320         (gst_tee_link):
5321         * gst/gstelement.c: (gst_element_class_init),
5322         (gst_element_base_class_init), (gst_element_init),
5323         (gst_element_get_random_pad), (gst_element_wait_state_change),
5324         (gst_element_change_state), (gst_element_dispose),
5325         (gst_element_finalize), (gst_element_set_loop_function):
5326         * gst/gstelement.h:
5327         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5328         * gst/gstthread.c: (gst_thread_class_init),
5329         (gst_thread_release_children_locks), (gst_thread_change_state):
5330         * gst/schedulers/gstbasicscheduler.c:
5331         (gst_basic_scheduler_loopfunc_wrapper),
5332         (gst_basic_scheduler_chain_wrapper),
5333         (gst_basic_scheduler_src_wrapper),
5334         (gst_basic_scheduler_remove_element):
5335         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5336         Remove threadsafe properties. Fix elements because GObject
5337         complains when installing a property before declaring a
5338         set/get_property handler.
5339         Rearrange gstelement.h file, use STATE macros for state locks.
5340         Free mutexes in the finalize method instead of dispose.
5341
5342 2005-03-08  Wim Taymans  <wim@fluendo.com>
5343
5344         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5345         * gst/gstthread.c: (gst_thread_release_children_locks):
5346         Added parentage check.
5347         Fix build og GstThread again.
5348
5349 2005-03-08  Wim Taymans  <wim@fluendo.com>
5350
5351         * docs/design/part-MT-refcounting.txt:
5352         * docs/design/part-conventions.txt:
5353         * docs/design/part-gstobject.txt:
5354         * docs/design/part-relations.txt:
5355         * docs/design/part-standards.txt:
5356         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5357         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5358         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5359         (gst_bin_iterate_all_by_interface):
5360         * gst/gstbuffer.h:
5361         * gst/gstclock.h:
5362         * gst/gstelement.c: (gst_element_class_init),
5363         (gst_element_change_state), (gst_element_set_loop_function):
5364         * gst/gstelement.h:
5365         * gst/gstiterator.c:
5366         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5367         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5368         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5369         (gst_object_set_parent), (gst_object_unparent),
5370         (gst_object_check_uniqueness):
5371         * gst/gstobject.h:
5372         Docs updates, clean up some headers.
5373
5374 2005-03-07  Wim Taymans  <wim@fluendo.com>
5375
5376         * check/.cvsignore:
5377         * check/Makefile.am:
5378         * check/gst-libs/.cvsignore:
5379         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5380         * check/gst/.cvsignore:
5381         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5382         (START_TEST), (gstbus_suite), (main):
5383         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5384         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5385         (gst_data_suite), (main):
5386         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5387         (add_fold_func), (gstiterator_suite), (main):
5388         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5389         (thread_name_object), (thread_name_object_default),
5390         (gst_object_name_compare), (gst_object_suite), (main):
5391         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5392         (gst_pad_suite), (main):
5393         * check/gstcheck.c: (gst_check_log_message_func),
5394         (gst_check_log_critical_func), (gst_check_init):
5395         * check/gstcheck.h:
5396         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5397         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5398         Added checks.
5399
5400 2005-03-07  Wim Taymans  <wim@fluendo.com>
5401
5402         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5403         (gst_list_iterator_next), (gst_list_iterator_resync),
5404         (gst_list_iterator_free), (gst_iterator_new_list),
5405         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5406         (gst_iterator_free), (gst_iterator_push), (filter_next),
5407         (filter_resync), (filter_uninit), (filter_free),
5408         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5409         (gst_iterator_foreach), (find_custom_fold_func),
5410         (gst_iterator_find_custom):
5411         * gst/gstiterator.h:
5412         Added missing files.
5413
5414 2005-03-07  Wim Taymans  <wim@fluendo.com>
5415
5416         * Makefile.am:
5417         * configure.ac:
5418         * docs/design/part-MT-refcounting.txt:
5419         * docs/design/part-conventions.txt:
5420         * docs/design/part-gstobject.txt:
5421         * docs/design/part-relations.txt:
5422         * examples/mixer/mixer.c: (main):
5423         * examples/thread/thread.c: (eos), (main):
5424         * gst/Makefile.am:
5425         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5426         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5427         (gst_spider_plug_from_srcpad):
5428         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5429         (gst_spider_identity_change_state),
5430         (gst_spider_identity_sink_loop_type_finding):
5431         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5432         * gst/elements/gstidentity.c: (gst_identity_init):
5433         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5434         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5435         * gst/elements/gsttypefindelement.c: (free_entry):
5436         * gst/gst.c:
5437         * gst/gst.h:
5438         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5439         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5440         (gst_bin_set_index), (gst_bin_set_element_sched),
5441         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5442         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5443         (gst_bin_iterate_elements), (iterate_child_recurse),
5444         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5445         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5446         (compare_interface), (gst_bin_get_by_interface),
5447         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5448         * gst/gstbin.h:
5449         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5450         (gst_buffer_default_free), (gst_buffer_default_copy),
5451         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5452         (gst_buffer_create_sub):
5453         * gst/gstbuffer.h:
5454         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5455         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5456         (gst_caps_unref), (gst_static_caps_get),
5457         (gst_caps_remove_and_get_structure), (gst_caps_append),
5458         (gst_caps_append_structure), (gst_caps_remove_structure),
5459         (gst_caps_copy_nth), (gst_caps_set_simple),
5460         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5461         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5462         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5463         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5464         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5465         (gst_caps_structure_figure_out_union),
5466         (gst_caps_switch_structures), (gst_caps_do_simplify),
5467         (gst_caps_replace), (gst_caps_from_string),
5468         (gst_caps_copy_conditional):
5469         * gst/gstcaps.h:
5470         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5471         (_gst_clock_id_free), (gst_clock_id_unref),
5472         (gst_clock_id_compare_func), (gst_clock_id_wait),
5473         (gst_clock_id_wait_async), (gst_clock_class_init),
5474         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5475         (gst_clock_get_time), (gst_clock_set_time_adjust),
5476         (gst_clock_set_property), (gst_clock_get_property):
5477         * gst/gstclock.h:
5478         * gst/gstcompat.h:
5479         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5480         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5481         * gst/gstdata.h:
5482         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5483         (gst_element_requires_clock), (gst_element_provides_clock),
5484         (gst_element_set_clock), (gst_element_clock_wait),
5485         (gst_element_wait), (gst_element_set_time_delay),
5486         (gst_element_is_indexable), (gst_element_add_pad),
5487         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5488         (pad_compare_name), (gst_element_get_static_pad),
5489         (gst_element_request_pad), (gst_element_get_request_pad),
5490         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5491         (gst_element_class_get_pad_template_list),
5492         (gst_element_class_get_pad_template), (gst_element_error_func),
5493         (gst_element_get_random_pad), (gst_element_get_event_masks),
5494         (gst_element_send_event), (gst_element_seek),
5495         (gst_element_get_query_types), (gst_element_query),
5496         (gst_element_get_formats), (gst_element_convert),
5497         (gst_element_is_locked_state), (gst_element_set_locked_state),
5498         (gst_element_sync_state_with_parent), (gst_element_change_state),
5499         (gst_element_finalize), (gst_element_yield),
5500         (gst_element_interrupt), (gst_element_set_scheduler),
5501         (gst_element_get_scheduler), (gst_element_set_loop_function):
5502         * gst/gstelement.h:
5503         * gst/gstevent.h:
5504         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
5505         (gst_format_get_by_nick), (gst_format_get_details),
5506         (gst_format_iterate_definitions):
5507         * gst/gstformat.h:
5508         * gst/gstindex.c: (gst_index_gtype_resolver):
5509         * gst/gstinfo.c:
5510         * gst/gstinfo.h:
5511         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
5512         (gst_mem_chunk_free):
5513         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5514         (gst_object_ref), (gst_object_unref), (gst_object_sink),
5515         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
5516         (gst_object_dispatch_properties_changed),
5517         (gst_object_set_name_default), (gst_object_set_name),
5518         (gst_object_get_name), (gst_object_set_name_prefix),
5519         (gst_object_get_name_prefix), (gst_object_set_parent),
5520         (gst_object_get_parent), (gst_object_unparent),
5521         (gst_object_check_uniqueness), (gst_object_save_thyself),
5522         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
5523         (gst_object_set_property), (gst_object_get_property),
5524         (gst_object_get_path_string):
5525         * gst/gstobject.h:
5526         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
5527         (gst_real_pad_init), (gst_real_pad_get_property),
5528         (gst_pad_custom_new), (gst_pad_get_direction),
5529         (gst_pad_set_active), (gst_pad_is_active),
5530         (gst_pad_set_event_function), (gst_pad_is_linked),
5531         (gst_pad_link_free), (gst_pad_link_intersect),
5532         (gst_pad_link_fixate), (gst_pad_set_caps),
5533         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
5534         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
5535         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
5536         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
5537         (gst_pad_get_caps), (gst_pad_peer_get_caps),
5538         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
5539         (gst_pad_realize), (gst_pad_get_allowed_caps),
5540         (gst_real_pad_dispose), (gst_real_pad_finalize),
5541         (gst_pad_collectv), (gst_pad_collect_valist),
5542         (gst_pad_template_dispose), (gst_pad_template_new),
5543         (gst_pad_get_internal_links):
5544         * gst/gstpad.h:
5545         * gst/gstpipeline.c: (gst_pipeline_dispose),
5546         (gst_pipeline_change_state):
5547         * gst/gstpipeline.h:
5548         * gst/gstplugin.c:
5549         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
5550         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
5551         * gst/gstpluginfeature.h:
5552         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5553         * gst/gstquery.c: (_gst_query_type_initialize),
5554         (gst_query_type_register), (gst_query_type_get_by_nick),
5555         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
5556         * gst/gstquery.h:
5557         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
5558         * gst/gstscheduler.c: (gst_scheduler_add_element),
5559         (gst_scheduler_factory_create):
5560         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5561         (gst_structure_free), (gst_structure_set_name),
5562         (gst_structure_id_set_value), (gst_structure_set_value),
5563         (gst_structure_set_valist), (gst_structure_remove_field),
5564         (gst_structure_remove_fields),
5565         (gst_structure_remove_fields_valist),
5566         (gst_structure_remove_all_fields), (gst_structure_foreach),
5567         (gst_structure_map_in_place),
5568         (gst_caps_structure_fixate_field_nearest_int),
5569         (gst_caps_structure_fixate_field_nearest_double):
5570         * gst/gststructure.h:
5571         * gst/gstsystemclock.c: (gst_system_clock_class_init),
5572         (gst_system_clock_init), (gst_system_clock_dispose),
5573         (gst_system_clock_async_thread),
5574         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
5575         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5576         * gst/gstsystemclock.h:
5577         * gst/gsttag.c: (gst_tag_list_add_value_internal),
5578         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
5579         * gst/gsttaginterface.c:
5580         * gst/gstthread.c: (gst_thread_dispose),
5581         (gst_thread_release_children_locks), (gst_thread_change_state),
5582         (gst_thread_main_loop):
5583         * gst/gsttrashstack.h:
5584         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
5585         * gst/gsttypes.h:
5586         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
5587         (gst_element_request_pad), (gst_element_get_pad_from_template),
5588         (gst_element_request_compatible_pad),
5589         (gst_element_get_compatible_pad_filtered),
5590         (gst_element_get_compatible_pad), (gst_element_state_get_name),
5591         (gst_element_link_pads_filtered), (gst_element_link_filtered),
5592         (gst_element_link_many), (gst_element_link),
5593         (gst_element_link_pads), (gst_element_unlink_pads),
5594         (gst_element_unlink_many), (gst_element_unlink),
5595         (gst_pad_can_link_filtered), (gst_pad_can_link),
5596         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
5597         (gst_object_default_error), (gst_bin_add_many),
5598         (gst_bin_remove_many), (gst_element_populate_std_props),
5599         (gst_element_class_install_std_props), (gst_buffer_merge),
5600         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
5601         (link_fold_func), (gst_pad_proxy_setcaps):
5602         * gst/gstutils.h:
5603         * gst/gstvalue.c: (gst_value_deserialize_string):
5604         * gst/parse/grammar.y:
5605         * gst/schedulers/gstbasicscheduler.c:
5606         (gst_basic_scheduler_cothreaded_chain),
5607         (gst_basic_scheduler_chain_recursive_add),
5608         (gst_basic_scheduler_pad_link):
5609         * gst/schedulers/gstoptimalscheduler.c:
5610         (get_group_schedule_function),
5611         (gst_opt_scheduler_state_transition),
5612         (gst_opt_scheduler_add_element), (element_get_reachables_func):
5613         * libs/gst/bytestream/bytestream.c:
5614         * libs/gst/dataprotocol/dataprotocol.c:
5615         (gst_dp_header_from_buffer):
5616         * po/nb.po:
5617         * po/ru.po:
5618         * tests/threadstate/threadstate2.c: (eos):
5619         * tools/gst-compprep.c: (main):
5620         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
5621         (print_pad_info), (print_children_info):
5622         * tools/gst-launch.c: (idle_func), (main):
5623         * tools/gst-md5sum.c: (idle_func), (main):
5624         * tools/gst-xmlinspect.c: (print_element_info):
5625         First THREADED backport attempt, focusing on adding locks and
5626         making sure the API is threadsafe. Needs more work. More docs
5627         follow this week.
5628
5629 2005-02-24  Andy Wingo  <wingo@pobox.com>
5630
5631         * tests/bench-complexity.scm:
5632         * tests/complexity.gnuplot: New files, good for running complexity
5633         benchmarks.
5634
5635         * tests/Makefile.am:
5636         * tests/complexity.c: New test, sets up N elements, at each level
5637         teeing into M streams per element. Eeeenteresting.
5638
5639         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
5640         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
5641         running bench-mass_elements.scm.
5642
5643         * tests/bench-mass_elements.scm: New script, runs mass_elements
5644         for various numbers of identities, outputting the results to a
5645         file. Requires guile 1.6. Just for testing.
5646
5647 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5648
5649         * gst/schedulers/fairscheduler.c:
5650           compile with debug disabled
5651
5652 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5653
5654         * configure.ac:
5655           hunting season on 0.9 is now OPEN
5656
5657 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
5658
5659         * docs/libs/tmpl/gstcontrol.sgml:
5660         * docs/libs/tmpl/gstdparam.sgml:
5661         * docs/libs/tmpl/gstdplinint.sgml:
5662         * docs/libs/tmpl/gstdpman.sgml:
5663         * docs/libs/tmpl/gstdpsmooth.sgml:
5664         * docs/libs/tmpl/gstunitconvert.sgml:
5665           more docs for the state of dparams
5666
5667 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5668
5669         * gst/gstelementfactory.c: (gst_element_factory_create):
5670         * gst/gstobject.c: (gst_object_init),
5671         (gst_object_set_name_default), (gst_object_set_name):
5672           name objects by default, not in gst_element_factory_create. Allows
5673           using elements created with g_object_new. (fixes #167283)
5674
5675 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5676
5677         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
5678           make the time that debugging functions print relative to when
5679           gst_init was called
5680
5681 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
5682
5683         * gst/gsttaginterface.c:
5684           Fix inline docs: tag setter vararg functions are NULL-terminated,
5685           GST_TAG_INVALID doesn't exist any more.
5686
5687 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5688
5689         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
5690         Allocate the 1 byte more memory that was forgotten!!!!!
5691         fixes memory corruption on 64bit platforms
5692
5693 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
5694
5695         * docs/pwg/building-pads.xml:
5696         * docs/pwg/intro-basics.xml:
5697           fixed a few typos, relabeled introductionary list of types
5698         * docs/random/ensonic/dparams.txt:
5699           more notes abut dparam changes
5700         * libs/gst/control/dparam.c: (gst_dparam_attach):
5701         * libs/gst/control/dparammanager.c:
5702         * libs/gst/control/dparammanager.h:
5703           - many comments and notes on dparam implementation
5704           - new dparams are were not initialized to the default value
5705             from param spec
5706
5707 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5708
5709         submitted by: Peter Astakhov
5710
5711         * po/LINGUAS:
5712         * po/ru.po:
5713           adding Russian translation
5714
5715 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5716
5717         * configure.ac:
5718         * docs/gst/Makefile.am:
5719         * docs/libs/Makefile.am:
5720           make sure popt is added to gtk-doc flags.  Fixes #147782.
5721
5722 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5723
5724         * docs/faq/using.xml:
5725           Fix typo in FAQ (artssink => artsdsink)
5726
5727 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5728
5729         * tools/gst-launch.1.in:
5730           Fix typo (#166699).
5731
5732 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
5733
5734         * docs/faq/using.xml:
5735           Add -v argument to fakesrc/fakesink gst-launch line,
5736           so that the promised output will actually show up.
5737
5738 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5739
5740         * gst/gstthread.c: (gst_thread_change_state):
5741           Implement state-change error handling (#166073).
5742
5743 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5744
5745         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5746           Release interrupt after handling (#166250).
5747
5748 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5749
5750         * configure.ac:
5751           back to HEAD
5752
5753 === release 0.8.9 ===
5754
5755 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5756
5757         * NEWS:
5758         * RELEASE:
5759         * configure.ac:
5760           releasing 0.8.9, "Like Eating Glass"
5761
5762 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5763
5764         submitted by: Clytie Siddall
5765
5766         * po/vi.po: Added Vietnamese translation
5767
5768 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5769
5770         patch by: Tim Philipp-Müller
5771
5772         * configure.ac:
5773         * gst/gstpad.c:
5774           unref data when probe function returns FALSE.  Fixes #166362
5775
5776 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5777
5778         * gst/gst.c: (gst_init_get_popt_table):
5779           Fix typo (#166269).
5780
5781 2005-02-04  Andy Wingo  <wingo@pobox.com>
5782
5783         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
5784         the debugging on whether the caps are compatible.
5785
5786 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5787
5788         * docs/manual/basics-elements.xml:
5789           Fix two typos.
5790
5791 2005-02-02  Wim Taymans  <wim@fluendo.com>
5792
5793         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
5794         (schedule_chain), (get_invalid_call), (chain_invalid_call),
5795         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
5796         Remove some FIXMEs after analysing and commenting why they
5797         are not issues.
5798
5799 2005-02-02  Wim Taymans  <wim@fluendo.com>
5800
5801         * gst/schedulers/gstoptimalscheduler.c:
5802         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
5803         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
5804         (get_invalid_call), (chain_invalid_call),
5805         (get_group_schedule_function), (loop_group_schedule_function),
5806         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5807         (gst_opt_scheduler_state_transition),
5808         (gst_opt_scheduler_add_element),
5809         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
5810         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
5811         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
5812         (gst_opt_scheduler_show):
5813         Added lock to protect scheduler data structures.
5814
5815 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5816
5817         * testsuite/threads/threadi.c: (cb_data):
5818           Fix buglet in test.
5819
5820 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5821
5822         * testsuite/threads/Makefile.am:
5823         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
5824           On Wim's request, split the test in three separately-compiled
5825           tests that each test a very specific bug. Two of them still fail,
5826           will create bugs for those. threadi.c indicates why they fail.
5827
5828 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5829
5830         * gst/schedulers/gstoptimalscheduler.c:
5831         (get_group_schedule_function):
5832           Try to work with the threading mess that queue_link is.
5833
5834 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5835
5836         * gst/gstbin.c: (gst_bin_remove_func):
5837           Explicitely make an element release locks in a group when being
5838           remove from a bin.
5839         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
5840           If there's no scheduler, always return immediately (similar to
5841           gst_element_interrupt).
5842
5843 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5844
5845         * gst/gstbin.c: (gst_bin_child_state_change_func):
5846           Remove a piece of code that could never be reached.
5847         * docs/gst/gstreamer-sections.txt:
5848         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
5849         (gst_pad_call_get_function):
5850         * gst/gstpad.h:
5851         * testsuite/pad/Makefile.am:
5852           Fix #150546, enable tests.
5853
5854 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5855
5856         * docs/pwg/advanced-types.xml:
5857           Fix description for buffer-frames=0.
5858         * docs/gst/tmpl/gstbin.sgml:
5859         * gst/gstbin.c: (gst_bin_child_state_change_func),
5860         (gst_bin_change_state), (gst_bin_change_state_norecurse):
5861         * gst/gstbin.h:
5862         * testsuite/threads/Makefile.am:
5863         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
5864         (cb_state), (cb_play), (main):
5865           Fix non-recursive state changes to *really* change the state
5866           of the object, and not just call parent_class->state_change.
5867           Fix a lot of lockups caused by this. Fixes #132775. Add test
5868           for the problem. Also enable test to show #142588 (fixed).
5869         * gst/gstthread.c: (gst_thread_change_state),
5870         (gst_thread_child_state_change):
5871           Don't exit the thread if we go to NULL and are inside thread
5872           context. Instead, return control to the main thread context
5873           and exit from there.
5874         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
5875           Don't unset virtual functions, since those may still be used.
5876           That's not necessarily correct, but suffices for now.
5877         * configure.ac:
5878         * testsuite/Makefile.am:
5879         * testsuite/pad/Makefile.am:
5880         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
5881         (gst_test_sink_base_init), (gst_test_sink_chain),
5882         (gst_test_sink_init), (main):
5883         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
5884         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
5885         (main):
5886         * testsuite/pad/link.c: (gst_test_element_class_init),
5887         (gst_test_element_base_init), (gst_test_src_get),
5888         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
5889         (gst_test_filter_loop), (gst_test_filter_init),
5890         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
5891         (cb_error), (main):
5892           Add tests to show #150546. Pass, but should fail (currently
5893           disabled from the testsuite).
5894         * gst/gstscheduler.c: (gst_scheduler_dispose):
5895           Dereference child schedulers on dispose (#94464).
5896         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5897           Fix typo.
5898         * testsuite/threads/thread.c: (main):
5899           Add more debug.
5900
5901 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5902
5903         * gst/gstpad.c: (gst_pad_push):
5904           Oops, revert previous commit, broke testsuite...
5905
5906 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5907
5908         * gst/gstpad.c: (gst_pad_push):
5909           Add check that the pad on which the push is performed is not a
5910           get-based pad (#150546).
5911
5912 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5913
5914         * gst/elements/gsttypefindelement.c:
5915         (gst_type_find_element_handle_event):
5916           Fix buffer pushing if stream EOSes during typefinding.
5917
5918 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
5919
5920         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5921
5922         * gst/gstvalue.c: (gst_string_wrap):
5923           Allow NULL-strings as argument (#165365).
5924
5925 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
5926
5927         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5928
5929         * gst/schedulers/faircothreads.c:
5930         (gst_fair_scheduler_cothread_queue_show):
5931           Fix build without debug enabled.
5932
5933 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
5934
5935         * docs/gst/gstreamer-sections.txt:
5936         * docs/libs/gstreamer-libs-docs.sgml:
5937         * docs/libs/gstreamer-libs-sections.txt:
5938         * docs/libs/tmpl/gstcontrol.sgml:
5939         * docs/libs/tmpl/gstdparam.sgml:
5940         * docs/libs/tmpl/gstdplinint.sgml:
5941         * docs/libs/tmpl/gstdpman.sgml:
5942         * docs/libs/tmpl/gstdpsmooth.sgml:
5943         * docs/libs/tmpl/gstputbits.sgml:
5944         * docs/libs/tmpl/gstunitconvert.sgml:
5945         * libs/gst/control/dparam.c:
5946         * libs/gst/control/dparam.h:
5947         * libs/gst/control/dparammanager.c:
5948         (gst_dpman_add_required_dparam_callback),
5949         (gst_dpman_add_required_dparam_direct),
5950         (gst_dpman_add_required_dparam_array),
5951         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
5952         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
5953         (gst_dpman_get_manager)
5954           restructured DParam docs
5955
5956 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
5957
5958         * gst-element-check.m4:
5959           Only check for gst-inspect if we haven't already
5960           found it in previous element check runs
5961
5962 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
5963
5964         * docs/gst/Makefile.am:
5965         * docs/libs/Makefile.am:
5966           fixed install rules to treat style.css as optional
5967
5968 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
5969
5970         * docs/gst/Makefile.am:
5971         * docs/libs/Makefile.am:
5972           install style.css along with docs
5973         * docs/gst/tmpl/gstbin.sgml:
5974         * docs/gst/tmpl/gstclock.sgml:
5975         * docs/gst/tmpl/gstdata.sgml:
5976         * docs/gst/tmpl/gstelement.sgml:
5977         * gst/gstbin.h:
5978         * gst/gstelement.c: (gst_element_class_init):
5979         * gst/gstelement.h:
5980           fixing incomplete docs
5981
5982 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5983
5984         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5985           Don't unref seek event twice when fflush() fails
5986           
5987 2005-01-22  David Schleef  <ds@schleef.org>
5988
5989         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5990
5991 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5992
5993         * docs/gst/Makefile.am:
5994         * docs/libs/Makefile.am:
5995           added params for deprecation guards
5996         * gst/gst.c:
5997         * gst/gst.h:
5998         * gst/gsterror.c: (_gst_resource_errors_init),
5999         (_gst_stream_errors_init):
6000         * gst/gsterror.h:
6001           documented some more enums
6002
6003 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6004         * gst/autoplug/gstspideridentity.c:
6005         Cosmetic fix - spider_find_peek should be static
6006         * gst/parse/parse.l:
6007         Applying fix for #164261
6008
6009 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
6010
6011         * docs/gst/gstreamer-sections.txt:
6012         * docs/gst/tmpl/gstplugin.sgml:
6013         * docs/libs/gstreamer-libs-sections.txt:
6014         * docs/libs/tmpl/gstcontrol.sgml:
6015         * gst/gstbuffer.h:
6016         * gst/gsttag.h:
6017         * gst/gstvalue.c:
6018           added docs for the TAG defines
6019
6020 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6021
6022         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
6023           Only unref entry if there is an entry.
6024
6025 2005-01-17  Wim Taymans  <wim@fluendo.com>
6026
6027         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6028         (remove_from_group), (schedule_group), (normalize_group),
6029         (gst_opt_scheduler_iterate):
6030         Also ref/unref decoupled elements before iterating the
6031         group since they are not added to the list of elements.
6032
6033 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6034
6035         * docs/manual/highlevel-components.xml:
6036           Add subtitle/streamselection as new features to playbin.
6037
6038 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6039
6040         * docs/manual/manual.xml:
6041           Re-enable dataaccess docs (oops).
6042
6043 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6044
6045         * docs/pwg/advanced-types.xml:
6046         * docs/random/mimetypes:
6047           Add documentation on libsndfile types (#163309), by Steve Baker
6048           <steve@stevebaker.org>.
6049         * gst/gstelement.c: (gst_element_release_request_pad):
6050           If an element has no explicit function, just remove the pad.
6051
6052 2005-01-17  Luca Ognibene  <luogni@tin.it>
6053
6054         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6055
6056         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
6057           Fix memleak (#163801).
6058
6059 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6060
6061         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
6062           I think this is actually more correct...
6063
6064 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6065
6066         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6067           Another workaround for memory access while destroyed in callback.
6068           Please, someone with refcount knowledge, have a look at this.
6069
6070 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6071
6072         * docs/faq/faq.xml:
6073         * docs/faq/legal.xml:
6074           move the legal Q&A here
6075
6076 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6077
6078         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
6079         (gst_tee_request_new_pad):
6080           Fix negotiation.
6081
6082 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6083
6084         * docs/random/omega/caps2:
6085         * testsuite/caps/caps_strings:
6086           replace framerate aproximations by their real value
6087           (24000/1001, 30000/1001, 60000/1001)
6088           Partially fixes bug #164049
6089
6090 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6091
6092         * docs/gst/Makefile.am:
6093           don't fail on the stupid GstPoptOption
6094
6095 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6096
6097         * gst/gstpad.h:
6098         * gst/gstprobe.c:
6099           allow probes to work on ghost pads by realizing the pad
6100           probe debugging
6101
6102 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6103
6104         * docs/gst/gstreamer-sections.txt:
6105         * docs/gst/tmpl/gstpad.sgml:
6106         * gst/gstpad.c: (gst_pad_set_active_recursive):
6107         * gst/gstpad.h:
6108           Add gst_pad_set_active_recursive().
6109
6110 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6111
6112         * docs/random/release:
6113           updates
6114         * gst/gst_private.h:
6115         * gst/gstinfo.c:
6116         * gst/gstobject.c:
6117           move deep_notify logging to a new category
6118         * gst/gstprobe.c:
6119         * gst/gstprobe.h:
6120           add stuff so bindings can wrap probes
6121
6122 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6123
6124         * gst/gstplugin.c: (gst_plugin_load):
6125           Fix plugin loading if plugin/lib was already loaded. Fixes
6126           #163383
6127
6128 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6129
6130         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6131
6132         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6133           Protect plugin loading by a mutex so it's threadsafe. Fixes
6134           #163234.
6135
6136 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6137
6138         * gst/gstevent.c: (_gst_event_copy):
6139           Reference source object when copying events, since it'll be
6140           dereferenced on event dereferencing as well.
6141
6142 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6143
6144         * docs/gst/gstreamer-sections.txt:
6145         * docs/gst/tmpl/gstevent.sgml:
6146         * gst/gstevent.c: (gst_event_new_filler_stamped),
6147         (gst_event_filler_get_duration):
6148         * gst/gstevent.h:
6149           Add two new functions for filler events (which are used to
6150           synchronize streams if one of them is not having any data
6151           for a while) without interrupting the actual data-stream.
6152           Basically a no-op.
6153         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6154         (gst_queue_link_sink), (gst_queue_link_src),
6155         (gst_queue_change_state):
6156           Allow for renegotiation while filled. Required for stream
6157           switching while playing.
6158
6159 2005-01-08  Benjamin Otte  <otte@gnome.org>
6160
6161         * gst/gstelement.c: (gst_element_link_many):
6162           fix up g_return_if_fail's
6163         * po/LINGUAS:
6164         * po/de.po:
6165           add German translation, that was somehow not included
6166
6167 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6168
6169         * docs/random/mimetypes:
6170           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6171           do not add them to riff-lib as they are not common
6172
6173 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6174
6175         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6176           Check for existence of probe after performing the probe before
6177           re-accessing it to prevent segfaults caused by removal of the
6178           probe in the callback.
6179
6180 2005-01-05  David Schleef  <ds@schleef.org>
6181
6182         * testsuite/registry/Makefile.am:
6183         * testsuite/registry/gst-print-formats.c:
6184         (print_pad_templates_info), (print_element_list),
6185         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6186         (g_list_uniqify), (get_pad_templates_info),
6187         (get_element_mime_list), (print_mime_list), (main): A little
6188         program that looks through the registry to find elements of
6189         a given type.  Not particularly interesting as a test, except
6190         that there's no other test covering the same area.
6191
6192 2005-01-05  David Schleef  <ds@schleef.org>
6193
6194         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6195         (fault_handler_sigaction), (fault_spin),
6196         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6197         in signal.h-type signal handlers by not calling forbidden functions,
6198         including gst_element_set_state().
6199
6200 2005-01-05  David Schleef  <ds@schleef.org>
6201
6202         * gst/gstvalue.h: Mark _gst_reserved[] as private
6203
6204 2005-01-05  David Schleef  <ds@schleef.org>
6205
6206         * gst/gstvalue.c: Fix doc build problem.
6207
6208 2005-01-05  David Schleef  <ds@schleef.org>
6209
6210         * gst/gstvalue.c: Add some documentation
6211
6212 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6213
6214         * docs/README:
6215           another shell oneliner for empty return value docs
6216         * gst/gstcaps.c:
6217         * gst/gstvalue.c:
6218         * libs/gst/control/dparam.c:
6219           more doc fixes (parameters and return values)
6220
6221 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6222
6223         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6224
6225         * gst/gstregistry.h:
6226         * gst/registries/gstxmlregistry.c:
6227           Fix macro's for Mingw (fixes #162276).
6228
6229 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6230
6231         * docs/README:
6232           quick shell oneliner to find undocumented members
6233         * docs/gst/tmpl/gstplugin.sgml:
6234         * docs/gst/tmpl/gstscheduler.sgml:
6235         * docs/gst/tmpl/gstthread.sgml:
6236           more enumtypes cleanup
6237         * gst/gsterror.h:
6238           activated documentation comments, now someone needs to document
6239           the enums :(
6240
6241 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6242
6243         * docs/manual/manual.xml:
6244           Add dataaccess part (doh!).
6245
6246 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6247
6248         * docs/manual/advanced-autoplugging.xml:
6249           Fix typo (intiate -> initiate).
6250
6251 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6252
6253         * docs/random/bbb/streamselection:
6254           Add some notes on how to handle multi-subtitle/-audio streams.
6255
6256 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6257
6258         * docs/gst/gstreamer-docs.sgml:
6259         * docs/gst/gstreamer-sections.txt:
6260         * docs/gst/tmpl/gstenumtypes.sgml:
6261         * docs/gst/tmpl/gsterror.sgml:
6262         * docs/gst/tmpl/gstevent.sgml:
6263         * docs/gst/tmpl/gstpad.sgml:
6264         * docs/gst/tmpl/gstpadtemplate.sgml:
6265         * docs/gst/tmpl/gstthread.sgml:
6266           removed gstenumtypes section from docs and put all the enums into
6267           their sections
6268
6269 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6270
6271         * gst/gstplugin.c:
6272           document gst_library_load a bit more (riff special case + return
6273           value if already loaded)
6274         * testsuite/bytestream/filepadsink.c:
6275           plugin name is 'gstbytestream', not 'bytestream'
6276
6277 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6278
6279         * docs/random/bbb/subtitles:
6280           Add some first mind rumblings on proper subtitle support.
6281
6282 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6283
6284         * po/ca.po:
6285         * po/sv.po:
6286           updated translations
6287
6288 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6289
6290         * docs/manual/advanced-dataaccess.xml:
6291           Add section on how to use fakesrc/fakesink/identity in your
6292           application, plus section on how to embed plugins. Also mention
6293           probes.
6294         * docs/manual/appendix-checklist.xml:
6295         * docs/manual/appendix-debugging.xml:
6296         * docs/manual/appendix-gnome.xml:
6297         * docs/manual/appendix-integration.xml:
6298           Debug -> checklist, GNOME -> integration, add sections on Linux,
6299           KDE integration and add other things useful for application
6300           development.
6301         * docs/manual/manual.xml:
6302           Remove some fixmes, update some file pointers.
6303         * docs/pwg/appendix-checklist.xml:
6304           Fix typo.
6305         * docs/pwg/building-boiler.xml:
6306           Remove ugly header and add commented fixme.
6307         * docs/pwg/pwg.xml:
6308           Add fixme.
6309         * examples/manual/Makefile.am:
6310           Add example for added docs.
6311
6312 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6313
6314         * configure.ac:
6315           back to HEAD
6316
6317 === release 0.8.8 ===
6318
6319 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6320
6321         * NEWS:
6322         * RELEASE:
6323         * configure.ac:
6324           Releasing 0.8.8, "I'll Take Care Of You"
6325
6326 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6327
6328         * configure.ac:
6329           second prerelease
6330
6331 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6332
6333         patch by: Wim Taymans
6334
6335         * gst/gstbin.c:
6336           Fix for #159852 - make iterate emission threadsafe
6337
6338 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6339
6340         * docs/faq/cvs.xml:
6341           notes about new fdo account request
6342
6343 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6344
6345         * docs/gst/gstreamer-docs.sgml:
6346         * docs/gst/tmpl/gstenumtypes.sgml:
6347         * docs/gst/tmpl/gstplugin.sgml:
6348         * docs/libs/gstreamer-libs-docs.sgml:
6349           Added missing short docs. Added ids for navigation.
6350
6351 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6352
6353         * docs/manual/advanced-autoplugging.xml:
6354         * docs/manual/advanced-schedulers.xml:
6355         * docs/manual/advanced-threads.xml:
6356           Rewrites. Remove cothreads, go a bit into opt specifically,
6357           document threads and their gotchas, and do some technical stuff
6358           on autoplugging plus add some working examples. Fixes #157395.
6359         * examples/manual/Makefile.am:
6360           Add typefind/autoplugger example (one that actually works).
6361           Remove queue example since it's a duplicate of the thread one.
6362
6363 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6364
6365         * gst/gstvalue.c: (gst_value_deserialize_string):
6366           use deprecated g_value_set_string_take_ownership to keep compatible
6367           with glib 2.2
6368
6369 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6370
6371         * gst/gstvalue.c: (gst_value_deserialize_string):
6372           revert last patch, only dom a g_utf8_validate now before accepting
6373           the string - caps parsing strips " from strings so we can't rely on
6374           them
6375         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6376           disable a test that tested the above and comment it
6377
6378 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6379
6380         Patch reviewed by David Schleef  <ds@schleef.org>
6381
6382         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6383         bug #153882)
6384         * win32/gstenumtypes.h: same
6385
6386 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6387
6388         * gst/gstpad.c: (gst_pad_query):
6389           Do query on realized pad, similar to how convert/send_event handle
6390           this. Also makes sense, since this pad belongs to the function to
6391           which this query will be sent. Fixes #158163.
6392
6393 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6394
6395         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6396
6397 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6398
6399         * docs/faq/general.xml: fix pipeline to actually work
6400
6401 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6402
6403         * gst/gstvalue.c: (gst_value_deserialize_string):
6404           check that a simple string that gets deserialized does not contain
6405           invalid characters
6406         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6407           remove a test that tested a wring behaviour
6408
6409 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6410
6411         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6412
6413         * docs/manual/intro-motivation.xml:
6414           Fix typos.
6415
6416 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6417
6418         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6419
6420         * docs/gst/tmpl/gstprobe.sgml:
6421           Fix documentation of probe callback - it is supposed to return
6422           FALSE, not TRUE, to remove data from the stream (#159087).
6423
6424 2004-12-16  Daniel Gazard  <dany42@free.fr>
6425
6426         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6427
6428         * gst/gstelementfactory.c: (gst_element_factory_create):
6429           Fix compile failure if compiling without libxml2 support (#149936).
6430
6431 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6432
6433         * docs/manual/advanced-autoplugging.xml:
6434         * docs/manual/highlevel-components.xml:
6435           Move spider from autoplugging to components. Autoplugging is for
6436           internals, not for solutions. ;-).
6437
6438 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6439
6440         * docs/random/ds/0.9-suggested-changes:
6441           Make note on device/location/uri property names.
6442
6443 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6444
6445         * docs/manual/advanced-autoplugging.xml:
6446         * docs/manual/advanced-clocks.xml:
6447         * docs/manual/advanced-interfaces.xml:
6448         * docs/manual/advanced-metadata.xml:
6449         * docs/manual/advanced-position.xml:
6450         * docs/manual/advanced-schedulers.xml:
6451         * docs/manual/advanced-threads.xml:
6452         * docs/manual/appendix-gnome.xml:
6453         * docs/manual/appendix-programs.xml:
6454         * docs/manual/appendix-quotes.xml:
6455         * docs/manual/autoplugging.xml:
6456         * docs/manual/basics-bins.xml:
6457         * docs/manual/basics-data.xml:
6458         * docs/manual/basics-elements.xml:
6459         * docs/manual/basics-helloworld.xml:
6460         * docs/manual/basics-init.xml:
6461         * docs/manual/basics-pads.xml:
6462         * docs/manual/basics-plugins.xml:
6463         * docs/manual/bins-api.xml:
6464         * docs/manual/bins.xml:
6465         * docs/manual/buffers-api.xml:
6466         * docs/manual/buffers.xml:
6467         * docs/manual/clocks.xml:
6468         * docs/manual/components.xml:
6469         * docs/manual/cothreads.xml:
6470         * docs/manual/debugging.xml:
6471         * docs/manual/dparams-app.xml:
6472         * docs/manual/dynamic.xml:
6473         * docs/manual/elements-api.xml:
6474         * docs/manual/elements.xml:
6475         * docs/manual/factories.xml:
6476         * docs/manual/gnome.xml:
6477         * docs/manual/goals.xml:
6478         * docs/manual/helloworld.xml:
6479         * docs/manual/helloworld2.xml:
6480         * docs/manual/highlevel-components.xml:
6481         * docs/manual/highlevel-xml.xml:
6482         * docs/manual/init-api.xml:
6483         * docs/manual/intro-basics.xml:
6484         * docs/manual/intro-motivation.xml:
6485         * docs/manual/intro-preface.xml:
6486         * docs/manual/intro.xml:
6487         * docs/manual/links-api.xml:
6488         * docs/manual/links.xml:
6489         * docs/manual/manual.xml:
6490         * docs/manual/motivation.xml:
6491         * docs/manual/pads-api.xml:
6492         * docs/manual/pads.xml:
6493         * docs/manual/plugins-api.xml:
6494         * docs/manual/plugins.xml:
6495         * docs/manual/programs.xml:
6496         * docs/manual/queues.xml:
6497         * docs/manual/quotes.xml:
6498         * docs/manual/schedulers.xml:
6499         * docs/manual/states-api.xml:
6500         * docs/manual/states.xml:
6501         * docs/manual/threads.xml:
6502         * docs/manual/typedetection.xml:
6503         * docs/manual/win32.xml:
6504         * docs/manual/xml.xml:
6505           Try 2. This time, include a short preface as a "general
6506           introduction", also add code blocks around all code samples
6507           so they get compiled. We still need a way to tell readers
6508           the filename of the code sample. In some cases, don't show
6509           all code in the documentation, but do include it in the generated
6510           code. This allows for focussing on specific bits in the docs,
6511           while still having a full test application available.
6512         * examples/manual/Makefile.am:
6513           Fix up examples for new ADM. Add several of the new examples that
6514           were either added or were missing from the build system.
6515         * examples/manual/extract.pl:
6516           Allow nameless blocks.
6517
6518 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6519
6520         * docs/manual/elements-api.xml:
6521         * docs/manual/helloworld.xml:
6522         * examples/manual/extract.pl:
6523           fix last example.  Add example of adding code blocks that are not
6524           shown in docbook output.
6525
6526 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6527
6528         * docs/manual/dynamic.xml:
6529         * docs/manual/elements-api.xml:
6530         * docs/manual/gnome.xml:
6531         * docs/manual/helloworld2.xml:
6532         * docs/manual/init-api.xml:
6533         * docs/manual/queues.xml:
6534         * docs/manual/threads.xml:
6535         * docs/manual/xml.xml:
6536         * examples/manual/extract.pl:
6537           Make it possible to extract example code from separate blocks.
6538           Should make Ronald happy.
6539
6540 2004-12-15  Wim Taymans  <wim@fluendo.com>
6541
6542         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6543         (remove_from_group), (group_elements_set_visited),
6544         (normalize_group), (gst_opt_scheduler_iterate):
6545         Fix bug where a flag was not updated on a decoupled entry point 
6546         because we were just checking the group element list and decoupled
6547         elements are not in that list..
6548
6549 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6550
6551         * docs/manual/advanced-autoplugging.xml:
6552         * docs/manual/advanced-clocks.xml:
6553         * docs/manual/advanced-dparams.xml:
6554         * docs/manual/advanced-interfaces.xml:
6555         * docs/manual/advanced-metadata.xml:
6556         * docs/manual/advanced-position.xml:
6557         * docs/manual/advanced-schedulers.xml:
6558         * docs/manual/advanced-threads.xml:
6559         * docs/manual/appendix-debugging.xml:
6560         * docs/manual/appendix-gnome.xml:
6561         * docs/manual/appendix-programs.xml:
6562         * docs/manual/appendix-quotes.xml:
6563         * docs/manual/appendix-win32.xml:
6564         * docs/manual/autoplugging.xml:
6565         * docs/manual/basics-bins.xml:
6566         * docs/manual/basics-data.xml:
6567         * docs/manual/basics-elements.xml:
6568         * docs/manual/basics-helloworld.xml:
6569         * docs/manual/basics-init.xml:
6570         * docs/manual/basics-pads.xml:
6571         * docs/manual/basics-plugins.xml:
6572         * docs/manual/bins-api.xml:
6573         * docs/manual/bins.xml:
6574         * docs/manual/buffers-api.xml:
6575         * docs/manual/buffers.xml:
6576         * docs/manual/clocks.xml:
6577         * docs/manual/components.xml:
6578         * docs/manual/cothreads.xml:
6579         * docs/manual/debugging.xml:
6580         * docs/manual/dparams-app.xml:
6581         * docs/manual/dynamic.xml:
6582         * docs/manual/elements-api.xml:
6583         * docs/manual/elements.xml:
6584         * docs/manual/factories.xml:
6585         * docs/manual/gnome.xml:
6586         * docs/manual/goals.xml:
6587         * docs/manual/helloworld.xml:
6588         * docs/manual/helloworld2.xml:
6589         * docs/manual/highlevel-components.xml:
6590         * docs/manual/highlevel-xml.xml:
6591         * docs/manual/init-api.xml:
6592         * docs/manual/intro-motivation.xml:
6593         * docs/manual/intro-preface.xml:
6594         * docs/manual/intro.xml:
6595         * docs/manual/links-api.xml:
6596         * docs/manual/links.xml:
6597         * docs/manual/manual.xml:
6598         * docs/manual/motivation.xml:
6599         * docs/manual/pads-api.xml:
6600         * docs/manual/pads.xml:
6601         * docs/manual/plugins-api.xml:
6602         * docs/manual/plugins.xml:
6603         * docs/manual/programs.xml:
6604         * docs/manual/queues.xml:
6605         * docs/manual/quotes.xml:
6606         * docs/manual/schedulers.xml:
6607         * docs/manual/states-api.xml:
6608         * docs/manual/states.xml:
6609         * docs/manual/threads.xml:
6610         * docs/manual/typedetection.xml:
6611         * docs/manual/win32.xml:
6612         * docs/manual/xml.xml:
6613           First try at rewriting the ADM. Needs lotsamore work, but some
6614           parts might already be somewhat useful.
6615         * docs/pwg/advanced-interfaces.xml:
6616           Remove properties interface, it never actually existed (except for
6617           on my HD...).
6618
6619 2004-12-13  David Schleef  <ds@schleef.org>
6620
6621         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
6622         be NULL (bug #160220).
6623
6624 2004-12-13  David Schleef  <ds@schleef.org>
6625
6626         * configure.ac: remove all mmx stuff, because it's not used.
6627         * docs/random/ds/0.9-suggested-changes: additional notes
6628         * include/Makefile.am: we don't use these anymore
6629         * include/mmx.h: remove
6630         * include/sse.h: remove
6631
6632 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6633
6634         * docs/random/mimetypes:
6635           Add FOURCC code for h264 codec (VSSH)
6636           Add alternate FOURCC codes for h263 related codecs
6637
6638 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
6639
6640         * docs/manual/programs.xml:
6641           Added more gst-launch examples.
6642
6643 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6644
6645         * gst/gstqueue.c: (gst_queue_handle_src_query):
6646           Check for availability again.
6647
6648 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6649
6650         * gst/gstcaps.c: (gst_caps_compare_structures):
6651           Simple caps go first. This has the nice side-effect of fixing an
6652           obscure warning.
6653
6654 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6655
6656         * gst/gstversion.h.in:
6657           Protect header.
6658
6659 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6660
6661         * gst/schedulers/gstoptimalscheduler.c:
6662         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
6663         (gst_opt_scheduler_get_wrapper):
6664           When we're recursing into a chain run, only run the directly
6665           related group, not all queued ones. This will fix a possible
6666           deadlock in chains with more than two groups.
6667
6668 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6669
6670         * autogen.sh:
6671           remove patch if autopoint fails
6672
6673 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6674
6675         * docs/gst/gstreamer-sections.txt:
6676           Document Thomas' addition, fix build, make Luis the sheriff happy.
6677
6678 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6679
6680         * gst/gstplugin.c:
6681         * gst/gstplugin.h:
6682           add accessor for version field
6683
6684 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6685
6686         submitted by: Luca Ferretti <elle.uca@infinito.it>
6687
6688         * po/LINGUAS:
6689         * po/it.po:
6690           New tranlation added: Italian
6691
6692 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6693
6694         * gst/gstpad.c: (gst_pad_is_negotiated),
6695         (gst_pad_get_negotiated_caps):
6696           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
6697           it doesn't actually check the contents), so be sure to hand it
6698           a RealPad else we'll crash.
6699
6700 2004-12-03  Wim Taymans  <wim@fluendo.com>
6701
6702         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6703         (gst_queue_link), (gst_queue_handle_src_query):
6704         Reverted to 1.110 until this makes the testsuite and various
6705         apps work.
6706
6707 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
6708
6709         * docs/upload.mak: fix included CVS conflict strings
6710
6711 2004-12-01  William Jon McCann  <mccann@jhu.edu>
6712
6713         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6714
6715         * gst/gstelement.c: (gst_element_error_full):
6716           Use g_error_new_literal because error text may have
6717           percentage signs in it. Fixes #160019.
6718
6719 2004-12-01  Benjamin Otte  <otte@gnome.org>
6720
6721         * gst/elements/gstbufferstore.c:
6722         (gst_buffer_store_add_buffer_func):
6723           don't try to make subbuffers bigger than they can be. (fixes
6724           #159970)
6725
6726 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6727
6728         * docs/gst/gstreamer-sections.txt:
6729         * docs/gst/tmpl/gstvalue.sgml:
6730           Add new function to docs to fix build.
6731
6732 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6733
6734         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
6735         * gst/gstpad.c: (_gst_pad_default_fixate_value),
6736         (_gst_pad_default_fixate_foreach):
6737         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
6738         * gst/gstvalue.h:
6739           Deprecate _type_is_fixed, use _value_is_fixed instead, since
6740           in some cases (arrays), the fixedness depends on the content.
6741         * gst/gstqueue.c: (gst_queue_handle_src_query):
6742           Check for availability before doing something.
6743
6744 2004-11-29  Wim Taymans  <wim@fluendo.com>
6745
6746         * testsuite/threads/Makefile.am:
6747         * testsuite/threads/signals.c: (gst_test_get_type),
6748         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
6749         (gst_test_set_property), (gst_test_get_property),
6750         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
6751         (gst_test_do_prop), (run_thread), (main):
6752         Added a bunch of testcases that show threadsafety bugs in glib.
6753
6754 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
6755
6756         * docs/manual/programs.xml:
6757           Added a first batch of gst-launch examples, as provided by Ronald
6758           and others from the devel-mlist
6759
6760 2004-11-28  Benjamin Otte  <otte@gnome.org>
6761
6762         * gst/gstelement.c: (gst_element_negotiate_pads):
6763           simplify
6764         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
6765         (gst_value_serialize_string), (gst_value_deserialize_string):
6766           add unwrapping of previously wrapped strings. Fix bug in wrapping
6767           while at it.
6768         * testsuite/caps/value_serialize.c: (test1),
6769         (test_string_serialization), (test_string_deserialization), (main):
6770           add tests for string (de)serialization
6771
6772 2004-11-26  Wim Taymans  <wim@fluendo.com>
6773
6774         * testsuite/threads/159566.c: (object_deep_notify), (main):
6775         * testsuite/threads/Makefile.am:
6776         Added testsuite to show bug #159566
6777
6778 2004-11-25  Wim Taymans  <wim@fluendo.com>
6779
6780         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
6781         (gst_thread_child_state_change), (gst_thread_main_loop):
6782         Ref the thread object in the GThread mainloop. Break out of the
6783         thread mainloop if it holds the last ref. This properly exits
6784         the threads when disposing the thread from its own context. It
6785         also avoids possible deadlocks in the dispose function.
6786
6787 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
6788
6789         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
6790         it is necessary to wait.
6791
6792 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6793
6794         * docs/pwg/building-boiler.xml:
6795           Make description somewhat clearer.
6796
6797 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6798
6799         * docs/upload.mak:
6800           Apparently docs changed location on FDO's server.
6801
6802 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6803
6804         * docs/pwg/appendix-checklist.xml:
6805           Add some random notes on things to check when writing an element.
6806           This list can be extended as people see fit.
6807
6808 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
6809
6810         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
6811         (gst_queue_link_src): Allow for renegotiating the caps of the sink
6812         pad. The queue will now wait until it is empty and forward the new
6813         caps to the source.
6814         * gst/gstbin.c (gst_bin_set_element_sched)
6815         (gst_bin_unset_element_sched): Make sure that all elements and
6816         links are registered and unregistered with the scheduler exactly
6817         once. This elaborates on a fix by Benjamin Otte, but
6818         guarantees that decoupled elements are also registered.
6819
6820 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6821
6822         * docs/manual/quotes.xml:
6823           add a quote
6824         * configure.ac:
6825         * gst/gst.c:
6826         * gst/gstinfo.c:
6827           add LIBDIR and move init message higher up so it's at the start
6828
6829 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6830
6831         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
6832         * gstreamer.spec.in: add fair
6833
6834 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6835
6836         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6837         * gst/elements/gstidentity.c: (gst_identity_class_init):
6838           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
6839           <teuf@gnome.org> (#157263).
6840         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6841         (gst_type_find_handle_src_query):
6842           Subtract size of internally stored data from position queries.
6843
6844 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
6845
6846         * gst/schedulers/fairscheduler.c:
6847         * gst/schedulers/faircothreads.c:
6848         * gst/schedulers/faircothreads.h:
6849         New cothread based scheduler: Fair scheduler.
6850         * gst/schedulers/gthread-cothreads.h: 
6851         Add the standard #if around the whole file.
6852         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
6853         compilation of the functions defined in this file. This is
6854         necessary to be able to use this file as a normal header.
6855         * gst/schedulers/Makefile.am: Add compiling support for fair
6856         scheduler.
6857         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
6858         scheduler cothreads layer from documentation generation.
6859
6860 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6861
6862         * gst/autoplug/gstspideridentity.c:
6863         (gst_spider_identity_sink_loop_type_finding):
6864           Don't crash if that function is not implemented.
6865
6866 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6867
6868         * docs/pwg/advanced-types.xml:
6869           Another typo.
6870
6871 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6872
6873         * docs/pwg/intro-preface.xml:
6874           Hm, ok, so the brackets weren't really useful...
6875         * docs/pwg/other-ntoone.xml:
6876           Fix embarassing typo.
6877
6878 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6879
6880         * docs/pwg/intro-preface.xml:
6881           Rewrite preface.
6882
6883 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6884
6885         * docs/pwg/advanced-scheduling.xml:
6886         * docs/pwg/advanced-tagging.xml:
6887         * docs/pwg/advanced-types.xml:
6888         * docs/pwg/building-boiler.xml:
6889         * docs/pwg/building-chainfn.xml:
6890         * docs/pwg/building-signals.xml:
6891         * docs/pwg/building-state.xml:
6892         * docs/pwg/building-testapp.xml:
6893         * docs/pwg/intro-basics.xml:
6894         * docs/pwg/other-manager.xml:
6895         * docs/pwg/other-source.xml:
6896           Typo fixes.
6897         * docs/pwg/other-manager.xml:
6898           Add some first content. No example code yet.
6899         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6900           Remove double newlines.
6901
6902 2004-11-04  Wim Taymans  <wim@fluendo.com>
6903
6904         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6905         (remove_from_group), (normalize_group), (group_migrate_connected),
6906         (gst_opt_scheduler_iterate):
6907         * testsuite/schedulers/.cvsignore:
6908         * testsuite/schedulers/Makefile.am:
6909         * testsuite/schedulers/queue_link.c: (main):
6910         Added testcase for scheduler segfault.
6911         Fix scheduler segfault when removing a decoupled
6912         entry point as the last element from a group.
6913
6914 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6915
6916         * gst/gstmarshal.list: add missing marshaller, fixes build
6917
6918 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6919
6920         * docs/random/signal: added notes about using BOXED for GstBuffer
6921         signal marshallers, not POINTER
6922
6923 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6924
6925         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
6926         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
6927         POINTER=>BOXED changes to marshal GstBuffers
6928
6929 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
6930
6931         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
6932         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
6933
6934 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
6935
6936         * docs/gst/gstreamer-sections.txt:
6937         * docs/gst/tmpl/gstcaps.sgml:
6938         * docs/gst/tmpl/gsterror.sgml:
6939         * docs/gst/tmpl/gstinfo.sgml:
6940         * docs/gst/tmpl/gstmacros.sgml:
6941         * docs/gst/tmpl/gstutils.sgml:
6942         * docs/random/ensonic/interfaces.txt:
6943         * gst/gstinfo.h:
6944           added some more docs, removed two obsolete defines
6945
6946 2004-11-02  Kjartan Maraas <as at gnome.org>
6947
6948         reviewed by: Wim Taymans, Ronald Bultje.
6949
6950         * gst/cothreads.c: (cothread_create):
6951         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6952         (gst_bin_child_state_change_func):
6953         * gst/gstbuffer.c: (gst_buffer_span):
6954         * gst/gstelement.c: (gst_element_get_index),
6955         (gst_element_get_event_masks), (gst_element_get_query_types),
6956         (gst_element_get_formats):
6957         * gst/gsterror.c: (_gst_core_errors_init),
6958         (_gst_library_errors_init), (_gst_resource_errors_init),
6959         (_gst_stream_errors_init):
6960         * gst/gstobject.c: (gst_object_default_deep_notify):
6961         * gst/gstpad.c: (gst_pad_get_event_masks),
6962         (gst_pad_get_internal_links_default):
6963         * gst/gstplugin.c: (gst_plugin_register_func),
6964         (gst_plugin_get_module):
6965         * gst/gststructure.c: (gst_structure_get_string),
6966         (gst_structure_get_abbrs), (gst_structure_from_abbr),
6967         (gst_structure_to_abbr):
6968         * gst/gstutils.c: (gst_print_element_args):
6969         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6970         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6971         Aplied part of patch #157127: Cleanup of issues reported by 
6972         sparse.
6973         Also do not try to use cothreads when there is no cothread
6974         context yet.
6975
6976 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6977
6978         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6979         (gst_opt_scheduler_iterate):
6980         Applied patch #154061. Running a pipeline in which an element 
6981         calls GST_ELEMENT_ERROR in the chain function, the opt 
6982         scheduler doesn't unref the chain so it never gets freed.
6983
6984 2004-11-02  Wim Taymans  <wim@fluendo.com>
6985
6986         * gst/gststructure.c: (gst_structure_get_abbrs),
6987         (gst_structure_from_abbr), (gst_structure_to_abbr):
6988         Remove that ugly if-then thing in the code that converts
6989         between strings and types.
6990
6991 2004-11-02  Wim Taymans  <wim@fluendo.com>
6992
6993         * gst/gstscheduler.c: (gst_scheduler_add_element),
6994         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6995         Aplied clock distribution patch, this should fix bug
6996         #148787.
6997
6998 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6999
7000         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
7001
7002         * po/LINGUAS:
7003         * po/nb.po:
7004           Added Norwegian Bokmaal translation
7005
7006 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7007
7008         * tools/gst-inspect.c: (print_signal_info):
7009           print signal arguments as pointers if they are
7010
7011 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
7012
7013         * docs/pwg/building-boiler.xml:
7014           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
7015
7016 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7017
7018         * gst/parse/parse.l:
7019         * testsuite/parse/parse1.c: (main):
7020         Since parse can do 'element name=a:b' make 'a:b.' work as
7021         well. 
7022         Added testcase to verify fix.
7023
7024 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7025
7026         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
7027         Use the realpad when printing the direction.
7028         Add extra \n when printing extensions of typefind factories.
7029
7030 2004-10-13  David Schleef  <ds@schleef.org>
7031
7032         * examples/manual/Makefile.am: $< isn't portable in Makefile
7033         rules.
7034
7035 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
7036
7037         * docs/gst/tmpl/gstobject.sgml:
7038         * docs/gst/tmpl/gstplugin.sgml:
7039         * docs/gst/tmpl/gstpluginfeature.sgml:
7040         * docs/gst/tmpl/gstregistry.sgml:
7041         * docs/gst/tmpl/gstversion.sgml:
7042         * gst/gstbin.c:
7043           more api documentation
7044         * gst/gstplugin.c: (gst_plugin_register_func),
7045         (gst_plugin_check_file), (gst_plugin_load_file):
7046           better error signaling and logging
7047
7048 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7049
7050         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
7051           Subtract current queue contents from position queries.
7052
7053 2004-10-11  Johan Dahlin  <johan@gnome.org>
7054
7055         * gst/gsturi.c (gst_uri_get_location): unescape string
7056         (gst_uri_construct): escape string.
7057
7058 2004-10-11  Benjamin Otte  <otte@gnome.org>
7059
7060         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
7061         (gst_pad_try_set_caps_nonfixed):
7062           allow renegotiation of unconnected pads (as inside spider). Simply
7063           return OK if unconnected - mimic try_set_caps there.
7064
7065 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7066
7067         * gst/gstbin.c: (gst_bin_sync_children_state):
7068           Add missing break.
7069
7070 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7071
7072         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
7073         Set element to EOS before sending EOS event
7074
7075 2004-10-08  Wim Taymans  <wim at fluendo dot com>
7076
7077         * gst/elements/gsttypefindelement.c:
7078         (gst_type_find_element_handle_event):
7079         Handle EOS events when doing the transition from
7080         typefind to data passing. This should fix the
7081         infinite loops in short files.
7082
7083 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7084
7085         * gst/gstthread.c: (gst_thread_change_state),
7086         (gst_thread_child_state_change):
7087         Make sure no iteration happens while performing
7088         the state change as it could mess up the internal
7089         consistency of the thread state.
7090
7091 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7092
7093         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
7094         (gst_thread_change_state), (gst_thread_child_state_change):
7095         Do not try to grab the iterate lock in the state change method
7096         when we are in the same thread as the iterate or else we
7097         could deadlock. Some other cleanups.
7098
7099 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7100
7101         * configure.ac:
7102           bump nano to cvs
7103
7104 === release 0.8.7 ===
7105
7106 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7107
7108         * configure.ac:
7109         * NEWS:
7110         * RELEASE:
7111         * configure.ac:
7112           releasing 0.8.7, "A Cruise"
7113
7114 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7115
7116         * docs/random/mimetypes:
7117         Add an entry for Sony ATRAC3 audio format with mime-type
7118         used by rmdemux et riff-read
7119
7120 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7121
7122         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7123         Push the buffer store instead of clearing it in case that
7124         the stream is not seekable.
7125
7126 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7127
7128         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7129         (gst_thread_main_loop):
7130         Lock the iteration and the state change so that automatic
7131         negotiation and fixation does not happen at the same time
7132         as the in stream negotiation.
7133
7134 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7135
7136         * configure.ac:
7137           bump nano to cvs
7138
7139 === release 0.8.6 ===
7140
7141 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7142
7143         * configure.ac:
7144         * NEWS:
7145         * RELEASE:
7146         * configure.ac:
7147           releasing 0.8.6, "Narc"
7148
7149 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7150
7151         * configure.ac:
7152           prerel bump
7153
7154 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7155
7156         patch by: Steve Lhomme
7157
7158         * gst/elements/gstfakesrc.c:
7159         * gst/elements/gstidentity.c:
7160         * gst/gstthread.c:
7161           Fix for #153881
7162
7163 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7164
7165         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7166         Fix threadsafety of the crc checking function.
7167
7168 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7169
7170         patch by: Ronald Bultje
7171
7172         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7173         (gst_type_find_element_handle_event),
7174         (gst_type_find_element_chain):
7175         * gst/elements/gsttypefindelement.h:
7176          #153657.
7177          Filter out discont event from seekable sources when typefind
7178          asks them to seek.  Fixes typefind with demuxers for
7179          avi, asf and matroska.
7180
7181 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7182
7183         * docs/gst/gstreamer-sections.txt:
7184         * gst/gstcaps.c:
7185         * gst/gstcaps.h:
7186         * gst/gstpad.c:
7187           Revert preferred caps: (#147789)
7188
7189 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7190
7191         * win32/dirent.c:
7192           fix a memory leak
7193
7194 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7195
7196         * configure.ac:
7197           bump for prerelease
7198
7199 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7200
7201         * docs/Makefile.am:
7202         * docs/manual/elements-api.xml:
7203           restructure so that common stuff is shown first
7204         * docs/manual/init-api.xml:
7205           convert to examples
7206         * docs/manual/manual.xml:
7207         * docs/manuals.mak:
7208         * docs/url.entities:
7209           link to API on the website, possibly override later in build
7210         * examples/manual/.cvsignore:
7211           ignore more
7212         * examples/manual/Makefile.am:
7213           add more examples
7214         * examples/manual/extract.pl:
7215           error out on failure
7216
7217 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7218
7219         * docs/gst/tmpl/gstthread.sgml:
7220         * docs/manual/init-api.xml:
7221         * examples/manual/Makefile.am:
7222           convert two code bits to examples
7223
7224 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7225
7226         * gst/gstelement.c: (gst_element_change_state):
7227           Well, actually, I was about to remove this insane assert when
7228           I noticed Wim already did that. A warning is nice so we can
7229           fix actual ugs (using --g-fatal-warnings and backtraces), so
7230           I added that instead.
7231
7232 2004-09-06  Wim Taymans  <wim@fluendo.com>
7233
7234         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7235         (gst_element_threadsafe_properties_post_run),
7236         (gst_element_set_state), (gst_element_change_state):
7237         Added extra refcounting around various places. 
7238
7239 2004-09-06  Wim Taymans  <wim@fluendo.com>
7240
7241         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7242         Fix debug info.
7243
7244 2004-09-06  Wim Taymans  <wim@fluendo.com>
7245
7246         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7247         (remove_from_group):
7248         Some more debug info.
7249
7250 2004-09-03  Wim Taymans  <wim@fluendo.com>
7251
7252         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7253         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7254         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7255         (gst_fakesrc_get), (gst_fakesrc_change_state):
7256         * gst/elements/gstfakesrc.h:
7257         * gst/elements/gstidentity.c: (gst_identity_class_init),
7258         (gst_identity_init), (gst_identity_chain),
7259         (gst_identity_set_property), (gst_identity_get_property),
7260         (gst_identity_change_state):
7261         * gst/elements/gstidentity.h:
7262         Added datarate properties to limit the datarate.
7263
7264 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7265
7266         * gst/autoplug/gstspider.c: (plugin_init):
7267           don't set a rank. We don't want to autoplug by inserting spiders.
7268
7269 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7270
7271         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7272         (gst_spider_identity_plug):
7273           add a template for spider's sink
7274         * gst/gst.c: (gst_register_core_elements):
7275           queue's rank should be NULL, we don't want spider to add it.
7276
7277 2004-08-18  David Schleef  <ds@schleef.org>
7278
7279         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7280         * docs/libs/Makefile.am: same
7281         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7282         * docs/random/ds/0.9-planning: random additions
7283         * docs/random/ds/0.9-suggested-changes: same
7284         * gst/gstxml.h: remove vestigal GstXMLNs definition
7285
7286         Preferred caps: (#147789)
7287         * docs/gst/gstreamer-sections.txt: Add symbols
7288         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7289         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7290         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7291         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7292         (gst_caps_get_preferred), (gst_caps_set_preferred),
7293         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7294         (gst_caps_use_preferred): Handle caps preferences
7295         * gst/gstcaps.h: Add caps preferences
7296         * gst/gstpad.c: (gst_pad_link_get_preferred),
7297         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7298         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7299         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7300         negotiation.
7301
7302 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7303
7304         * gst/autoplug/gstspideridentity.c:
7305         (gst_spider_identity_request_new_pad):
7306         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7307         (gst_aggregator_init):
7308         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7309         (gst_fakesink_init):
7310         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7311         (gst_fakesrc_init):
7312         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7313         (gst_fdsink_init):
7314         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7315         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7316         (gst_filesink_init):
7317         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7318         (gst_filesrc_init):
7319         * gst/elements/gstidentity.c: (gst_identity_base_init),
7320         (gst_identity_init):
7321         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7322         (gst_multifilesrc_init):
7323         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7324         (gst_pipefilter_init):
7325         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7326         (gst_statistics_init):
7327         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7328         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7329           s/gst_pad_new/&_from_template/
7330           register pad templates in the base_init function
7331           add static pad template definitions
7332
7333 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7334
7335         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7336         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7337         * testsuite/refcounting/pad.c: (main):
7338         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7339           s/gst_pad_new/&_from_template/
7340           prepare deprecation of gst_pad_new
7341
7342 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7343
7344         patch by: Luca Ognibene <skaboy81@virgilio.it>
7345
7346         * gst/gstcaps.c:
7347         * gst/gstelement.c:
7348         * gst/gstpad.c:
7349         * gst/gstxml.c:
7350           fix memleaks.  Fixes #150001
7351
7352 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7353
7354         * docs/random/ds/0.9-suggested-changes:
7355           add notes - mostly about pad templates
7356
7357 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7358
7359         * win32/GStreamer.vcproj:
7360           temporary locale files are .gmo not .mo
7361
7362 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7363
7364         * configure.ac: bump nano to cvs
7365
7366 === release 0.8.5 ===
7367
7368 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7369
7370         * configure.ac:
7371           releasing 0.8.5, "Stuttgart"
7372         * NEWS:
7373         * RELEASE:
7374         * configure.ac:
7375         * docs/random/release:
7376           updates for release
7377
7378 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7379
7380         patch by: Wim Taymans (wim@fluendo.com)
7381
7382         * gst/gstbuffer.c:
7383         * gst/gstindex.h:
7384         * libs/gst/dataprotocol/dataprotocol.c:
7385           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7386
7387 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7388
7389         * Makefile.am:
7390         * win32/MANIFEST:
7391           add win32 dir to the build.  Fixes #149981.
7392
7393 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7394
7395         * configure.ac:
7396           bump libtool versioning
7397         * gst/gststructure.c:
7398           mark function as static
7399         * po/af.po:
7400         * po/az.po:
7401         * po/ca.po:
7402         * po/cs.po:
7403         * po/en_GB.po:
7404         * po/fr.po:
7405         * po/nl.po:
7406         * po/sq.po:
7407         * po/sr.po:
7408         * po/sv.po:
7409         * po/tr.po:
7410         * po/uk.po:
7411           translations update
7412         * win32/README.txt:
7413           trademark protection
7414
7415 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7416
7417         * configure.ac:
7418           fix GST_ORIGIN
7419           set GST_PACKAGE to source, and distinguish between release and other
7420         * tools/gst-inspect.c:
7421           print out plugin an element factory is part of so we see this info
7422
7423 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7424
7425         * docs/gst/gstreamer-sections.txt:
7426         * docs/gst/tmpl/gstbuffer.sgml:
7427         * docs/gst/tmpl/gstschedulerfactory.sgml:
7428           reorder docs a little, make GstBuffer's more sensible.
7429         * gst/gstbuffer.h:
7430           API: added GST_BUFFER_FLAG_DELTA_UNIT
7431         * gst/gstscheduler.c:
7432           comment API addition
7433
7434 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7435
7436         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7437           work with non-regular files that can be mmapped (like /dev/zero)
7438         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7439           get rid of typefinds that require a seek when we can't seek instead
7440           of trying them over and over again
7441         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7442           return non-zero failure value when the pipeline was interrupted or
7443           an error occurred
7444
7445 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7446
7447         * win32/config.h:
7448         * win32/GStreamer.vcproj:
7449           compile and install the locales
7450
7451 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7452
7453         * gst/gstvalue.c:
7454           fix a possible memory leak under Windows
7455
7456 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7457
7458         * win32/GStreamer.vcproj:
7459           fix a memory leak that occured under Windows
7460         * win32/gstreamer.def:
7461           add gst_scheduler_register
7462
7463 2004-08-11  Benjamin Otte  <otte@gnome.org>
7464
7465         * docs/gst/gstreamer-sections.txt:
7466         * gst/gstscheduler.c: (gst_scheduler_register):
7467         * gst/gstscheduler.h:
7468           API:
7469           add gst_scheduler_register shortcut similar to gst_element_register
7470         * gst/schedulers/entryscheduler.c: (plugin_init):
7471         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7472         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7473           use it
7474
7475 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7476
7477         * gst/gstvalue.h:
7478           fix a memory leak that occured under Windows
7479
7480 2004-08-10  Colin Walters  <walters@redhat.com>
7481
7482         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7483         Don't use O_EXCL to open temporary registry.  It will prevent
7484         registry creation if a temporary one already exists, which
7485         is unnecessary.
7486
7487 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7488
7489         * docs/gst/gstreamer-sections.txt:
7490         * docs/gst/tmpl/gstvalue.sgml:
7491           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7492
7493 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7494
7495         * win32/gstbytestream.vcproj:
7496         * win32/gstelements.vcproj:
7497         * win32/gstgetbits.vcproj:
7498         * win32/gst-inspect.vcproj:
7499         * win32/gst-launch.vcproj:
7500         * win32/gstoptimalscheduler.vcproj:
7501         * win32/GStreamer.vcproj:
7502         * win32/gst-register.vcproj:
7503         * win32/gstspider.vcproj:
7504           update the include and lib dirs to fit standard libraries as
7505           described in the Win32 manual
7506
7507 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7508
7509         * win32/config.h:
7510         * win32/gstversion.h:
7511           enable NLS again, push the version number for the coming 0.8.5 release
7512
7513 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7514
7515         * gst/gstvalue.h:
7516           export gst_type_XXX for windows DLLs
7517
7518 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7519
7520         * docs/faq/gst-uninstalled:
7521           fix PKG_CONFIG_PATH and PYTHONPATH
7522         * gst/schedulers/Makefile.am:
7523           cleanup
7524         * libs/gst/bytestream/bytestream.c:
7525           remove newline
7526         * po/LINGUAS:
7527         * po/sq.po:
7528           adding Albanian translation (Laurent Dhima)
7529         * po/cs.po:
7530           updated
7531
7532 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7533
7534         * po/ca.po:
7535         * po/sv.po:
7536           updated translations
7537
7538 2004-08-04  Benjamin Otte  <otte@gnome.org>
7539
7540         * tests/mass_elements.c: (main):
7541           allow specifying src and sink element explicitly, so I can test
7542           videotestsrc instead of fakesrc
7543
7544 2004-08-04  Benjamin Otte  <otte@gnome.org>
7545
7546         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
7547         (gst_structure_id_empty_new), (gst_structure_empty_new),
7548         (gst_structure_copy):
7549           add gst_structure_id_empty_new_with_size to allow preallocating
7550           value array sizes. Use this in gst_structure_copy to get rid of
7551           reallocs.
7552           don't do quark=>string=>quark when copying structures
7553
7554 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
7555
7556         * docs/manual/win32.xml:
7557         * win32/README.txt:
7558           update documentation with the clean version of dependencies
7559
7560 2004-08-03  Benjamin Otte  <otte@gnome.org>
7561
7562         * gst/schedulers/entryscheduler.c:
7563         (gst_entry_scheduler_remove_element):
7564           fix for GST_DISABLE_DEBUG
7565         * tools/gst-launch.c: (print_tag):
7566           fixes for G_DISABLE_ASSERT
7567
7568 2004-08-03  Benjamin Otte  <otte@gnome.org>
7569
7570         * gst/gst.c: (gst_register_core_elements):
7571           fix for G_DISABLE_ASSERT
7572         * gst/gstinfo.c: (__gst_in_valgrind):
7573           add for GST_DISABLE_DEBUG
7574
7575 2004-08-03  Benjamin Otte  <otte@gnome.org>
7576
7577         * gst/parse/parse.l:
7578           fix for G_DISABLE_ASSERT
7579
7580 2004-08-03  Wim Taymans  <wim@fluendo.com>
7581
7582         * gst/gstbin.c: (gst_bin_get_type),
7583         (gst_bin_child_state_change_func):
7584         * gst/gstthread.c: (gst_thread_change_state):
7585         Backported some debug logging from a reverted patch
7586         Don't try to destroy the thread twice. Added some more
7587         debugging in GstThread. Unlock and signal even if we
7588         are in the thread context.
7589
7590 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7591
7592         * po/uk.po:
7593           updated translation
7594
7595 2004-07-30  David Schleef  <ds@schleef.org>
7596
7597         * gst/gstatomic_impl.h: Enable atomic code for x86_64
7598
7599 2004-07-29  David Schleef  <ds@schleef.org>
7600
7601         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
7602         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
7603
7604 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7605
7606         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7607         (gst_bin_add_func), (gst_bin_remove_func),
7608         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
7609         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
7610         (gst_bin_change_state_norecurse), (gst_bin_dispose),
7611         (gst_bin_sync_children_state):
7612         * gst/gstbin.h:
7613         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
7614         (gst_thread_change_state):
7615         * testsuite/states/Makefile.am:
7616           revert state change patches as agreed so we can rework them
7617           gradually
7618
7619 2004-07-29  Benjamin Otte  <otte@gnome.org>
7620
7621         * libs/gst/control/Makefile.am:
7622           link to libgstreamer (fixes Debian bug 262019, see
7623           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
7624
7625 2004-07-29  Wim Taymans  <wim@fluendo.com>
7626
7627         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7628         (check_from_fraction_convert), (transform_test), (main):
7629         Make the test less pedantic about float roundoff errors.
7630
7631 2004-07-29  Benjamin Otte  <otte@gnome.org>
7632
7633         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
7634         (gst_filesrc_srcpad_event):
7635           make seek events to before start/after end of file not fail, but
7636           seek to start/end instead
7637         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
7638           add more output
7639
7640 2004-07-29  Benjamin Otte  <otte@gnome.org>
7641
7642         * gst/gstpad.c: (gst_pad_set_explicit_caps):
7643           check that caps are fixed
7644         * gst/gstpad.c: (gst_pad_template_new):
7645           don't try to simplify caps, costs too much time on gst_init
7646         * gst/gstplugin.c: (gst_plugin_add_feature):
7647           G_ERROR if features are added twice
7648         * gst/gsttypefind.c: (gst_type_find_register):
7649         * gst/gstelementfactory.c: (gst_element_register):
7650           don't add features twice
7651         * docs/random/ds/0.9-suggested-changes:
7652           add note about possible gst_init optimization
7653
7654 2004-07-28  David Schleef  <ds@schleef.org>
7655
7656         * testsuite/elements/Makefile.am:
7657         * testsuite/elements/struct_i386.h:
7658         * testsuite/elements/struct_size.c: (main):  A little test
7659         to keep distcheck from working if someone changes a structure
7660         size accidentally.
7661
7662 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7663
7664         * docs/libs/Makefile.am:
7665         * docs/libs/gstreamer-libs-docs.sgml:
7666         * docs/libs/gstreamer-libs-sections.txt:
7667         * docs/libs/tmpl/gstbytestream.sgml:
7668         * docs/libs/tmpl/gstcontrol.sgml:
7669         * docs/libs/tmpl/gstdataprotocol.sgml:
7670         * docs/libs/tmpl/gstgetbits.sgml:
7671         * libs/gst/bytestream/Makefile.am:
7672         * libs/gst/bytestream/bytestream.c:
7673         * libs/gst/bytestream/bytestream.h:
7674         * libs/gst/control/Makefile.am:
7675         * libs/gst/dataprotocol/Makefile.am:
7676         * libs/gst/getbits/Makefile.am:
7677         * libs/gst/getbits/getbits.h:
7678           various doc and style fixes, adding bytestream to libs docs.
7679
7680 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7681
7682         * docs/gst/gstreamer-docs.sgml:
7683         * docs/libs/Makefile.am:
7684         * docs/libs/gstreamer-libs-docs.sgml:
7685         * docs/libs/gstreamer-libs-sections.txt:
7686         * libs/gst/control/dparam.c:
7687           more doc fixes.  gst-libs docs now build the same way as gst.
7688
7689 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7690
7691         * configure.ac:
7692         * testsuite/Makefile.am:
7693         * testsuite/bins/Makefile.am:
7694         * testsuite/caps/Makefile.am:
7695         * testsuite/cleanup/Makefile.am:
7696         * testsuite/clock/Makefile.am:
7697         * testsuite/debug/Makefile.am:
7698         * testsuite/dlopen/Makefile.am:
7699         * testsuite/dynparams/Makefile.am:
7700         * testsuite/elements/.cvsignore:
7701         * testsuite/elements/Makefile.am:
7702         * testsuite/enumcaps/Makefile.am:
7703         * testsuite/enumcaps/enumcaps.c:
7704         * testsuite/ghostpads/Makefile.am:
7705         * testsuite/indexers/Makefile.am:
7706         * testsuite/negotiation/Makefile.am:
7707         * testsuite/parse/Makefile.am:
7708         * testsuite/plugin/Makefile.am:
7709         * testsuite/refcounting/Makefile.am:
7710         * testsuite/schedulers/.cvsignore:
7711         * testsuite/states/Makefile.am:
7712         * testsuite/tags/Makefile.am:
7713         * testsuite/threads/Makefile.am:
7714           fold enumcaps into caps dir
7715           clean up Makefile.am's for testsuite
7716
7717 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7718
7719         * docs/gst/Makefile.am:
7720         * docs/libs/Makefile.am:
7721           clean up docs build.  Fixes needless rebuilding of template files.
7722
7723 2004-07-28  Wim Taymans  <wim@fluendo.com>
7724
7725         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
7726         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
7727         Make sure that a bin state change tries to keep the children
7728         in sync. 
7729         Added debug logging to the thread.
7730
7731 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7732
7733         * win32/GStreamer.vcproj:
7734         * win32/gstreamer.def:
7735           more exports for the plugins
7736
7737 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
7738
7739         * win32/gstgetbits.vcproj:
7740         * win32/gstgetbits.def:
7741         * win32/msvc71.sln:
7742           add support for the getbits plugin
7743
7744 2004-07-27  Wim Taymans  <wim@fluendo.com>
7745
7746         * gst/gstvalue.c: (gst_value_transform_double_fraction),
7747         (gst_value_transform_fraction_double), (_gst_value_initialize):
7748         * testsuite/caps/Makefile.am:
7749         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
7750         (check_from_fraction_convert), (transform_test), (main):
7751         Added transform functions between double and fraction.
7752         Added testcase to verify transforms
7753
7754 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7755
7756         * win32/GStreamer.vcproj:
7757           rename GStreamer-0.8.lib to libgstreamer.lib
7758
7759 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7760
7761         * win32/gstelements.vcproj:
7762         * win32/gstoptimalscheduler.vcproj:
7763           fixes for the Release build
7764
7765 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7766
7767         * win32/config.h:
7768           update the version number
7769
7770 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7771
7772         * win32/GStreamer.vcproj:
7773           add gstinterface to the build
7774
7775 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
7776
7777         * win32/gstreamer.def:
7778           add many definitions needed by plugins,
7779           GST_CAT_DEFAULT only available in the Debug build ?
7780
7781 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7782
7783         * gst/gstelement.c: (gst_element_set_eos_recursive):
7784           various whitespace fixes.
7785           doc fix, fixes #148497
7786
7787 2004-07-25  Benjamin Otte  <otte@gnome.org>
7788
7789         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
7790           don't delay links on the sink elements, it causes unnegotiated
7791           links.
7792         * gst/elements/gsttypefindelement.c:
7793         (gst_type_find_element_base_init):
7794           add our padtemplates, we indeed do have some.
7795         * gst/elements/gsttypefindelement.c:
7796         (gst_type_find_element_handle_event),
7797         (gst_type_find_element_chain):
7798           don't push data when typefinding failed.
7799         * gst/gstpad.c: (gst_pad_link_fixate):
7800           check that no fixate function returns empty caps.
7801         * gst/gstpad.c: (gst_pad_push):
7802           check that the link is negotiated before data gets pushed.
7803         * tools/gst-register.c: (main):
7804           don't assert (fixes #148283)
7805
7806 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7807
7808         * docs/gst/gstreamer-sections.txt:
7809         * docs/gst/tmpl/gstconfig.sgml:
7810           add GST_PLUGIN_EXPORT definition
7811
7812 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7813
7814         * gst/gstplugin.h:
7815         * gst/gstconfig.h.in:
7816         * win32/gstconfig.h:
7817         * win32/gstelements.def:
7818         * win32/gstelements.vcproj:
7819         * win32/gstoptimalscheduler.def:
7820         * win32/gstoptimalscheduler.vcproj:
7821         * win32/gstspider.def:
7822         * win32/gstspider.vcproj:
7823           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
7824
7825 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7826
7827         * docs/gst/gstreamer-sections.txt:
7828           remove GST_CAT_DEFAULT because the type has changed
7829
7830 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7831
7832         * win32/gstbytestream.vcproj:
7833         * win32/gstelements.vcproj:
7834         * win32/gst-inspect.vcproj:
7835         * win32/gst-launch.vcproj:
7836         * win32/gstoptimalscheduler.vcproj:
7837         * win32/GStreamer.vcproj:
7838         * win32/gst-register.vcproj:
7839         * win32/gstspider.vcproj:
7840         * win32/msvc71.sln:
7841           Copy the files where needed after building, The testsuite will be
7842           built separately
7843
7844 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
7845
7846         * win32/config.h:
7847         * win32/README.txt:
7848         * docs/manual/win32.xml:
7849         Fixed the plugin and GStreamer location
7850
7851 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7852
7853         * win32/gstreamer.def:
7854         More exports for the plugins
7855
7856 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7857
7858         * gst/gstinfo.h:
7859         Marc was right, we need to export literally GST_CAT_DEFAULT
7860
7861 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7862
7863         * win32/config.h:
7864         NLS crashes in gettext, disabled until this is solved
7865
7866 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7867
7868         * win32/gst-inspect.vcproj:
7869         * win32/gst-launch.vcproj:
7870         Should use NLS when available
7871
7872 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7873
7874         * gst/registries/gstxmlregistry.c:
7875         removing the file doesn't seem to be a good idea on Linux
7876
7877 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
7878
7879         * gst/registries/gstxmlregistry.c:
7880         Remove the registry before renaming the tempfile (needed for Windows)
7881
7882 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7883
7884         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
7885         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
7886         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
7887         * gst/elements/gstmultifilesrc.h:
7888         Added newmedia property so it generates newmedia events between each
7889         file when property is set, as well as fixed eos handling
7890
7891 2004-07-22  David Schleef  <ds@schleef.org>
7892
7893         * gst/gststructure.c: (gst_structure_id_empty_new),
7894         (gst_structure_empty_new):  Set type field correctly.
7895         * gst/gststructure.h: Check type field correctly.
7896         * testsuite/caps/Makefile.am:
7897         * testsuite/caps/structure.c: (test1), (main): Add a very small
7898         test for structures.
7899
7900 2004-07-22  David Schleef  <ds@schleef.org>
7901
7902         * docs/random/ds/0.9-suggested-changes: more comments
7903         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
7904
7905 2004-07-22  Benjamin Otte  <otte@gnome.org>
7906
7907         * gst/gstelementfactory.c: (gst_element_register):
7908           set the factory in the class struct, so gst_element_get_factory
7909           actually works
7910         * gst/parse/grammar.y:
7911           set element to playing when it gets unlocked as we can't rely on the
7912           bin state - all elements in the bin state might still be locked in
7913           NULL)
7914
7915 2004-07-22  Benjamin Otte  <otte@gnome.org>
7916
7917         * gst/gstelement.c: (gst_element_set_state_func):
7918           make this a static function
7919
7920 2004-07-22  Wim Taymans  <wim@fluendo.com>
7921
7922         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7923         (gst_opt_scheduler_pad_link):
7924         fix 147894-2 and the group_link problem.
7925
7926 2004-07-22  Wim Taymans  <wim@fluendo.com>
7927
7928         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7929         (handoff_identity), (main):
7930         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7931         (handoff_identity), (main):
7932         * testsuite/schedulers/Makefile.am:
7933         * testsuite/schedulers/group_link.c: (main):
7934         Show bug in scheduler when linking chain and loop based element 
7935         where the chain based element was not yet in a group.
7936
7937 2004-07-21  Benjamin Otte  <otte@gnome.org>
7938
7939         * gst/.cvsignore:
7940         * gst/autoplug/.cvsignore:
7941         * gst/elements/.cvsignore:
7942         * gst/indexers/.cvsignore:
7943         * libs/gst/bytestream/.cvsignore:
7944         * libs/gst/control/.cvsignore:
7945         * libs/gst/getbits/.cvsignore:
7946         * testsuite/states/.cvsignore:
7947         * testsuite/threads/.cvsignore:
7948           keep this up to date, since I seem to be the only one who cares
7949           about not missing files on commits (editor's note: no you don't,
7950           but feel free to change them at the time you add stuff instead
7951           of later on)
7952
7953 2004-07-21  Benjamin Otte  <otte@gnome.org>
7954
7955         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
7956         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
7957         (gst_bin_child_state_change_func), (set_kid_state_func),
7958         (gst_bin_set_state), (gst_bin_change_state_norecurse):
7959           make state changes work correctly and reentrant (so removing
7960           elements from bins during state changes of bins doesn't cause
7961           segfaults or even wrong states)
7962           add debugging category and debugging output to print children states
7963         * gst/gstbin.c: (gst_bin_dispose): 
7964           add some assertion checks
7965         * gst/gstbin.h:
7966         * gst/gstbin.c: (gst_bin_sync_children_state):
7967           deprecate this function - it just does gst_bin_set_state (bin,
7968           GST_STATE (bin)) 
7969         * testsuite/threads/queue.c: (main):
7970           don't use gst_bin_sync_children_state anymore
7971         * testsuite/states/Makefile.am:
7972         * testsuite/states/bin.c:
7973           test that the state changes of bins work as expected
7974         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7975           some adjustments to change states correctly, too
7976         * gst/gstthread.c: (gst_thread_change_state):
7977           don't enable/disable "threadsafe" properties, they're unused and
7978           cause random segfaults
7979         * testsuite/threads/Makefile.am:
7980           the queue check randomly passes now, ignore it
7981
7982 2004-07-21  Benjamin Otte  <otte@gnome.org>
7983
7984         * gst/gstpad.c:
7985           check if data is NULL before outputting debug info. (fixes #145100)
7986
7987 2004-07-21  Benjamin Otte  <otte@gnome.org>
7988
7989         * gst/schedulers/entryscheduler.c:
7990         (gst_entry_scheduler_loop_wrapper),
7991         (gst_entry_scheduler_chain_wrapper),
7992         (gst_entry_scheduler_get_wrapper):
7993           reset the state when the cothread starts, so we don't get assertion
7994           failures on restarting of cothreads
7995
7996 2004-07-20  Benjamin Otte  <otte@gnome.org>
7997
7998         * gst/gstelement.c: (gst_element_link_pads_filtered):
7999           use correct sinkpad, if only sinkpad is specified, but not srcpad
8000           (fixes #147889)
8001         * gst/gstelement.c: (gst_element_set_state_func),
8002         (gst_element_change_state): ref/unref the element, signal handlers
8003         could get rid of the element otherwise
8004
8005 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8006
8007         * docs/random/ds/0.9-suggested-changes:
8008           Make note about renaming fixed-list to array.
8009         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
8010         (_gst_value_initialize):
8011           Add array intersections.
8012         * testsuite/caps/intersect2.c: (main):
8013           Add test for array intersections.
8014
8015 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8016
8017         * configure.ac: back to cvs
8018
8019 === release 0.8.4 ===
8020
8021 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8022
8023         * configure.ac:
8024           releasing 0.8.4, "Paella"
8025           bump libtool versioning
8026
8027 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8028
8029         * po/LINGUAS:
8030         * po/ca.po:
8031           adding Catalan translation (Jordi Mallach)
8032
8033 2004-07-20  Wim Taymans  <wim@fluendo.com>
8034
8035         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8036         (handoff_identity), (main):
8037         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8038         (handoff_identity), (main):
8039         * testsuite/schedulers/Makefile.am:
8040         Added failing testcase for variant of #147894
8041
8042 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8043
8044         patch by: David Moore
8045
8046         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8047         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
8048         (group_migrate_connected):
8049         * testsuite/schedulers/Makefile.am:
8050           fix for #142813 (Deadlock in optimal scheduler)
8051
8052 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8053
8054         patch by: Wim Taymans
8055
8056         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8057         (gst_opt_scheduler_schedule_run_queue),
8058         (gst_opt_scheduler_get_wrapper), (get_group),
8059         (group_migrate_connected):
8060         * testsuite/schedulers/Makefile.am:
8061           fix for #147819 (Add some checks in the opt scheduler)
8062
8063 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8064
8065         patch by: Benjamin Otte
8066
8067         * gst/gstelementfactory.c: (__gst_element_details_set):
8068           fix for #147929: running gst-register in non-utf8 locale can cause
8069           invalid registry
8070
8071 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8072
8073         patch by: Wim Taymans
8074
8075         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
8076         (group_has_element), (element_get_reachables_func),
8077         (group_migrate_connected):
8078           fix for #147894 (opt scheduler decoupled elements mismanagement)
8079         * testsuite/schedulers/Makefile.am:
8080           testsuite app now passes
8081
8082 2004-07-19  Wim Taymans  <wim@fluendo.com>
8083
8084         * testsuite/schedulers/147819.c: (handoff_identity1),
8085         (handoff_identity2), (main):
8086         * testsuite/schedulers/Makefile.am:
8087         Added testcase for bug 147819
8088
8089 2004-07-19  Wim Taymans  <wim@fluendo.com>
8090
8091         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8092         (handoff_identity), (main):
8093         * testsuite/schedulers/Makefile.am:
8094         Added testcase for bug 147894
8095
8096 2004-07-16  Wim Taymans  <wim@fluendo.com>
8097
8098         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
8099         * testsuite/schedulers/142183.c: (handoff_identity), (main):
8100         * testsuite/schedulers/Makefile.am:
8101         Added testsuite for bug 142183 in its two incarnations. Refcount
8102         is not increased for scheduled elements and threadsafe properties
8103         mutexes are not properly unlocked.
8104
8105 2004-07-16  Wim Taymans  <wim@fluendo.com>
8106
8107         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
8108         (create_chain), (destroy_chain), (create_group), (destroy_group),
8109         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
8110         (group_dec_link), (gst_opt_scheduler_pad_link),
8111         (group_inc_links_for_element), (group_migrate_connected):
8112         Call group_inc_link with the proper src->sink ordering -- 
8113         break this, and we break sort_chain. patch from wingo for bug
8114         147713.
8115         Partially revert patch 1.89. When adding a loop based element to 
8116         the scheduler, the links to other groups are automatically followed
8117         and incremented. This should not happen because the bin will call
8118         pad_link explicitly for those connection, resulting in them counted 
8119         twice. Results in assertion failure on pipeline cleanup.
8120
8121 2004-07-16  Wim Taymans  <wim@fluendo.com>
8122
8123         * testsuite/schedulers/143777-2.c: (main):
8124         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8125         (main):
8126         * testsuite/schedulers/Makefile.am:
8127         Added cleanup code to testcase 143777-2.
8128         Added testcase to show bug 147713, does not really show the
8129         deadlock as I can't figure out how to trigger it, but it does
8130         demonstrate bad ordering in the scheduler.
8131
8132 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8133
8134         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8135           change strndup to g_strndup.  Fixes #147707
8136
8137 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8138
8139         * po/af.po:
8140         * po/az.po:
8141         * po/cs.po:
8142         * po/en_GB.po:
8143         * po/fr.po:
8144         * po/nl.po:
8145         * po/sr.po:
8146         * po/sv.po:
8147         * po/tr.po:
8148         * po/uk.po:
8149           updated translations
8150
8151 2004-07-16  Benjamin Otte  <otte@gnome.org>
8152
8153         * gst/gstvalue.c: (gst_greatest_common_divisor):
8154           use ints and return ints, fractions only use ints, too, so this
8155           avoids accidently casting multiplications to unsigned
8156         (gst_value_lcopy_fraction): it's ints, not uint32
8157         (gst_value_set_fraction): disallow minint, multiplying and negation
8158           are broken with it
8159         (gst_value_fraction_multiply): fix to make large numbers work and get
8160         rid of the assumption that the multiplication of two ints fits an
8161         int64 - dunno if that's true for all systems
8162         * testsuite/caps/Makefile.am:
8163         * testsuite/caps/fraction-multiply-and-zero.c:
8164         (check_multiplication), (check_equal), (zero_test), (main):
8165           add tests for all the stuff above
8166         * testsuite/caps/value_compare.c: (test1):
8167           fix comment
8168         * tests/.cvsignore:
8169         * testsuite/caps/.cvsignore:
8170         * testsuite/debug/.cvsignore:
8171         * testsuite/dlopen/.cvsignore:
8172         * testsuite/states/.cvsignore:
8173           get up to date
8174
8175 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8176
8177         * docs/manual/bins-api.xml:
8178         * docs/manual/factories.xml:
8179         * docs/manual/helloworld.xml:
8180         * docs/manual/links-api.xml: 
8181           fixes for out of date info, incorrect info and grammar
8182
8183 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8184
8185         * docs/manual/pads.xml:
8186         * docs/manual/pads-api.xml: grammar fix
8187
8188 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8189
8190         * docs/manual/pads-api.xml: typo + grammar fix
8191
8192 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8193
8194         * docs/gst/gstreamer-sections.txt:
8195           add new symbols
8196         * docs/gst/tmpl/gstelement.sgml:
8197         * docs/gst/tmpl/gstpad.sgml:
8198         * docs/gst/tmpl/gsttypes.sgml:
8199         * docs/gst/tmpl/gstvalue.sgml:
8200           update docs
8201         * gst/gststructure.c: (gst_structure_set_valist),
8202         (gst_structure_from_abbr), (gst_structure_to_abbr):
8203         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8204         (gst_greatest_common_divisor), (gst_value_init_fraction),
8205         (gst_value_copy_fraction), (gst_value_collect_fraction),
8206         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8207         (gst_value_get_fraction_numerator),
8208         (gst_value_get_fraction_denominator),
8209         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8210         (gst_value_deserialize_fraction),
8211         (gst_value_transform_fraction_string),
8212         (gst_value_transform_string_fraction),
8213         (gst_value_compare_fraction), (_gst_value_initialize):
8214         * gst/gstvalue.h:
8215           adding GstFraction GValue type, get/set, and multiply
8216         * testsuite/caps/Makefile.am:
8217         * testsuite/caps/fraction.c: (test), (main):
8218         * testsuite/caps/string-conversions.c: (main):
8219         * testsuite/caps/value_compare.c: (test1), (main):
8220           add regression tests for GstFraction
8221
8222 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8223         
8224         * docs/manual/init-api.xml: Grammar fix
8225
8226 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8227
8228         * docs/manual/states.xml: Fix inconsistent information
8229
8230 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8231
8232         * gst/gstelement.c: (gst_element_set_state):
8233         * gst/gstpad.c: (gst_pad_try_set_caps):
8234         * gst/gststructure.c:
8235         * gst/gstthread.c: (gst_thread_child_state_change):
8236         * gst/gstvalue.c: (gst_value_compare_double):
8237         * gst/gstvalue.h:
8238         * testsuite/parse/parse1.c: (main):
8239           debugging additions and style cleanups
8240
8241 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8242
8243         * docs/manual/states.xml: Grammar fix
8244
8245 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8246
8247         * docs/manual/pads.xml: Grammar fix
8248
8249 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8250
8251         * docs/manual/elements.xml: Fixed image reference
8252
8253 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8254
8255         * docs/manual/goals.xml: Grammar fix
8256
8257 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8258
8259         * docs/manual/motivation.xml:
8260         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8261
8262 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8263
8264         * docs/manual/motivation.xml: Fix spelling
8265
8266 2004-07-15  Benjamin Otte  <otte@gnome.org>
8267
8268         * gst/gstelement.h: 
8269           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8270           strings.
8271         * gst/gstelement.c (gst_element_class_init):
8272           GError's are boxed, not objects
8273         * gst/gstmarshal.list:
8274           update list for the fixed error signal
8275
8276 2004-07-14  Andy Wingo  <wingo@pobox.com>
8277
8278         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8279         there all along, but the function wasn't. (guile-gstreamer's build
8280         system uses the address of the function -- I wasn't actually
8281         trying to use this.)
8282
8283 2004-07-14  Andy Wingo  <wingo@pobox.com>
8284
8285         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8286         as gst_pad_proxy_pad_link) just link to every other pad when they
8287         are called. In the case where the graph has cycles, this will mean
8288         that a call to try_set_caps will recurse. Allow this recursion
8289         and return OK, while we wait for the first try_set_caps to give a
8290         proper return value.
8291         (gst_pad_link_call_link_functions): Since this function is the
8292         only one to set the NEGOTIATING flag on a pad, if the flag is set
8293         it means that the link functions have indirectly recursed. If this
8294         happens, error out to avoid infinite recursion and an eventual
8295         SEGV.
8296         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8297         (gst_pad_proxy_getcaps): Intersect the result with the template
8298         caps to ensure that the return value is valid.
8299
8300 2004-07-14  Andy Wingo  <wingo@pobox.com>
8301
8302         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8303         one refcount, the calling function is the owner of the buffer.
8304
8305 2004-07-14  Wim Taymans  <wim@fluendo.com>
8306
8307         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8308         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8309         Fix stupid warning when an element is to be migrated but
8310         is already migrated.
8311
8312 2004-07-14  Wim Taymans  <wim@fluendo.com>
8313
8314         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8315         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8316         Make sure that a single non-loop-based element does not 
8317         end up in a group. This fixes the testsuite again.
8318
8319 2004-07-14  Wim Taymans  <wim@fluendo.com>
8320
8321         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8322         (add_to_group), (merge_groups), (schedule_group),
8323         (gst_opt_scheduler_get_wrapper), (group_elements),
8324         (group_dec_link), (gst_opt_scheduler_pad_link),
8325         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8326         (gst_opt_scheduler_iterate):
8327         move isolated groups to a new chain.
8328         Emit a warning instead of segfaulting in some error cases.
8329         Fix a bug where the link count between groups was not calculated 
8330         correctly. Fixes #144510.
8331
8332 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8333         * gst/elements/gstfilesrc.c:
8334           Binary files support under Windows now OK
8335       
8336 2004-07-13  Benjamin Otte  <otte@gnome.org>
8337
8338           compatibility fixes for Solaris 8/gcc 2.95
8339         * configure.ac:
8340           include libintl libs in LDFLAGS
8341         * gstvalue.c (gst_value_deserialize_buffer):
8342           cast isxdigit stuff to int to silence compiler warning
8343
8344 2004-07-12  Benjamin Otte  <otte@gnome.org>
8345
8346         * gst/gsttypes.h:
8347           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8348           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8349           just causes support madness
8350         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8351           make it work without this
8352         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8353         (gst_file_index_commit):
8354           glib IO channels don't want binary mode
8355         * testsuite/bytestream/filepadsink.c: (main):
8356         * testsuite/bytestream/test1.c: (read_param_file):
8357           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8358
8359 2004-07-12  Benjamin Otte  <otte@gnome.org>
8360
8361         * gst/gstelement.c: (gst_element_class_init),
8362         (gst_element_set_state), (gst_element_set_state_func):
8363           virutalize gst_element_set_state, use set_state member in class
8364           struct that was already added in 0.7 for this.
8365         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8366         (gst_bin_change_state):
8367           make gst_bin_foreach works similar to other foreach functions, plug
8368           memleaks in it. Make functions using it work with the new approach.
8369           Document gst_bin_foreach, so it can be exported if we want to
8370         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8371           use virtualized set_state to make set_state on bins set the state of
8372           all its children.
8373
8374 2004-07-12  Benjamin Otte  <otte@gnome.org>
8375
8376         * configure.ac:
8377           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8378           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8379         * gst/gstpad.c: (gst_pad_alloc_buffer):
8380           allow buffer_alloc functions to return NULL and allocate a normal
8381           buffer in that case
8382
8383 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8384         * gst/elements/gstfilesink.c:
8385         * gst/elements/gstfilesrc.c:
8386         * gst/indexers/gstfileindex.c:
8387         * gst/gsttypes.h:
8388         * testsuite/bytestream/filepadsink.c:
8389         * testsuite/bytestream/test1.c:
8390           Handle binary files under Windows
8391
8392 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8393         * docs/manual/win32.xml:
8394         * win32/config.h:
8395         * win32/gst-register.vcproj:
8396         * win32/gstreamer.def:
8397           Update to another gettext public build
8398
8399 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8400         * gst/gstplugin.c:
8401           Fix an impossible C syntax
8402         * win32/config.h:
8403           Disable i18n under Windows for the moment
8404         * win32/gst-register.vcproj:
8405           Use this configuration
8406
8407 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8408         * docs/manual/quotes.xml:
8409           Keep the quotes file alive
8410         * docs/random/ds/0.9-suggested-changes:
8411           Add the suggestion of including a 'rowstride' as part of video
8412           format caps
8413
8414 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8415
8416         * gst/gstelement.c: (gst_element_set_state),
8417         (gst_element_change_state):
8418           d'oh.  Set PENDING state correctly before forcing bin to change.
8419         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8420         (gst_structure_parse_fixed_list):
8421         * gst/schedulers/gstoptimalscheduler.c:
8422         (gst_opt_scheduler_state_transition):
8423         * testsuite/states/parent.c: (main):
8424           remove comment now that it's fixed.
8425
8426 2004-07-11  Benjamin Otte  <otte@gnome.org>
8427
8428         * gst/gstclock.h:
8429           GST_SECOND shouldn't cause a conversion to unsigned.
8430         * testsuite/clock/.cvsignore:
8431         * testsuite/clock/Makefile.am:
8432         * testsuite/clock/signedness.c: (main):
8433           make sure it never will again
8434
8435 2004-07-11  Andy Wingo  <wingo@pobox.com>
8436
8437         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8438         whose state is higher than the bin state, raise the bin state to
8439         ensure that bin state := highest child state.
8440         
8441 2004-07-11  Andy Wingo  <wingo@pobox.com>
8442
8443         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8444         procedure on the children of a bin. Assumes that the procedure can
8445         change the set of children.
8446         (set_kid_state_func): New static function.
8447         (gst_bin_change_state): Use gst_bin_foreach to call
8448         set_kid_state_func. Fixes a bug: if a child had a state-change
8449         handler that removes it from the bin, there would be a segfault.
8450         Hopefully it should also work in the case where the state-change
8451         handler on one child adds or removes other children. In any case,
8452         fixes should go to gst_bin_foreach.
8453
8454 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8455
8456         * gst/gstelement.c: (gst_element_set_state):
8457           compatibility fix for latest plugins release.  Change loop back
8458           to while {}
8459
8460 2004-07-09  Wim Taymans  <wim@fluendo.com>
8461
8462         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8463         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8464         (gst_thread_main_loop):
8465         Since remove is virtual in GstBin we must not assume the 
8466         elements GList to have anothing useful.
8467         Add some more logging to GstThread and be a bit more paranoid
8468         when resetting the scheduler.
8469         Set the state of the bin to NULL before removing the children.
8470
8471 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8472
8473         * testsuite/threads/Makefile.am:
8474         * testsuite/threads/threadg.c:
8475           added test to check if problem when removing all elements from a
8476           GstThread before setting GstThread state to NULL
8477
8478 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8479
8480         * docs/gst/tmpl/gstelement.sgml:
8481         * docs/gst/tmpl/gsttypes.sgml:
8482         * gst/gstbin.c: (gst_bin_change_state):
8483         * gst/gstelement.c: (gst_element_set_state),
8484         (gst_element_change_state):
8485           rework so that for bins we try to set the state on all children
8486           as well even if the bin is in the correct state already.
8487           change while to do so at least one iteration is done.
8488           For regular elements, we fall back to the previous behaviour for
8489           now since we first need a new plugins release.
8490         * testsuite/states/parent.c: (main):
8491           test for this case
8492           Fixes #123774
8493
8494 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8495
8496         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8497         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8498         (gst_queue_release_locks), (gst_queue_change_state),
8499         (gst_queue_set_property):
8500           add proper lock debugging.  Change dispose to finalize, since
8501           we're freeing mutexes and other stuff which should happen only once.
8502
8503 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8504
8505         * docs/gst/tmpl/gstelement.sgml:
8506         * docs/gst/tmpl/gstplugin.sgml:
8507         * docs/gst/tmpl/gsttypes.sgml:
8508         * docs/pwg/building-state.xml:
8509         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
8510         * gst/gstelement.c: (gst_element_change_state):
8511         * gst/gstthread.c: (gst_thread_change_state):
8512           catch wrong state changes in element base class.
8513
8514 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8515
8516         * gst/gstinfo.h:
8517           clean up layout a little.
8518
8519 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8520
8521         * configure.ac:
8522         * testsuite/Makefile.am:
8523         * testsuite/states/Makefile.am:
8524         * testsuite/states/parent.c: (main):
8525           re-enable states testsuite dir.  Add test for state changes and
8526           parent behaviour
8527
8528 2004-07-09  Wim Taymans  <wim@fluendo.com>
8529
8530         * gst/schedulers/gstoptimalscheduler.c:
8531         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
8532         (element_get_reachables_func), (element_get_reachables),
8533         (debug_element), (rechain_group), (group_migrate_connected),
8534         (gst_opt_scheduler_pad_unlink):
8535         Do not try to migrate decoupled elements to a new group since
8536         they are not added to groups.
8537
8538 2004-07-08  Benjamin Otte  <otte@gnome.org>
8539
8540         * gst/gstelement.c: (gst_element_error_func):
8541           make reentrant (= allow removing elements in error handler)
8542
8543 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8544
8545         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8546         (gst_pad_send_event), (gst_pad_call_chain_function):
8547           events sent to elements below PAUSED cannot be handled, so
8548           don't try to
8549
8550 2004-07-08  Wim Taymans  <wim@fluendo.com>
8551
8552         * gst/schedulers/gstoptimalscheduler.c:
8553         (chain_recursively_migrate_group), (create_group),
8554         (schedule_group), (gst_opt_scheduler_pad_link),
8555         (group_elements_set_visited), (element_get_reachables_func),
8556         (element_get_reachables), (group_can_reach_group), (debug_element),
8557         (rechain_group), (group_migrate_connected),
8558         (gst_opt_scheduler_pad_unlink):
8559         * testsuite/schedulers/Makefile.am:
8560         Implemented group splitting and rechaining.
8561         Fixes 143777 and 143777-2 in the testsuite.
8562
8563 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8564
8565         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8566           extra debugging
8567         * gst/gstevent.h:
8568         * gst/gstinfo.c: (gst_debug_log_default):
8569           print time nicely.  add thread pointer until someone figures out
8570           a completely portable way of getting at thread id's.
8571         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
8572         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
8573         (gst_pad_call_chain_function):
8574           extra debugging
8575         * gst/schedulers/gstoptimalscheduler.c:
8576         (get_group_schedule_function), (loop_group_schedule_function),
8577         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8578         (pad_clear_queued), (gst_opt_scheduler_iterate):
8579           rename BUFPEN and friends to DATAPEN since that's what they are.
8580
8581 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8582
8583         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
8584         * gst/gstbuffer.h:
8585         * gst/gstpad.c:
8586           cleanups and debugging
8587
8588 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8589
8590         * configure.ac:
8591         * gst/gstvalue.c: (gst_value_compare_enum),
8592         (gst_value_serialize_enum), (gst_value_deserialize_enum),
8593         (gst_value_can_compare), (gst_value_compare):
8594         * testsuite/Makefile.am:
8595         * testsuite/enumcaps/Makefile.am:
8596         * testsuite/enumcaps/enumcaps.c:
8597           Fix enum serialization, deserialization, comparison in caps, add
8598           a test to ensure that this continues working in the future.
8599
8600 2004-07-06  David Schleef  <ds@schleef.org>
8601
8602         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8603         Fix memleak.
8604
8605 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8606
8607         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8608         * gst/gstplugin.h:
8609         * gst/registries/gstxmlregistry.c:
8610         (plugin_times_older_than_recurse), (plugin_times_older_than),
8611         (gst_xml_registry_parse_padtemplate):
8612           only rebuild registry when actual plugins have a newer time than
8613           the registry.  Fixes #145520
8614
8615 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8616
8617         * docs/manual/manual.xml:
8618         * docs/manual/win32.xml:
8619           add chapter on win32 building.  fixes #142422
8620
8621 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8622
8623         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
8624
8625         * gst/autoplug/gstspider.c: (gst_spider_init),
8626         (gst_spider_dispose):
8627           fix spider memleaks.  fixes #137863
8628
8629 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8630
8631         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
8632
8633         * gst/schedulers/gstoptimalscheduler.c:
8634         (gst_opt_scheduler_pad_unlink):
8635           fix SIGBUS error, fixes #145338
8636
8637 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8638
8639         * gst/gstobject.c: (gst_object_replace):
8640         * gst/gstscheduler.c: (gst_scheduler_get_clock):
8641         * gst/gstsystemclock.c: (gst_system_clock_obtain):
8642           clean up clock lifecycle.  Fixes #109831
8643
8644 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8645
8646         * po/LINGUAS:
8647         * po/cs.po:
8648           added Czech translation (Miloslav Trmac)
8649
8650 2004-07-04  David Schleef  <ds@schleef.org>
8651
8652         * tools/Makefile.am:
8653         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
8654
8655 2004-07-04  David Schleef  <ds@schleef.org>
8656
8657         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
8658
8659 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8660
8661         * gst/gstbin.c: (gst_bin_restore_thyself):
8662           chain to parent restore so the bins get restored correctly
8663           in the editor
8664
8665 2004-07-03  David Schleef  <ds@schleef.org>
8666
8667         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
8668         Actually do something in these functions, like before the big
8669         caps change.  (bug #145137)
8670
8671 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8672
8673         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
8674         (gst_element_get_compatible_pad_filtered):
8675         * gst/gstthread.c: (gst_thread_main_loop):
8676           more debugging
8677
8678 2004-07-02  David Schleef  <ds@schleef.org>
8679
8680         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
8681         * gst/gstobject.h:
8682         * gst/gstparse.h:
8683         * gst/gsttrace.h:
8684         * gst/gstxml.h:
8685
8686 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8687
8688         * gst/gstpad.c: (gst_pad_check_schedulers),
8689         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8690         (gst_pad_link_prepare):
8691           revert until testsuite is fixed
8692
8693 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8694
8695         * testsuite/Makefile.am:
8696         * testsuite/caps/filtercaps.c: (main):
8697         * testsuite/clock/clock1.c: (main):
8698         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
8699           fix some more tests
8700
8701 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8702
8703         * testsuite/cleanup/cleanup1.c: (create_pipeline):
8704         * testsuite/cleanup/cleanup2.c: (create_pipeline):
8705         * testsuite/cleanup/cleanup4.c: (main):
8706           fix testsuite
8707
8708 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8709
8710         * libs/gst/control/control.c:
8711         * libs/gst/control/dparam.c:
8712         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
8713         * libs/gst/control/dparammanager.c:
8714         * libs/gst/control/dparammanager.h:
8715         * testsuite/dynparams/Makefile.am:
8716         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
8717         (gst_dptest_change_state), (gst_dptest_chain), (main):
8718           fix testcase for dparams
8719           add debugging category
8720
8721 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8722
8723         * testsuite/Rules:
8724           change path
8725
8726 2004-07-02  Benjamin Otte  <otte@gnome.org>
8727
8728         * tests/.cvsignore:
8729         * tests/Makefile.am:
8730         * tests/mass_elements.c: (gst_get_current_time), (main):
8731           add simple benchmark to test various speeds of fakesrc ! identity !
8732           identity ! ... ! fakesink.
8733           Usage: mass_elements [num_identities] [num_buffers]
8734           If not specified they default to 1000.
8735
8736 2004-07-02  Benjamin Otte  <otte@gnome.org>
8737
8738         * gst/gstpad.c: (gst_pad_check_schedulers),
8739         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
8740         (gst_pad_link_prepare):
8741           check that pads that get linked belong to the same manager. The old
8742           code allowed linking elements before putting them into bins, so it
8743           worked to link them and then put them in different threads, which
8744           lead to weird behaviour.
8745           Since this effectively disallows linking elements before putting
8746           them in a bin, some applications might not work after this and error
8747           out. If these applications are too critical, we might need to revert
8748           that patch. Please test this before the next release...
8749
8750 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8751
8752         * gst/gstpad.c: (gst_pad_get_caps):
8753           throw an error if the getcaps function does not return a subset of
8754           the template caps.
8755         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
8756           make disconts without position info an error in debugging
8757         * tests/spidey_bench.c: (handoff), (main):
8758           don't count first try when averaging
8759
8760 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8761
8762         * gst/gstplugin.c: (gst_plugin_load_file):
8763           figure out problem with dynamic test
8764
8765 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8766
8767         * docs/gst/Makefile.am:
8768           fix docs build
8769
8770 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8771
8772         * po/POTFILES.in:
8773         * po/af.po:
8774         * po/az.po:
8775         * po/en_GB.po:
8776         * po/fr.po:
8777         * po/nl.po:
8778         * po/sr.po:
8779         * po/sv.po:
8780         * po/tr.po:
8781         * po/uk.po:
8782         * tools/gst-register.c: (plugin_added_func), (main):
8783           i18n-ize -register, fix plural
8784
8785 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8786
8787         * gst/elements/gstidentity.c: (gst_identity_class_init),
8788         (gst_identity_init), (gst_identity_chain),
8789         (gst_identity_set_property), (gst_identity_get_property):
8790         * gst/elements/gstidentity.h:
8791           check for perfect stream
8792
8793 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8794
8795         * gst/elements/gstidentity.c: (gst_identity_chain):
8796           print offset_end
8797
8798 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8799
8800         * docs/gst/Makefile.am:
8801         * docs/gst/gstreamer-docs.sgml:
8802           doc fixes
8803
8804 2004-06-24  David Schleef  <ds@schleef.org>
8805
8806         * autogen.sh:  Remove call to env, since the buildbot isn't
8807         broken anymore.
8808
8809 2004-06-24  Wim Taymans  <wim@fluendo.com>
8810
8811         * gst/elements/Makefile.am:
8812         * gst/elements/gstelements.c:
8813         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
8814         (gst_multifdsink_class_init), (gst_multifdsink_init),
8815         (gst_multifdsink_add), (gst_multifdsink_remove),
8816         (gst_multifdsink_clear), (gst_multifdsink_chain),
8817         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
8818         * gst/elements/gstmultifdsink.h:
8819         Added an element that writes to multiple filedescriptors at once.
8820
8821 2004-06-24  Benjamin Otte  <otte@gnome.org>
8822
8823         * gst/parse/grammar.y:
8824           don't try to link elements before they have been added to bins
8825
8826 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8827
8828         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
8829         (gst_file_pad_get_length):
8830         * libs/gst/bytestream/filepad.h:
8831           add 2 new functions
8832
8833 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8834
8835         * docs/gst/gstreamer-sections.txt:
8836         remove from docs, the define that Benjamin removed from gstelement.h
8837
8838 2004-06-22  Benjamin Otte  <otte@gnome.org>
8839
8840         * gst/gstelement.h:
8841           remove define that referenced a nonexisting GstElement struct member
8842
8843 2004-06-20  Benjamin Otte  <otte@gnome.org>
8844
8845         * gst/gstdata.c: (gst_data_is_writable):
8846           whoops, return values were wrong, so writable data was marked as
8847           non-writable and vice versa. (fixes #143953, spotted by Francis
8848           Labonte)
8849           Shows how rarely we need to copy data ;)
8850
8851 2004-06-20  Benjamin Otte  <otte@gnome.org>
8852
8853         * testsuite/schedulers/.cvsignore:
8854         * testsuite/schedulers/Makefile.am:
8855         * testsuite/schedulers/143777-2.c: (main):
8856           add test for opt breakage in bug #143777
8857
8858 2004-06-20  Benjamin Otte  <otte@gnome.org>
8859
8860         * gst/gstpad.c: (gst_pad_call_chain_function):
8861           check for if we were unlinked while inside the chainfunction (fixes
8862           entrygthread having issues with #143777)
8863         * testsuite/schedulers/143777.c: (main):
8864         * testsuite/schedulers/Makefile.am:
8865           add a test for that fix
8866
8867 2004-06-20  Benjamin Otte  <otte@gnome.org>
8868
8869         * gst/gstvalue.c: (gst_value_set_int_range):
8870           test that start is smaller then end
8871         * libs/gst/bytestream/Makefile.am:
8872         * libs/gst/bytestream/filepad.c: 
8873         * libs/gst/bytestream/filepad.h:
8874           add GstFilePad - a pad that behaves like a FILE*
8875         * testsuite/bytestream/.cvsignore:
8876         * testsuite/bytestream/Makefile.am:
8877         * testsuite/bytestream/filepadsink.c: 
8878           test for the GstFilePad
8879
8880 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8881
8882         * gst/elements/gstidentity.c: (gst_identity_class_init),
8883         (gst_identity_init), (gst_identity_set_clock),
8884         (gst_identity_chain), (gst_identity_set_property),
8885         (gst_identity_get_property):
8886         * gst/elements/gstidentity.h:
8887         * gst/gstclock.c: (gst_clock_id_wait):
8888           add a "sync" property to sync to the clock
8889
8890 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8891
8892         * gst/gstelementfactory.c: (gst_element_factory_create):
8893           make the freakin "elementfactory bla has no type" message more
8894           useful. So we actually can do something when someone shows up
8895           complaining about it.
8896
8897 2004-06-15  Johan Dahlin  <johan@gnome.org>
8898
8899         * tools/gst-inspect.c (main): Fallback to plugin if no element is
8900         found. This matches the old behavior better. Thanks to Thomas for
8901         pointing out.
8902
8903 2004-06-14  David Schleef  <ds@schleef.org>
8904
8905         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
8906         -fomit-frame-pointer.  Appears to generate correct code in
8907         other cases as well.
8908
8909 2004-06-14  Johan Dahlin  <johan@gnome.org>
8910
8911         * tools/gst-inspect.c (main): Add two new command line options: -a
8912         to print all elements and -n to print the name on each line. Also
8913         fix some error reporting.
8914         (main): Simplify, remove -n and always print names if -a is specified
8915
8916 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
8917
8918         * win32/gstconfig.h:
8919         * win32/GSTreamer.vcproj:
8920         * win32/Makefile:
8921         * gst/gstconfig.h.in:
8922         * gst/gst.h:
8923         * gst/gstbin.h:
8924         * gst/gstelement.h:
8925         * gst/gstevent.h:
8926         * gst/gstobject.h:
8927         * gst/gstpad.h:
8928         * docs/gst/gstreamer-sections.txt:
8929         * docs/gst/tmpl/gstconfig.sgml:
8930           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
8931
8932 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8933         * docs/gst/gstreamer-sections.txt:
8934         * docs/gst/tmpl/gstconfig.sgml:
8935         Add the GSTREAMER_EXPORT macro to the docs
8936
8937 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8938
8939         * tools/gst-compprep.c: (handle_xmlerror), (main):
8940         Add a check for the version that introduced SetStructuredError to fix
8941         the build on FC1
8942
8943 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8944
8945         * win32/msvc71.sln:
8946         * win32/testsuite/:
8947           prepare to compile the testsuite with MSVC
8948
8949 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8950
8951         * docs/manual/win32.xml:
8952           attempt to transform the Win32 README into an XML doc
8953
8954 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8955
8956         * gst/gst.c:
8957         * gst/gstbin.*:
8958         * gst/config.h.in:
8959         * gst/gstelement.*:
8960         * gst/gstevent.h:
8961         * gst/gstobject.*:
8962         * gst/gstpad.h:
8963         * tools/gst-register.c:
8964         * win32/gstreamer.def:
8965           extern symbols are now exported for the Windows DLL
8966
8967 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8968
8969         * gst/gstinfo.h:
8970           fix a problem to enable/disable DEBUG under MSVC
8971
8972 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8973
8974         * win32/:
8975           enable more debug code in DEBUG build
8976
8977 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8978
8979         * win32/config.h:
8980         * gst/gst-i18n-app.h:
8981           enable NLS under Windows
8982
8983 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8984         * tools/gst-compprep.c: (handle_xmlerror), (main):
8985           Make an error that baffled me a bit clearer
8986
8987 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8988
8989         * gst/gstqueue.c:
8990           don't use g_queue_get_length () because it's 2.4, use ->length
8991
8992 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8993
8994         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8995
8996         * tools/gst-inspect.c: (print_signal_info):
8997           don't free random data twice. (fixes #144185)
8998
8999 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9000
9001         * gst/gstqueue.c:
9002         * gst/gstqueue.h:
9003           fix removing from the wrong queue on event timeout
9004           fix disposing of the event queue by casting correctly
9005           add mutexes for handling the event queue
9006           someone was sleeping when fixing queue last time around :)
9007
9008 2004-06-10  Johan Dahlin  <johan@gnome.org>
9009
9010         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
9011         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
9012
9013 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9014
9015         * docs/random/gdp:
9016         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
9017         * libs/gst/dataprotocol/dataprotocol.c:
9018         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9019         (gst_dp_buffer_from_header):
9020         * libs/gst/dataprotocol/dataprotocol.h:
9021         * libs/gst/dataprotocol/dp-private.h:
9022           rev version to 0.1, add buffer flags and copy them
9023
9024 2004-06-09  Johan Dahlin  <johan@gnome.org>
9025
9026         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
9027         the flags from the buffer we're copying.
9028
9029 2004-06-09  Wim Taymans  <wim@fluendo.com>
9030
9031         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
9032         * gst/elements/gstidentity.c: (gst_identity_init),
9033         (gst_identity_chain):
9034         Print more buffer info in fakesink.
9035         Make identity output similar to fakesink.
9036
9037 2004-06-07  Daniel Gazard  <dany42@free.fr>
9038
9039         reviewed by Benjamin Otte  <otte@gnome.org>
9040
9041         * configure.ac:
9042           fix cross compiling not working. (fixes #143741)
9043
9044 2004-06-07  Benjamin Otte  <otte@gnome.org>
9045
9046         * gst/gstelement.c: (gst_element_set_time_delay):
9047           add failure check
9048         * gst/gstinfo.h:
9049           put brackets around macro arguments of GST_TIME_ARGS, add note to
9050           move it to correct header in 0.9
9051
9052 2004-06-07  Benjamin Otte  <otte@gnome.org>
9053
9054         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
9055         (gst_file_index_load), (_file_index_id_save_entries),
9056         (gst_file_index_commit), (gst_file_index_add_association),
9057         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
9058         (gst_file_index_plugin_init):
9059           make debugging use a default category
9060
9061 2004-06-06  David Moore  <dcm@acm.org>
9062
9063         reviewed by Benjamin Otte  <otte@gnome.org>
9064
9065         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9066         (gst_fdsrc_change_state):
9067           reset offset counter when going READY => PAUSED. (fixes #142903)
9068
9069 2004-06-06  ed@catmur.co.uk
9070
9071         reviewed by Benjamin Otte  <otte@gnome.org>
9072
9073         * gst/registries/gstxmlregistry.c:
9074         (gst_xml_registry_rebuild_recurse):
9075           don't rely on g_dir_open to figure out if a file is a directory, use
9076           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
9077           directories. (fixes #142850)
9078
9079 2004-06-06  Benjamin Otte  <otte@gnome.org>
9080
9081         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
9082           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
9083         * libs/gst/bytestream/adapter.c:
9084         * libs/gst/bytestream/adapter.h:
9085           fix copyright in header and typo in debugging category name
9086
9087 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9088
9089         * configure.ac:
9090           bump nano to cvs
9091
9092 === release 0.8.3 ===
9093
9094 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9095
9096         * configure.ac:
9097           update libtool versioning
9098           do a new release
9099         * docs/gst/tmpl/gstelement.sgml:
9100         * docs/gst/tmpl/gsttypes.sgml:
9101         * gst/gstinfo.c: (_gst_debug_init):
9102           put back GST_CAT_DATAFLOW to fix API breakage
9103
9104 2004-06-04  David Schleef  <ds@schleef.org>
9105
9106         * autogen.sh: Add a temporary 'env' to test buildbot problems.
9107
9108 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9109
9110         * configure.ac:
9111           bump nano to cvs
9112
9113 === release 0.8.2 ===
9114
9115 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9116
9117         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9118           check GST_DEBUG environment variable which is parsed the same way
9119           as --gst-debug=
9120
9121 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9122
9123         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9124                             gstmd5sink.c gstshaper.c gsttee.c
9125                             gsttypefindelement.c
9126         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9127
9128           - removing trailing commas at end of enums
9129             it is correct C99 code but C90 compilers would complain
9130             (AIX, Forte, ...)
9131             ('should' fix #143290, at least partially)
9132
9133 2004-05-27  Wim Taymans  <wim@fluendo.com>
9134
9135         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9136         (chain_group_set_enabled), (create_group), (add_to_group),
9137         (merge_groups), (setup_group_scheduler), (group_elements),
9138         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9139         Don't try to follow the pad connections with other groups
9140         when a loop based element is added to the scheduler because
9141         the bin will inform the scheduler about the pad links a little
9142         later.
9143
9144 2004-05-27  Wim Taymans  <wim@fluendo.com>
9145
9146         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9147         (remove_from_chain), (chain_group_set_enabled),
9148         (setup_group_scheduler), (group_element_set_enabled),
9149         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9150         (gst_opt_scheduler_show):
9151         Elements without a group can do a state change as well, just wait
9152         with the setup of the scheduling function when it is added to a
9153         chain.
9154
9155 2004-05-27  Wim Taymans  <wim@fluendo.com>
9156
9157         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9158         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9159         (merge_groups), (setup_group_scheduler),
9160         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9161         (gst_opt_scheduler_show):
9162         Fixes to maintain internal consistency of the scheduler data
9163         structures. 
9164          - adding an enabled group to a chain should increment the
9165            number of enabled elements in that chain.
9166          - removing an enabled group from a chain could disable the
9167            chain.
9168          - removing a disabled group from a chain could enable the
9169            chain.
9170          - add g_assert when internal inconsistency is detected.
9171          - adding an element to a group could increase the number of
9172            links this group has with other groups.
9173          - merging two groups also merges the chains.
9174          - also show group links in the _show method.
9175            
9176
9177 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9178
9179         * gst/gstcaps.c: (gst_caps_structure_simplify):
9180           don't print error messages when there is no error
9181         * gst/gstvalue.c: (gst_value_compare_int_range):
9182           compare the second value, too
9183         * testsuite/caps/Makefile.am:
9184         * testsuite/caps/random.c: (assert_on_error), (main):
9185           add tests to make sure the two things above are checked for
9186
9187 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9188
9189         * configure.ac:
9190         * libs/gst/dataprotocol/Makefile.am:
9191         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9192         * libs/gst/dataprotocol/dataprotocol.h:
9193           wrap header in GST_ENABLE_NEW.  make code use it
9194
9195 2004-05-23  Johan Dahlin  <johan@gnome.org>
9196
9197         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9198         so verbose and print GstElement signal names all the time.
9199
9200 2004-05-22  David Schleef  <ds@schleef.org>
9201
9202         * gst/registries/gstxmlregistry.c:
9203         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9204         (bug #142957)
9205
9206 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9207
9208         * configure.ac:
9209           scrub cflags for glib2 so gcc doesn't complain when glib is in
9210           /usr/local
9211
9212 2004-05-21  Johan Dahlin  <johan@gnome.org>
9213
9214         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9215         __GNUC__, patch from Brian Cameron, fixes bug #142804
9216
9217 2004-05-20  David Schleef  <ds@schleef.org>
9218
9219         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9220         comparison code.  (bug #142819)
9221
9222 2004-05-20  Wim Taymans  <wim@fluendo.com>
9223
9224         * gst/gstbuffer.c: (gst_buffer_default_copy):
9225         * gst/gstbuffer.h:
9226         Added Comment to a flag.
9227         copy relevant flags in _buffer_copy.
9228
9229 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9230
9231         reviewed by: Wim Taymans <wim at fluendo dot com>
9232
9233         * gst/gstbuffer.h:
9234           add GST_BUFFER_IN_CAPS buffer flag
9235         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9236         (gst_structure_parse_any_list), (gst_structure_parse_list),
9237         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9238         * gst/gstvalue.c: (gst_value_serialize_any_list),
9239         (gst_value_transform_any_list_string),
9240         (gst_value_list_prepend_value), (gst_value_list_append_value),
9241         (gst_value_list_get_size), (gst_value_list_get_value),
9242         (gst_value_transform_list_string),
9243         (gst_value_transform_fixed_list_string),
9244         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9245         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9246         (_gst_value_initialize):
9247         * gst/gstvalue.h:
9248           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9249           < , > as a format.
9250         * testsuite/caps/string-conversions.c: (main):
9251           add regression tests for < >
9252
9253 2004-05-20  Johan Dahlin  <johan@gnome.org>
9254
9255         * docs/gst/Makefile.am (all-local): Re-add
9256
9257 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9258
9259         * docs/gst/Makefile.am:
9260         * docs/gst/gstreamer-docs.sgml:
9261         * docs/libs/Makefile.am:
9262         * docs/libs/gstreamer-libs-docs.sgml:
9263           fix distcheck issues
9264
9265 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9266
9267         * libs/gst/dataprotocol/Makefile.am:
9268           add to autotest
9269
9270 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9271
9272         * libs/gst/dataprotocol/Makefile.am:
9273         * libs/gst/dataprotocol/dataprotocol.c:
9274         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9275         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9276         * libs/gst/dataprotocol/dp-private.h:
9277           use GST macros to read/write fixed length ints
9278           add some more asserts
9279
9280 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9281
9282         * docs/libs/gstreamer-libs-docs.sgml:
9283         * docs/libs/gstreamer-libs-sections.txt:
9284           remove idct and putbits
9285         * configure.ac:
9286         * docs/libs/tmpl/gstdataprotocol.sgml:
9287         * libs/gst/Makefile.am:
9288         * libs/gst/dataprotocol/Makefile.am:
9289         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9290         (buffer_test), (caps_test), (event_test), (main):
9291         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9292         (gst_dp_dump_byte_array), (gst_dp_init),
9293         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9294         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9295         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9296         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9297         (gst_dp_validate_header), (gst_dp_validate_payload),
9298         (gst_dp_validate_packet), (plugin_init):
9299         * libs/gst/dataprotocol/dataprotocol.h:
9300         * libs/gst/dataprotocol/dp-private.h:
9301           add dataprotocol
9302
9303 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9304
9305         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9306           fix int variable deserialization and add a helper so we can actually
9307           debug this.
9308
9309 2004-05-18  David Schleef  <ds@schleef.org>
9310
9311         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9312           argv[0].  Calling yourself is probably not the best way to
9313           construct a test like this, btw.
9314
9315 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9316
9317         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9318           don't claim to be more intelligent than a scheduler when the
9319           scheduler claims the pipeline is stopped
9320         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9321         (safe_cothread_destroy),
9322         (gst_entry_scheduler_remove_all_cothreads),
9323         (gst_entry_scheduler_reset), (_remove_cothread),
9324         (gst_entry_scheduler_state_transition):
9325           hold off cothread destruction if we're not in main cothread
9326         * configure.ac:
9327         * testsuite/Makefile.am:
9328           add new test dir
9329         * testsuite/schedulers/.cvsignore:
9330         * testsuite/schedulers/Makefile.am:
9331           add tests
9332         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9333           check relinking and adding/removing elements from a running pipeline
9334         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9335           check unlinking in a running pipeline
9336         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9337           check unreffing a running pipeline
9338         * testsuite/schedulers/useless_iteration.c: (main):
9339           check iterating a pipeline that contains running threads works
9340
9341 2004-05-18  David Schleef  <ds@schleef.org>
9342
9343         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9344           is false.
9345
9346 2004-05-18  Wim Taymans  <wim@fluendo.com>
9347
9348         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9349         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9350         Fixed an error introduced with patch for 1.63. When setting
9351         a get based element as the entry point in a group, make sure
9352         to mark the group as GET based.
9353
9354 2004-05-18  Wim Taymans  <wim@fluendo.com>
9355
9356         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9357         (setup_group_scheduler), (loop_group_schedule_function),
9358         (gst_opt_scheduler_pad_link):
9359         Added some more debug info and fixed a bug where the group
9360         type was set to LOOP but it was in fact unknown.
9361
9362 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9363
9364         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9365           make resetting scheduler work twice in a row
9366
9367 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9368
9369         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9370         (CREATE_USERIALIZATION), (_gst_value_initialize),
9371         (gst_value_compare_float), (gst_value_serialize_float),
9372         (gst_value_deserialize_float), (gst_value_compare_enum),
9373         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9374           add serialization and comparison functions for long, int64, enum and
9375           float values
9376         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9377           use best serialization function in type hierarchy instead of only a
9378           matching one. This is required for enums to work.
9379         * gst/parse/grammar.y:
9380           use gst_caps_deserialize
9381         * testsuite/parse/Makefile.am:
9382           parse1 now works
9383         * testsuite/parse/parse1.c: (main):
9384           remove aggregator check, aggregator is broken, this test works now
9385           but fails because of bug #138012
9386         * testsuite/parse/parse2.c: (main):
9387           s/xvideosink/xvimagesink - this test looks a lot like we should
9388           disable it
9389
9390 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9391
9392         * gst/gstelement.c: (gst_element_class_init):
9393           whoops, store the signal id correctly
9394         * gst/schedulers/gstbasicscheduler.c:
9395         (gst_basic_scheduler_chain_wrapper):
9396           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9397           chain function isn't linked
9398
9399 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9400         * configure.ac:
9401         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9402         support until we decide where the flags should be used
9403         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9404         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9405         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9406         Output refused caps in the debug info
9407
9408 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9409
9410         * gst/elements/gstidentity.c: (gst_identity_chain):
9411           add duration debug
9412         * gst/gstinfo.c: (gst_debug_log_default):
9413           add timestamp
9414
9415 2004-05-13  Benjamin Otte  <otte@gnome.org>
9416
9417         * gst/gstpipeline.c: (gst_pipeline_dispose),
9418         (gst_pipeline_change_state):
9419           call gst_scheduler_reset on dispose (fixes #141416)
9420
9421 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9422
9423         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9424           compute mapsize correctly
9425         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9426           use correct datatypes when calling a varargs function
9427         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9428           push a DISCONT event as first thing
9429         * gst/gst_private.h:
9430         * gst/gstinfo.c: (_gst_debug_init):
9431           remove GST_DATAFLOW debugging category
9432         * gst/gstbin.c: (gst_bin_iterate):
9433           use GST_SCHEDULING category
9434         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9435         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9436         (gst_pad_call_get_function):
9437           add GST_DATAFLOW to easily track flow of buffers or events.
9438         * gst/gstqueue.c: (gst_queue_get_type),
9439         (gst_queue_handle_pending_events), (gst_queue_chain),
9440         (gst_queue_get), (gst_queue_handle_src_event):
9441           use own static debugging category GST_DATAFLOW for dataflow,
9442           use DEBUG category for showing which path events go, use LOG
9443           category for buffers.
9444
9445 2004-05-10  David Schleef  <ds@schleef.org>
9446
9447         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9448
9449 2004-05-10  David Schleef  <ds@schleef.org>
9450
9451         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9452         symbols, because otherwise we don't know what they are.  Thanks,
9453         the GStreamer team.
9454         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9455
9456 2004-05-10  David Schleef  <ds@schleef.org>
9457
9458         (from Steve Lhomme)
9459         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9460         are deleted.  Fix.
9461         * win32/Makefile.inspect:
9462         * win32/Makefile.launch:
9463         * win32/Makefile.register:
9464
9465 2004-05-10  David Schleef  <ds@schleef.org>
9466
9467         * gst/gstinfo.h: Add missing inline function.
9468         * gst/gsttrace.c: add include
9469         * gst/parse/grammar.y: remove unused code
9470         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9471         more portable.
9472         * tools/gst-register.c: wrap unistd.h
9473         
9474         More additions/fixes from Steve for the MSVC build.
9475         * win32/GStreamer.vcproj:
9476         * win32/Makefile:
9477         * win32/Makefile.inspect:
9478         * win32/Makefile.launch:
9479         * win32/Makefile.register:
9480         * win32/README.txt:
9481         * win32/gst-inspect.vcproj:
9482         * win32/gst-launch.vcproj:
9483         * win32/gst-register.vcproj:
9484         * win32/gstbytestream.def:
9485         * win32/gstbytestream.vcproj:
9486         * win32/gstconfig.h:
9487         * win32/gstelements.def:
9488         * win32/gstelements.vcproj:
9489         * win32/gstenumtypes.c:
9490         * win32/gstenumtypes.h:
9491         * win32/gstoptimalscheduler.def:
9492         * win32/gstoptimalscheduler.vcproj:
9493         * win32/gstreamer.def:
9494         * win32/gstspider.def:
9495         * win32/gstspider.vcproj:
9496         * win32/gstversion.h:
9497         * win32/msvc71.sln:
9498
9499 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9500
9501         * gst/gstelement.c: (gst_element_class_init),
9502         (gst_element_no_more_pads):
9503         * gst/gstelement.h:
9504           add gst_element_no_more_pads and the "no-more-pads" signal
9505
9506 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9507
9508         * gst/gstregistry.c: (gst_registry_add_plugin):
9509           refuse to add plugins when a plugin with same name is already
9510           registered. Fixes a bunch of "How to remove plugins?" issues.
9511           May lead to other problems though, let's test
9512
9513 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9514
9515         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
9516         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
9517         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
9518
9519 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9520
9521         * tests/Makefile.am: fix am16 issue
9522
9523 2004-05-09  Benjamin Otte  <otte@gnome.org>
9524
9525         * libs/gst/bytestream/Makefile.am:
9526           we should indeed add .c files to makefiles or they won't be built
9527           (d'oh)
9528
9529 2004-05-08  Benjamin Otte  <otte@gnome.org>
9530
9531         * gst/gstpad.c: (gst_pad_proxy_fixate):
9532           really reduce the set of caps
9533
9534 2004-05-08  Benjamin Otte  <otte@gnome.org>
9535
9536         * tests/Makefile.am:
9537         * tests/spidey_bench.c: (handoff), (main):
9538           add benchmark to test how long spider needs to create a pipeline
9539
9540 2004-05-08  Benjamin Otte  <otte@gnome.org>
9541
9542         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
9543           mark links as unengaged when unnegotiating instead of deactivating.
9544           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
9545
9546 2004-05-08  Benjamin Otte  <otte@gnome.org>
9547
9548         * docs/manual/helloworld.xml:
9549           s/audiosink/osssink (patch by Patrick Guimond)
9550
9551 2004-05-07  David Schleef  <ds@schleef.org>
9552
9553         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
9554         since it contains important stuff.
9555
9556 2004-05-07  David Schleef  <ds@schleef.org>
9557
9558         * testsuite/caps/caps.c: (test3), (main): A check for appending
9559         ANY caps.
9560
9561 2004-05-07  David Schleef  <ds@schleef.org>
9562
9563         * common/m4/as-compiler-flag.m4: Properly quote arguments,
9564         which may contain commas.  Fixes detection of -Wa,-mregnames
9565
9566 2004-05-06  David Schleef  <ds@schleef.org>
9567
9568         Changes to handle compilers that don't have variadic macro
9569         support.  In particular, glib headers define some inlines
9570         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
9571         builds.
9572         * gst/Makefile.am:
9573         * gst/cothreads.c:
9574         * gst/elements/gstfdsink.c:
9575         * gst/elements/gstfdsrc.c:
9576         * gst/elements/gstfilesink.c:
9577         * gst/elements/gstfilesrc.c:
9578         * gst/gst_private.h:
9579         * gst/gstatomic.c:
9580         * gst/gstcaps.c: (gst_caps_append):
9581         * gst/gstcpu.c: (gst_cpuid_i386):
9582         * gst/gstelement.c:
9583         * gst/gsterror.c:
9584         * gst/gstfilter.c:
9585         * gst/gstinfo.h:
9586         * gst/gstprobe.c:
9587         * gst/gstquery.c:
9588         * gst/gstregistry.c:
9589         * gst/gststructure.c:
9590         * gst/gsttaginterface.c:
9591         * gst/gsttrace.c: (gst_trace_new):
9592         * gst/gsttrashstack.c:
9593         * gst/gsturi.c:
9594         * gst/gstvalue.c:
9595         * gst/parse/grammar.y:
9596         * gst/parse/parse.l:
9597         * tools/gst-inspect.c: (main):
9598         * tools/gst-launch.c: (main):
9599         * tools/gst-xmlinspect.c: (PUT_STRING):
9600
9601 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9602
9603         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9604         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9605         * gst/elements/gstfilesrc.h:
9606           send NEW_MEDIA events correctly
9607         * gst/elements/gsttypefindelement.c: (start_typefinding),
9608         (gst_type_find_element_handle_event):
9609           restart typefinding when we get a NEW_MEDIA event
9610         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
9611         (gst_bin_dispose):
9612           don't die when someone removes elements in callbacks
9613         * gst/gstelement.c: (gst_element_change_state):
9614           improve debugging
9615         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
9616           we need a NEW_MEDIA event to engage a link
9617         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9618           don't g_print debugging stuff
9619         * testsuite/caps/simplify.c: (check_caps):
9620
9621 2004-05-04  Benjamin Otte  <otte@gnome.org>
9622
9623         * gst/parse/grammar.y:
9624           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
9625
9626 2004-05-04  Benjamin Otte  <otte@gnome.org>
9627
9628         * testsuite/caps/renegotiate.c: (main):
9629           improve output in error case
9630
9631 2004-05-04  Benjamin Otte  <otte@gnome.org>
9632
9633         * gst/parse/grammar.y:
9634           fix assert to not trigger when there's no error argument
9635         * gst/parse/parse.l:
9636           fix definition of caps to allow more than two structures
9637         * testsuite/caps/Makefile.am:
9638         * testsuite/caps/renegotiate.c: (main):
9639           it's sinesrc and works in that case
9640
9641 2004-05-04  Wim Taymans  <wim@fluendo.com>
9642
9643         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9644         (group_dec_link), (gst_opt_scheduler_pad_unlink):
9645         when removing an element from a group, we always need to
9646         decrement the link count that this group had with other 
9647         groups through the element.
9648         added an extra assert to catch inconsistencies when decrementing
9649         the link count.
9650
9651 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9652
9653         * configure.ac:
9654         * docs/gst/Makefile.am:
9655         * docs/gst/gstreamer-sections.txt:
9656         * docs/gst/tmpl/gstcompat.sgml:
9657         * examples/appreader/Makefile.am:
9658         * examples/cutter/Makefile.am:
9659         * examples/events/Makefile.am:
9660         * examples/helloworld/Makefile.am:
9661         * examples/helloworld2/Makefile.am:
9662         * examples/launch/Makefile.am:
9663         * examples/manual/Makefile.am:
9664         * examples/mixer/Makefile.am:
9665         * examples/pingpong/Makefile.am:
9666         * examples/plugins/Makefile.am:
9667         * examples/queue/Makefile.am:
9668         * examples/queue2/Makefile.am:
9669         * examples/queue3/Makefile.am:
9670         * examples/queue4/Makefile.am:
9671         * examples/retag/Makefile.am:
9672         * examples/thread/Makefile.am:
9673         * examples/typefind/Makefile.am:
9674         * examples/xml/Makefile.am:
9675         * gst/Makefile.am:
9676         * gst/autoplug/Makefile.am:
9677         * gst/elements/Makefile.am:
9678         * gst/gstcompat.h:
9679         * gst/indexers/Makefile.am:
9680         * gst/parse/Makefile.am:
9681         * gst/registries/Makefile.am:
9682         * gst/schedulers/Makefile.am:
9683         * libs/gst/bytestream/Makefile.am:
9684         * libs/gst/control/Makefile.am:
9685         * libs/gst/getbits/Makefile.am:
9686         * po/af.po:
9687         * po/az.po:
9688         * po/en_GB.po:
9689         * po/fr.po:
9690         * po/nl.po:
9691         * po/sr.po:
9692         * po/sv.po:
9693         * po/tr.po:
9694         * po/uk.po:
9695         * tests/Makefile.am:
9696         * tests/bufspeed/Makefile.am:
9697         * tests/instantiate/Makefile.am:
9698         * tests/memchunk/Makefile.am:
9699         * tests/muxing/Makefile.am:
9700         * tests/negotiation/Makefile.am:
9701         * tests/probes/Makefile.am:
9702         * tests/sched/Makefile.am:
9703         * tests/seeking/Makefile.am:
9704         * tests/threadstate/Makefile.am:
9705         * testsuite/caps/Makefile.am:
9706         * testsuite/cleanup/Makefile.am:
9707         * testsuite/dlopen/Makefile.am:
9708         * testsuite/dynparams/Makefile.am:
9709         * testsuite/plugin/Makefile.am:
9710         * testsuite/states/Makefile.am:
9711         * tools/Makefile.am:
9712           reorganize compile/link flags to be consistent
9713           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
9714
9715 2004-05-04  David Schleef  <ds@schleef.org>
9716
9717         The "once more, with feeling" check-in.
9718         * testsuite/caps/Makefile.am: dist caps_strings
9719         * testsuite/caps/renegotiate.c: (main): This test triggers a
9720           segfault in the core.  Marking as failing.
9721
9722 2004-05-03  David Schleef  <ds@schleef.org>
9723
9724         * testsuite/caps/deserialize.c: (main): Fix problems noticed
9725           by the build bots.
9726         * testsuite/caps/renegotiate.c: (main): Same.
9727
9728 2004-05-03  David Schleef  <ds@schleef.org>
9729
9730         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
9731
9732 2004-05-03  David Schleef  <ds@schleef.org>
9733
9734         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
9735           variable to find our source file.
9736
9737 2004-05-03  David Schleef  <ds@schleef.org>
9738
9739         * configure.ac:  Link plugins with libgstreamer and dependent
9740           libraries
9741         * testsuite/caps/Makefile.am:
9742         * testsuite/caps/caps_strings:
9743         * testsuite/caps/deserialize.c: (main): Add a little test to slog
9744           through a file of caps strings and test each one
9745
9746 2004-05-04  Benjamin Otte  <otte@gnome.org>
9747
9748         * libs/gst/bytestream/Makefile.am:
9749         * libs/gst/bytestream/adapter.c: 
9750         * libs/gst/bytestream/adapter.h:
9751           add GstAdapter, similar to bytestream, but doesn't require ugly event
9752           handling or uglier loopbased elements
9753
9754 2004-05-03  David Schleef  <ds@schleef.org>
9755
9756         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
9757         * testsuite/caps/erathostenes.c:
9758         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
9759
9760 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9761
9762         * docs/pwg/pwg.xml:
9763           remove hardcoded stylesheet path (duh)
9764         * docs/random/release:
9765         * docs/gst/gstreamer-sections.txt:
9766         * gst/Makefile.am:
9767         * gst/gst.h:
9768         * gst/gst_private.h:
9769         * gst/gstcaps.c:
9770         * gst/gstevent.c:
9771         * gst/gstformat.c:
9772         * gst/gstinfo.c:
9773         * gst/gstinfo.h:
9774         * gst/gstinterface.c:
9775         * gst/gstmemchunk.c:
9776         * gst/gstprobe.c:
9777         * gst/gstquery.c:
9778         * gst/gstregistry.c:
9779         * gst/gstregistrypool.c:
9780         * gst/gststructure.c:
9781         * gst/gsttaginterface.c:
9782         * gst/gstthread.c:
9783         * gst/gsttrace.c:
9784         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
9785         * gst/gsturi.c:
9786         * gst/gstvalue.c:
9787           deprecate gst_info; remove gstlog.h
9788    
9789
9790 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9791
9792         * Makefile.am:
9793         * po/en_GB.po:
9794         * po/sv.po:
9795         * po/uk.po:
9796           updated translations
9797
9798 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9799
9800         * gst/gstbin.c: (gst_bin_dispose):
9801           better debugging
9802
9803 2004-05-03  Johan Dahlin  <johan@gnome.org>
9804
9805         * gst/schedulers/gstoptimalscheduler.c
9806         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
9807         really is a GstElement. Avoids critical when running gst-launch -v
9808         and a oggdemux/decoding pipeline.
9809
9810 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9811
9812         * docs/gst/tmpl/gstpipeline.sgml :
9813         * docs/manual/elements-api.xml :
9814                 doc fix by Patrick Guimond (Protector) from devel ML
9815                 reviewed by ronald
9816
9817 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9818
9819         * docs/gst/Makefile.am :
9820         * docs/libs/Makefile.am :
9821                 apply a patch from Arwed v. Merkatz so that gtk-doc
9822                 generated docs install (same for .devhelp file)
9823                 (fixes part 1 of #138836)
9824
9825 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9826
9827         * docs/faq/dependencies.xml: typo
9828         * docs/faq/getting.xml :
9829             - fix download URL for new gstreamer site
9830             - hide sf.net download page as latest version aren't there
9831             - fix apt URLs
9832             - fill "get via CVS" paragraph (link to dev page on the site)
9833         * docs/faq/general.xml:
9834             hide status tables as they no more exists
9835             change case on plugins license file to reflect reality
9836         * docs/faq/troubleshooting.xml:
9837             remove the wiki question/answer as there is no more wiki
9838
9839 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
9840
9841         * gst/gsterror.h:
9842           include the headers needed for declarations used in this header
9843
9844 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9845
9846         * docs/random/uraeus/gstreamer_and_midi.txt :
9847           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
9848           (fixes #132288)
9849
9850 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
9851
9852         reviewed by Benjamin Otte  <otte@gnome.org>
9853
9854         * gst/schedulers/gthread-cothreads.h:
9855           free allocated data for main cothread, too when destroying context
9856           (fixes #141417)
9857
9858 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9859
9860         * docs/manual/goals.xml : remove duplicated paragraph at end 
9861         of doc page (fixes #141448)
9862
9863 2004-04-29  David Schleef  <ds@schleef.org>
9864
9865         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
9866         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
9867
9868 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9869
9870         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9871           fix property
9872         * gst/gstcaps.c:
9873           fix doc string
9874         * po/POTFILES.in:
9875           rename typefind source file
9876
9877 2004-04-28  David Schleef  <ds@schleef.org>
9878
9879         Several new files from Steve Lhomme's MSVC patch (bug #141317):
9880         * win32/GStreamer.vcproj:
9881         * win32/Makefile:
9882         * win32/config.h:
9883         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9884         (_trewinddir), (_ttelldir), (_tseekdir):
9885         * win32/dirent.h:
9886         * win32/gst-inspect.vcproj:
9887         * win32/gst-launch.vcproj:
9888         * win32/gst-register.vcproj:
9889         * win32/gstbytestream.vcproj:
9890         * win32/gstelements.vcproj:
9891         * win32/gstoptimalscheduler.vcproj:
9892         * win32/gstspider.vcproj:
9893         * win32/gtchar.h:
9894         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
9895         * win32/mman.h:
9896         * win32/mman.inl:
9897         * win32/msvc71.sln:
9898
9899 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9900
9901         * gst/gst.c: (init_post):
9902         * gst/gstinfo.c:
9903           remove useless _gst_progname stuff
9904         * tools/gst-inspect.c: (print_field), (print_caps):
9905           improve caps output
9906
9907 2004-04-28  David Schleef  <ds@schleef.org>
9908
9909         Disable parsing of a lot of files that aren't part of the
9910         exported API.  Move corresponding template files to old/,
9911         waiting for removal when they don't contain anything
9912         interesting.
9913         * docs/gst/Makefile.am:
9914         * docs/gst/gstreamer-sections.txt:
9915         * docs/gst/tmpl/cothreads.sgml:
9916         * docs/gst/tmpl/cothreads_compat.sgml:
9917         * docs/gst/tmpl/gettext.sgml:
9918         * docs/gst/tmpl/gobject2gtk.sgml:
9919         * docs/gst/tmpl/grammar.tab.sgml:
9920         * docs/gst/tmpl/gst-i18n-app.sgml:
9921         * docs/gst/tmpl/gst-i18n-lib.sgml:
9922         * docs/gst/tmpl/gst_private.sgml:
9923         * docs/gst/tmpl/gstaggregator.sgml:
9924         * docs/gst/tmpl/gstarch.sgml:
9925         * docs/gst/tmpl/gstatomic_impl.sgml:
9926         * docs/gst/tmpl/gstbufferstore.sgml:
9927         * docs/gst/tmpl/gstdata_private.sgml:
9928         * docs/gst/tmpl/gstdisksink.sgml:
9929         * docs/gst/tmpl/gstdisksrc.sgml:
9930         * docs/gst/tmpl/gstelementfactory.sgml:
9931         * docs/gst/tmpl/gstextratypes.sgml:
9932         * docs/gst/tmpl/gstfakesink.sgml:
9933         * docs/gst/tmpl/gstfakesrc.sgml:
9934         * docs/gst/tmpl/gstfdsink.sgml:
9935         * docs/gst/tmpl/gstfdsrc.sgml:
9936         * docs/gst/tmpl/gstfilesink.sgml:
9937         * docs/gst/tmpl/gstfilesrc.sgml:
9938         * docs/gst/tmpl/gsthttpsrc.sgml:
9939         * docs/gst/tmpl/gstidentity.sgml:
9940         * docs/gst/tmpl/gstindexfactory.sgml:
9941         * docs/gst/tmpl/gstmarshal.sgml:
9942         * docs/gst/tmpl/gstmd5sink.sgml:
9943         * docs/gst/tmpl/gstmultidisksrc.sgml:
9944         * docs/gst/tmpl/gstmultifilesrc.sgml:
9945         * docs/gst/tmpl/gstpadtemplate.sgml:
9946         * docs/gst/tmpl/gstpipefilter.sgml:
9947         * docs/gst/tmpl/gstschedulerfactory.sgml:
9948         * docs/gst/tmpl/gstsearchfuncs.sgml:
9949         * docs/gst/tmpl/gstshaper.sgml:
9950         * docs/gst/tmpl/gstspider.sgml:
9951         * docs/gst/tmpl/gstspideridentity.sgml:
9952         * docs/gst/tmpl/gststatistics.sgml:
9953         * docs/gst/tmpl/gsttee.sgml:
9954         * docs/gst/tmpl/gsttimecache.sgml:
9955         * docs/gst/tmpl/gsttypefind.sgml:
9956         * docs/gst/tmpl/gsttypefindfactory.sgml:
9957         * docs/gst/tmpl/gstxmlregistry.sgml:
9958         * docs/gst/tmpl/gthread-cothreads.sgml:
9959         * docs/gst/tmpl/old/cothreads.sgml:
9960         * docs/gst/tmpl/old/cothreads_compat.sgml:
9961         * docs/gst/tmpl/old/gettext.sgml:
9962         * docs/gst/tmpl/old/gobject2gtk.sgml:
9963         * docs/gst/tmpl/old/grammar.tab.sgml:
9964         * docs/gst/tmpl/old/gst-i18n-app.sgml:
9965         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9966         * docs/gst/tmpl/old/gst_private.sgml:
9967         * docs/gst/tmpl/old/gstaggregator.sgml:
9968         * docs/gst/tmpl/old/gstarch.sgml:
9969         * docs/gst/tmpl/old/gstatomic_impl.sgml:
9970         * docs/gst/tmpl/old/gstbufferstore.sgml:
9971         * docs/gst/tmpl/old/gstdata_private.sgml:
9972         * docs/gst/tmpl/old/gstdisksink.sgml:
9973         * docs/gst/tmpl/old/gstdisksrc.sgml:
9974         * docs/gst/tmpl/old/gstelementfactory.sgml:
9975         * docs/gst/tmpl/old/gstextratypes.sgml:
9976         * docs/gst/tmpl/old/gstfakesink.sgml:
9977         * docs/gst/tmpl/old/gstfakesrc.sgml:
9978         * docs/gst/tmpl/old/gstfdsink.sgml:
9979         * docs/gst/tmpl/old/gstfdsrc.sgml:
9980         * docs/gst/tmpl/old/gstfilesink.sgml:
9981         * docs/gst/tmpl/old/gstfilesrc.sgml:
9982         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9983         * docs/gst/tmpl/old/gstidentity.sgml:
9984         * docs/gst/tmpl/old/gstindexfactory.sgml:
9985         * docs/gst/tmpl/old/gstmarshal.sgml:
9986         * docs/gst/tmpl/old/gstmd5sink.sgml:
9987         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9988         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9989         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9990         * docs/gst/tmpl/old/gstpipefilter.sgml:
9991         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9992         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9993         * docs/gst/tmpl/old/gstshaper.sgml:
9994         * docs/gst/tmpl/old/gstspider.sgml:
9995         * docs/gst/tmpl/old/gstspideridentity.sgml:
9996         * docs/gst/tmpl/old/gststatistics.sgml:
9997         * docs/gst/tmpl/old/gsttee.sgml:
9998         * docs/gst/tmpl/old/gsttimecache.sgml:
9999         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10000         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10001         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10002         * docs/gst/tmpl/old/types.sgml:
10003         * docs/gst/tmpl/types.sgml:
10004
10005         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
10006         gtkdoc-scan doesn't like files with the same name in different
10007         directories.
10008         * gst/elements/Makefile.am:
10009         * gst/elements/gstelements.c:
10010         * gst/elements/gsttypefind.c: 
10011         * gst/elements/gsttypefind.h:
10012         * gst/elements/gsttypefindelement.c:
10013         * gst/elements/gsttypefindelement.h:
10014
10015 2004-04-28  David Schleef  <ds@schleef.org>
10016
10017         A bunch of portability fixes, derived from Steve Lhomme's MSVC
10018         patch (bug #141317):
10019         * gst/gst-i18n-lib.h: Allow disabling gettext.
10020         * gst/gstatomic_impl.h: disable warning when it's dumb.
10021         * gst/gstclock.c: fix include
10022         * gst/gstcompat.h: fix variadic macro
10023         * gst/gstinfo.c: fix include
10024         * gst/gstmacros.h: add defines for inlines on MSVC
10025         * gst/gstplugin.c: fix includes
10026         * gst/gstregistry.c: fix includes
10027         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
10028         * gst/gstsystemclock.c: fix include
10029         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
10030         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
10031         * gst/registries/gstxmlregistry.c:
10032         (gst_xml_registry_parse_element_factory): fix use of non-portable
10033         functions
10034         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
10035         * libs/gst/control/dparammanager.h: same
10036
10037 2004-04-28  David Schleef  <ds@schleef.org>
10038
10039         Move a bunch of unused files to old/ with names that are
10040         not case-insensitive-unique.  These files still contain some
10041         useful information that needs to be merged into gstbin.sgml,
10042         etc., so they shouldn't be deleted yet.
10043         * docs/gst/tmpl/GstBin.sgml:
10044         * docs/gst/tmpl/GstBuffer.sgml:
10045         * docs/gst/tmpl/GstCaps.sgml:
10046         * docs/gst/tmpl/GstClock.sgml:
10047         * docs/gst/tmpl/GstCompat.sgml:
10048         * docs/gst/tmpl/GstData.sgml:
10049         * docs/gst/tmpl/GstElement.sgml:
10050         * docs/gst/tmpl/GstEvent.sgml:
10051         * docs/gst/tmpl/GstIndex.sgml:
10052         * docs/gst/tmpl/GstStructure.sgml:
10053         * docs/gst/tmpl/GstTag.sgml:
10054         * docs/gst/tmpl/old/GstBin.sgml:
10055         * docs/gst/tmpl/old/GstBuffer.sgml:
10056         * docs/gst/tmpl/old/GstCaps.sgml:
10057         * docs/gst/tmpl/old/GstClock.sgml:
10058         * docs/gst/tmpl/old/GstCompat.sgml:
10059         * docs/gst/tmpl/old/GstData.sgml:
10060         * docs/gst/tmpl/old/GstElement.sgml:
10061         * docs/gst/tmpl/old/GstEvent.sgml:
10062         * docs/gst/tmpl/old/GstIndex.sgml:
10063         * docs/gst/tmpl/old/GstStructure.sgml:
10064         * docs/gst/tmpl/old/GstTag.sgml:
10065
10066 2004-04-28  David Schleef  <ds@schleef.org>
10067
10068         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
10069         (gst_caps_append), (gst_caps_append_structure),
10070         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
10071         (gst_caps_set_simple), (gst_caps_set_simple_valist),
10072         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
10073         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
10074         (gst_caps_intersect), (gst_caps_normalize),
10075         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
10076         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
10077         * gst/gstcaps.h: use GST_IS_CAPS().
10078
10079 2004-04-26  David Schleef  <ds@schleef.org>
10080
10081         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
10082         assembly.  gcc doesn't handle it correctly. (bug #141083)
10083         * gst/gsttrashstack.h: same
10084
10085 2004-04-25  Benjamin Otte  <otte@gnome.org>
10086
10087         * gst/gstelement.c: (gst_element_change_state):
10088           fix assertion to do an int comparison
10089
10090 2004-04-25  Benjamin Otte  <otte@gnome.org>
10091
10092         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10093           better debugging output on error
10094
10095 2004-04-25  Benjamin Otte  <otte@gnome.org>
10096
10097         * gst/gstcaps.c: (gst_caps_subtract):
10098           fix memleak
10099
10100 2004-04-23  Benjamin Otte  <otte@gnome.org>
10101
10102         * gst/gstvalue.c: (gst_value_compare_buffer),
10103         (_gst_value_initialize):
10104           add comparison function for buffers
10105
10106 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10107
10108         * docs/pwg/pwg.xml:
10109           Just found out that this so-called "ima-wav" format is really
10110           just "dvi adpcm" (according to the MS WAV documentation). So
10111           renaming it. We didn't use it yet anyway.
10112
10113 2004-04-23  Benjamin Otte  <otte@gnome.org>
10114
10115         * gst/gstcaps.c: (gst_caps_is_always_compatible):
10116           call gst_caps_is_subset
10117
10118 2004-04-23  Benjamin Otte  <otte@gnome.org>
10119
10120         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10121         (gst_caps_is_subset):
10122           add documentation
10123
10124 2004-04-23  Benjamin Otte  <otte@gnome.org>
10125           
10126         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10127         (gst_caps_structure_subtract), (gst_caps_subtract),
10128         (gst_caps_structure_figure_out_union),
10129         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10130           fix simplifying and subtracting not working correctly with optional
10131           properties
10132           solve assorted problems that make it now simplify ebven more
10133         * docs/gst/tmpl/gstcaps.sgml:
10134         * gst/gstcaps.h:
10135           make gst_caps_do_simplify return a bool to indicate if it simplified
10136         * testsuite/caps/simplify.c: (main):
10137           add more checks. The tests is quite a bit useless right now because
10138           the core is heavily simplifying itself.
10139         * testsuite/caps/caps.h:
10140           fix caps to contain all optional properties
10141
10142 2004-04-22  Benjamin Otte  <otte@gnome.org>
10143
10144         * docs/gst/tmpl/gstcaps.sgml:
10145         * docs/gst/tmpl/gstfilesrc.sgml:
10146         * docs/gst/tmpl/gststructure.sgml:
10147         * docs/gst/tmpl/gstvalue.sgml:
10148           update for recent API changes
10149         * gst/gstcaps.c: (gst_caps_do_simplify):
10150           fix to stop trying with a freed structure
10151         * gst/gstpad.c: (gst_pad_link_fixate):
10152           simplify caps
10153         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10154           remove C++ comment
10155         * gst/gstpad.h:
10156           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10157         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10158         (gst_structure_to_string):
10159           keep the correct type when using lists of ranges
10160         * gst/gstvalue.c: (gst_value_list_prepend_value),
10161         (gst_value_list_append_value):
10162           copy the value before adding to the list (d'oh)
10163         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10164         (gst_value_subtract_int_range_int_range):
10165           handle overflows correctly
10166         * gst/gstvalue.c: (gst_value_subtract_from_list):
10167           fix memleak
10168         * testsuite/caps/caps.h:
10169           add a caps that caused segfaults
10170
10171 2004-04-22  Benjamin Otte  <otte@gnome.org>
10172
10173         * testsuite/refcounting/pad.c: (main):
10174           fix test
10175
10176 2004-04-22  Benjamin Otte  <otte@gnome.org>
10177
10178         * gst/gstcaps.c: (gst_caps_subtract):
10179           allow subtracting ANY and EMPTY from ANY caps
10180
10181 2004-04-22  Benjamin Otte  <otte@gnome.org>
10182
10183         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10184         (gst_caps_union):
10185           only simplify in functions that create new caps. Simplifying in
10186           gst_caps_append breaks tests.
10187
10188 2004-04-22  Benjamin Otte  <otte@gnome.org>
10189
10190         * gst/gstcaps.c: (gst_caps_structure_simplify):
10191           unset GValue after use
10192         * gst/gstcaps.c: (gst_caps_append), 
10193         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10194           use gst_caps_simplify (reduces registry size by 30%)
10195         * gst/gstpad.c: (gst_pad_template_new):
10196           don't allow NULL caps
10197
10198 2004-04-22  Benjamin Otte  <otte@gnome.org>
10199
10200         * docs/gst/gstreamer-sections.txt:
10201           add gst_caps_do_simplify
10202         * gst/gstcaps.c:
10203           add documentation for gst_caps_do_simplify
10204         * gst/gstvalue.h:
10205           fix typo in gst_value_register_subtract_func declaration for gst-doc
10206
10207 2004-04-22  Benjamin Otte  <otte@gnome.org>
10208
10209         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10210           fix bug when converting from empty string.
10211         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10212         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10213           use gst_caps_new_empty to allocate a new caps. Only that function
10214           allocates memory for caps now.
10215         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10216         (gst_caps_remove_structure):
10217           add ability to remove one structure (but not to header yet)
10218         * gst/gstcaps.c: (gst_caps_compare_structures),
10219         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10220         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10221         * gst/gstcaps.h:
10222           add gst_caps_do_simplify that tries to simplify a caps in place.
10223           Deprecate old gst_caps_simplify function.
10224         * testsuite/caps/caps.h:
10225           add caps.h containing a common set of caps to test against.
10226         * testsuite/caps/sets.c: (check_caps), (main):
10227           use it.
10228         * testsuite/caps/.cvsignore:
10229         * testsuite/caps/Makefile.am:
10230         * testsuite/caps/simplify.c: (check_caps), (main):
10231           add test to check correctness and efficency of caps simplification.
10232
10233 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10234
10235         reviewed by Benjamin Otte  <otte@gnome.org>
10236
10237         * gst/gstparse.c: (_gst_parse_escape):
10238           Free the GString used in _gst_parse_escape()
10239
10240 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10241
10242         * gst/gstpad.c: (gst_pad_link_negotiate):
10243           refuse to link if the link is not possible
10244         * configure.ac:
10245         * testsuite/Makefile.am:
10246         * testsuite/negotiation/.cvsignore:
10247         * testsuite/negotiation/Makefile.am:
10248         * testsuite/negotiation/pad_link.c: (main):
10249           add test that checks the above behaviour
10250
10251 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10252
10253         * docs/gst/gstreamer-sections.txt:
10254           add newly added API
10255
10256 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10257
10258         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10259         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10260         (gst_filesrc_open_file), (gst_filesrc_close_file),
10261         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10262         * gst/elements/gstfilesrc.h:
10263           add support for non-regular files (#140734)
10264
10265 2004-04-21  Benjamin Otte  <otte@gnome.org>
10266
10267         * gst/gstpad.c: (gst_pad_link_fixate):
10268           add sophisticated error checking code to see if fixation functions
10269           did their fixation right
10270
10271 2004-04-21  Benjamin Otte  <otte@gnome.org>
10272
10273         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10274           check for ANY caps before appending/unioning
10275         * gst/gstcaps.c: (gst_caps_is_subset),
10276         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10277         (gst_caps_structure_subtract), (gst_caps_subtract):
10278         * gst/gstcaps.h:
10279           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10280           the API. deprecate gst_caps_is_equal_fixed
10281         * gst/gstpad.c: (gst_pad_try_set_caps):
10282         * gst/gstqueue.c: (gst_queue_link):
10283           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10284         * gst/gststructure.c: (gst_structure_get_name_id):
10285         * gst/gststructure.h:
10286           add function gst_structure_get_name_id
10287         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10288         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10289         (gst_value_subtract_int_range_int_range),
10290         (gst_value_subtract_double_double_range),
10291         (gst_value_subtract_double_range_double),
10292         (gst_value_subtract_double_range_double_range),
10293         (gst_value_subtract_from_list), (gst_value_subtract_list),
10294         (gst_value_can_intersect), (gst_value_subtract),
10295         (gst_value_can_subtract), (gst_value_register_subtract_func),
10296         (_gst_value_initialize):
10297         * gst/gstvalue.h:
10298           add support for subtracting values from each other. Note that
10299           subtracting means subtracting as in set theory. Required for caps
10300           stuff above.
10301         * testsuite/caps/.cvsignore:
10302         * testsuite/caps/Makefile.am:
10303         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10304         * testsuite/caps/sets.c: (check_caps), (main):
10305         * testsuite/caps/subtract.c: (check_caps), (main):
10306           add tests for subtraction and equality code.
10307
10308 2004-04-20  David Schleef  <ds@schleef.org>
10309
10310         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10311         * gst/indexers/Makefile.am:
10312         * gst/schedulers/Makefile.am:
10313         * libs/gst/bytestream/Makefile.am:
10314         * libs/gst/control/Makefile.am:
10315         * libs/gst/getbits/Makefile.am:
10316
10317 2004-04-20  David Schleef  <ds@schleef.org>
10318
10319         * common/as-libtool.mak: Fine-tune DLL building.
10320         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10321         (like gst-plugins)
10322         * examples/plugins/Makefile.am: remove plugindir
10323         * gst/autoplug/Makefile.am: DLL building fixes
10324         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10325         Windows.
10326         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10327         * gst/indexers/Makefile.am: DLL building fixes
10328         * gst/schedulers/Makefile.am: DLL building fixes.
10329         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10330         * libs/gst/control/Makefile.am: same
10331         * libs/gst/getbits/Makefile.am: same
10332         * testsuite/Makefile.am: New dlopen directory
10333         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10334         when dlopened.
10335         * testsuite/dlopen/dlopen_gst.c: (main): same
10336         * testsuite/dlopen/loadgst.c: (do_test): same
10337
10338 2004-04-20  David Schleef  <ds@schleef.org>
10339
10340         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10341         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10342
10343 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10344
10345         * gst/gstelement.c: (gst_element_wait),
10346         (gst_element_set_time_delay), (gst_element_change_state):
10347           Use GST_TIME_*
10348
10349 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10350
10351         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10352         (gst_spider_identity_plug):
10353           improve debugging messages
10354         * gst/gstbin.c: (gst_bin_remove_func):
10355           make sure the state_change function is only called with simple state
10356           transitions
10357
10358 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10359
10360         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10361         (gst_fakesink_set_property), (gst_fakesink_chain):
10362         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10363         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10364         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10365         * gst/elements/gstidentity.c: (gst_identity_chain),
10366         (gst_identity_set_property):
10367         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10368         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10369           add warnings to _set_property for unknown arguments
10370           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10371
10372 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10373
10374         * Makefile.am:
10375         * docs/manuals.mak:
10376           add .po file download snippet
10377           fix a bug in the doc makefile
10378
10379 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10380
10381         * Makefile.am:
10382         * po/LINGUAS:
10383         * po/en_GB.po:
10384           Added en_GB translation (Gareth Owen)
10385
10386 2004-04-20  Johan Dahlin  <johan@gnome.org>
10387
10388         * gst/gstpad.c (_invent_event): Clean up
10389
10390 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10391
10392         * testsuite/caps/filtercaps.c: (main):
10393           fix test to test things correctly (caps are complicated)
10394
10395 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10396
10397         * testsuite/caps/Makefile.am:
10398         * testsuite/caps/filtercaps.c: (main):
10399           add test (that doesn't work right now, but should)
10400
10401 2004-04-19  David Schleef  <ds@schleef.org>
10402
10403         * configure.ac: Add test for allowing unaligned access.  Add define
10404         to put in gstconfig.h.
10405         * docs/gst/gstreamer-sections.txt: New symbols
10406         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10407         * docs/gst/tmpl/gstfilesrc.sgml:
10408         * docs/gst/tmpl/gstparse.sgml:
10409         * docs/gst/tmpl/gsttypes.sgml:
10410         * docs/gst/tmpl/gstutils.sgml:
10411         * docs/gst/tmpl/gstvalue.sgml:
10412         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10413         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10414         on most !i386/!powerpc architectures.  From Daniel Gazard
10415         <daniel.gazard@free.fr>.  (bug #140156)
10416         * po/af.po: Check in changes made by gettext.
10417         * po/az.po:
10418         * po/fr.po:
10419         * po/nl.po:
10420         * po/sr.po:
10421         * po/sv.po:
10422
10423 2004-04-20  Benjamin Otte  <otte@gnome.org>
10424
10425         * gst/schedulers/entryscheduler.c: 
10426         (gst_entry_scheduler_yield):
10427           refuse to yield when decoupled elements insist on doing that.
10428           At least it's better than crashing
10429
10430 2004-04-19  David Schleef  <ds@schleef.org>
10431
10432         * docs/libs/Makefile.am: Change sinclude to include
10433         * docs/gst/Makefile.am: same
10434         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10435
10436 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10437
10438         * po/LINGUAS:
10439         * po/uk.po:
10440           Added Ukrainian translation (Maxim V. Dziumanenko)
10441
10442 2004-04-19  Johan Dahlin  <johan@gnome.org>
10443
10444         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10445         checking here, do it before calling the function.
10446         Clean up, use for loops instead of while loops while iterating
10447         over lists.
10448
10449         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10450         in debug message.
10451         (gst_spider_create_and_plug): Improve debug message.
10452         General: Replace while loops which iterates over GLists with for
10453         loops. Which are much cleaner, improves readability, especially
10454         for gst_spider_identity_plug
10455
10456         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10457         fixes bug 140477
10458
10459 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10460
10461         * po/LINGUAS:
10462         * po/tr.po:
10463           Added Turkish translation (Baris Cicek)
10464
10465 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10466
10467         * docs/faq/troubleshooting.xml:
10468           Mention gst-register in the FAQ (fixes 139045).
10469
10470 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10471
10472         * docs/gst/gstreamer-sections.txt:
10473
10474 2004-04-17  Benjamin Otte  <otte@gnome.org>
10475
10476         * gst/gstelement.c: (gst_element_dispose):
10477           simplify
10478         * gst/gstpad.c: (gst_pad_call_chain_function):
10479           don't create loads of events due to bad macro usage
10480
10481 2004-04-16  David Schleef  <ds@schleef.org>
10482
10483         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10484         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10485         * gst/gstvalue.c: (gst_value_serialize_buffer),
10486         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10487         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10488         to indicate types that are fixed wrt caps or not.  Switching to
10489         this function fixes (bug #140298).
10490         * gst/gstvalue.h:
10491
10492 2004-04-16  David Schleef  <ds@schleef.org>
10493
10494         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10495         for GST_UNALIGNED_ACESS, since we essentially know which archs
10496         are ok.
10497
10498 2004-04-17  Benjamin Otte  <otte@gnome.org>
10499
10500         * docs/gst/Makefile.am:
10501           ignore gst/parse directory when building docs (fixes #140205)
10502
10503 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10504
10505         * testsuite/refcounting/mem.c: (vmsize):
10506           do error checking
10507
10508 2004-04-16  Johan Dahlin  <johan@gnome.org>
10509
10510         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
10511         and gst_pad_call_get_function.
10512
10513 2004-04-15  David Schleef  <ds@schleef.org>
10514
10515         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
10516         checks if we can access unaligned memory.
10517         * configure.ac: Use it.
10518
10519 2004-04-16  Benjamin Otte  <otte@gnome.org>
10520
10521         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
10522         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10523         * gst/elements/gstfilesrc.h:
10524           s/seek_happened/need_discont/ and require discont before sending any
10525           data
10526
10527 2004-04-15  David Schleef  <ds@schleef.org>
10528
10529         * gst/gstvalue.c: (gst_value_serialize_buffer),
10530         (gst_value_deserialize_buffer), (_gst_value_initialize):
10531         Register these types as fundamental types. (bug #140015)
10532
10533 2004-04-16  Benjamin Otte  <otte@gnome.org>
10534
10535         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
10536         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
10537         (gst_pad_pull):
10538           implement enforcing discont events before buffers are passed. This
10539           allows state changes of only some elements and later correctly going
10540           on where they left off (or in short: you can now set audio sinks to
10541           NULL to release the device when the pipeline is paused)
10542         * gst/gstpad.c: (gst_pad_call_chain_function),
10543         (gst_pad_call_get_function):
10544         * gst/gstpad.h:
10545           add gst_pad_call_chain_function and gst_pad_call_get_function for
10546           scheduler interaction. They are required because of the changes
10547           above.
10548         * gst/schedulers/entryscheduler.c: (get_buffer),
10549         (gst_entry_scheduler_chain_wrapper),
10550         (gst_entry_scheduler_get_wrapper),
10551         (gst_entry_scheduler_state_transition),
10552         (gst_entry_scheduler_pad_link):
10553         * gst/schedulers/gstbasicscheduler.c:
10554         (gst_basic_scheduler_chain_wrapper),
10555         (gst_basic_scheduler_src_wrapper),
10556         (gst_basic_scheduler_chainhandler_proxy),
10557         (gst_basic_scheduler_gethandler_proxy),
10558         (gst_basic_scheduler_cothreaded_chain),
10559         (gst_basic_scheduler_chain_elements):
10560         * gst/schedulers/gstoptimalscheduler.c:
10561         (get_group_schedule_function), (pad_clear_queued),
10562         (gst_opt_scheduler_pad_link):
10563           use the new functions instead of calling get/chain-functions
10564           directly.
10565
10566 2004-04-15  David Schleef  <ds@schleef.org>
10567
10568         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
10569         * docs/gst/tmpl/gstinfo.sgml: same
10570         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
10571         gtk-doc put here.
10572         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
10573         * examples/queue/queue.c: (main):  We iterate pipelines, not
10574         bins.  (bug #139996)
10575
10576 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10577
10578         * docs/pwg/advanced-types.xml:
10579           Add MS RLE support. Also document Qt RLE although I have no sample
10580           files for that yet. And document an extra property for ADPCM.
10581
10582 2004-04-15  David Schleef  <ds@schleef.org>
10583
10584         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
10585         (_gst_plugin_fault_handler_setup):  Disable more stuff on
10586         Windows.
10587
10588 2004-04-15  David Schleef  <ds@schleef.org>
10589
10590         * gst/gstinfo.c: (_gst_debug_init): Change some internal
10591         symbol names to not conflict with new gstinfo.h symbols.
10592         * gst/gstinfo.h: Add inline functions for all those crazy
10593         compilers that don't know how to handle variadic macros (MSVC).
10594
10595 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10596
10597         * configure.ac: bump nano to 1
10598
10599 === release 0.8.1 ===
10600
10601 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10602
10603         * NEWS:
10604         * RELEASE:
10605         * configure.ac:
10606           releasing 0.8.1, "Snow Brigade"
10607
10608 2004-04-14  David Schleef  <ds@schleef.org>
10609
10610         * testsuite/Makefile.am: define tests_ignore
10611         * testsuite/Rules: Added new tests_ignore, which get compiled,
10612         but not run (generally because they're inconsistent or have
10613         heisenbugs).  Now we can ensure all the .c files compile in
10614         testsuite/.
10615         * testsuite/bins/Makefile.am: define tests_ignore
10616         * testsuite/bytestream/Makefile.am:
10617         * testsuite/caps/Makefile.am:
10618         * testsuite/clock/Makefile.am:
10619         * testsuite/debug/Makefile.am:
10620         * testsuite/debug/global.c: (gst_debug_log_one),
10621         (gst_debug_log_two): Fix compilation problem.
10622         * testsuite/dynparams/Makefile.am:
10623         * testsuite/elements/Makefile.am:
10624         * testsuite/ghostpads/Makefile.am:
10625         * testsuite/indexers/Makefile.am:
10626         * testsuite/parse/Makefile.am:
10627         * testsuite/plugin/Makefile.am:
10628         * testsuite/refcounting/Makefile.am:
10629         * testsuite/refcounting/element_pad.c: (main): Don't return leak
10630         results, because it's not calculated correctly.
10631         * testsuite/refcounting/pad.c: (main): same
10632         * testsuite/states/Makefile.am:
10633         * testsuite/tags/Makefile.am:
10634         * testsuite/threads/Makefile.am:
10635
10636 2004-04-14  David Schleef  <ds@schleef.org>
10637
10638         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
10639         generating bad code around the cpu detection asm code.
10640
10641 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10642
10643         * tools/gst-inspect.c: (print_element_info):
10644           print numeric version of rank as well, since we added some - 1
10645           rank values to elements
10646
10647 2004-04-13  David Schleef  <ds@schleef.org>
10648
10649         * configure.ac:  Disable various code when compiling for MinGW.
10650         * gst/elements/Makefile.am:
10651         * gst/elements/gstelements.c:
10652         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10653         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
10654         * gst/registries/gstxmlregistry.c: (make_dir):
10655
10656 2004-04-13  David Schleef  <ds@schleef.org>
10657
10658         * gst/Makefile.am:
10659         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
10660         assembly.
10661         * gst/gstcpuid_i386.s: remove
10662
10663 2004-04-13  David Schleef  <ds@schleef.org>
10664
10665         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
10666         seems to think it needs to be done.
10667         * docs/gst/tmpl/gstfakesink.sgml:
10668         * docs/gst/tmpl/gstfakesrc.sgml:
10669         * docs/gst/tmpl/gstfdsink.sgml:
10670         * docs/gst/tmpl/gstfdsrc.sgml:
10671         * docs/gst/tmpl/gstfilesink.sgml:
10672         * docs/gst/tmpl/gstfilesrc.sgml:
10673         * docs/gst/tmpl/gstidentity.sgml:
10674         * docs/gst/tmpl/gstmd5sink.sgml:
10675         * docs/gst/tmpl/gstmultifilesrc.sgml:
10676         * docs/gst/tmpl/gstpipefilter.sgml:
10677         * docs/gst/tmpl/gstshaper.sgml:
10678         * docs/gst/tmpl/gstspider.sgml:
10679         * docs/gst/tmpl/gstspideridentity.sgml:
10680         * docs/gst/tmpl/gststatistics.sgml:
10681         * docs/gst/tmpl/gsttee.sgml:
10682         * docs/gst/tmpl/gsttypefind.sgml:
10683         * docs/gst/tmpl/gstutils.sgml:
10684
10685 2004-04-13  David Schleef  <ds@schleef.org>
10686
10687         * configure.ac: Changes to remove POSIXisms (mmap in this case)
10688         and to build DLLs on Windows.
10689         * gst/Makefile.am:
10690         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10691         (gst_filesrc_open_file):
10692         * gst/schedulers/Makefile.am:
10693
10694 2004-04-13  David Schleef  <ds@schleef.org>
10695
10696         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
10697         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
10698         fixating lists.
10699
10700 2004-04-12  David Schleef  <ds@schleef.org>
10701
10702         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10703         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
10704         to using it.
10705         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
10706         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
10707         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
10708         * gst/gststructure.c: (gst_structure_set_valist),
10709         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
10710         support for buffers.
10711         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
10712         intended to be const.
10713         * gst/gsttag.h: same
10714         * gst/gstvalue.c: (gst_value_serialize_buffer),
10715         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
10716         to (de)serialize buffers.
10717         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
10718         * testsuite/caps/string-conversions.c: (main):
10719         * testsuite/caps/value_serialize.c: add new test
10720
10721 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10722
10723         * docs/pwg/advanced-types.xml:
10724           Document MS video 1 (video/x-msvideocodec) mimetype/format.
10725
10726 2004-04-11  Benjamin Otte  <otte@gnome.org>
10727
10728         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
10729           rename categories to basic_*
10730         * gst/schedulers/gstbasicscheduler.c: 
10731         (gst_basic_scheduler_chain_wrapper),
10732         (gst_basic_scheduler_chainhandler_proxy),
10733         (gst_basic_scheduler_gethandler_proxy),
10734         (gst_basic_scheduler_eventhandler_proxy):
10735           debugging category fixes - put common stuff in log category
10736         * gst/schedulers/gstbasicscheduler.c: 
10737         (gst_basic_scheduler_chain_elements):
10738           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
10739           active and linking two active chains
10740
10741 2004-04-10  Benjamin Otte  <otte@gnome.org>
10742
10743         * docs/pwg/intro-preface.xml:
10744           fix dead links and remove reference to Wiki
10745
10746 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10747
10748         * gst/schedulers/gstbasicscheduler.c:
10749           make sure we can switch back to the main function if we're still in
10750           the main function (supposed to fix #139617)
10751         * gst/schedulers/gthread-cothreads.h:
10752           don't throw an error when switching to the same cothread
10753
10754 2004-04-09  Benjamin Otte  <otte@gnome.org>
10755
10756         * gst/gstbin.c: (gst_bin_get_type):
10757         * gst/gstclock.c: (gst_clock_get_type):
10758         * gst/gstindex.c: (gst_index_get_type):
10759         * gst/gstobject.c: (gst_object_get_type),
10760         (gst_signal_object_get_type):
10761         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
10762         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
10763         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
10764         * gst/gstqueue.c: (gst_queue_get_type):
10765         * gst/gstregistry.c: (gst_registry_get_type):
10766         * gst/gstsystemclock.c: (gst_system_clock_get_type):
10767         * gst/gstthread.c: (gst_thread_get_type):
10768           don't use memchunks for these objects, use malloc instead
10769
10770 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10771
10772         * docs/gst/.cvsignore:
10773         * docs/gst/Makefile.am:
10774         * docs/gst/gstreamer-sections.txt:
10775         * docs/gst/tmpl/gstaggregator.sgml:
10776         * docs/gst/tmpl/gstbuffer.sgml:
10777         * docs/gst/tmpl/gstclock.sgml:
10778         * docs/gst/tmpl/gstelement.sgml:
10779         * docs/gst/tmpl/gstfakesink.sgml:
10780         * docs/gst/tmpl/gstfakesrc.sgml:
10781         * docs/gst/tmpl/gstfdsink.sgml:
10782         * docs/gst/tmpl/gstfdsrc.sgml:
10783         * docs/gst/tmpl/gstfilesink.sgml:
10784         * docs/gst/tmpl/gstfilesrc.sgml:
10785         * docs/gst/tmpl/gstidentity.sgml:
10786         * docs/gst/tmpl/gstindex.sgml:
10787         * docs/gst/tmpl/gstinfo.sgml:
10788         * docs/gst/tmpl/gstmd5sink.sgml:
10789         * docs/gst/tmpl/gstmultifilesrc.sgml:
10790         * docs/gst/tmpl/gstpad.sgml:
10791         * docs/gst/tmpl/gstpipefilter.sgml:
10792         * docs/gst/tmpl/gstpipeline.sgml:
10793         * docs/gst/tmpl/gstpluginfeature.sgml:
10794         * docs/gst/tmpl/gstqueue.sgml:
10795         * docs/gst/tmpl/gstregistry.sgml:
10796         * docs/gst/tmpl/gstscheduler.sgml:
10797         * docs/gst/tmpl/gstshaper.sgml:
10798         * docs/gst/tmpl/gstspider.sgml:
10799         * docs/gst/tmpl/gstspideridentity.sgml:
10800         * docs/gst/tmpl/gststatistics.sgml:
10801         * docs/gst/tmpl/gstsystemclock.sgml:
10802         * docs/gst/tmpl/gsttee.sgml:
10803         * docs/gst/tmpl/gstthread.sgml:
10804         * docs/gst/tmpl/gsttypefind.sgml:
10805         * docs/gst/tmpl/gstutils.sgml:
10806           further doc build fixes
10807
10808 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10809
10810         * docs/gst/Makefile.am:
10811           make docs exit on scanning problems
10812           fix nonsrcdir build issues
10813         * docs/gst/gstreamer-sections.txt:
10814           adding stuff from -unused
10815         * gst/gstqueue.h:
10816           create GstQueueSize
10817         * gst/schedulers/cothreads_compat.h:
10818           fix cothread warnings
10819
10820 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10821
10822         * docs/gst/gstreamer-sections.txt:
10823           remove defines deprecated by Benjamin
10824
10825 2004-04-07  Benjamin Otte  <otte@gnome.org>
10826
10827         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10828           when the buffer is complete, don't check if other buffers are needed
10829         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
10830           check that the offset is >0 so we don't try to read before the
10831           beginning of the file
10832         * gst/gstpad.c: (gst_pad_set_pad_template):
10833           sink the template, so we don't end up with 130k pad templates
10834
10835 2004-04-06  Benjamin Otte  <otte@gnome.org>
10836
10837         * gst/autoplug/gstspider.c: (gst_spider_link_add):
10838           don't ref the element, adding already reffed it. And we didn't unref
10839           it later anyway... (huge memleak when you used many spider elements)
10840         * gst/gstelement.c: (gst_element_base_class_finalize):
10841         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
10842         (gst_element_register):
10843         * gst/gsturi.c: (gst_element_make_from_uri):
10844           use gst_object_(un)ref instead of g_object(un)ref
10845
10846 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10847
10848         * gst/gstbuffer.h:
10849           remove macro that wouldn't work anymore because struct member has
10850           been removed.
10851         * gst/schedulers/entryscheduler.c: (schedule_forward):
10852           fix segfault for unconnected pads
10853         
10854 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10855
10856         reviewed by David Schleef <ds@schleef.org>
10857
10858         * gst/gstinfo.h:
10859           *_FORMAT modifiers should require putting a % in front of them for
10860           consistency reasons.
10861
10862 2004-04-05  Colin Walters  <walters@redhat.com>
10863
10864         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
10865         space.
10866
10867 2004-04-05  Benjamin Otte  <otte@gnome.org>
10868
10869         * configure.ac:
10870         * gst/Makefile.am:
10871         * gst/gst_private.h:
10872         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
10873           add support for detecting if GStreamer runs inside valgrind.
10874           requires valgrind (d'oh) and --enable-debug for correct cdetection.
10875           print a big message in valgrind that GStreamer has detected it's
10876           running inside and might now use different code.
10877         * gst/gstmemchunk.c: (populate), (free_area),
10878         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
10879         (gst_mem_chunk_free):
10880           flag memchunks for valgrind, so it can detect leaking of chunks.
10881           This allows detecting leaks of GstBuffer and GstEvent correctly
10882           inside valgrind.
10883
10884 2004-04-05  David Schleef  <ds@schleef.org>
10885
10886         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
10887           jensgr@gmx.net (Jens Granseuer)
10888
10889 2004-04-05  David Schleef  <ds@schleef.org>
10890
10891         * gst/gstbuffer.c: (_gst_buffer_sub_free),
10892         (gst_buffer_default_free), (gst_buffer_default_copy),
10893         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
10894         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
10895         structures in one place.
10896
10897 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10898
10899         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
10900           (GST_TIME_FORMAT, GST_TIME_ARGS)
10901
10902 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10903
10904         * testsuite/elements/Makefile.am:
10905           disable test until it stops breaking make distcheck
10906
10907 2004-04-05  Johan Dahlin  <johan@gnome.org>
10908
10909         * po/sv.po: Updated translation
10910
10911 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10912
10913         * gst/gstplugin.c: (gst_plugin_load_file):
10914           fix segfault for when original plugin was loaded statically
10915
10916 2004-04-05  Benjamin Otte  <otte@gnome.org>
10917
10918         * testsuite/debug/category.c: (main):
10919         * testsuite/debug/commandline.c: (main):
10920         * testsuite/debug/output.c: (main):
10921           fix tests to work again with debugging enabled
10922
10923 2004-04-05  Benjamin Otte  <otte@gnome.org>
10924
10925         * gst/schedulers/gstbasicscheduler.c:
10926         (gst_basic_scheduler_pad_link):
10927           fix to work with recent scheduling changes
10928
10929 2004-04-05  Benjamin Otte  <otte@gnome.org>
10930
10931         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
10932         prepareChangeLog doesn't work when cvs indents):
10933           don't throw an error when no element can be scheduled, there's too
10934           many weird reasons why it doesn't work. Return STOPPED instead.
10935           decoupled elemts' schedulability doesn't depend on bufpens.
10936
10937 2004-04-04  Benjamin Otte  <otte@gnome.org>
10938
10939         * gst/schedulers/gstbasicscheduler.c:
10940         (gst_basic_scheduler_pad_select):
10941           fix uninitialized variable warnings
10942
10943 2004-04-04  Benjamin Otte  <otte@gnome.org>
10944
10945         * gst/gstpad.c: (gst_pad_collect_valist):
10946           fix uninitialized variable warning
10947         * gst/schedulers/entryscheduler.c: (schedule_forward):
10948           fix shadowed variable
10949
10950 2004-04-04  Benjamin Otte  <otte@gnome.org>
10951
10952         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
10953         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
10954         (gst_pad_select):
10955         * gst/gstpad.h:
10956         * gst/gstscheduler.c: (gst_scheduler_pad_select),
10957         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
10958         * gst/gstscheduler.h:
10959           implement gst_pad_collect as replacement for gst_pad_select.
10960           deprecate gst_pad_select and gst_scheduler_(un)lock_element
10961           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
10962           new pad_select, lock and unlock calls.
10963         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
10964         * gst/cothreads.h:
10965         * gst/schedulers/cothreads_compat.h:
10966         * gst/schedulers/gthread-cothreads.h:
10967           remove unused cothread_lock and cothread_unlock calls
10968         * gst/schedulers/entryscheduler.c:
10969         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
10970         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10971         (gst_entry_scheduler_pad_select):
10972           update to new API
10973         * gst/schedulers/gstbasicscheduler.c:
10974         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10975         (gst_basic_scheduler_pad_select):
10976           remove useless lock and unlock calls, update pad_select to new API
10977           (untested)
10978         * gst/schedulers/gstoptimalscheduler.c:
10979         (gst_opt_scheduler_class_init):
10980           remove useless select, lock and unlock function calls
10981         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10982           use gst_pad_collect instead of gst_pad_select
10983
10984 2004-04-04  Benjamin Otte  <otte@gnome.org>
10985
10986         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10987         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10988         (schedule_next_element), (print_entry):
10989           add can_schedule_pad to handle element states.
10990           add schedule_forward to select the correct entry to schedule next
10991
10992 2004-04-03  Benjamin Otte  <otte@gnome.org>
10993
10994         * gst/schedulers/entryscheduler.c: 
10995           remove unused variable, fix error inside Rb, fix compile warning in
10996           unreachable code
10997
10998 2004-04-03  Benjamin Otte  <otte@gnome.org>
10999
11000         * gst/schedulers/entryscheduler.c:
11001           completely revamp the inner workings, so it's a lot easier to
11002           understand and extend
11003
11004 2004-04-03  Andy Wingo  <wingo@pobox.com>
11005
11006         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
11007         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
11008         This allows better introspection of pipeline topology.
11009         (add_to_chain): Don't do trickery to put loop elements first;
11010         rather, queue a chain sort by marking the chain as dirty.
11011         (remove_from_chain): Mark the chain dirty.
11012         (sort_chain): New function. Sorts the group list so that terminal
11013         sinks are first. This means elements on the sink side will be
11014         preferentially sscheduled before elements on the src side of the
11015         pipeline.
11016         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
11017         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
11018         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
11019         (group_inc_link): Change argument and variable names to match the
11020         new link structure member names (src and sink).
11021         (group_dec_link): Add some description
11022
11023 2004-04-03  Benjamin Otte  <otte@gnome.org>
11024
11025         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11026         * gst/gstinfo.h:
11027         * testsuite/debug/category.c: (main):
11028         * testsuite/debug/commandline.c: (main):
11029         * testsuite/debug/output.c: (main):
11030         * testsuite/debug/printf_extension.c: (main):
11031           fix to successfully build and test with --disable-gst-debug
11032           configure switch (fixes #138705)
11033
11034 2004-04-03  Benjamin Otte  <otte@gnome.org>
11035
11036         * docs/pwg/building-boiler.xml:
11037           add cvs login line and s/anonymous/anoncvs/
11038
11039 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
11040
11041         reviewed by Benjamin Otte  <otte@gnome.org>
11042
11043         * gst/gststructure.c: (gst_structure_free):
11044           memleak fix: free fields array (partial fix for #134839)
11045
11046 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11047
11048         * docs/random/ds/0.9-suggested-changes:
11049           Add a note to change handoff use in fakesrc to be usable in
11050           a more generic way (fakesrc should be renamed to appsrc or so).
11051         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11052           Change signal type to scope, so we can fill the buffer in the
11053           handoff handler (that's the whole use of this signal...).
11054
11055 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11056
11057         * docs/pwg/other-ntoone.xml:
11058           Document muxers and n-to-1 elements.
11059
11060 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
11061
11062         * gst/registries/gstxmlregistry.c
11063         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
11064         determine if a file is a G_MODULE. The old one discards paths
11065         containing "so" somewhere in the middle. My home directory is
11066         called "soto". Go figure...
11067
11068 2004-03-31  David Schleef  <ds@schleef.org>
11069
11070         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
11071         to eventually deprecate gst_buffer_merge().  (bug: #136408)
11072         * gst/gstbuffer.h:
11073
11074 2004-03-31  David Schleef  <ds@schleef.org>
11075
11076         * gst/gstvalue.c: (gst_value_union_int_int_range),
11077         (gst_value_union_int_range_int_range), (gst_value_can_union),
11078         (gst_value_union), (_gst_value_initialize):  Add some union
11079         implementations.  We didn't have any previously.
11080         * testsuite/caps/Makefile.am:
11081         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
11082         (gst_audioscale_getcaps), (test_caps), (main): A little test
11083         that is the same as the caps manipulation in audioscale.
11084
11085 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11086
11087         * docs/faq/general.xml:
11088           add entry about "does gst support format X?"
11089
11090 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11091
11092         * gst/gstthread.c:
11093           fix docs
11094         * gst/gstutils.h:
11095           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
11096
11097 2004-03-30  Benjamin Otte  <otte@gnome.org>
11098
11099         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11100           set the offset of the buffer to the requested offset
11101         * gst/elements/gsttypefind.c: (stop_typefinding):
11102           revert patch 1.18 (which I unfortunately don't know the reason for).
11103           This is needed to allow downstream elements to seek. Otherwise
11104           typefind might overwrite a previous seek by downstream elements.
11105           This lead to errors with id3tag and typefind on some mp3s.
11106         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11107         (gst_entry_scheduler_iterate):
11108           be more verbose when debugging
11109
11110 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11111
11112         * gst/gstcaps.c: (gst_caps_from_string_inplace):
11113           make sure we don't get NULL strings
11114
11115 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11116
11117         * gst/gstcaps.c:
11118         * gst/gstelement.c:
11119         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11120         * gst/gstindex.c: (gst_index_resolver_get_type),
11121         (gst_index_get_type), (gst_index_factory_get_type):
11122         * gst/gstinfo.c:
11123         * gst/gstpad.c:
11124         * gst/gstplugin.c:
11125         * gst/gsturi.c: (gst_uri_handler_get_type):
11126         * gst/gstvalue.c:
11127           first batch of documentation fixes
11128
11129 2004-03-29  David Schleef  <ds@schleef.org>
11130
11131         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11132         * docs/gst/gstreamer-docs.sgml:  More hacking
11133         * docs/gst/gstreamer-sections.txt:
11134         * docs/gst/tmpl/cothreads_compat.sgml:
11135         * docs/gst/tmpl/gstcaps.sgml:
11136         * docs/gst/tmpl/gstclock.sgml:
11137         * docs/gst/tmpl/gstelement.sgml:
11138         * docs/gst/tmpl/gstevent.sgml:
11139         * docs/gst/tmpl/gstpad.sgml:
11140         * docs/gst/tmpl/gstutils.sgml:
11141         * docs/gst/tmpl/gstxml.sgml:
11142         * docs/gst/tmpl/gthread-cothreads.sgml:
11143         * docs/random/ds/0.9-suggested-changes:
11144         * gst/elements/gstfakesink.h: doc fixes
11145         * gst/elements/gstfakesrc.h: doc fixes
11146         * gst/gstcaps.c: doc fixes
11147         * gst/gstcaps.h: doc fixes
11148         * gst/gstelement.c: doc fixes
11149         * gst/gstelement.h: doc fixes
11150         * gst/gstindex.c: doc fixes
11151         * gst/gstinfo.c: doc fixes
11152         * gst/gstpad.c: doc fixes
11153         * gst/gstpad.h: doc fixes
11154         * gst/gstplugin.c: doc fixes
11155         * gst/gsttypefind.h: doc fixes
11156         * gst/gsturi.c: doc fixes
11157         * gst/gstvalue.c: doc fixes
11158
11159 2004-03-29  Colin Walters  <walters@redhat.com>
11160
11161         * gst/registries/gstxmlregistry.c (get_time)
11162         (plugin_times_older_than_recurse):
11163         Use the result of stat to determine whether a path is a file,
11164         so we don't attempt to opendir() files.
11165
11166 2004-03-29  Benjamin Otte  <otte@gnome.org>
11167
11168         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11169           print caps in debugging output when setting caps failed
11170         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11171         (schedule_next_element), (get_buffer), (run_chainhandler),
11172         (element_may_start), (gst_entry_scheduler_chain_handler),
11173         (gst_entry_scheduler_get_handler),
11174         (gst_entry_scheduler_state_transition),
11175         (gst_entry_scheduler_pad_link):
11176           make this scheduler a testcase for mandatory
11177           discont-before-first-buffer which is needed if we want to allow apps
11178           to release the sound device.
11179           add SCHED_ASSERT macro to print scheduler state before an assertion
11180           triggers.
11181
11182 2004-03-29  Benjamin Otte  <otte@gnome.org>
11183
11184         * COPYING:
11185           replace by LGPL (former COPYING.LIB). The core is completely
11186           licensed LGPL.
11187         * COPYING.LIB:
11188           remove
11189
11190 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11191
11192         * po/af.po:
11193         * po/sv.po:
11194           updated Afrikaans and Swedish
11195
11196 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11197
11198         * po/LINGUAS:
11199         * po/az.po:
11200           adding Azerbaijani (Mətin Əmirov)
11201
11202 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11203
11204         * gst/gstelement.h: 
11205         * gst/gstelement.c (gst_element_set_time_delay): New function for
11206         setting element time taking into account a hardware buffering
11207         delay.
11208         (gst_element_set_time): Now just an invocation of
11209         gst_element_set_time_delay.
11210         * gst/gstclock.h: 
11211         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11212         allowing to set event times in the future.
11213         (gst_clock_get_event_time): Now just an invocation of
11214         gst_clock_get_event_time_delay.
11215
11216 2004-03-28  Benjamin Otte  <otte@gnome.org>
11217
11218         * gst/gstbin.c: (gst_bin_set_element_sched),
11219         (gst_bin_unset_element_sched):
11220           don't add decoupled elements to schedulers - otherwise it's
11221           impossible to control if a link to a decoupled element was already
11222           removed from a scheduler or not.
11223         * gst/schedulers/cothreads_compat.h:
11224         * gst/schedulers/gthread-cothreads.h:
11225           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11226           is no "unused" warning.
11227         * gst/schedulers/Makefile.am:
11228         * gst/schedulers/entryscheduler.c:
11229           add new scheduler, based on ideas from talking to David and Martin.
11230           It's supposed to be small and correct. Currently it's also slow (but
11231           it's not noticable)
11232         * examples/retag/retag.c: (main):
11233         * testsuite/bytestream/test1.c: (main):
11234           fix missing NULLs at end of variadic functions
11235         * testsuite/elements/.cvsignore:
11236           update
11237
11238 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11239
11240         * gst/gstevent.h:
11241         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11242
11243 2004-03-25  David Schleef  <ds@schleef.org>
11244
11245         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11246         * docs/gst/tmpl/gstaggregator.sgml:
11247         * docs/gst/tmpl/gstautoplugfactory.sgml:
11248         * docs/gst/tmpl/gstbin.sgml:
11249         * docs/gst/tmpl/gstbuffer.sgml:
11250         * docs/gst/tmpl/gstbufferstore.sgml:
11251         * docs/gst/tmpl/gstfakesink.sgml:
11252         * docs/gst/tmpl/gstfakesrc.sgml:
11253         * docs/gst/tmpl/gstmd5sink.sgml:
11254         * docs/gst/tmpl/gstreamer-unused.sgml:
11255         * docs/gst/tmpl/gstsearchfuncs.sgml:
11256         * docs/gst/tmpl/gstshaper.sgml:
11257         * docs/gst/tmpl/gstspider.sgml:
11258         * docs/gst/tmpl/gsttee.sgml:
11259         * docs/gst/tmpl/gstutils.sgml:
11260         * docs/gst/tmpl/gstvalue.sgml:
11261         * docs/gst/tmpl/gstxml.sgml:
11262         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11263         and we don't support it.
11264         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11265         (gst_use_threads), (gst_has_threads): same
11266         * gst/gstthreaddummy.c: same
11267         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11268         * gst/autoplug/gstspider.h: same
11269         * gst/elements/gstaggregator.h: Remove bogus function from header
11270         * gst/elements/gstfakesink.h: same
11271         * gst/elements/gstfakesrc.h: same
11272         * gst/elements/gstmd5sink.h: same
11273         * gst/elements/gstshaper.h: same
11274         * gst/elements/gsttee.h: same
11275         * gst/gstbin.c: doc fixes
11276         * gst/gstbin.h: Remove unused definition.
11277         * gst/gstbuffer.c: doc fixes
11278         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11279         * gst/gstfilter.c: doc fixes
11280         * gst/gsttag.c: doc fixes
11281         * gst/gstvalue.c: doc fixes
11282
11283 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11284
11285         * docs/pwg/advanced-types.xml:
11286           Document typefinding.
11287         * docs/pwg/other-oneton.xml:
11288           Document one-to-n elements, demuxers and parsers.
11289
11290 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
11291
11292         reviewed by: David Schleef  <ds@schleef.org>
11293
11294         * configure.ac: Check bison version (bug #127838)
11295
11296 2004-03-25  David Schleef  <ds@schleef.org>
11297
11298         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11299         * docs/gst/gstreamer-sections.txt:
11300         * docs/gst/tmpl/gstautoplug.sgml:
11301         * docs/gst/tmpl/gststaticautoplug.sgml:
11302         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11303         * docs/gst/tmpl/gstutils.sgml:
11304         * docs/gst/tmpl/gstxml.sgml:
11305
11306 2004-03-24  David Schleef  <ds@schleef.org>
11307
11308         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11309         manual being such complete crap, that I decided to do major
11310         hacking of it.  This checkin replaces any fine tuning that
11311         may have been done previously, with the benefit of actually
11312         being complete for much of the API that was changed since
11313         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11314         * docs/gst/gstreamer-sections.txt:
11315         * docs/gst/tmpl/GstBin.sgml:
11316         * docs/gst/tmpl/GstBuffer.sgml:
11317         * docs/gst/tmpl/GstCaps.sgml:
11318         * docs/gst/tmpl/GstClock.sgml:
11319         * docs/gst/tmpl/GstCompat.sgml:
11320         * docs/gst/tmpl/GstData.sgml:
11321         * docs/gst/tmpl/GstElement.sgml:
11322         * docs/gst/tmpl/GstEvent.sgml:
11323         * docs/gst/tmpl/GstIndex.sgml:
11324         * docs/gst/tmpl/GstStructure.sgml:
11325         * docs/gst/tmpl/GstTag.sgml:
11326         * docs/gst/tmpl/cothreads.sgml:
11327         * docs/gst/tmpl/cothreads_compat.sgml:
11328         * docs/gst/tmpl/gettext.sgml:
11329         * docs/gst/tmpl/grammar.tab.sgml:
11330         * docs/gst/tmpl/gst-i18n-app.sgml:
11331         * docs/gst/tmpl/gst-i18n-lib.sgml:
11332         * docs/gst/tmpl/gst.sgml:
11333         * docs/gst/tmpl/gst_private.sgml:
11334         * docs/gst/tmpl/gstaggregator.sgml:
11335         * docs/gst/tmpl/gstarch.sgml:
11336         * docs/gst/tmpl/gstatomic.sgml:
11337         * docs/gst/tmpl/gstatomic_impl.sgml:
11338         * docs/gst/tmpl/gstbin.sgml:
11339         * docs/gst/tmpl/gstbuffer.sgml:
11340         * docs/gst/tmpl/gstbufferstore.sgml:
11341         * docs/gst/tmpl/gstcaps.sgml:
11342         * docs/gst/tmpl/gstclock.sgml:
11343         * docs/gst/tmpl/gstcompat.sgml:
11344         * docs/gst/tmpl/gstconfig.sgml:
11345         * docs/gst/tmpl/gstcpu.sgml:
11346         * docs/gst/tmpl/gstdata.sgml:
11347         * docs/gst/tmpl/gstdata_private.sgml:
11348         * docs/gst/tmpl/gstelement.sgml:
11349         * docs/gst/tmpl/gstenumtypes.sgml:
11350         * docs/gst/tmpl/gsterror.sgml:
11351         * docs/gst/tmpl/gstevent.sgml:
11352         * docs/gst/tmpl/gstfakesink.sgml:
11353         * docs/gst/tmpl/gstfakesrc.sgml:
11354         * docs/gst/tmpl/gstfilesink.sgml:
11355         * docs/gst/tmpl/gstfilter.sgml:
11356         * docs/gst/tmpl/gstindex.sgml:
11357         * docs/gst/tmpl/gstinfo.sgml:
11358         * docs/gst/tmpl/gstinterface.sgml:
11359         * docs/gst/tmpl/gstlog.sgml:
11360         * docs/gst/tmpl/gstmacros.sgml:
11361         * docs/gst/tmpl/gstmarshal.sgml:
11362         * docs/gst/tmpl/gstmd5sink.sgml:
11363         * docs/gst/tmpl/gstmultifilesrc.sgml:
11364         * docs/gst/tmpl/gstobject.sgml:
11365         * docs/gst/tmpl/gstpad.sgml:
11366         * docs/gst/tmpl/gstparse.sgml:
11367         * docs/gst/tmpl/gstpipeline.sgml:
11368         * docs/gst/tmpl/gstplugin.sgml:
11369         * docs/gst/tmpl/gstpluginfeature.sgml:
11370         * docs/gst/tmpl/gstqueue.sgml:
11371         * docs/gst/tmpl/gstreamer-unused.sgml:
11372         * docs/gst/tmpl/gstregistry.sgml:
11373         * docs/gst/tmpl/gstregistrypool.sgml:
11374         * docs/gst/tmpl/gstscheduler.sgml:
11375         * docs/gst/tmpl/gstsearchfuncs.sgml:
11376         * docs/gst/tmpl/gstshaper.sgml:
11377         * docs/gst/tmpl/gstspider.sgml:
11378         * docs/gst/tmpl/gstspideridentity.sgml:
11379         * docs/gst/tmpl/gststructure.sgml:
11380         * docs/gst/tmpl/gstsystemclock.sgml:
11381         * docs/gst/tmpl/gsttag.sgml:
11382         * docs/gst/tmpl/gsttaginterface.sgml:
11383         * docs/gst/tmpl/gsttee.sgml:
11384         * docs/gst/tmpl/gstthread.sgml:
11385         * docs/gst/tmpl/gsttrace.sgml:
11386         * docs/gst/tmpl/gsttrashstack.sgml:
11387         * docs/gst/tmpl/gsttypefind.sgml:
11388         * docs/gst/tmpl/gsttypes.sgml:
11389         * docs/gst/tmpl/gsturi.sgml:
11390         * docs/gst/tmpl/gsturitype.sgml:
11391         * docs/gst/tmpl/gstutils.sgml:
11392         * docs/gst/tmpl/gstvalue.sgml:
11393         * docs/gst/tmpl/gstversion.sgml:
11394         * docs/gst/tmpl/gstxml.sgml:
11395         * docs/gst/tmpl/gstxmlregistry.sgml:
11396         * docs/gst/tmpl/gthread-cothreads.sgml:
11397         * docs/gst/tmpl/types.sgml:
11398
11399 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11400
11401         * docs/pwg/other-sink.xml:
11402         * docs/pwg/other-source.xml:
11403           Documentation on how to write source and sink elements. Other
11404           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11405           manager, autoplugger) are all still pending.
11406
11407 2004-03-25  Benjamin Otte  <otte@gnome.org>
11408
11409         * testsuite/elements/Makefile.am:
11410         * testsuite/elements/gst-compprep-check:
11411           add check to make sure gst-compprep works
11412         * testsuite/elements/gst-inspect-check.in:
11413           improve initialization output
11414         * testsuite/Makefile.am:
11415         * testsuite/gst-inspect-check:
11416           remove old file
11417
11418 2004-03-24  David Schleef  <ds@schleef.org>
11419
11420         * testsuite/elements/Makefile.am:
11421         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11422         to the testsuite.
11423
11424 2004-03-24  Benjamin Otte  <otte@gnome.org>
11425
11426         * libs/gst/control/dparam.c: (gst_dparam_attach),
11427         (gst_dparam_detach):
11428         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11429           fix lvalue casts for real
11430
11431 2004-03-24  Benjamin Otte  <otte@gnome.org>
11432
11433         * gst/schedulers/gstbasicscheduler.c:
11434         (gst_basic_scheduler_src_wrapper):
11435         * gst/schedulers/gstoptimalscheduler.c:
11436         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11437         (pad_clear_queued), (gst_opt_scheduler_add_element),
11438         (gst_opt_scheduler_remove_element):
11439           fix GStreamer to not have issues with lvalue casts anymore (fixes
11440           #136841)
11441
11442 2004-03-24  Benjamin Otte  <otte@gnome.org>
11443
11444         * gst/gstelement.c:
11445           add documentation about a gobject quirk where the object hasn't the
11446           correct class pointer set on initialization
11447         * gst/schedulers/gstbasicscheduler.c:
11448         (gst_basic_scheduler_src_wrapper):
11449           make sure to not run into an infinite loop
11450
11451 2004-03-22  Benjamin Otte  <otte@gnome.org>
11452
11453         * gst/gstutils.c: (gst_util_dump_mem):
11454         * gst/gstutils.h:
11455           first argument of gst_util_dump_mem should be const
11456
11457 2004-03-22  Johan Dahlin  <johan@gnome.org>
11458
11459         * gst/gstvalue.h: Clean up a little bit.
11460
11461 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
11462
11463         reviewed by Benjamin Otte  <otte@gnome.org>
11464
11465         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11466         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11467         (gst_aggregator_class_init), (gst_aggregator_init):
11468         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11469         (gst_filesrc_dispose), (gst_filesrc_set_location):
11470         * gst/elements/gstidentity.c: (gst_identity_finalize),
11471         (gst_identity_class_init), (gst_identity_chain):
11472         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11473         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11474         (gst_statistics_class_init):
11475         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11476         (gst_tee_get_property):
11477           clean up used memory in this elements correctly on teardown (closes
11478           #137279)
11479
11480 2004-03-20  Colin Walters  <walters@redhat.com>
11481
11482         * gst/registries/gstxmlregistry.c:
11483         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11484         registry saving atomic.
11485
11486 2004-03-20  Colin Walters  <walters@redhat.com>
11487
11488         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11489         Just use
11490         access() instead of actually creating and deleting files.
11491
11492 2004-03-18  David Schleef  <ds@schleef.org>
11493
11494         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11495         (bug #137625)
11496
11497 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11498
11499         * po/sv.po: updated translation (Christian Rose)
11500
11501 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11502
11503         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11504         (gst_filesink_get_query_types), (_do_init),
11505         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
11506           return FALSE silently
11507         * po/af.po: updated translation (Petri Jooste)
11508
11509 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11510
11511         * Makefile.am:
11512         * configure.ac:
11513           dist common properly
11514         * po/af.po:
11515         * po/fr.po:
11516         * po/nl.po:
11517         * po/sr.po:
11518         * po/sv.po:
11519           refreshing translations
11520
11521 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11522
11523         * po/LINGUAS:
11524         * po/sv.po:
11525         * po/af.po:
11526           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
11527
11528 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11529
11530         * Makefile.am: use common/release.mak
11531
11532 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11533
11534         * docs/faq/gst-uninstalled:
11535           adding gst-monkeysaudio to the list of possible plugin dirs
11536
11537 2004-03-16  David Schleef  <ds@schleef.org>
11538
11539         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
11540         (gst_init_check_with_popt_table):  Fix some gettext strings to
11541         make them easier to translate.  Required making the strings
11542         non-const.
11543
11544 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11545
11546         * configure.ac: bump nano to 1
11547
11548 === release 0.8.0 ===
11549
11550 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11551
11552         * configure.ac: release 0.8.0, "Executive Slacks"
11553
11554 2004-03-16  Johan Dahlin  <johan@gnome.org>
11555
11556         * gst/schedulers/gstoptimalscheduler.c
11557         (gst_opt_scheduler_pad_unlink): Remove double ;,
11558         spotted by Scott Wheeler
11559
11560 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11561
11562         * configure.ac: bump libtool version
11563
11564 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11565
11566         * gst/gstcaps.h:
11567         * gst/gststructure.h:
11568           add reserved padding
11569
11570 2004-03-15  Benjamin Otte  <otte@gnome.org>
11571
11572         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11573           set the first parameter for select call correctly.
11574           (fixes #137230)
11575
11576 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11577
11578         * *.c,*.h: don't mix tabs and spaces
11579
11580 2004-03-15  Johan Dahlin  <johan@gnome.org>
11581
11582         * gst/schedulers/gstoptimalscheduler.c
11583         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
11584         crash on MPEG playback. My boolean arithmetic is a bit rusty.
11585
11586         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
11587         
11588 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11589
11590         * testsuite/Rules:
11591           fix gst-register rules
11592
11593 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11594
11595         * testsuite/Rules:
11596           use versioned gst-register
11597
11598 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11599
11600         * docs/libs/gstreamer-libs-sections.txt:
11601           remove </SUBSECTION>
11602         * gst/gstplugin.c:
11603         * gst/gstregistry.c: (gst_registry_add_plugin):
11604         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
11605         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
11606           add debugging and fix some comment blocks
11607
11608 2004-03-15  Johan Dahlin  <johan@gnome.org>
11609
11610         * *.h: Revert indent changes.
11611         
11612 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11613
11614         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
11615           g_error_free the g_error
11616         * tools/gst-feedback-m.m:
11617           check for other versions of gstreamer
11618         * tools/gst-indent:
11619           use sh, not bash
11620
11621 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11622
11623         * tools/gst-register.c: do not spill paths when registries are not
11624           writable, until we fix the "user running gst-register" case.
11625
11626 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11627
11628         * *.c, *.h: commit of gst-indent run on core
11629
11630 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11631
11632         * tools/gst-indent:
11633         * tools/Makefile.am:
11634           add our indentation style as a script
11635
11636 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11637
11638         * po/sr.po:
11639         * po/LINGUAS:
11640           added Serbian translation
11641
11642 2004-03-13  Benjamin Otte  <otte@gnome.org>
11643
11644         * gst/gstelement.c:
11645           add documentation note about gst_element_found_tags_for_pad not
11646           being usable in getfunctions. (see #137042)
11647
11648 2004-03-12  David Schleef  <ds@schleef.org>
11649
11650         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
11651         change API right now!  Readd gst_caps_is_simple() macro.
11652         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
11653         uninitialized variable.  I'd bet this caused crashes.
11654         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
11655
11656 2004-03-12  Johan Dahlin  <johan@gnome.org>
11657
11658         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
11659         * gst/gstcaps.h: Clean up
11660
11661         * gst/gst.c (init_post): call gst_caps_get_type() instead of
11662         _gst_caps_initalize()
11663
11664         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
11665         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
11666
11667         * gst/gststructure.c (gst_structure_get_type): Ditto
11668
11669         * gst/gststructure.h: Ditto
11670         
11671 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11672
11673         * gst/gstqueue.c: (gst_queue_init):
11674           Reset default max. values in queues. Reason is simply to avoid
11675           braindead use. If you want wider values, use the properties. The
11676           default is supposed to always work. Wider values would make this
11677           beast a memory hog by default (250 full-PAL RGB32 video frames?
11678           That's 440 MB! No thank you).
11679
11680 2004-03-10  David Schleef  <ds@schleef.org>
11681
11682         * tools/gst-run.c: (main):  Fix crash when no relevant tools
11683         were found.  (bug #136793)
11684
11685 2004-03-10  Johan Dahlin  <johan@gnome.org>
11686
11687         * gst/schedulers/gstoptimalscheduler.c
11688         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
11689         links to elements within the same group, so we can finally remove
11690         that annoying warning. Refactor the code a little bit
11691         (group_dec_links_for_element): Split out
11692
11693 2004-03-09  David Schleef  <ds@schleef.org>
11694
11695         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
11696         (bug #134863)
11697
11698 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11699
11700         * configure.ac: first bug fix due to major/minor bump
11701
11702 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11703
11704         * configure.ac: bump nano to 1
11705
11706 === release 0.7.6 ===
11707
11708 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11709
11710         * NEWS:
11711         * RELEASE:
11712         * configure.ac:
11713           releasing 0.7.6, "Almost"
11714         * po/fr.po:
11715         * po/nl.po:
11716         * tools/Makefile.am:
11717         * tools/gst-feedback-m.m:
11718           unversioned source
11719
11720 2004-03-09  Johan Dahlin  <johan@gnome.org>
11721
11722         Reviewed by: Thomas Vander Stichele
11723
11724         * gst/gstelement.c (gst_element_class_init): register second
11725         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
11726         language bindings can (de)marshall correctly.
11727
11728         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
11729
11730         * gst/gsterror.c (gst_g_error_get_type): New function
11731
11732         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
11733         with VOID:OBJECT,OBJECT,STRING 
11734
11735 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
11736
11737         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
11738         Free a leaked g_timer on early returns.
11739
11740 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11741
11742         * docs/pwg/advanced-types.xml:
11743           Add cinepak description.
11744
11745 2004-03-07  David Schleef  <ds@schleef.org>
11746
11747         * docs/random/mimetypes:  Added cinepak description
11748
11749 2004-03-07  Andy Wingo  <wingo@pobox.com>
11750
11751         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
11752
11753         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
11754         there are no links to other groups when a group is destroyed.
11755         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
11756         removed from a group, make sure the link count to elements linked
11757         to other pads is appropriately decremented. This really fixes
11758         #135672.
11759
11760         The 1.60->1.61 patch has been reapplied in light of this fix.
11761
11762         * gst/gstelement.c (gst_element_dispose): Really protect against
11763         multiple invocations this time.
11764
11765 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11766
11767         * docs/gst/gstreamer-sections.txt:
11768         * docs/gst/tmpl/gsttag.sgml:
11769           remove some deprecated functions, document some existing ones
11770         * gst/gsttag.c: (gst_tag_get_flag):
11771         * gst/gsttag.h:
11772           add accessor function
11773
11774 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11775
11776         * docs/gst/gstreamer-sections.txt:
11777         * docs/gst/tmpl/gsttag.sgml:
11778         * docs/gst/tmpl/gstxml.sgml:
11779         * gst/gsttag.c: (gst_tag_get_flag):
11780         * gst/gsttag.h:
11781
11782 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
11783
11784         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
11785         leak
11786
11787 2004-03-05  David Schleef  <ds@schleef.org>
11788
11789         * REQUIREMENTS: Add bison and flex.
11790         * configure.ac: Fix comment about bison.
11791         * docs/random/ds/0.9-suggested-changes: yer ma
11792         * tools/gst-inspect.c: (print_element_info):  Fix warning.
11793
11794 2004-03-05  Benjamin Otte  <otte@gnome.org>
11795
11796         * gst/gstelement.c: (gst_element_error_full):
11797           revert recent recursive state changing commit - messing with other
11798           elements' states is evil and should be done by apps only.
11799
11800 2004-03-05  Benjamin Otte  <otte@gnome.org>
11801
11802         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
11803           check for empty intersection instead of NULL caps
11804         (gst_element_get_compatible_pad_filtered):
11805           remove old workaround that is only a bug nowadays
11806
11807 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11808
11809         * gst/gstelement.c: (gst_element_error_full):
11810           make elements try to recursively change state to PAUSED on all
11811           parents after an error to suppress ensuing warnings
11812         * gst/parse/grammar.y:
11813           make it check if it was able to sync the state, and throw an error
11814           if not, so stuff like
11815           oggdemux ! vorbisdec ! osssink gets caught
11816
11817 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11818
11819         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
11820           it contains lib64; use AS_AC_EXPAND to handle it properly
11821
11822 2004-03-05  David Schleef  <ds@schleef.org>
11823
11824         * gst/gstcpuid_i386.s:  Remove unused code
11825         * libs/gst/getbits/getbits.c: (gst_getbits_init),
11826         (gst_getbits_newbuf): Remove MMX code
11827         * libs/gst/getbits/getbits.h: Remove MMX code
11828
11829 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
11830
11831         * debian/.cvsignore:
11832         * debian/README.Debian:
11833         * debian/changelog:
11834         * debian/control:
11835         * debian/control.in:
11836         * debian/copyright:
11837         * debian/gstreamer-core-libs-dev.files:
11838         * debian/gstreamer-core-libs.files:
11839         * debian/gstreamer-core.files:
11840         * debian/gstreamer-core.postinst:
11841         * debian/gstreamer-core.postrm:
11842         * debian/gstreamer-doc.files:
11843         * debian/gstreamer-doc.links:
11844         * debian/gstreamer-doc.lintian:
11845         * debian/gstreamer-runtime.files:
11846         * debian/gstreamer-runtime.manpages:
11847         * debian/gstreamer-runtime.postinst:
11848         * debian/gstreamer-runtime.postrm:
11849         * debian/gstreamer-tools.files:
11850         * debian/gstreamer-tools.manpages:
11851         * debian/libgstreamer-dev.files:
11852         * debian/libgstreamer0.4.1.files:
11853         * debian/libgstreamerVERSION.files:
11854         * debian/rules:
11855         Debian package info not maintained here.
11856
11857 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11858
11859         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11860         * gst/gstbin.c: (gst_bin_class_init):
11861         * gst/gstelement.c: (gst_element_class_init):
11862         * gst/gstindex.c: (gst_index_class_init):
11863         * gst/gstobject.c: (gst_object_class_init),
11864         (gst_signal_object_class_init):
11865         * gst/gstpad.c: (gst_pad_template_class_init):
11866         * gst/gstregistry.c: (gst_registry_class_init):
11867         * gst/gsturi.c: (gst_uri_handler_base_init):
11868         * gst/gstxml.c: (gst_xml_class_init):
11869         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11870         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
11871           make all signal names use dashes instead of underscore
11872
11873 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11874
11875         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
11876
11877 2004-03-03  Benjamin Otte  <otte@gnome.org>
11878
11879         * gst/schedulers/gstoptimalscheduler.c:
11880           revert last commit by Andy Wingo. It causes segfaults on unreffing
11881           in Rhythmbox. (see bug #135672)
11882
11883 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11884
11885         * po/fr.po: fix typo
11886
11887 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
11888
11889         * tools/gst-inspect.c: (main): 
11890         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
11891
11892 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11893
11894         * configure.ac:
11895           get GLIB_ONLY and POPT flags for the nonversioned binaries
11896         * tools/Makefile.am:
11897           use them
11898
11899 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11900
11901         * gst/gst.c: (init_post):
11902           change so that GST_REGISTRY now is where the global registry gets
11903           saved, since that is where plugins now get attached to first, and
11904           spilled over to the user registry.  Note that in the case of using
11905           GST_REGISTRY env var, we don't want to affect any real registries
11906           beyond the one given by this var, and thus we don't set a user
11907           registry to spill to.  So make sure GST_REGISTRY is writable.
11908
11909 2004-03-01  David Schleef  <ds@schleef.org>
11910
11911         * AUTHORS:  Added some names.  Add yourself if you're missing.
11912
11913 2004-03-01  David Schleef  <ds@schleef.org>
11914
11915         * MAINTAINERS: Add
11916
11917 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11918
11919         * configure.ac:
11920           remove whitespace
11921         * docs/gst/tmpl/gstbuffer.sgml:
11922         * docs/gst/tmpl/gstdata.sgml:
11923         * docs/gst/tmpl/gstreamer-unused.sgml:
11924         * docs/gst/tmpl/gstxml.sgml:
11925           doc update
11926         * docs/manuals.mak:
11927           add a FIXME
11928         * docs/pwg/intro-preface.xml:
11929         * docs/pwg/pwg.xml:
11930           remove GNOME
11931         * gst/gst.c: (init_post):
11932           try GST_PLUGIN_PATH paths for the _global_registry first
11933         * gst/gstelement.h:
11934           add the error message as well, otherwise (null) debug info doesn't
11935           make much sense
11936         * tools/gst-register.c: (main):
11937           spill paths to next registry if this registry is not writable
11938         * po/fr.po:
11939         * po/nl.po:
11940           translation updates
11941
11942 2004-03-01  Johan Dahlin  <johan@gnome.org>
11943
11944         * gst/gstbuffer.c (_gst_buffer_initialize): 
11945         * gst/gstdata.c (gst_data_get_type): 
11946         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
11947         instead of ref, since some applications that uses GBoxed
11948         routines depends on a function that actually returns a copy.
11949
11950 2004-02-27  Benjamin Otte  <otte@gnome.org>
11951
11952         * gst/gstbuffer.h:
11953           remove gst_buffer_free, use gst_data_unref
11954         * gst/gstdata.c: (gst_data_get_type):
11955           use refcounting in GstData GBoxed registration
11956         * gst/gstdata.h:
11957           remove gst_data_free, use gst_data_unref
11958
11959 2004-02-27  Johan Dahlin  <johan@gnome.org>
11960
11961         * gst/gstdata.c (gst_data_get_type): New function, register
11962         GstData as a GBoxed type.
11963
11964         * gst/gstdata.h (GST_TYPE_DATA): New macro
11965
11966 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11967
11968         * Makefile.am:
11969         * gstreamer.spec.in:
11970           put back RELEASE
11971         * gst/Makefile.am:
11972           clean up non-disting of built files
11973         * testsuite/debug/commandline.c:
11974           test fix for option rename
11975
11976 2004-02-26  David Schleef  <ds@schleef.org>
11977
11978         * configure.ac:  We don't really need glib-2.3.  Also remove
11979         some unneeded checks for library functions.
11980         * gst/Makefile.am:  Instead, we need to not dist files created
11981         by glib-genmarshal.
11982
11983 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11984
11985         * configure.ac:
11986           bump glib required version to 2.3.0 for g_value_takes_boxed
11987
11988  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11989
11990         * common/m4/gst-docs.m4
11991         change flavour text from enable to disable as enable is our default
11992         closes bug Bug 135304
11993
11994 === release 0.7.5 ===
11995  
11996  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11997  
11998         * NEWS:
11999           instate NEWS file
12000         * Makefile.am:
12001         * gstreamer.spec.in:
12002         * RELEASE:
12003           put back release
12004         * configure.ac:
12005         * docs/random/release:
12006           more updates
12007
12008 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12009
12010         * gst/gsttag.c: (_gst_tag_initialize):
12011         * po/fr.po:
12012         * po/nl.po:
12013           remove hyphen from codec tags
12014
12015 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12016
12017         * gst/parse/Makefile.am:
12018           fix dependency so that a make from a clean build works the first
12019           time
12020
12021 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12022
12023         * docs/random/release:
12024           update release strategy
12025         * po/fr.po:
12026           auto-update po file
12027         * po/nl.po:
12028           update dutch translation
12029
12030 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12031
12032         * docs/manual/debugging.xml:
12033         fix manual for new debugging system
12034
12035 2004-02-25  Andy Wingo  <wingo@pobox.com>
12036
12037         * gst/gstpad.c (gst_pad_link_prepare): Re-add
12038         gst_pad_link_prepare. Please email the list with specific reasons
12039         for reverting.
12040
12041 2004-02-24  Andy Wingo  <wingo@pobox.com>
12042
12043         * gst/gstelement.c (gst_element_dispose): Protect against multiple
12044         invocations.
12045
12046         * gst/schedulers/gstoptimalscheduler.c:
12047         I added a mess of prototypes at the top of the file by way of
12048         documentation. Some of the operations on chains and groups were
12049         re-organized.
12050
12051         (create_group): Added a type argument so if the group is enabled,
12052         the setup_group_scheduler knows what to do.
12053         (group_elements): Added a type argument here, too, to be passed on
12054         to create_group.
12055         (group_element_set_enabled): If an unlinked PLAYING element is
12056         added to a bin, we have to create a new group to hold the element,
12057         and this function will be called before the group is added to the
12058         chain. Thus we have a valid case for group->chain==NULL. Instead
12059         of calling chain_group_set_enabled, just set the flag on the group
12060         (the chain's status will be set when the group is added to it).
12061         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
12062         Setup the group scheduler when the group is enabled, not
12063         specifically when an element goes PAUSED->PLAYING. This means
12064         PLAYING elements can be added, linked, and scheduled into a
12065         PLAYING pipeline, as was intended.
12066         (add_to_group): Don't ref the group twice. I don't know when this
12067         double-ref got in here. Removing it has the potential to cause
12068         segfaults if other parts of the scheduler are buggy. If you find
12069         that the scheduler is segfaulting for you, put in an extra ref
12070         here and see if that hacks over the underlying issue. Of course,
12071         then find out what code is unreffing a group it doesn't own...
12072         (create_group): Make the extra refcount floating, and remove it
12073         after adding the element. This means that...
12074         (unref_group): Destroy when the refcount reaches 0, not 1, like
12075         every other refcounted object in the known universe.
12076         (remove_from_group): When a group becomes empty, set it to be not
12077         active, and remove it from its chain. Don't unref it again,
12078         there's no floating reference any more.
12079         (destroy_group): We have to remove the group from the chain in
12080         remove_from_group (rather than here) to break refcounting cycles
12081         (the chain always has a ref on the group). So assert that
12082         group->chain==NULL.
12083         (ref_group_by_count): Removed, it was commented out anyway.
12084         (merge_chains): Use the remove_from_chain and add_to_chain
12085         primitives to do the reparenting, instead of rolling our own
12086         implementation.
12087         (add_to_chain): The first non-disabled group in the chain's group
12088         list will be the entry point for the chain. Because buffers can
12089         accumulate in loop elements' peer bufpens, we preferentially
12090         schedule loop groups before get groups to avoid unnecessary
12091         execution of get-based groups when the bufpens are already full.
12092         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
12093         (get_group_schedule_function): Ditto.
12094         (loop_group_schedule_function): Ditto.
12095         (gst_opt_scheduler_loop_wrapper): Ditto.
12096         (gst_opt_scheduler_iterate): Ditto.
12097
12098         I understand the opt scheduler now, yippee!
12099
12100         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
12101         (gst_pad_get_name, gst_pad_set_chain_function) 
12102         (gst_pad_set_get_function, gst_pad_set_event_function) 
12103         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
12104         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
12105         (gst_pad_set_query_function, gst_pad_get_query_types) 
12106         (gst_pad_get_query_types_default) 
12107         (gst_pad_set_internal_link_function) 
12108         (gst_pad_set_formats_function, gst_pad_set_link_function) 
12109         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
12110         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
12111         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
12112         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
12113         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
12114         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
12115         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
12116         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12117         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12118         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12119         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12120         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12121         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12122         argument checks, and some doc fixes.
12123
12124         (gst_pad_custom_new_from_template): Um, does anyone
12125         use these functions? Actually make a custom pad instead of a
12126         normal one.
12127         (gst_pad_try_set_caps): Transpose some checks.
12128         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12129         the pad is in negotiation.
12130         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12131         
12132         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12133
12134         * gst/gstelement.h: 
12135         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12136         on the list.
12137
12138 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12139
12140         * gst/gstbin.c: (gst_bin_add):
12141           add error for not being able to add elements
12142
12143 2004-02-22  Julien MOUTTE <julien@moutte.net>
12144
12145         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12146         audio-codec and video-codec.
12147
12148 2004-02-22  Benjamin Otte  <otte@gnome.org>
12149
12150         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12151
12152         * autogen.sh:
12153           replace test -e with test -x for mkinstalldirs to be more portable.
12154           (fixes #134816)
12155
12156 2004-02-22  Benjamin Otte  <otte@gnome.org>
12157
12158         * gst/gstpad.c:
12159           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12160           too noisy
12161         * gst/gsttag.c: (_gst_tag_initialize):
12162         * gst/gsttag.h:
12163           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12164         * libs/gst/control/dparam.c: (gst_dparam_attach):
12165         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12166           check that types for attached dparams match
12167
12168 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12169
12170         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12171         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12172         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12173           fix errors
12174
12175 2004-02-20  Andy Wingo  <wingo@pobox.com>
12176
12177         * gst/gstbin.c:
12178         * gst/gstbuffer.c:
12179         * gst/gstplugin.c:
12180         * gst/registries/gstxmlregistry.c: 
12181         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12182
12183         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12184         (gst_element_add_pad): DEBUG->INFO, some fixes.
12185         (gst_element_get_compatible_pad_template): Just see if the
12186         templates' caps intersect, not if one is a strict subset of the
12187         other. This conforms more to what gst_pad_link_intersect() does.
12188         (gst_element_class_add_pad_template): Don't memcpy the pad
12189         template, just ref it.
12190         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12191
12192         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12193         (gst_pad_link_filtered): Debug changes.
12194         (gst_pad_link_prepare): New function, consolidated from
12195         can_link_filtered and link_filtered.
12196
12197         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12198         look more like that of the functions in gstelement.c
12199
12200         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12201         object, and return the empty string if object is NULL.
12202
12203         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12204         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12205         LOG, not DEBUG. We still get flex info on debug.
12206
12207         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12208         debug string more verbose.
12209         (plugin_times_older_than): DEBUG->LOG.
12210
12211 2004-02-20  Julien MOUTTE <julien@moutte.net>
12212
12213         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12214         will emit found_tag for each stream they demux with the codec.
12215
12216 2004-02-20  Benjamin Otte  <otte@gnome.org>
12217
12218         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12219           copy navigation event correctly. Check freeing tag lists. 
12220         * gst/gstthread.c: (gst_thread_change_state):
12221           don't abort() on state changing mess - it might happen because of
12222           bugs.
12223         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12224           use boxed functions
12225         * gst/gstvalue.h:
12226           fix GST_VALUE_HOLDS_CAPS
12227
12228 2004-02-19  David Schleef  <ds@schleef.org>
12229
12230         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12231         and use it for GST_FUNCTION.  (bug #134750)
12232
12233 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12234
12235         * po/fr.po:
12236         * po/nl.po:
12237           updating translations
12238
12239 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12240
12241         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12242
12243 2004-02-18  kost@imn.htwk-leipzig.de
12244
12245         reviewed by: David Schleef  <ds@schleef.org>
12246
12247         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12248         for libgstcontrol.
12249
12250 2004-02-18  David Schleef  <ds@schleef.org>
12251
12252         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12253         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12254         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12255         * tools/gst-inspect.c: (print_element_info): Support dumping of
12256         double dparam information.
12257
12258 2004-02-17  David Schleef  <ds@schleef.org>
12259
12260         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12261         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12262         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12263         Use GST_TYPE_CAPS in signal prototype.
12264         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12265         Convert GST_TYPE_CAPS to boxed.
12266         * gst/gstelement.c: (gst_element_class_init):
12267         Use GST_TYPE_TAG_LIST in signal prototype.
12268         * gst/gstindex.c: (gst_index_class_init):
12269         * gst/gstindex.h:
12270         Add GST_TYPE_INDEX_ENTRY type.
12271         * gst/gstmarshal.list:
12272         Add necessary marshal types.
12273         * gst/gstpad.c: (gst_real_pad_class_init),
12274         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12275         (gst_pad_recover_caps_error):
12276         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12277         * gst/gststructure.c: (_gst_structure_initialize),
12278         (gst_structure_copy), (_gst_structure_copy_conditional):
12279         * gst/gststructure.h:
12280         Convert GST_TYPE_STRUCTURE to boxed.
12281         * gst/gsttag.c: (gst_tag_list_get_type):
12282         * gst/gsttag.h:
12283         Add GST_TYPE_TAG_LIST type.
12284
12285 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12286
12287         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12288         to what we agreed with david.
12289         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12290
12291 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12292
12293         * po/nl.po: update translation
12294
12295 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12296
12297         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12298           throw an error if spider is trying to play a mime type there is
12299           no decoder for
12300         * po/POTFILES.in:
12301           add gst/autoplug/gstspider.c for translation
12302
12303 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12304
12305         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12306         silently when the pad is negotiating.
12307
12308 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12309
12310         * docs/faq/Makefile.am:
12311           add script to run gstreamer uninstalled 
12312         * docs/faq/faq.xml:
12313         * docs/faq/developing.xml:
12314         * docs/faq/gst-uninstalled:
12315           extract script to run gstreamer uninstalled
12316         * docs/manuals.mak:
12317           add EXTRA_SOURCES variable for Makefile.am's to set to
12318           use additional SOURCE files for the doc build
12319
12320 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12321
12322         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12323
12324 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12325
12326         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12327         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12328         an error was thrown by osssink. Basically a state change failure for
12329         an element in a different scheduling group was considered as
12330         successful, which means that caps nego was going on and weird stuff
12331         happened. Like I wrote in the comment there, if someone wants to
12332         revert that please drop me a mail explaining why because I really see
12333         no point in keeping that broken behaviour there.
12334         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12335         be empty, we then return NULL which will trigger a nice error when 
12336         pulling from the pad.
12337
12338 2004-02-13  David Schleef  <ds@schleef.org>
12339
12340         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12341         (gst_dparam_get_property), (gst_dparam_set_property),
12342         (gst_dparam_do_update_default):
12343         * libs/gst/control/dparam.h:
12344         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12345         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12346         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12347         (gst_dpsmooth_do_update_double):
12348         * libs/gst/control/dparam_smooth.h:
12349         * libs/gst/control/dparammanager.c:
12350         (gst_dpman_inline_direct_update):
12351         Add support for double dparams.
12352
12353 2004-02-13  David Schleef  <ds@schleef.org>
12354
12355         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12356         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12357
12358 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12359
12360         reviewed by: David Schleef  <ds@schleef.org>
12361
12362         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12363         (gst_fdsrc_init), (gst_fdsrc_set_property),
12364         (gst_fdsrc_get_property), (gst_fdsrc_get):
12365         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12366         and sends an EOS event if file descriptor reading times out.
12367
12368 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12369
12370         * configure.ac:
12371           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12372
12373 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12374
12375         * configure.ac: pass required libxml version as argument
12376         (bug reported by Christophe Fergeau)
12377
12378 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12379   
12380         * docs/gst/gstreamer-docs.sgml:
12381         * docs/gst/tmpl/gstxml.sgml:
12382         * docs/libs/gstreamer-libs-docs.sgml:
12383           version API docs
12384
12385 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12386
12387         * gst/gstinfo.c:
12388         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12389         (gst_registry_pool_feature_filter):
12390         * gst/gstthread.c: (gst_thread_class_init):
12391         * gst/gstvalue.c:
12392           add includes exposed by building without libxml
12393         * gst/indexers/Makefile.am:
12394           do not build fileindex when LOADSAVE disabled; we should have
12395           a better libxml check later since fileindex depends on xml, not
12396           LOADSAVE or REGISTRY
12397         * libs/gst/control/Makefile.am:
12398           link with m
12399         * tools/Makefile.am:
12400           fix wrong source code for gst-xmlinspect
12401
12402 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12403
12404         * configure.ac:
12405           fix gcov help output
12406           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12407         * docs/random/release:
12408           some updated releasing notes
12409         * gstreamer.spec.in:
12410           more updates
12411
12412 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12413
12414         * docs/faq/faq.xml:
12415         * docs/manual/manual.xml:
12416         * docs/pwg/pwg.xml:
12417         * docs/pwg/titlepage.xml:
12418           put version in documentation
12419
12420 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12421
12422         * tools/Makefile.am: fix man page installation
12423
12424 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12425
12426         * configure.ac:
12427           don't check for libxml when load/save and registry disabled (#105844)
12428         * gstreamer.spec.in:
12429           sync with fedora candidate spec
12430
12431 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12432
12433         * po/fr.po:
12434         * po/nl.po:
12435           replace multidisksrc with multifilesrc
12436
12437 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12438
12439         * po/POTFILES.in:
12440           update to multidisksrc => multifilesrc file renaming (#134145)
12441
12442 2004-02-11  David Schleef  <ds@schleef.org>
12443
12444         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12445         * docs/gst/tmpl/gstpadtemplate.sgml: same
12446         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12447         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12448         fixing dance.
12449         * gst/gstutils.c: Remove disabled code that uses GstProps.
12450         * gst/registries/gstxmlregistry.h: same
12451         * docs/random/ds/0.9-suggested-changes: random notes
12452
12453 2004-02-11  kost@imn.htwk-leipzig.de
12454
12455         reviewed by: David Schleef  <ds@schleef.org>
12456
12457         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12458         initialisation of clock (bug #134128)
12459
12460 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12461
12462         * configure.ac:
12463         * gst/elements/Makefile.am:
12464         * gst/elements/gstelements.c:
12465         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12466         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12467         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12468         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12469         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12470         * gst/elements/gstmultifilesrc.h:
12471           rename multidisksrc to multifilesrc (part of #122200)
12472
12473 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12474
12475         * docs/manuals.mak:
12476           fix automake complaints
12477         * gst-element-check.m4:
12478           fix unquotedness
12479
12480 2004-02-11  David Schleef  <ds@schleef.org>
12481
12482         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12483         * gst/gstatomic_impl.h: Disable sparc implementation.
12484
12485 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12486
12487         * gst-element-check.m4:
12488           fix underquoted macros as reported by automake 1.8.x (#133800)
12489         * configure.ac:
12490           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12491           by autopoint (fixes #132996)
12492
12493 2004-02-10  Andy Wingo  <wingo@pobox.com>
12494
12495         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12496         way to do inheritance.
12497         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12498         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12499         Routine docs.
12500         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12501         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12502         doc.
12503         (gst_pad_unlink, gst_pad_is_linked): Docs.
12504         (gst_pad_renegotiate): A brief description of capsnego.
12505         (gst_pad_try_set_caps): Document.
12506         (gst_pad_try_set_caps_nonfixed): Document.
12507         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
12508         (gst_pad_set_parent): Deprecated (although not out of the API).
12509         (gst_pad_get_parent): Deprecated, although many plugins use this.
12510         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
12511         are private and will go away in 0.9.
12512         (gst_pad_perform_negotiate): Doc.
12513         (gst_pad_link_unnegotiate): I think this is meant to be static.
12514         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
12515         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
12516         (gst_pad_get_peer): Doc updates.
12517         (gst_pad_caps_change_notify): Doc.
12518         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
12519         (gst_ghost_pad_new): Doc fixes.
12520
12521         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
12522         (gst_object_check_uniqueness): 
12523
12524         * gst/gstelement.c (gst_element_add_pad) 
12525         (gst_element_add_ghost_pad, gst_element_remove_pad) 
12526         (gst_element_remove_ghost_pad, gst_element_get_pad) 
12527         (gst_element_get_static_pad, gst_element_get_pad_list) 
12528         (gst_element_class_get_pad_template_list) 
12529         (gst_element_class_get_pad_template): Work on the docs.
12530         (gst_element_get_pad_template_list): Uses the class method.
12531         (gst_element_get_compatible_pad_template): Docs, and consolidate
12532         some test conditions. 
12533         (gst_element_get_pad_from_template): New static function.
12534         (gst_element_request_compatible_pad): Docs, and work with
12535         non-request compatible templates. 
12536         (gst_element_get_compatible_pad_filtered): Docs and remove
12537         redundant checks.
12538         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
12539         (gst_element_link_filtered, gst_element_link_many) 
12540         (gst_element_link, gst_element_link_pads) 
12541         (gst_element_unlink_many): Docs.
12542
12543 2004-02-05  Andy Wingo  <wingo@pobox.com>
12544
12545         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
12546         s/pointer/boxed/.
12547
12548         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
12549
12550         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
12551         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
12552         with the type=GST_TYPE_CAPS. This allows language bindings to know
12553         what kind of data they're dealing with.
12554
12555         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
12556         to NULL when g_value_init is called. GstCaps, which rolls its own
12557         type implementation, now does the same instead of allocating empty
12558         caps.
12559         (_gst_caps_initialize, _gst_caps_collect_value,
12560         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
12561         table methods. This allows G_VALUE_COLLECT to work.
12562
12563 2004-02-05  Andy Wingo  <wingo@pobox.com>
12564
12565         * configure.ac:
12566         * testsuite/Makefile.am (SUBDIRS): 
12567         * testsuite/ghostpads/Makefile.am: 
12568         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
12569
12570         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
12571         These two routines are the only ones that set
12572         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
12573         pad template. They should be made static, depending on ABI needs.
12574         (gst_real_pad_dispose): Handle the case of ghost pads without a
12575         parent. Assert after dealing with ghost pads that the ghost pad
12576         list is empty.
12577         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
12578         set after creation.
12579         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
12580         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
12581         functions. set_property will call add_ghost_pad/remove_ghost_pad
12582         as appropriate.
12583         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
12584
12585         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
12586         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
12587         (gst_element_remove_pad): Handle ghost pads as well.
12588         (gst_element_remove_ghost_pad): Deprecated (could be removed,
12589         depending on API-stability needs).
12590
12591 2004-02-05  Andy Wingo  <wingo@pobox.com>
12592
12593         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
12594         of course they're const
12595
12596 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12597
12598         * tools/Makefile.am:
12599         * tools/gst-feedback:
12600         * tools/gst-feedback-0.7:
12601           make gst-feedback versioned too for consistency
12602
12603 2004-02-11  David Schleef  <ds@schleef.org>
12604
12605         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12606         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
12607
12608 2004-02-10  Julien MOUTTE <julien@moutte.net>
12609
12610         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
12611         the structure does not contain a valid tag list. Adding a safety check
12612         to remove a noisy warning in that case.
12613
12614 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12615
12616         * gst/gst.c: fix name to be in line with others
12617
12618 2004-02-09  Julien MOUTTE <julien@moutte.net>
12619
12620         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
12621         not shout that loud when len is 0. Just return 0 silently.
12622
12623 2004-02-09  Julien MOUTTE  <julien@moutte.net>
12624
12625         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
12626         because data_unref has one and I prefer the debug to be symetric.
12627         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
12628         were refed when added to the queue and unrefed only once when the queue
12629         was flushed. Now the flush handler unref the buffers two times : first
12630         unref for the ref added when pushing in the queue's tail and second
12631         unref to destroy the flushed buffer.
12632
12633 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12634
12635         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
12636
12637 2004-02-06  David Schleef  <ds@schleef.org>
12638
12639         * docs/random/ds/0.9-suggested-changes: Random ramblings
12640         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
12641         to int before printing.
12642         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
12643         * gst/parse/parse.l: same.  See bug #129600
12644
12645 2004-02-06  David Schleef  <ds@schleef.org>
12646
12647         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
12648         (gst_index_add_entry), (gst_index_add_associationv),
12649         (gst_index_add_association): Add gst_index_add_associationv()
12650         and clean up gst_index_add_association(). #127133
12651
12652 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12653
12654         * autogen.sh: check out common with right tag if CVS/Tag exists
12655
12656 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12657
12658         * testsuite/ghostpads/ghostpads.c: (main):
12659           fix testsuite from segfaulting
12660
12661 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12662
12663         * Makefile.am: add release target
12664         * configure.ac: bump nano to 1
12665         * docs/random/release:
12666
12667 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12668
12669         * gst/gstcaps.h:
12670         * gst/gstelement.c: (gst_element_base_class_init),
12671         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12672         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12673         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12674         (gst_real_pad_dispose):
12675         * gst/gststructure.c: (gst_structure_free),
12676         (gst_structure_from_string):
12677           put reverted patch back in
12678         * gst/gstelement.c: (gst_element_remove_pad):
12679           free explicit caps if they're set
12680         * gst/gstpad.c: (_gst_pad_default_fixate_func):
12681           copy the structure when fixating
12682
12683 2004-02-05  David Schleef  <ds@schleef.org>
12684
12685         * gst/gstmarshal.list:
12686         * gst/gstpad.c: (gst_real_pad_class_init),
12687         (_gst_real_pad_fixate_accumulator):
12688         Revert POINTER->BOXED change in signal marshaller.
12689
12690 === release 0.7.4 ===
12691                                                                                 
12692 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12693                                                                                 
12694         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
12695         * configure.ac: changed for release
12696
12697 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12698
12699         * gstreamer.spec.in:
12700           bump required version of gtk-doc
12701
12702 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12703
12704         * gst/gstcaps.h:
12705         * gst/gstelement.c: (gst_element_base_class_init),
12706         (gst_element_class_set_details), (gst_element_clear_pad_caps):
12707         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12708         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
12709         (gst_real_pad_dispose):
12710         * gst/gststructure.c: (gst_structure_free),
12711         (gst_structure_from_string):
12712           revert patch that breaks applications, reapply after release
12713           to get this fixed properly
12714
12715 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12716
12717         * gst/gsttag.c: (_gst_tag_initialize):
12718         * gst/gsttag.h:
12719           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
12720
12721 2004-02-04  David Schleef  <ds@schleef.org>
12722
12723         Fix some memleaks:
12724         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
12725         (gst_spider_plug_from_srcpad):
12726         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
12727
12728 2004-02-04  David Schleef  <ds@schleef.org>
12729
12730         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
12731         a GstRealPad before accessing its structure members.
12732
12733 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12734
12735         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
12736         (gst_clock_get_speed):
12737         * gst/gstclock.h:
12738           reset padding, remove unused fields
12739
12740 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12741
12742         * gst/autoplug/gstspideridentity.c:
12743         (gst_spider_identity_sink_loop_type_finding):
12744           use get_allowed_caps, not get_caps (fixes #132519)
12745         * gst/elements/gsttypefind.c: (stop_typefinding):
12746           use correct order when sending buffers and seeking
12747
12748 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12749
12750         * configure.ac:
12751         * gst/gstelement.h:
12752         * gst/gstpad.h:
12753         * gst/gstqueue.h:
12754           upgrade libtool CURRENT, reset padding
12755
12756 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12757
12758         * configure.ac:
12759           bump to prerelease
12760           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
12761
12762 2004-02-04  David Schleef  <ds@schleef.org>
12763
12764         * docs/random/ds/0.9-suggested-changes: random notes
12765         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
12766         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
12767         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
12768         expansion.
12769         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
12770         (gst_filesink_get_query_types): same
12771         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
12772         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
12773         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
12774         to use new GST_PTR_FORMAT.
12775         * gst/gstelement.h: deprecate function factory macros
12776         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
12777         These are our last variadic macros that can't be replaced with
12778         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
12779         attempting to deprecate gst_element_clock_wait().
12780         * gst/gstevent.h: same
12781         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
12782         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
12783         * gst/gstpad.h: deprecate function factory macros similar to above.
12784
12785 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12786
12787         * configure.ac:
12788         * tools/Makefile.am:
12789         * tools/gst-run.c: (popt_callback), (hash_print_key),
12790         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
12791         (get_candidates), (main):
12792           add new source file to generate non-versioned wrapper binaries
12793           for our tools.
12794
12795 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12796
12797         * gst/gstevent.c: (_gst_event_free):
12798           actually break; inside the switch statement
12799         * gst/parse/grammar.y:
12800           fix memleak where GValues weren't unset
12801
12802 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12803
12804         * gst/gststructure.c: (gst_structure_from_string):
12805           fix huge memleak
12806         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12807         (new_entry), (gst_type_find_element_chain):
12808         * gst/gstelement.c: (gst_element_base_class_init),
12809         (gst_element_class_set_details):
12810         * gst/gstpad.c: (gst_pad_can_link_filtered):
12811           fix smaller memleaks
12812         * gst/gstpad.c: (gst_real_pad_dispose):
12813           check that explicit caps are gone
12814         * gst/gststructure.c: (gst_structure_free):
12815           actually free the structure
12816         * gst/gstelement.c: (gst_element_clear_pad_caps):
12817           unset explicit caps
12818
12819 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12820
12821         * tools/Makefile.am:
12822           use AM_CFLAGS since all the CFLAGS are the same
12823           use AM_LDFAGS
12824
12825 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12826
12827         * docs/manual/gnome.xml:
12828           expand example a little
12829         * gst/gst.c: (gst_init_with_popt_table),
12830         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
12831           make sure popt option displays are done with right textdomain
12832           use GstPoptOption type
12833         * gst/gst.h:
12834           create GstPoptOption type
12835
12836 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12837
12838         * gst/gsterror.c: (_gst_stream_errors_init):
12839         * gst/gsterror.h:
12840           adding error type for no codec
12841         * po/POTFILES.in:
12842           add gst-inspect
12843         * po/nl.po:
12844           update dutch translation
12845         * tools/gst-inspect.c: (print_element_list), (main):
12846           do proper internationalization
12847         * tools/gst-launch.c: (idle_func):
12848           remove commented out function call
12849
12850 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12851
12852         * docs/README:
12853           add some error fixing notes
12854         * docs/gst/gstreamer-sections.txt:
12855           remove double entries
12856         * docs/gst/tmpl/gstbin.sgml:
12857         * docs/gst/tmpl/gstclock.sgml:
12858           remove override
12859         * docs/gst/tmpl/gstelement.sgml:
12860         * docs/gst/tmpl/gstindex.sgml:
12861         * docs/gst/tmpl/gstobject.sgml:
12862         * docs/gst/tmpl/gstpadtemplate.sgml:
12863         * docs/gst/tmpl/gstreamer-unused.sgml:
12864         * docs/gst/tmpl/gsttag.sgml:
12865         * docs/gst/tmpl/gstthread.sgml:
12866         * docs/gst/tmpl/gstxml.sgml:
12867         * gst/gsttag.h:
12868           sync header prototypes with c decls
12869         * gst/gsttaginterface.c:
12870           fix doc headers
12871
12872 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12873
12874         * gst/parse/Makefile.am:
12875         * gst/gstobject.h:
12876           get rid of gstmarshal.h dependency. It's not needed.
12877         * gst/gst.h:
12878         * gst/elements/gstfakesink.c:
12879         * gst/elements/gstfakesrc.c:
12880         * gst/elements/gstidentity.c:
12881         * gst/gstbin.c:
12882         * gst/gstelement.c:
12883         * gst/gstindex.c:
12884         * gst/gstobject.c:
12885         * gst/gstpad.c:
12886         * gst/gstthread.c:
12887         * gst/gstxml.c:
12888         * libs/gst/control/dparam.c:
12889         * libs/gst/control/dparammanager.c:
12890           include gstmarshal.h.
12891         Fixes #132045
12892
12893 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12894
12895         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12896         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
12897         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
12898         * gst/elements/gstfilesrc.h:
12899           don't ref the filesrc when creating mmaped buffers. Don't keep a
12900           list of not-yet-destroyed buffers.
12901         * gst/gstbuffer.h:
12902           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
12903
12904 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12905
12906         * gst/gst.c: (init_pre):
12907           remove textdomain
12908
12909 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12910
12911         * docs/pwg/advanced-events.xml:
12912         * docs/pwg/advanced-scheduling.xml:
12913         * docs/pwg/intro-basics.xml:
12914         * docs/pwg/other-manager.xml:
12915         * docs/pwg/other-nton.xml:
12916         * docs/pwg/other-ntoone.xml:
12917         * docs/pwg/other-oneton.xml:
12918         * docs/pwg/pwg.xml:
12919           All sort of documentation... Forgot what. Point is that I want this
12920           in before I leave. The 'other-*' will be the last section and will
12921           explain issues specific to these type of elements.
12922
12923 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12924
12925         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12926         (gst_filesrc_get_read):
12927           set all the values on buffers that we can
12928
12929 2004-02-02  David Schleef  <ds@schleef.org>
12930
12931         Change usage of isblah() to g_ascii_isblah() to be more locale
12932         independent.  (#133076)
12933         * gst/gsturi.c: (gst_uri_protocol_check_internal):
12934         * gst/gstutils.c:
12935         * gst/parse/parse.l:
12936
12937 2004-02-02  Jon Trowbridge  <trow@gnu.org>
12938
12939         reviewed by: David Schleef  <ds@schleef.org>
12940
12941         Fix memory leaks:
12942         * gst/gstcaps.c: (gst_caps_to_string):
12943         * gst/registries/gstxmlregistry.c:
12944         (gst_xml_registry_add_path_list_func),
12945         (gst_xml_registry_parse_padtemplate):
12946
12947 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12948
12949         * gst/gstelement.c: (gst_element_default_error):
12950           suffix error messages with period
12951
12952 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12953
12954         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12955         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12956         * gst/gsterror.c: (gst_error_get_message):
12957           Suffix with dots
12958         * po/fr.po:
12959         * po/nl.po:
12960           Update translation files
12961
12962 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12963
12964         * gst/autoplug/gstspideridentity.c:
12965         (gst_spider_identity_sink_loop_type_finding):
12966         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12967         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12968         (gst_filesink_close_file), (gst_filesink_handle_event),
12969         (gst_filesink_chain):
12970         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12971         (gst_filesrc_get_read), (gst_filesrc_open_file):
12972         * gst/elements/gstidentity.c: (gst_identity_chain):
12973         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12974         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12975         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12976         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12977         * gst/gsterror.c: (_gst_core_errors_init),
12978         (_gst_library_errors_init), (_gst_resource_errors_init),
12979         (_gst_stream_errors_init), (gst_error_get_message):
12980         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12981         (gst_pad_recover_caps_error), (gst_pad_pull):
12982         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12983         * gst/schedulers/gstbasicscheduler.c:
12984         (gst_basic_scheduler_chainhandler_proxy),
12985         (gst_basic_scheduler_gethandler_proxy),
12986         (gst_basic_scheduler_cothreaded_chain):
12987           Suffix error messages with period.
12988           Use (NULL) instead of NULL
12989
12990 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12991
12992         * docs/gst/tmpl/gstelement.sgml:
12993         * docs/gst/tmpl/gstxml.sgml:
12994         * gst/gstelement.c: (gst_element_error_full):
12995           add element path to error
12996
12997 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12998
12999         * docs/random/mimetypes:
13000           update raw int/float info
13001         * gst/gsttag.c: (_gst_tag_initialize):
13002         * gst/gsttag.h:
13003           add GST_TAG_ENCODER
13004
13005 2004-01-30  David Schleef  <ds@schleef.org>
13006
13007         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
13008           missing (#132991)
13009
13010 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
13011
13012         reviewed by Benjamin Otte 
13013           parts of the patch submitted in bug #113913
13014
13015         * configure.ac:
13016           use AC_C_INLINE. Use = instead of == with test
13017         * examples/plugins/example.c:
13018         * gst/autoplug/gstspideridentity.c:
13019         * gst/elements/gstfdsrc.c:
13020         * gst/elements/gstfilesrc.c:
13021         * gst/elements/gstidentity.c:
13022         * gst/elements/gstmultidisksrc.c:
13023         * gst/elements/gststatistics.c:
13024         * gst/gstelement.c:
13025         * gst/gstobject.c:
13026         * gst/gstpad.c:
13027         * gst/gstpipeline.c:
13028         * gst/gstthread.c:
13029           don't end enums with a comma
13030         * gst/gstindex.c: (gst_index_compare_func):
13031           do explicit casting to gint
13032         * gst/gsttrace.c: (gst_trace_text_flush):
13033           #define strsize as a macro
13034
13035 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13036
13037         * docs/README:
13038         * docs/gst/gstreamer-docs.sgml:
13039         * docs/gst/gstreamer-sections.txt:
13040         * docs/gst/tmpl/gstelement.sgml:
13041         * docs/gst/tmpl/gsterror.sgml:
13042         * docs/gst/tmpl/gstinterface.sgml:
13043         * docs/gst/tmpl/gstreamer-unused.sgml:
13044         * docs/gst/tmpl/gststructure.sgml:
13045         * docs/gst/tmpl/gsttag.sgml:
13046         * docs/gst/tmpl/gsttaginterface.sgml:
13047         * docs/gst/tmpl/gstvalue.sgml:
13048         make sure all API ends up in the built docs
13049         * gst/gstinterface.c:
13050         * gst/gststructure.c: (gst_structure_id_set_value),
13051         (gst_structure_set_value), (gst_structure_id_get_value):
13052         * gst/gststructure.h:
13053         * gst/gstvalue.h:
13054         sync .h with .c declarations
13055
13056 2004-01-30  Julien Moutte  <julien@moutte.net>
13057
13058         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
13059         Ronald will fix riffread.
13060
13061 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13062
13063         * docs/pwg/advanced-interfaces.xml:
13064           Added tuner interface docs.
13065
13066 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13067
13068         * docs/random/mimetypes:
13069           correct Theora information
13070         * gst/gstelement.h:
13071           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
13072
13073 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13074
13075         * gst/gstelement.c: (gst_element_error_full):
13076         * gst/gstelement.h:
13077           GST_ELEMENT_ERROR in enum -> _IN_ERROR
13078
13079 2004-01-29  Julien MOUTTE  <julien@moutte.net>
13080
13081         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
13082         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
13083         again and even before DISCONT.
13084         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
13085         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
13086         bytestream so that it's not stopping to fill the bytestream if events
13087         different than EOS or DISCONT are received. Instead it process them so
13088         that they go downstream.
13089
13090 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13091
13092         * docs/gst/tmpl/gstelement.sgml:
13093         * docs/gst/tmpl/gstreamer-unused.sgml:
13094         * docs/gst/tmpl/gstxml.sgml:
13095         * gst/autoplug/gstspideridentity.c:
13096         (gst_spider_identity_sink_loop_type_finding):
13097         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13098         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13099         (gst_filesink_close_file), (gst_filesink_handle_event),
13100         (gst_filesink_chain):
13101         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13102         (gst_filesrc_get_read), (gst_filesrc_open_file):
13103         * gst/elements/gstidentity.c: (gst_identity_chain):
13104         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13105         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13106         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13107         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13108         * gst/gstelement.h:
13109         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13110         (gst_pad_recover_caps_error), (gst_pad_pull):
13111         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13112         * gst/schedulers/gstbasicscheduler.c:
13113         (gst_basic_scheduler_chainhandler_proxy),
13114         (gst_basic_scheduler_gethandler_proxy),
13115         (gst_basic_scheduler_cothreaded_chain):
13116           gst_element_error -> GST_ELEMENT_ERROR
13117
13118 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13119
13120         * docs/Makefile.am:
13121         * docs/gst/tmpl/gstelement.sgml:
13122         * docs/gst/tmpl/gstxml.sgml:
13123         * docs/manuals.mak:
13124         * docs/pwg/advanced-request.xml:
13125         * docs/pwg/advanced-scheduling.xml:
13126         * docs/pwg/advanced-tagging.xml:
13127           fix non-validating docbook using CDATA
13128           make sure make check-local gets run first to check if it validates
13129
13130 2004-01-29  Julien MOUTTE <julien@moutte.net>
13131
13132         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13133         handling (up and downstream).
13134         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13135         my_filter thing.
13136
13137 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13138
13139         * docs/pwg/advanced-tagging.xml:
13140           Add docs about tag writing.
13141
13142 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13143
13144         * docs/pwg/advanced-tagging.xml:
13145           Add a part about tag reading and application signalling... Tag
13146           writing still needs to be documented.
13147         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13148           We can set file locations in READY, too.
13149
13150 2004-01-29  Julien MOUTTE <julien@moutte.net>
13151
13152         * docs/random/ds/element-checklist: Adding some notes about src
13153         events.
13154
13155 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13156
13157         * docs/random/mimetypes:
13158           Update docs to point to correct elements for various mimetypes, and
13159           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
13160           <stephane.loeuillet@tiscali.fr>.
13161
13162 2004-01-28  David Schleef  <ds@schleef.org>
13163
13164         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13165
13166 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13167
13168         * docs/random/mimetypes:
13169           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13170           undefined"
13171         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13172           make it only work in NULL.
13173         * gst/gstcaps.c:
13174           don't posion NULL caps
13175         * gst/gstelement.c: (gst_element_set_time):
13176           add debugging statement
13177         * gst/gstelement.c: (gst_element_emit_found_tag),
13178         (gst_element_found_tag_func), (gst_element_found_tags):
13179         * gst/gstelement.h:
13180           These functions take const taglists
13181         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13182           fix memleak
13183         * gst/gstpad.c: (gst_pad_event_default):
13184           make more effort on handling discont and clocks, g_warn if everything
13185           fails
13186         * gst/gststructure.c: (gst_structure_remove_fields),
13187         (gst_structure_remove_fields_valist):
13188         * gst/gststructure.h:
13189           add gst_structure_remove_fields(_valist)
13190         * gst/gsttag.c:
13191           fix doc glitch
13192
13193 2004-01-28  David Schleef  <ds@schleef.org>
13194
13195         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13196         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13197         Fix memory leakage of gst_caps_to_string().
13198
13199         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13200         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13201         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13202         (gst_spider_identity_sink_loop_type_finding):
13203         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13204         (find_suggest):
13205         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13206         (gst_pad_set_explicit_caps):
13207         * gst/parse/grammar.y:
13208
13209 2004-01-28  David Schleef  <ds@schleef.org>
13210
13211         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13212         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13213         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13214         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13215         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13216         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13217         (gst_debug_log_default), (_gst_info_printf_extension),
13218         (_gst_info_printf_extension_arginfo):  Add printf extension.
13219         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13220         * gst/gststructure.c: (gst_structure_to_string),
13221         (_gst_structure_parse_value): Use gst_value_deserialize() and
13222         remove old code.
13223         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13224         (gst_value_deserialize_boolean), (gst_strtoi),
13225         (gst_value_deserialize_int), (gst_value_deserialize_double),
13226         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13227         a bunch of deserialize functions and gst_value_deserialize.
13228         * gst/gstvalue.h: er, _de_serialize, not unserialize
13229         * testsuite/caps/string-conversions.c: (main): We don't currently
13230         handle (float) in caps, so convert these to (double).
13231         * testsuite/debug/Makefile.am: Add new test for the printf extension
13232         * testsuite/debug/printf_extension.c: (main): same
13233
13234 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13235
13236         * docs/random/company/time:
13237           Add some docs about clocking and time
13238
13239 2004-01-28  Julien MOUTTE <julien@moutte.net>
13240
13241         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13242
13243 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13244
13245         * docs/pwg/advanced-clock.xml:
13246         * docs/pwg/advanced-dparams.xml:
13247         * docs/pwg/advanced-events.xml:
13248         * docs/pwg/advanced-interfaces.xml:
13249         * docs/pwg/advanced-midi.xml:
13250         * docs/pwg/advanced-request.xml:
13251         * docs/pwg/advanced-scheduling.xml:
13252         * docs/pwg/advanced-tagging.xml:
13253         * docs/pwg/advanced-types.xml:
13254         * docs/pwg/appendix-checklist.xml:
13255         * docs/pwg/building-boiler.xml:
13256         * docs/pwg/building-chainfn.xml:
13257         * docs/pwg/building-filterfactory.xml:
13258         * docs/pwg/building-pads.xml:
13259         * docs/pwg/building-props.xml:
13260         * docs/pwg/building-signals.xml:
13261         * docs/pwg/building-state.xml:
13262         * docs/pwg/building-testapp.xml:
13263         * docs/pwg/intro-basics.xml:
13264         * docs/pwg/intro-preface.xml:
13265         * docs/pwg/other-autoplugger.xml:
13266         * docs/pwg/other-sink.xml:
13267         * docs/pwg/other-source.xml:
13268         * docs/pwg/titlepage.xml:
13269           fix up id's
13270
13271 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13272
13273         * docs/95NonPath:
13274         * docs/HACKING:
13275         * docs/README:
13276         * docs/building-the-docs-on-debian:
13277           collect relevant bits of doc info
13278
13279 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13280
13281         * docs/pwg/advanced_tagging.xml:
13282           Half-assed commit so Thomas can re-arrange document IDs here to be
13283           consistent, too.
13284
13285 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13286
13287         * docs/manual/autoplugging.xml:
13288         * docs/manual/bins-api.xml:
13289         * docs/manual/bins.xml:
13290         * docs/manual/buffers-api.xml:
13291         * docs/manual/buffers.xml:
13292         * docs/manual/clocks.xml:
13293         * docs/manual/components.xml:
13294         * docs/manual/cothreads.xml:
13295         * docs/manual/debugging.xml:
13296         * docs/manual/dparams-app.xml:
13297         * docs/manual/dynamic.xml:
13298         * docs/manual/elements-api.xml:
13299         * docs/manual/elements.xml:
13300         * docs/manual/factories.xml:
13301         * docs/manual/gnome.xml:
13302         * docs/manual/goals.xml:
13303         * docs/manual/helloworld.xml:
13304         * docs/manual/helloworld2.xml:
13305         * docs/manual/init-api.xml:
13306         * docs/manual/intro.xml:
13307         * docs/manual/links-api.xml:
13308         * docs/manual/links.xml:
13309         * docs/manual/manual.xml:
13310         * docs/manual/motivation.xml:
13311         * docs/manual/pads-api.xml:
13312         * docs/manual/pads.xml:
13313         * docs/manual/plugins-api.xml:
13314         * docs/manual/plugins.xml:
13315         * docs/manual/programs.xml:
13316         * docs/manual/queues.xml:
13317         * docs/manual/quotes.xml:
13318         * docs/manual/schedulers.xml:
13319         * docs/manual/states-api.xml:
13320         * docs/manual/states.xml:
13321         * docs/manual/threads.xml:
13322         * docs/manual/typedetection.xml:
13323         * docs/manual/xml.xml:
13324           use chapter, part, section or misc as id starts for all bits
13325
13326 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13327
13328         * docs/gst/gstreamer-sections.txt:
13329           Fix up TITLE of the sections
13330
13331 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13332
13333         * docs/pwg/advanced_interfaces.xml:
13334           Add documentation on propertyprobing.
13335         * docs/pwg/advanced_events.xml:
13336         * docs/pwg/advanced_tagging.xml:
13337         * docs/pwg/building_boiler.xml:
13338         * docs/pwg/building_filterfactory.xml:
13339         * docs/pwg/pwg.xml:
13340           Move filterfactory and tagging into their own chapter, add a chapter
13341           on events. all these are empty placeholders that will be filled in
13342           some day.
13343
13344 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13345
13346         * docs/pwg/advanced_interfaces.xml:
13347           Docs for mixer interface. Also a check for website uploading.
13348
13349 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13350
13351         * docs/HACKING:
13352         * docs/Makefile.am:
13353         * docs/faq/Makefile.am:
13354         * docs/gst/Makefile.am:
13355         * docs/gst/tmpl/gstelement.sgml:
13356         * docs/gst/tmpl/gstplugin.sgml:
13357         * docs/gst/tmpl/gstreamer-unused.sgml:
13358         * docs/libs/Makefile.am:
13359         * docs/manual/Makefile.am:
13360         * docs/manuals.mak:
13361         * docs/pwg/Makefile.am:
13362         * docs/upload.mak:
13363           Separate out upload target and make it similar for
13364           both docbook and gtk-doc docs
13365
13366 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13367
13368         * docs/manuals.mak:
13369           Fix upload target to work with freedesktop
13370
13371 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13372
13373         * docs/pwg/advanced_types.xml:
13374           Add notes on creating your own types.
13375         * docs/pwg/building_boiler.xml:
13376         * docs/pwg/building_pads.xml:
13377         * docs/pwg/building_state.xml:
13378           Add some stuff about how to retrieve values from structures, how
13379           that relates to types and change layout slightly again to be almost
13380           perfect.
13381
13382 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13383
13384         * docs/pwg/advanced_dparams.xml:
13385         * docs/pwg/advanced_scheduling.xml:
13386           Change index layout slightly.
13387
13388 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13389
13390         * docs/pwg/advanced_clock.xml:
13391         * docs/pwg/advanced_interfaces.xml:
13392         * docs/pwg/advanced_midi.xml:
13393           General placeholders for now.
13394         * docs/pwg/advanced_request.xml:
13395           Explanation about sometimes and request pads.
13396         * docs/pwg/advanced_scheduling.xml:
13397           Concept of bytestream, loopfunctions and schedulers.
13398         * docs/pwg/building_boiler.xml:
13399           Add something about plugin-init.
13400
13401 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13402
13403         * docs/pwg/building_pads.xml:
13404           Fix broken docbook
13405
13406 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13407
13408         * docs/pwg/advanced_interfaces.xml:
13409         * docs/pwg/pwg.xml:
13410           Add as a placeholder for future filling-in.
13411         * docs/pwg/basics_autoplugging.xml:
13412         * docs/pwg/basics_buffers.xml:
13413         * docs/pwg/basics_elements.xml:
13414         * docs/pwg/basics_events.xml:
13415         * docs/pwg/basics_plugins.xml:
13416         * docs/pwg/basics_types.xml:
13417           Remove, because unused (this is all in intro_basics.xml).
13418         * docs/pwg/building_signals.xml:
13419           Short intro to signals + reference to GObject docs - we really
13420           shouldn't go into these sort of things to deply because we don't
13421           use them that extensively anyway.
13422         * docs/pwg/building_state.xml:
13423           Explanation of states. Benjamin, please check.
13424         * docs/pwg/building_testapp.xml:
13425           Put everything in one page - putting only a few lines of content
13426           per page doesn't really make sense.
13427
13428           Time to get into the advanced topics. ;).
13429
13430 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13431
13432         * docs/pwg/advanced_types.xml:
13433           Finish documenting the current state of mimetypes.
13434         * docs/pwg/building_boiler.xml:
13435         * docs/pwg/building_chainfn.xml:
13436         * docs/pwg/building_pads.xml:
13437         * docs/pwg/building_props.xml:
13438         * docs/pwg/building_testapp.xml:
13439           Start documenting the "how to build a simple audio filter" part
13440           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13441           states and (maybe?) a short introduction to capsnego in the chapter
13442           on pads (building_pads.xml). Capsnego should probably be explained
13443           fully in advanced_capsnego.xml or so.
13444
13445 2004-01-26  David Schleef  <ds@schleef.org>
13446
13447         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13448         * gst/gstpad.h: Add new function to allow element to (somewhat)
13449         specify non-fixed caps on a pad.
13450         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13451         that I added a few weeks ago.
13452
13453 2004-01-26  David Schleef  <ds@schleef.org>
13454
13455         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13456           making try_set_caps() work with non-fixed caps.
13457
13458 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13459
13460         * docs/pwg/advanced_types.xml:
13461         * docs/pwg/intro_basics.xml:
13462         * docs/pwg/intro_preface.xml:
13463         * docs/pwg/pwg.xml:
13464         * docs/pwg/titlepage.xml:
13465           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13466           in here (docs/random/mimetypes), and will from there on work on both
13467           updating outdated parts and adding missing parts.
13468           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13469
13470 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13471
13472         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13473           policy is set
13474
13475 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13476
13477         * gst/gstelement.h:
13478           remove gst_element_factory_get_version. It doesn't exist anymore.
13479         * gst/gstplugin.c:
13480         * gst/gstplugin.h:
13481           remove gst_plugin_set_name and change gst_plugin_get_longname to
13482           gst_plugin_get_description to match code.
13483         * gst/gsterror.h:
13484           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13485         * gst/gstpad.c: (gst_pad_try_set_caps):
13486           make it work with nonfixed caps.
13487           Note that even in the nonfixed case the link function of the pad
13488           that tries to set caps isn't called.
13489
13490 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13491
13492         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13493           fix bug where buffer was not assembled correctly
13494         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13495           silence by default
13496         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13497           only seek if there's no more buffers that could work without seeking
13498
13499 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13500
13501         * gst/gsttag.c: (_gst_tag_initialize):
13502         * gst/gsttag.h:
13503           Add application tag (for encoding/muxing app).
13504
13505 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13506
13507         * autogen.sh:
13508           make autopoint force, and libtoolize not copy
13509         * common/m4/as-docbook.m4:
13510           added docbook xml catalog setup check
13511         * common/m4/gst-doc.m4:
13512           use docbook check
13513
13514 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13515
13516         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13517         * gst/gsttag.h:
13518           add GstTagFlag
13519
13520 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13521
13522         * docs/gst/gstreamer-sections.txt:
13523         * docs/gst/tmpl/gst.sgml:
13524         * docs/gst/tmpl/gstbuffer.sgml:
13525         * docs/gst/tmpl/gstclock.sgml:
13526         * docs/gst/tmpl/gstelement.sgml:
13527         * docs/gst/tmpl/gstreamer-unused.sgml:
13528         * docs/gst/tmpl/gstxml.sgml:
13529           sync latest API changes to docs
13530
13531 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13532
13533         * gst/gstpluginfeature.c:
13534           fix doc snippet
13535         * tools/gst-inspect.c: (print_element_list):
13536           fix output of typefind
13537           add GPL header
13538         * tools/gst-launch.c:
13539           add GPL header
13540
13541 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13542
13543         * gst/elements/Makefile.am:
13544         * gst/elements/gstelements.c:
13545         * gst/elements/gsttypefindelement.c:
13546         * gst/elements/gsttypefindelement.h:
13547         * po/POTFILES.in:
13548         * po/fr.po:
13549         * po/nl.po:
13550           renamed gsttypefindelement to gsttypefind, conserving CVS history
13551
13552 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13553
13554         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
13555         * gst/gsttag.h:
13556           add some tags used in ogg as well
13557           fix _ in replaygain tags
13558
13559 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13560
13561         * gst/gsterror.h:
13562           fix wrong GST_LIBRARY_ERROR_ENCODE addition
13563
13564 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13565
13566         * gst/gstelement.c: (gst_element_error_full):
13567         * gst/gstelement.h:
13568           change _extended to _full
13569
13570 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13571
13572         reviewed by: <delete if not using a buddy>
13573
13574         * docs/gst/tmpl/gst.sgml:
13575         * docs/gst/tmpl/gstbuffer.sgml:
13576         * docs/gst/tmpl/gstclock.sgml:
13577         * docs/gst/tmpl/gstelement.sgml:
13578         * docs/gst/tmpl/gstreamer-unused.sgml:
13579         * docs/gst/tmpl/gstxml.sgml:
13580         * gst/gstelement.c: (gst_element_error_full):
13581         * gst/gstelement.h:
13582
13583 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13584
13585         * gst/gstelement.h: fix _gst_element_error_printf prototype
13586
13587 2004-01-20  David Schleef  <ds@schleef.org>
13588
13589         * gst/gststructure.c: (gst_structure_to_string):
13590         Convert function to use gst_value_serialize().
13591         * gst/gstvalue.c: (gst_value_serialize_list),
13592         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
13593         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
13594         (gst_value_serialize_int), (gst_value_serialize_double),
13595         (gst_string_wrap), (gst_value_serialize_string),
13596         (gst_value_serialize), (gst_value_deserialize):
13597         * gst/gstvalue.h:
13598         Add implementations for serialize.
13599
13600 2004-01-20  Julien MOUTTE  <julien@moutte.net>
13601
13602         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
13603         we want to keep that one in the future or change xvidenc.c to use 
13604         another error.
13605
13606 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13607
13608         * gst/gstelement.c: (_gst_element_error_printf):
13609         * gst/gstelement.h:
13610           privatise function
13611
13612 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13613
13614         * docs/random/error:
13615           doc explaining error system
13616         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13617           cleanup
13618
13619 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13620
13621         * gst/gst-i18n-app.h:
13622         * gst/gst-i18n-lib.h:
13623           remove inclusion of config.h
13624         * po/POTFILES.in:
13625         * po/nl.po:
13626           add gst/gstelement.c
13627
13628 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13629
13630         * po/nl.po: updated Dutch translation
13631
13632 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13633
13634         * gst/gsterror.c: (_gst_core_errors_init),
13635         (_gst_library_errors_init), (_gst_resource_errors_init),
13636         (_gst_stream_errors_init):
13637         remove ending punctuation dots
13638
13639 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13640
13641         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
13642         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
13643         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13644         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13645         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13646         use GST_ERROR_SYSTEM
13647
13648 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13649
13650         * gst/gstelement.c: (gst_element_error_printf),
13651         (gst_element_error_extended):
13652         * gst/gstelement.h:
13653           add a helper printf function so we can have NULL values passed.
13654
13655 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13656
13657         * gst/gstelement.h:
13658           add G_STMT macros to gst_element_error, which isn't strictly
13659           necessary but people tell me to anyway.
13660
13661 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13662
13663         * gst/Makefile.am:
13664         * gst/autoplug/gstspideridentity.c:
13665         (gst_spider_identity_sink_loop_type_finding):
13666         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13667         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13668         (gst_filesink_close_file), (gst_filesink_handle_event),
13669         (gst_filesink_chain):
13670         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
13671         (gst_filesrc_map_region), (gst_filesrc_get_read),
13672         (gst_filesrc_open_file):
13673         * gst/elements/gstidentity.c: (gst_identity_chain):
13674         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13675         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13676         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13677         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
13678         * gst/gst.h:
13679         * gst/gst_private.h:
13680         * gst/gstelement.c: (gst_element_class_init),
13681         (gst_element_default_error), (gst_element_error_func),
13682         (gst_element_error_extended):
13683         * gst/gstelement.h:
13684         * gst/gsterror.c: (_gst_core_errors_init),
13685         (_gst_library_errors_init), (_gst_resource_errors_init),
13686         (_gst_stream_errors_init), (gst_error_get_message):
13687         * gst/gsterror.h:
13688         * gst/gstinfo.c: (_gst_debug_init):
13689         * gst/gstmarshal.list:
13690         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13691         (gst_pad_recover_caps_error), (gst_pad_pull):
13692         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13693         * gst/schedulers/gstbasicscheduler.c:
13694         (gst_basic_scheduler_chainhandler_proxy),
13695         (gst_basic_scheduler_gethandler_proxy),
13696         (gst_basic_scheduler_cothreaded_chain):
13697         * po/POTFILES.in:
13698         * po/fr.po:
13699         * po/nl.po:
13700           change error signal
13701           add error categories
13702
13703 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
13704
13705         * gst/gsttag.c: (_gst_tag_initialize):
13706         * gst/gsttag.h:
13707         Add replaygain tag
13708
13709 2004-01-18  Colin Walters  <walters@verbum.org>
13710
13711         * examples/retag/retag.c: Call gst_init before processing
13712         program args.  Add g_assert to _link_many call.
13713
13714 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13715
13716         * gst/gstpad.c: (gst_pad_alloc_buffer):
13717           Return a newly allocated buffer when the pad has no peer.
13718
13719 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13720
13721         * gst/gstclock.c: (gst_clock_get_time):
13722           make it compile with gcc 2.95 again.
13723           Patch by Scott Wheeler
13724
13725 2004-01-15  David Schleef  <ds@schleef.org>
13726
13727         * gst/gstcaps.h:
13728         Added gst_caps_is_simple() macro.
13729         * testsuite/caps/caps.c: (test1):
13730         * testsuite/caps/intersect2.c: (main):
13731         * testsuite/caps/intersection.c: (main):
13732         Fixes to make 'make check' work again after removing
13733         gst_caps_is_chained().
13734
13735 2004-01-15  Leif Johnson <leif@ambient.2y.net>
13736
13737         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
13738         and additions to the MIDI document.
13739
13740 2004-01-15  David Schleef  <ds@schleef.org>
13741
13742         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
13743         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
13744         of GST_RPAD_, since we don't know if it's a real or ghost pad.
13745
13746 2004-01-15  David Schleef  <ds@schleef.org>
13747
13748         * gst/gstqueue.c:
13749         * gst/gstqueue.h:
13750         Fix the spelling of "treshold" and make min_threshold actually
13751         affect the queue.
13752
13753 2004-01-15  David Schleef  <ds@schleef.org>
13754
13755         * gst/gstcaps.c:
13756         Add lots of documentation.
13757         * gst/gstcaps.h:
13758         Deprecate a few functions.
13759         * gst/gstpad.c:
13760         Removed use of deprecated functions.
13761
13762 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13763
13764         * gst/gstpad.c: (gst_pad_is_linked):
13765         * gst/gstpad.h:
13766           implement gst_pad_is_linked
13767         * gst/gstelement.h:
13768           reserve space for initiate_state_change
13769
13770 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13771
13772         * gst/autoplug/gstspideridentity.c:
13773         (gst_spider_identity_sink_loop_type_finding):
13774           break infinite loop by just returning instead of looping
13775         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
13776           set event time difference correctly. Set it to 1 second instead
13777           of 100ms to be more tolerant
13778         * gst/gstelement.c: (gst_element_set_time):
13779           add debugging output
13780
13781 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13782
13783         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
13784           query if buffers are inside the pool, ignore events
13785
13786 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13787
13788         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
13789         (gst_clock_set_speed), (gst_clock_set_active),
13790         (gst_clock_is_active), (gst_clock_reset),
13791         (gst_clock_handle_discont):
13792         * gst/gstclock.h:
13793           deprecate old interface and disable functions that aren't in use
13794           anymore.
13795         * gst/gstelement.h:
13796         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
13797         (gst_element_set_time), (gst_element_adjust_time):
13798           add concept of "element time" and functions to get/set this time.
13799         * gst/gstelement.c: (gst_element_change_state):
13800           update element time correctly.
13801         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13802           This is a debug message, not a g_critical.
13803         * gst/gstpad.c: (gst_pad_event_default):
13804           handle discontinuous events right with element time.
13805         * gst/gstscheduler.c: (gst_scheduler_state_transition):
13806           update to clocking fixes.
13807           set clocks on elements in READY=>PAUSED. The old behaviour caused
13808           a wrong element time on the first element that started playing.
13809         * gst/schedulers/gstbasicscheduler.c:
13810         (gst_basic_scheduler_class_init):
13811         * gst/schedulers/gstoptimalscheduler.c:
13812         (gst_opt_scheduler_class_init):
13813           remove code that just implements the default behaviour.
13814         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
13815           update to use new clocking functions
13816         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
13817         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
13818           update to test new element time.
13819         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
13820           use _get_allowed_caps instead of _get_caps. This catches filtered
13821           caps correctly.
13822         * testsuite/debug/commandline.c:
13823           update for new GST_DEBUG syntax.
13824         * testsuite/threads/Makefile.am:
13825           disable a test that only works sometimes.
13826
13827 2004-01-13  Julien MOUTTE <julien@moutte.net>
13828
13829         * po/LINGUAS: Adding fr.
13830         * po/fr.po: Adding french translation.
13831
13832 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13833
13834         * gst/parse/grammar.y:
13835         * po/POTFILES.in:
13836         * po/nl.po:
13837         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
13838           translate parsing error messages
13839
13840 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13841
13842         * po/POTFILES.in: adding gst-launch
13843         * po/nl.po: updated translation, all 99 strings translated
13844         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
13845         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
13846           fix strings for translation
13847
13848 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13849
13850         * gst/gst.c:
13851           - capitalize beginnings of popt options
13852           - fix strings for translation
13853           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
13854
13855 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13856
13857         * po/README: add some notes on how to update translations
13858
13859 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13860
13861         * ABOUT-NLS: removed, is autogenerated from autopoint
13862         * autogen.sh: add autopoint stuff
13863         * configure.ac: fix up gettext stuff
13864         * gst/Makefile.am: add i18n headers to noinst_HEADERS
13865         * gst/elements/gsttypefindelement.c: add header include
13866         * gst/gettext.h: add header, copy from system-installed header
13867         * gst/gst-i18n-app.h: to be included by each app having translations
13868         * gst/gst-i18n-lib.h: to be included by each lib having translations
13869         * gst/gst.c: (init_pre): fix up gettext calls
13870         * gst/gst_private.h: remove i18n stuff, moving to separate headers
13871         * po/LINGUAS: the new way to specify translations present
13872         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
13873         * po/Makevars: the variables filled in for GStreamer
13874         * po/POTFILES.in: added new files with translations
13875         * po/de.po: has new strings
13876         * po/nl.po: readded, has new strings
13877
13878 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13879
13880         * gst/gsttag.c: fix some strings marked for translation
13881
13882 2004-01-13  Iain <iain@prettypeople.org>
13883
13884         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
13885         group when we add an element to it, cos we unref it when we remove one
13886
13887 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13888
13889         * testsuite/debug/commandline.c: (debug_not_reached):
13890         * testsuite/debug/output.c: (check_message):
13891           fix testsuite
13892
13893 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13894
13895         * examples/cutter/.cvsignore:
13896         * examples/helloworld/.cvsignore:
13897         * examples/launch/.cvsignore:
13898         * examples/manual/.cvsignore:
13899         * examples/mixer/.cvsignore:
13900         * examples/pingpong/.cvsignore:
13901         * examples/plugins/.cvsignore:
13902         * examples/queue/.cvsignore:
13903         * examples/queue2/.cvsignore:
13904         * examples/queue3/.cvsignore:
13905         * examples/queue4/.cvsignore:
13906         * examples/retag/.cvsignore:
13907         * examples/thread/.cvsignore:
13908         * examples/typefind/.cvsignore:
13909         * examples/xml/.cvsignore:
13910         * gst/.cvsignore:
13911         * gst/autoplug/.cvsignore:
13912         * gst/elements/.cvsignore:
13913         * gst/indexers/.cvsignore:
13914         * gst/parse/.cvsignore:
13915         * gst/registries/.cvsignore:
13916         * gst/schedulers/.cvsignore:
13917         * libs/gst/bytestream/.cvsignore:
13918         * libs/gst/control/.cvsignore:
13919         * libs/gst/getbits/.cvsignore:
13920         * tests/.cvsignore:
13921         * tests/bufspeed/.cvsignore:
13922         * tests/instantiate/.cvsignore:
13923         * tests/memchunk/.cvsignore:
13924         * tests/muxing/.cvsignore:
13925         * tests/sched/.cvsignore:
13926         * tests/seeking/.cvsignore:
13927         * tests/threadstate/.cvsignore:
13928         * testsuite/.cvsignore:
13929         * testsuite/caps/.cvsignore:
13930         * testsuite/cleanup/.cvsignore:
13931         * testsuite/dynparams/.cvsignore:
13932         * testsuite/plugin/.cvsignore:
13933         * tools/.cvsignore:
13934           update - this is huge, because it includes *.bb, *.bbg and *.da files
13935           which are generated for gcov.
13936
13937 2004-01-11  David Schleef  <ds@schleef.org>
13938
13939         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
13940         a function to parse integers in ways that strto[u]l() does not.
13941
13942 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13943
13944         * tools/gst-inspect.c: (print_caps):
13945           improve output of caps a bit
13946
13947 2004-01-11  David Schleef  <ds@schleef.org>
13948
13949         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
13950         inherit correct flags (READONLY and DONTKEEP).
13951
13952 2004-01-11  David Schleef  <ds@schleef.org>
13953
13954         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
13955         (gst_filesrc_map_region):
13956         * gst/gstbuffer.c: (_gst_buffer_initialize),
13957         (_gst_buffer_sub_free), (gst_buffer_default_copy),
13958         (gst_buffer_new), (gst_buffer_create_sub),
13959         (gst_buffer_is_span_fast), (gst_buffer_span):
13960         * gst/gstbuffer.h:
13961         Change GstBuffer private structure element names. (all files)
13962         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13963         (gst_queue_link):
13964         * gst/gstqueue.h:
13965         Implement getcaps/pad_link functions that handle the case where
13966         there are data in the queue.
13967
13968 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13969
13970         * gst/elements/gstbufferstore.c:
13971           initialize debugging structure correctly
13972         * gst/elements/gsttee.c: (gst_tee_set_property):
13973           g_object_notify when property was changed
13974         * gst/elements/gsttypefindelement.c:
13975         (gst_type_find_element_change_state):
13976           clear caps correctly
13977
13978 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13979
13980         * gst/gstqueue.c: (gst_queue_init):
13981           Use better defaults for when a queue should block. This
13982           gets rid of jerky playback for quite a few files.
13983           It takes more memory.
13984
13985 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13986
13987         (gst_xml_registry_parse_padtemplate):
13988           make critical message slightly more useful
13989
13990 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13991
13992         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13993         (gst_debug_message_get), (gst_debug_log_default):
13994         * gst/gstinfo.h:
13995           Change gst_debug_log(_valist) to take a const format string.
13996           Change prototype of log function and functions using those to 
13997           take a GstDebugMessage instead of a string that requires using
13998           gst_debug_message_get.
13999
14000 2004-01-08  David Schleef  <ds@schleef.org>
14001
14002         * Makefile.am:
14003         * configure.ac:
14004         Add option --enable-gcov to build GStreamer with -fprofile-arcs
14005         and -ftest-coverage, which allows gcov to show information about
14006         testsuite coverage.
14007
14008 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14009
14010         * gst/gstutils.h:
14011           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
14012           GST_PARENT_CALL_WITH_DEFAULT
14013         * gst/elements/gstaggregator.c: 
14014         * gst/elements/gstbufferstore.c: 
14015         * gst/elements/gstfakesink.c: 
14016         * gst/elements/gstfakesrc.c: 
14017         * gst/elements/gstfdsink.c: 
14018         * gst/elements/gstfdsrc.c: 
14019         * gst/elements/gstfilesink.c: 
14020         * gst/elements/gstfilesrc.c: 
14021         * gst/elements/gstidentity.c: 
14022         * gst/elements/gstmd5sink.c: 
14023         * gst/elements/gstmultidisksrc.c:
14024         * gst/elements/gstpipefilter.c: 
14025         * gst/elements/gstshaper.c:
14026         * gst/elements/gststatistics.c:
14027         * gst/elements/gsttee.c:
14028         * gst/elements/gsttypefindelement.c:
14029           use them.
14030
14031 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14032
14033         * docs/gst/gstreamer-docs.sgml: remove props
14034         * docs/gst/gstreamer-sections.txt: remove props
14035         * docs/gst/tmpl/gst.sgml:
14036         * docs/gst/tmpl/gstbin.sgml:
14037         * docs/gst/tmpl/gstbuffer.sgml:
14038         * docs/gst/tmpl/gstcaps.sgml:
14039         * docs/gst/tmpl/gstclock.sgml:
14040         * docs/gst/tmpl/gstelement.sgml:
14041         * docs/gst/tmpl/gstindex.sgml:
14042         * docs/gst/tmpl/gstobject.sgml:
14043         * docs/gst/tmpl/gstpad.sgml:
14044         * docs/gst/tmpl/gstpadtemplate.sgml:
14045         * docs/gst/tmpl/gstreamer-unused.sgml:
14046         * docs/gst/tmpl/gstthread.sgml:
14047         * docs/gst/tmpl/gstxml.sgml:
14048           sync with code reorganization
14049
14050 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
14051
14052         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14053         Make the 'Could not find compatible pad' message more informative.
14054
14055 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14056                                                                                 
14057         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
14058           Fix for if we pass NULL as property to location.
14059         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
14060         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
14061           Fix for instantiate-test (see below).
14062         * gst/gststructure.c: (_gst_structure_parse_value):
14063           Fix compile error on gcc-2.96.
14064         * configure.ac:
14065         * tests/Makefile.am:
14066         * tests/instantiate/Makefile.am:
14067         * tests/instantiate/create.c: (create_all_elements), (main):
14068           Add a test that instantiates all elements. This makes it easy to
14069           track dead code for old API/design (like setting event functions
14070           on sink pads and so on).
14071
14072 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
14073
14074         * gst/gstcaps.c: (gst_caps_append_structure):
14075           Move the poisoning to allow a NULL structure
14076         * gst/gstevent.c: (_gst_event_free):
14077           When freeing a navigation event, free the structure
14078           also
14079
14080 2004-01-04  David Schleef  <ds@schleef.org>
14081
14082         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14083         Remove usage of gst_pad_proxy_fixate.
14084         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
14085         (gst_caps_split_one), (gst_caps_replace):
14086         Add poisoning code.
14087         * gst/gstmarshal.list:
14088         Add pointer__pointer for fixate signal
14089         * gst/gstpad.c: (gst_real_pad_class_init),
14090         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
14091         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
14092         (gst_pad_set_explicit_caps), (gst_pad_template_new):
14093         Add poisoning code. Add fixate signal on RealPad. Change
14094         set_explicit_caps() to take const GstCaps, like try_set_caps().
14095         * gst/gstpad.h:
14096         * testsuite/caps/Makefile.am:
14097         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
14098
14099 2004-01-03  David Schleef  <ds@schleef.org>
14100
14101         * gst/elements/gsttypefindelement.c:
14102         (gst_type_find_element_have_type), (gst_type_find_element_init):
14103         Use gst_pad_use_explicit_caps for src pad.
14104         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
14105         before using it.
14106
14107 2004-01-03  David Schleef  <ds@schleef.org>
14108
14109         * gst/gstelement.c: (gst_element_link_pads_filtered),
14110         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
14111         that linking was successful.
14112         * gst/gstpad.c: (gst_pad_link_free),
14113         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
14114         (gst_pad_link_try), (gst_pad_link_unnegotiate),
14115         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
14116         GstPadLinkReturn correctly between functions, and don't fail
14117         when DELAYED is used (DELAYED is very important).  Better
14118         cleanup on unlinking and unnegotiation.  Should fix some spider
14119         bugs.
14120
14121 2004-01-02  David Schleef  <ds@schleef.org>
14122
14123         * gst/gstelement.c: (gst_element_class_init),
14124         (gst_element_base_class_init): ->padtemplates should be cleared
14125         in base_init, since we need to have a fresh list for every
14126         class.  (Alternately, we chould copy the list and share the
14127         actual pad templates (not the list), but that would require
14128         changing every plugin to move pad template registration from
14129         base_init to class_init.)
14130
14131 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14132
14133         * gst/gstelement.c: (gst_element_class_add_pad_template):
14134           Refuse registering a pad template if another pad template
14135           with the same name already exists (#114715).
14136
14137 2004-01-02  David Schleef  <ds@schleef.org>
14138
14139         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14140         (gst_caps_is_equal_fixed): Add new function.
14141         * gst/gstcaps.h: ditto.
14142         * gst/gstpad.c: (gst_real_pad_class_init),
14143         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14144         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14145         check new caps against existing caps -- if they're the same, return
14146         OK without renegotiating.  caps-nego-failed signal fixed so that
14147         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14148         to save an extra caps copy.  Don't complete negotiation if a pad
14149         link function returns DELAYED.
14150
14151 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14152
14153         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14154           Fix wrong g_return_if_fail
14155
14156 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14157
14158         * gst/gstbin.c: (gst_bin_class_init):
14159         Change the marshalling of element_added/element_removed
14160         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14161         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14162
14163 2004-01-01  David Schleef  <ds@schleef.org>
14164
14165         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14166         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14167         (gst_pad_use_explicit_caps):
14168         * gst/gstpad.h:
14169         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14170         to use an internal getcaps and link fuction so that negotiation
14171         always results in the explicitly set caps.
14172         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14173         are particularly useful for decoders.
14174
14175 2003-12-31  David Schleef  <ds@schleef.org>
14176
14177         * gst/elements/gstidentity.c: (gst_identity_class_init),
14178         (gst_identity_init), (gst_identity_chain),
14179         (gst_identity_set_property), (gst_identity_get_property):
14180         * gst/elements/gstidentity.h:
14181         * gst/gstqueue.c: (gst_queue_init):
14182           Negotiation fixes.
14183
14184 2003-12-31  David Schleef  <ds@schleef.org>
14185
14186         * gst/gstcaps.c: (gst_caps_intersect),
14187         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14188           Implement gst_caps_normalize().
14189         * testsuite/caps/normalisation.c: (main):
14190           Add an additional test
14191
14192 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14193
14194         * gst/gstqueue.c: (gst_queue_init):
14195           use gst_pad_proxy_getcaps()
14196
14197 2003-12-31  David Schleef  <ds@schleef.org>
14198
14199         * gst/elements/gstshaper.c: (gst_shaper_link):
14200         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14201         * gst/gstqueue.c: (gst_queue_link):
14202           Negotiation fixes.
14203
14204 2003-12-31  David Schleef  <ds@schleef.org>
14205
14206         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14207         * gst/gstpad.h: Add functions that are useful as default pad
14208         link and fixate functions for elements.
14209
14210 2003-12-30  David Schleef  <ds@schleef.org>
14211
14212         * gst/gstpad.c: (gst_pad_link_try):
14213           Fix segfault when attempting to return to old caps
14214
14215 2003-12-29  David Schleef  <ds@schleef.org>
14216
14217         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14218         (gst_caps_structure_simplify), (gst_caps_simplify):
14219         * gst/gstcaps.h:
14220           Add simplify function
14221         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14222         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14223         * gst/gstpad.h:
14224           Copy over srcnotify, sinknotify when calling old pad_link
14225           functions.  Add new is_negotiated() function.
14226         * gst/gststructure.c: (gst_structure_copy):
14227           Fix an incredibly stupid bug that should have been noticed
14228           weeks ago.  _copy() returned the argument, not the new copy.
14229
14230 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14231
14232         * gst/gstcaps.c: (gst_caps_append):
14233           add sanity checks
14234         * gst/gstcaps.h: (gst_caps_debug):
14235           remove, it doesn't exist anymore.
14236         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14237         (gst_element_threadsafe_properties_post_run):
14238           make debugging messages not clutter up THREAD debug category
14239         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14240         (gst_element_change_state):
14241           update to new caps API
14242         * gst/gstinterface.c: (gst_implements_interface_cast):
14243           don't put vital code in g_return_if_fail
14244         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14245         (gst_pad_link_filtered):
14246           add pst_pad_try_link and use it.
14247         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14248           implement correctly, deprecate first one.
14249         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14250           add and implement.
14251         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14252           implement.
14253         (gst_pad_get_negotiated_caps):
14254           add and implement. Make GST_PAD_CAPS call this function.
14255         (gst_pad_get_caps):
14256           remove unneeded check..
14257         (gst_pad_recover_caps_error):
14258           disable, always return FALSE.
14259         (gst_real_pad_dispose):
14260           don't free caps and appfilter anymore, they're unused.
14261         * gst/gstpad.h:
14262           Reflect changes mentioned above.
14263         * gst/gstsystemclock.c: (gst_system_clock_wait):
14264           Make 'clock is way behind' a debugging message.
14265         * gst/gstthread.c: (gst_thread_change_state):
14266           Fix debugging message
14267
14268 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14269
14270         * gst/gstinfo.h:
14271           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14272         * docs/gst/tmpl/gstreamer-unused.sgml:
14273           removed all traces of cvs conflicts
14274
14275 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14276
14277         * configure.ac:
14278         * gst/schedulers/cothreads_compat.h:
14279         * libs/Makefile.am:
14280           remove last instances of wingo cothread usage
14281
14282 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14283
14284         * gst/gstplugin.c:
14285         * gst/gstversion.h.in:
14286         * gst/parse/grammar.y:
14287           change comment block from /** to /* when not gtk-doc comments
14288
14289 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14290
14291         * gst/gst.c: whitespace and doc style fixes
14292
14293 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14294
14295         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14296
14297 2003-12-24  Colin Walters  <walters@verbum.org>
14298
14299         * gst/elements/gsttypefindelement.c:
14300           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14301           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14302           Don't double-free caps.
14303
14304 2003-12-23  David Schleef  <ds@schleef.org>
14305
14306         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14307           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14308           Many little fixes and additions of debug statements to
14309           get rhythmbox working.
14310
14311 2003-12-23  Colin Walters  <walters@verbum.org>
14312
14313         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14314         Use GST_PAD_LINK_SUCCESSFUL.
14315
14316 2003-12-23  David Schleef  <ds@schleef.org>
14317
14318         * gst/elements/gstaggregator.c:
14319         * gst/elements/gsttee.c:
14320           Use gst_pad_proxy_getcaps().
14321         * gst/gstpad.c:
14322         * gst/gstpad.h:
14323           Add gst_pad_proxy_getcaps(), which filter elements can use
14324           as a generic getcaps implementation.
14325           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14326           was advertised.
14327
14328 2003-12-23  David Schleef  <ds@schleef.org>
14329
14330         * gst/gstpad.c:
14331           Rearrange/rewrite much of the pad negotiation code, since it
14332           resembled pasta.  This actually changes the way some
14333           negotiation works, since the previous code was inconsistent
14334           depending on how it was invoked.  Add (internal) structure
14335           GstPadLink, which is used to hold some information (more in
14336           the future) about the link between two pads.  Fixes a number
14337           of bugs, including random lossage of filter caps when the
14338           initial negotiation is delayed.  A few functions are still
14339           unimplemented.
14340         * gst/gstpad.h:
14341           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14342           these when testing GstPadLinkReturn values instead of comparing
14343           directly.
14344
14345 2003-12-23  David Schleef  <ds@schleef.org>
14346
14347         * gst/gstvalue.c: 
14348         * gst/gstvalue.h:
14349           Rearrange lots of code.  Change registration of compare function
14350           into registration of compare/serialize/deserialize functions.
14351           Doesn't include implementation of gst_value_[de]serialize(),
14352           but that should be easy.
14353
14354 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14355
14356         * docs/gst/gstreamer-sections.txt:
14357         * docs/gst/tmpl/gstprops.sgml: removed
14358         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14359           David removed props and caps code, so let's remove their docs as well.
14360           Removed all no longer existing symbols from gstreamer-sections.txt
14361           
14362 2003-12-22  Colin Walters  <walters@verbum.org>
14363
14364         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14365           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14366           of tags directly.
14367
14368 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14369
14370         * gst/elements/gstelements.c:
14371           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14372         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14373           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14374           gst_caps (peer).
14375
14376 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14377
14378         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14379         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14380         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14381         (gst_spider_identity_sink_loop_type_finding):
14382         * gst/autoplug/gstspideridentity.h:
14383           Fix autoplugging in spider element, so it works with new caps.
14384           This was mainly caused by identifying empty caps incorrectly.
14385
14386 2003-12-22  David Schleef  <ds@schleef.org>
14387
14388         * gststructure.c, gstvalue.c, gstvalue.h: Add
14389           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14390           using g_value_copy()
14391
14392 2003-12-21  David Schleef  <ds@schleef.org>
14393
14394         * many, many files: Merge CAPS branch.  This includes:
14395           - implemention of GstValue and several GstValue types
14396           - implemention of GstStructure
14397           - entire rewrite of GstCaps
14398           - removal of GstProps
14399           - many changes to GstPad to compensate for new caps paradigm
14400           - removal of GstBufferpool
14401         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14402         gstvalue.h, gst/gstcaps[2]*.[ch]:
14403           - rename gstcaps2.[ch] to gstcaps.[ch]
14404
14405 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14406
14407         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14408         (gst_queue_chain), (gst_queue_handle_src_event):
14409           implement timeout for sending events. Workaround for if the
14410           pipeline on this queue is not passing any data.
14411
14412 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14413                                                                                 
14414         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14415         * moved CVS to freedesktop.org